remigijus paulavi cius @remispau -...

71
Introduction to Bilevel Programming Remigijus Paulaviˇ cius @RemisPau Vilnius University Institute of Mathematics and Informatics Scientific youth school “High-performance computing, optimization and applications”, 7 - 11 September, 2017, Lobachevsky State University of Nizhni Novgorod, Russia

Upload: others

Post on 12-Jul-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction to Bilevel Programming

Remigijus Paulavicius @RemisPau

Vilnius University Institute of Mathematics and Informatics

Scientific youth school “High-performance computing, optimization and applications”,7− 11 September, 2017, Lobachevsky State University of Nizhni Novgorod, Russia

Page 2: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Outline

IntroductionMotivationApplications

Single-level OptimizationExample 1

Multi-Objective Optimization (MOO)Example 2Problem formulation

Bilevel Optimization (BO)Example 3Problem formulation

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

2 / 20

Page 3: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel programming: goal and motivation

Goal of this course

To be able to distinguish bilevel problems from other optimization problems withmultiple decision makers and/or multiple decision levels.

I Standard Mathematical Programming (MP)models are often inadequate in the real-life be-cause more than a single objective and one Deci-sion Maker (DM) are involved.

I Multi-Objective Programming (MOP) dealswith the extension of optimization techniques toaccount several objective functions.

I Game Theory (GT) deals with the mathemati-cal models of conflict and cooperation betweenintelligent rational decision makers

Bilevel Programming (BP) in a narrow sense is the combination of both.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

3 / 20

Page 4: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel programming: goal and motivation

Goal of this course

To be able to distinguish bilevel problems from other optimization problems withmultiple decision makers and/or multiple decision levels.

I Standard Mathematical Programming (MP)models are often inadequate in the real-life be-cause more than a single objective and one Deci-sion Maker (DM) are involved.

I Multi-Objective Programming (MOP) dealswith the extension of optimization techniques toaccount several objective functions.

I Game Theory (GT) deals with the mathemati-cal models of conflict and cooperation betweenintelligent rational decision makers

Bilevel Programming (BP) in a narrow sense is the combination of both.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

3 / 20

Page 5: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel programming: goal and motivation

Goal of this course

To be able to distinguish bilevel problems from other optimization problems withmultiple decision makers and/or multiple decision levels.

I Standard Mathematical Programming (MP)models are often inadequate in the real-life be-cause more than a single objective and one Deci-sion Maker (DM) are involved.

I Multi-Objective Programming (MOP) dealswith the extension of optimization techniques toaccount several objective functions.

I Game Theory (GT) deals with the mathemati-cal models of conflict and cooperation betweenintelligent rational decision makers

Bilevel Programming (BP) in a narrow sense is the combination of both.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

3 / 20

Page 6: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel programming: goal and motivation

Goal of this course

To be able to distinguish bilevel problems from other optimization problems withmultiple decision makers and/or multiple decision levels.

I Standard Mathematical Programming (MP)models are often inadequate in the real-life be-cause more than a single objective and one Deci-sion Maker (DM) are involved.

I Multi-Objective Programming (MOP) dealswith the extension of optimization techniques toaccount several objective functions.

I Game Theory (GT) deals with the mathemati-cal models of conflict and cooperation betweenintelligent rational decision makers

Bilevel Programming (BP) in a narrow sense is the combination of both.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

3 / 20

Page 7: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel Programming ApplicationsThe world is multilevel!

Applications of Bilevel Programming are diverse and include:

I Parameter Estimation [Mitsos et al., 2008]

I Management of Multi-Divisional Firms [Ryu et al., 2004]

I Environmental Policies: Biofuel Production [Bard et al., 2000]

I Traffic Planning [Migdalas, 1995]

I Chemical Equilibria [Clark, 1990]

I Design of Transportation Networks [LeBlanc and Boyce, 1985]

I Agricultural Planning [Fortuny-Amat and McCarl, 1981]

I Optimisation of Strategic Defence [Bracken and McGill, 1974]

I Resource Allocation [Cassidy et al., 1971]

I Stackelberg Games: Market Economy [Stackelberg, 1934]

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

4 / 20

Page 8: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel Programming ApplicationsSeller-Buyer Strategies

Seller-Buyer Strategies

I An owner of a company (leader) dictates the sellingprice and supply. He wants to maximize his profit.

I The buyers (followers) look at the product quality,pricing and various other options available to maxi-mize their performance.

max profit (selling price, supply, demand, other variables)s.t. upper level constraints

max performance (selling price, quality, demand)s.t. lower level constraints

Bilevel formulation

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

5 / 20

Page 9: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel Programming ApplicationsSeller-Buyer Strategies

Seller-Buyer Strategies

I An owner of a company (leader) dictates the sellingprice and supply. He wants to maximize his profit.

I The buyers (followers) look at the product quality,pricing and various other options available to maxi-mize their performance.

max profit (selling price, supply, demand, other variables)s.t. upper level constraints

max performance (selling price, quality, demand)s.t. lower level constraints

Bilevel formulation

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

5 / 20

Page 10: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel Programming ApplicationsSeller-Buyer Strategies

Seller-Buyer Strategies

I An owner of a company (leader) dictates the sellingprice and supply. He wants to maximize his profit.

I The buyers (followers) look at the product quality,pricing and various other options available to maxi-mize their performance.

max profit (selling price, supply, demand, other variables)s.t. upper level constraints

max performance (selling price, quality, demand)s.t. lower level constraints

Bilevel formulation

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

5 / 20

Page 11: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemSingle objective function

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

−10

0

10

−10−5

05

10

−40

−20

0

20

40

x

y

f

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 12: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemConstraints

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

−10 0 10−10

0

10

x

y

−x− y > −3

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 13: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemConstraints

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

−10 0 10−10

0

10

x

y

−x− y > −3

−2x + y > 0

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 14: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemConstraints

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

−10 0 10−10

0

10

x

y

−x− y > −3

−2x + y > 0

2x + y > 12

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 15: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemConstraints

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

−10 0 10−10

0

10

x

y

−x− y > −3

−2x + y > 0

2x + y > 12

3x− 2y > 4

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 16: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemConstraints

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

−10 0 10−10

0

10

x

y

−x− y > −3

−2x + y > 0

2x + y > 12

3x− 2y > 4

x < 0

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 17: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemConstraints

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

−10 0 10−10

0

10

x

y

−x− y > −3

−2x + y > 0

2x + y > 12

3x− 2y > 4

x < 0

y < 0

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 18: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemConstraints

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

−10 0 10−10

0

10

x

y

−x− y > −3

−2x + y > 0

2x + y > 12

3x− 2y > 4

x < 0

y < 0

Feasible set

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 19: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemObjective Function & Constraints

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

1

2

3

4

123456

−20

−10

0

x

y

f

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 20: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemContour lines of the function f

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1 −21−21

−21−21

−17−17

−17−17

−12−12

−12−12

−7−7

−7−7

−2−2

−2−2

1 2 3 4

1

2

3

4

5

6

x

y

−20

−15

−10

−5

A contour line of a function of two variables is a curve along which the function has aconstant value

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 21: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemGradient −f & Contour lines of the function f

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1 −21−21

−21−21

−17−17

−17−17

−12−12

−12−12

−7−7

−7−7

−2−2

−2−2

1 2 3 4

1

2

3

4

5

6

x

y

−20

−15

−10

−5

The gradient points in the direction of the greatest rate of increase of the function

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 22: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemOptimal solution: (x∗, y∗) = (3, 6)

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

1 2 3 4

1

2

3

4

5

6(x∗, y∗) = (3, 6)

x

y

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 23: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Single-objective optimization problemOptimal solution: (x∗, y∗) = (3, 6) & Optimal function value: f∗ = −21

minx,y

f(x, y) = x− 4y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 1

1

2

3

4

123456

−20

−10

0

(x∗, y∗)

x

y

f

−20

−15

−10

−5

0

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

6 / 20

Page 24: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-Objective Optimization problemTwo objective functions & Constraints

minx,y

f1(x, y) = x− 4y

minx,y

f2(x, y) = y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 2

1

2

3

4

123456

−20

−10

0

x

y

f

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

7 / 20

Page 25: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-Objective Optimization Problem (MOOP)Single vs Multi

Single-Objective Optimization Problem:

minx∈X

f(x)

SOOPObjective function

Multi-Objective Optimization Problem:

minx∈X

[f1(x), f2(x), . . . , fk(x)]

MOOPObjective vector

where X = {x ∈ Rn : g(x) ≤ 0,h(x) = 0} - constraints

I Multiple objectives are typical in real life!

Multi-objective (multicriteria, Pareto) Optimization is concerned with simultaneousoptimization of more than one objective function.

I Normally objectives conflicting with each other:I Quality vs CostI Efficiency vs Portability

I The scalar concept of “optimality” does not apply directly in MOO.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

8 / 20

Page 26: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-Objective Optimization Problem (MOOP)Single vs Multi

Single-Objective Optimization Problem:

minx∈X

f(x)

SOOPObjective function

Multi-Objective Optimization Problem:

minx∈X

[f1(x), f2(x), . . . , fk(x)]

MOOPObjective vector

where X = {x ∈ Rn : g(x) ≤ 0,h(x) = 0} - constraints

I Multiple objectives are typical in real life!

Multi-objective (multicriteria, Pareto) Optimization is concerned with simultaneousoptimization of more than one objective function.

I Normally objectives conflicting with each other:I Quality vs CostI Efficiency vs Portability

I The scalar concept of “optimality” does not apply directly in MOO.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

8 / 20

Page 27: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-Objective Optimization Problem (MOOP)Single vs Multi

Single-Objective Optimization Problem:

minx∈X

f(x)

SOOPObjective function

Multi-Objective Optimization Problem:

minx∈X

[f1(x), f2(x), . . . , fk(x)]

MOOPObjective vector

where X = {x ∈ Rn : g(x) ≤ 0,h(x) = 0} - constraints

I Multiple objectives are typical in real life!

Multi-objective (multicriteria, Pareto) Optimization is concerned with simultaneousoptimization of more than one objective function.

I Normally objectives conflicting with each other:I Quality vs CostI Efficiency vs Portability

I The scalar concept of “optimality” does not apply directly in MOO.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

8 / 20

Page 28: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-Objective Optimization Problem (MOOP)Single vs Multi

Single-Objective Optimization Problem:

minx∈X

f(x)

SOOPObjective function

Multi-Objective Optimization Problem:

minx∈X

[f1(x), f2(x), . . . , fk(x)]

MOOPObjective vector

where X = {x ∈ Rn : g(x) ≤ 0,h(x) = 0} - constraints

I Multiple objectives are typical in real life!

Multi-objective (multicriteria, Pareto) Optimization is concerned with simultaneousoptimization of more than one objective function.

I Normally objectives conflicting with each other:I Quality vs CostI Efficiency vs Portability

I The scalar concept of “optimality” does not apply directly in MOO.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

8 / 20

Page 29: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemNo traditional “optimality”

minx,y

f1(x, y) = x− 4y

minx,y

f2(x, y) = y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 2

1

2

3

4

123456

−20

−10

0

x1

x2

f1(x1)

f1(x2)

f2(x1)

f2(x2)

x

y

f

Vector x2 is better than x1 with respect to f1 : f1(x2) < f1(x

1) but worse with respectto f2 : f2(x

2) > f2(x1)

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

9 / 20

Page 30: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemNo traditional “optimality”

minx,y

f1(x, y) = x− 4y

minx,y

f2(x, y) = y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 2

1

2

3

4

123456

−20

−10

0

x1

x2

f1(x1)

f1(x2)

f2(x1)

f2(x2)

x

y

f

Vector x2 is better than x1 with respect to f1 : f1(x2) < f1(x

1) but worse with respectto f2 : f2(x

2) > f2(x1)

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

9 / 20

Page 31: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multiobjective OptimizationDominated & Non-dominated vectors

Two vectors can be related to each other in two ways: either one dominates the other ornone of them is dominated by the other.

A decision vector x1 ∈ X dominates thevector x2 ∈ X (x1 � x2), if

1. fi(x1) ≤ fi(x

2) for alli ∈ {1, 2, . . . , k}

2. fj(x1) < fj(x

2) for at least onej ∈ {1, 2, . . . , k}

Domination

Vector x3 dominates x1 (x3 � x1):f2(x

3) = f2(x1) and f1(x

3) < f1(x1)

1

2

3

4

123456

−20

−10

0

x1

f1(x1)

f2(x1)

x2

f1(x2)

f2(x2)

x

y

f

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

10 / 20

Page 32: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multiobjective OptimizationDominated & Non-dominated vectors

Two vectors can be related to each other in two ways: either one dominates the other ornone of them is dominated by the other.

A decision vector x1 ∈ X dominates thevector x2 ∈ X (x1 � x2), if

1. fi(x1) ≤ fi(x

2) for alli ∈ {1, 2, . . . , k}

2. fj(x1) < fj(x

2) for at least onej ∈ {1, 2, . . . , k}

Domination

Vector x3 dominates x1 (x3 � x1):f2(x

3) = f2(x1) and f1(x

3) < f1(x1)

1

2

3

4

123456

−20

−10

0

x1x3

f1(x3)

f2(x3)

f1(x1)

f2(x1)

x2

f1(x2)

f2(x2)

x

y

f

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

10 / 20

Page 33: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multiobjective OptimizationPareto optimality

A decision vector x∗ ∈ X which is non-dominated by any other vector is calledPareto optimal and a set of those vectorsis called Pareto set.

The set of corresponding objective vectors iscalled Pareto front.

Vilfredo Pareto

This definition says that x∗ ∈ X is Pareto optimal if there exists no feasible vector which woulddecrease some criterion without causing a simultaneous increase in at least one other criterion.

The determination of these sets is the main goal of MO!

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

11 / 20

Page 34: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multiobjective OptimizationPareto optimality

A decision vector x∗ ∈ X which is non-dominated by any other vector is calledPareto optimal and a set of those vectorsis called Pareto set.

The set of corresponding objective vectors iscalled Pareto front.

Vilfredo Pareto

This definition says that x∗ ∈ X is Pareto optimal if there exists no feasible vector which woulddecrease some criterion without causing a simultaneous increase in at least one other criterion.

The determination of these sets is the main goal of MO!

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

11 / 20

Page 35: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set

minx,y

f1(x, y) = x− 4y

minx,y

f2(x, y) = y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 2

x3 dominates x1 (x3 � x1):f2(x

3) = f2(x1) and

f1(x3) < f1(x

1)1 2 3 4

1

2

3

4

5

6

x1

x3

x2

x

y

Feasible set

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

12 / 20

Page 36: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set

minx,y

f1(x, y) = x− 4y

minx,y

f2(x, y) = y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 2

x3 dominates x1 (x3 � x1):f2(x

3) = f2(x1) and

f1(x3) < f1(x

1)

x1

x3

x2

3 3 3−9−9

−9

1 2 3 4

1

2

3

4

5

6

x

y

Feasible set

f2 = 3

f1 = −9

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

12 / 20

Page 37: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set

minx,y

f1(x, y) = x− 4y

minx,y

f2(x, y) = y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 2

x3 dominates x1 (x3 � x1):f2(x

3) = f2(x1) and

f1(x3) < f1(x

1)

x1

x3

x2

3 3 3−9−9

−9

1 2 3 4

1

2

3

4

5

6

x

y

Feasible set

f2 = 3

f1 = −9

−∇f1

−∇f2

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

12 / 20

Page 38: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set

minx,y

f1(x, y) = x− 4y

minx,y

f2(x, y) = y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 2

x3 dominates x1 (x3 � x1):f2(x

3) = f2(x1) and

f1(x3) < f1(x

1)

x1

x3

x2

3 3 3−9−9

−9

1 2 3 4

1

2

3

4

5

6

x

y

Feasible set

f2 = 3

f1 = −9

Dominate

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

12 / 20

Page 39: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set

minx,y

f1(x, y) = x− 4y

minx,y

f2(x, y) = y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 2

x3 dominates x1 (x3 � x1):f2(x

3) = f2(x1) and

f1(x3) < f1(x

1)

x1

x3

x2

3 3 3

−10.5−10.5

−10.5x4

1 2 3 4

1

2

3

4

5

6

x

y

Feasible set

f2 = 3

f1 = −10.5

Dominate

Pareto Opt.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

12 / 20

Page 40: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set

minx,y

f1(x, y) = x− 4y

minx,y

f2(x, y) = y

s.t.− x− y ≤ −3−2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0 y ≥ 0

Example 2

x3 dominates x1 (x3 � x1):f2(x

3) = f2(x1) and

f1(x3) < f1(x

1)

1 2 3 4

1

2

3

4

5

6

x1

x3

x2

x4

x

y

Feasible set

Pareto Opt.

Pareto Set

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

12 / 20

Page 41: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set and Pareto front

1 2 3 4

1

2

3

4

5

6

x1

x2

x3x4

x

y

Decision space

−20 −15 −10 −5

0

2

4

6

1

2

34

f1

f 2

Objective space

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

13 / 20

Page 42: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set and Pareto front

1 2 3 4

1

2

3

4

5

6

x1

x2

x3x4

x5

x6

x7

x

y

Decision space

−20 −15 −10 −5

0

2

4

6

1

2

34

5

6

7

f1

f 2

Objective space

Dominated

Pareto Optimum

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

13 / 20

Page 43: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set and Pareto front

1 2 3 4

1

2

3

4

5

6

x1

x2

x3x4

x5

x6

x7

x

y

Decision space

−20 −15 −10 −5

0

2

4

6

1

2

34

5

6

7

f1

f 2

Objective space

Dominated

Pareto Optimum

Pareto front aprx.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

13 / 20

Page 44: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Multi-objective optimization problemPareto set and Pareto front

1 2 3 4

1

2

3

4

5

6

x1

x2

x3x4

x5

x6

x7

x8

x9 x10

x11

x12

x13

x14

x15

x16

x17

x18

x19

x

y

Decision space

−20 −15 −10 −5

0

2

4

6

1

2

34

5

6

7

8

11

15

f1

f 2

Objective space

Dominated

Pareto Optimum

Pareto front aprx.

Better Pareto front approximation!

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

13 / 20

Page 45: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemThe feasible region is implicitly determined by an inner optimization problem

minx,y

f1(x, y) = x− 4y

s.t. miny

f2(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0, y ≥ 0

Example 3 [Bard, 1998]

−20

−10

0

?

f 1

2

4

6

f 2

Bard, Jonathan F. (1998). Practical Bilevel Optimization, Springer US

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

14 / 20

Page 46: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Origins of Bilevel ProgrammingMathematical programming generalization

I Consider traditional mathematical programming problem

I Suppose y to be an optimal solution of nested optimization problem

I This yields the Bilevel Programming Problem (BPP)[Bracken, 1973]:

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

15 / 20

Page 47: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Origins of Bilevel ProgrammingMathematical programming generalization

I Consider traditional mathematical programming problem

I Suppose y to be an optimal solution of nested optimization problem

I This yields the Bilevel Programming Problem (BPP)[Bracken, 1973]:

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

15 / 20

Page 48: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Origins of Bilevel ProgrammingMathematical programming generalization

I Consider traditional mathematical programming problem

I Suppose y to be an optimal solution of nested optimization problem

I This yields the Bilevel Programming Problem (BPP)[Bracken, 1973]:

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

x ∈ X ⊂ Rn,y ∈ Y(x)

BPP formulation

Y(x)←−Globally optimal solution set

Bracken J, McGill J (1973) Mathematical programs with optimization problems in the constraints. Operations Research 21: 37–44.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

15 / 20

Page 49: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Origins of Bilevel ProgrammingStackelberg game generalization

I BPP can be viewed as a static version of(non-cooperative), two-person Stackelberggame [Stackelberg, H., 1934].

I In game theory terminology, bilevel programs consist ofthe following rules:

1. The leader (the player that moves first) is minimizing his objective function Funder his resource G. This sub-problem is called the leader’s (outer or upper-level) problem.

2. The follower (the player that moves second) is minimizing his own objective functionf under his resource constraints g. This sub-problem is called the follower’s (inneror lower-level) problem.

3. The leader’s decision variables are x while the follower’s are y.

Stackelberg H (1934) The Theory of Market Economy. Oxford University Press, UK

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

16 / 20

Page 50: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Origins of Bilevel ProgrammingStackelberg game generalization

I BPP can be viewed as a static version of(non-cooperative), two-person Stackelberggame [Stackelberg, H., 1934].

I In game theory terminology, bilevel programs consist ofthe following rules:

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

x ∈ X ⊂ Rn,y ∈ Y(x)

BPP formulation

1. The leader (the player that moves first) is minimizing his objective function Funder his resource G. This sub-problem is called the leader’s (outer or upper-level) problem.

2. The follower (the player that moves second) is minimizing his own objective functionf under his resource constraints g. This sub-problem is called the follower’s (inneror lower-level) problem.

3. The leader’s decision variables are x while the follower’s are y.

Stackelberg H (1934) The Theory of Market Economy. Oxford University Press, UK

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

16 / 20

Page 51: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Origins of Bilevel ProgrammingStackelberg game generalization

I BPP can be viewed as a static version of(non-cooperative), two-person Stackelberggame [Stackelberg, H., 1934].

I In game theory terminology, bilevel programs consist ofthe following rules:

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

x ∈ X ⊂ Rn,y ∈ Y(x)

BPP formulation

1. The leader (the player that moves first) is minimizing his objective function Funder his resource G. This sub-problem is called the leader’s (outer or upper-level) problem.

2. The follower (the player that moves second) is minimizing his own objective functionf under his resource constraints g. This sub-problem is called the follower’s (inneror lower-level) problem.

3. The leader’s decision variables are x while the follower’s are y.

Stackelberg H (1934) The Theory of Market Economy. Oxford University Press, UK

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

16 / 20

Page 52: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Origins of Bilevel ProgrammingStackelberg game generalization

I BPP can be viewed as a static version of(non-cooperative), two-person Stackelberggame [Stackelberg, H., 1934].

I In game theory terminology, bilevel programs consist ofthe following rules:

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

x ∈ X ⊂ Rn,y ∈ Y(x)

BPP formulation

1. The leader (the player that moves first) is minimizing his objective function Funder his resource G. This sub-problem is called the leader’s (outer or upper-level) problem.

2. The follower (the player that moves second) is minimizing his own objective functionf under his resource constraints g. This sub-problem is called the follower’s (inneror lower-level) problem.

3. The leader’s decision variables are x while the follower’s are y.

Stackelberg H (1934) The Theory of Market Economy. Oxford University Press, UK

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

16 / 20

Page 53: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

“Bilevel Game”4. The game between the leader and the follower consists of these steps:

4.1 The leader chooses a value of x ∈ X.

4.2 The follower formulates a best response based on x and generates the set Y(x) (each y ∈ Y(x) is an optimalresponse for the follower of given x from the leader).

4.3 The leader evaluates his objective function and constraints given x and the set Y(x) and chooses a pair (x,y),y ∈ Y(x), that results in an optimal strategy for him.

4.4 The leader repeats steps (4.1)-(4.3) until his objective function is minimized across all values of x ∈ X in hissearch space.

5. The game ends when the leader has created a strategy (value of x ∈ X) that minimizes his best responseacross different values of x ∈ X (his decision variable).

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

x ∈ X ⊂ Rn,y ∈ Y(x)

BPP formulation

Y(x)←−Globally optimal solution set

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

17 / 20

Page 54: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

“Bilevel Game”4. The game between the leader and the follower consists of these steps:

4.1 The leader chooses a value of x ∈ X.

4.2 The follower formulates a best response based on x and generates the set Y(x) (each y ∈ Y(x) is an optimalresponse for the follower of given x from the leader).

4.3 The leader evaluates his objective function and constraints given x and the set Y(x) and chooses a pair (x,y),y ∈ Y(x), that results in an optimal strategy for him.

4.4 The leader repeats steps (4.1)-(4.3) until his objective function is minimized across all values of x ∈ X in hissearch space.

5. The game ends when the leader has created a strategy (value of x ∈ X) that minimizes his best responseacross different values of x ∈ X (his decision variable).

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

x ∈ X ⊂ Rn,y ∈ Y(x)

BPP formulation

Y(x)←−Globally optimal solution set

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

17 / 20

Page 55: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

“Bilevel Game”4. The game between the leader and the follower consists of these steps:

4.1 The leader chooses a value of x ∈ X.

4.2 The follower formulates a best response based on x and generates the set Y(x) (each y ∈ Y(x) is an optimalresponse for the follower of given x from the leader).

4.3 The leader evaluates his objective function and constraints given x and the set Y(x) and chooses a pair (x,y),y ∈ Y(x), that results in an optimal strategy for him.

4.4 The leader repeats steps (4.1)-(4.3) until his objective function is minimized across all values of x ∈ X in hissearch space.

5. The game ends when the leader has created a strategy (value of x ∈ X) that minimizes his best responseacross different values of x ∈ X (his decision variable).

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

x ∈ X ⊂ Rn,y ∈ Y(x)

BPP formulation

Y(x)←−Globally optimal solution set

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

17 / 20

Page 56: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

“Bilevel Game”4. The game between the leader and the follower consists of these steps:

4.1 The leader chooses a value of x ∈ X.

4.2 The follower formulates a best response based on x and generates the set Y(x) (each y ∈ Y(x) is an optimalresponse for the follower of given x from the leader).

4.3 The leader evaluates his objective function and constraints given x and the set Y(x) and chooses a pair (x,y),y ∈ Y(x), that results in an optimal strategy for him.

4.4 The leader repeats steps (4.1)-(4.3) until his objective function is minimized across all values of x ∈ X in hissearch space.

5. The game ends when the leader has created a strategy (value of x ∈ X) that minimizes his best responseacross different values of x ∈ X (his decision variable).

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

x ∈ X ⊂ Rn,y ∈ Y(x)

BPP formulation

Y(x)←−Globally optimal solution set

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

17 / 20

Page 57: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

“Bilevel Game”4. The game between the leader and the follower consists of these steps:

4.1 The leader chooses a value of x ∈ X.

4.2 The follower formulates a best response based on x and generates the set Y(x) (each y ∈ Y(x) is an optimalresponse for the follower of given x from the leader).

4.3 The leader evaluates his objective function and constraints given x and the set Y(x) and chooses a pair (x,y),y ∈ Y(x), that results in an optimal strategy for him.

4.4 The leader repeats steps (4.1)-(4.3) until his objective function is minimized across all values of x ∈ X in hissearch space.

5. The game ends when the leader has created a strategy (value of x ∈ X) that minimizes his best responseacross different values of x ∈ X (his decision variable).

minx,y

F (x,y)

s.t. G(x,y) ≤ 0

miny

f(x,y)

s.t. g(x,y) ≤ 0

x ∈ X ⊂ Rn,y ∈ Y ⊂ Rm

x ∈ X ⊂ Rn,y ∈ Y(x)

BPP formulation

Y(x)←−Globally optimal solution set

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

17 / 20

Page 58: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemNested optimization problem within the constraints of another optimization problem

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0, y ≥ 0

Example 3 [Bard, 1998]

−20

−10

0

?

F

2

4

6

f

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 59: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemConstraint region

S = {(x,y) : x ∈ X,y ∈ Y,G(x,y) ≤ 0,g(x,y) ≤ 0}.

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0, y ≥ 0

Example 3 [Bard, 1998]

1 2 3 4

1

2

3

4

5

6

x

y

S

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 60: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemProjection of S onto the leader’s decision space

S(X) = {x ∈ X : ∃y ∈ Y,G(x,y) ≤ 0,g(x,y) ≤ 0}.

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0, y ≥ 0

Example 3 [Bard, 1998]

1 2 3 4

1

2

3

4

5

6

x

y

S

S(X)

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 61: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemFollower’s feasible set for each fixed x ∈ S(X)

S(x) = {y ∈ Y : g(x,y) ≤ 0}.

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x = x, y ≥ 0

Example 3 [Bard, 1998]

1 2 3 4

1

2

3

4

5

6

x

x

y

S

S(X)

S(x)

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 62: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemFollower’s rational reaction set for each x

Y(x) = {y ∈ Y : min {f(x,y) : y ∈ S(x)}} .Defines the follower’s response

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x = x, y ≥ 0

Example 3 [Bard, 1998]

x

3 3 3 3 3

5 5 5 5 5

1 2 3 4

1

2

3

4

5

6

x

y

S

S(X)

S(x)

Y(x)−∇f

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 63: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemThe feasible set of bilevel problem (Inducible region)

SI = {(x,y) : (x,y) ∈ S,y ∈ Y(x)}.The induced region is usually nonconvex and, in the presence of upper level constraints, canbe disconnected or even empty.

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0, y ≥ 0

Example 3 [Bard, 1998]

x

3 3 3 3 3

5 5 5 5 5

1 2 3 4

1

2

3

4

5

6

x

y

S

S(X)

S(x)

Y(x)−∇fSI

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 64: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemCompact BPP formulation

Given these definitions the BPP can be reformulated as:

min {F (x,y) : (x,y) ∈ SI}.

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0, y ≥ 0

Example 3 [Bard, 1998]

1 2 3 4

1

2

3

4

5

6

x

y

S

SI

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 65: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemGradient (−∇F ) ↑ & Contour lines: F = −2;F = −7;F = −12;F = −21

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0, y ≥ 0

Example 3 [Bard, 1998]

−21−21

−21−21

−21 −17−17

−17−17

−17−12

−12−12

−12−12

−7−7

−7−7

−7−2

−2−2

−2−2

1 2 3 4

1

2

3

4

5

6

x

y

S

SI

−∇F

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 66: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemOptimal solution: (x∗, y∗) = (4, 4)

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0, y ≥ 0

Example 3 [Bard, 1998]

1 2 3 4

1

2

3

4

5

6

(x∗, y∗) = (4, 4)

x

y

S

SI

(x∗, y∗)

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 67: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Bilevel optimization problemOptimal solution: (x∗, y∗) = (4, 4) & Optimal function values: F ∗ = −12 and f∗ = 4

minx,y

F (x, y) = x− 4y

s.t. miny

f(x, y) = y

s.t. − x− y ≤ −3− 2x+ y ≤ 0

2x+ y ≤ 12

3x− 2y ≤ 4

x ≥ 0, y ≥ 0

Example 3 [Bard, 1998]

−20

−10

0F ∗

2

4

6f∗

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

18 / 20

Page 68: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Summary: Single level vs Multi-objective vs Bilevel Optimization

12

34

123456

−20

−10

0

(x∗, y∗)

xy

f

I Single-level problems usuallyhave a single optimal solution.

12

34

123456

−20

−10

0

xy

f 1,f

2I Multi-objective problems

usually have multipleoptimal solutions.

−20

−10

0

F

2

4

6

f

I Bilevel problems usually alsohave a single optimal solution.

I A bilevel solution is not necessarily a Pareto-optimal solution.

I It is not possible to directly use algorithms for multi-objective optimization for bilevelproblems.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

19 / 20

Page 69: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Summary: Single level vs Multi-objective vs Bilevel Optimization

12

34

123456

−20

−10

0

(x∗, y∗)

xy

f

I Single-level problems usuallyhave a single optimal solution.

12

34

123456

−20

−10

0

xy

f 1,f

2I Multi-objective problems

usually have multipleoptimal solutions.

−20

−10

0

F

2

4

6

f

I Bilevel problems usually alsohave a single optimal solution.

I A bilevel solution is not necessarily a Pareto-optimal solution.

I It is not possible to directly use algorithms for multi-objective optimization for bilevelproblems.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

19 / 20

Page 70: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Summary: Single level vs Multi-objective vs Bilevel Optimization

12

34

123456

−20

−10

0

(x∗, y∗)

xy

f

I Single-level problems usuallyhave a single optimal solution.

12

34

123456

−20

−10

0

xy

f 1,f

2I Multi-objective problems

usually have multipleoptimal solutions.

−20

−10

0 F ∗

F

2

4

6f∗

f

I Bilevel problems usually alsohave a single optimal solution.

I A bilevel solution is not necessarily a Pareto-optimal solution.

I It is not possible to directly use algorithms for multi-objective optimization for bilevelproblems.

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

19 / 20

Page 71: Remigijus Paulavi cius @RemisPau - unn.ruhpc-education.unn.ru/.../conference_hpc/2017/Paulavicius.pdf · 2017-09-11 · Remigijus Paulavi cius @RemisPau Vilnius UniversityInstitute

Introduction Single-level Optimization Multi-Objective Optimization (MOO) Bilevel Optimization (BO)

Thank You For Your Attention!

Questions ?

@RemisPau [email protected]

: Remigijus Paulavicius @RemisPauIntroduction to Bilevel Programming

20 / 20