Bilevel Programming STOR-i Internship project Elizabeth Buckingham-Jeffery Elizabeth

advertisement
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Bilevel Programming
STOR-i Internship project
Elizabeth Buckingham-Jeffery
Aims of the project
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Aims
Aims of the project
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Aims
Review current literature and algorithms for linear bilevel
programming.
Aims of the project
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Aims
Review current literature and algorithms for linear bilevel
programming.
Implement programmes to solve examples of linear bilevel
problems, and review the methods used.
What is bilevel linear programming?
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
An Example
min
subject to
2x + 3y
0≤y ≤7
min −x
subject to
x +y ≤8
x −y ≤0
x ≥0
Linear programming- convexity
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Linear Program
Convexity
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Convex
Non-convex
Linear programming- convexity
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Linear Program
Bilevel linear programming- nonconvexity
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Example
min
subject to
2x + 3y
0≤y ≤7
min −x
subject to
x +y ≤8
x −y ≤0
x ≥0
Applications of bilevel programming
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Applications
Applications of bilevel programming
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Applications
Determining optimal pollution control policies in
California,
Applications of bilevel programming
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Applications
Determining optimal pollution control policies in
California,
Urban land use and transport networks,
Applications of bilevel programming
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Applications
Determining optimal pollution control policies in
California,
Urban land use and transport networks,
Determining tax credits to encourage industry to produce
biofuels from nonfood crops such as wheat, corn and
rapeseed.
Optimistic
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Optimistic approach
In the optimistic formulation the leader assumes that the
follower will choose the solution from solution set for the
lower level problem that suits the leader best.
Optimistic
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Optimistic approach
In the optimistic formulation the leader assumes that the
follower will choose the solution from solution set for the
lower level problem that suits the leader best.
min{ϕo (y ) + hd2 , y i : A3 y = b, y ≥ 0}
y
where
ϕo (y ) = min{hd1 , xi : x ∈ ΨL (y )},
x
ΨL (y ) = Argmin{hy1 , xi : A1 x + A2 y2 ≤ a, x ≥ 0}.
x
Pessimistic
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Pessimistic Approach
In the pessimistic formulation the leader protects
themselves from the follower choosing the worst possible
solution.
Pessimistic
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Pessimistic Approach
In the pessimistic formulation the leader protects
themselves from the follower choosing the worst possible
solution.
min{ϕp (y ) + hd2 , y i : A3 y = b, y ≥ 0}
y
where
ϕp (y ) = max{hd1 , xi : x ∈ ΨL (y )},
x
ΨL (y ) = Argmin{hy1 , xi : A1 x + A2 y2 ≤ a, x ≥ 0}.
x
Linear 0-1 integer programming
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
It is possible to reformulate the bilevel problem as a linear 0-1
integer programme;
Linear 0-1 integer programming
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
It is possible to reformulate the bilevel problem as a linear 0-1
integer programme;
0-1 programming
Usually assume variables are in R≥0 ,
Integer programming- assume variables are in Z,
Mixed integer programming- some variables are in Z,
0-1 integer programming- variables are in {0, 1}.
Transferring between bilevel and linear 0-1 integer
programmes
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Lower level problem (maximisation) and its dual problem
Argmax{−hy1 , xi : A1 x + A2 y2 ≤ a, x ≥ 0}
x
Argmin{hλ, bi : AT
1 λ ≥ −y1 , λ ≥ 0}
λ
Complementarity constraints of the lower level problem
hA1 x + A2 y2 − a, λi = 0
hx, AT
1 λ + y1 i = 0
Transferring between bilevel and linear 0-1 integer
programmes
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Equivalent one-level problem
minhd1 , xi + hd2 , y i
x,y
A3 y = b, y ≥ 0,
A1 x + A2 y2 − a ≤ 0, x ≥ 0, λ ≥ 0, AT
1 λ + y1 ≥ 0,
hA1 x + A2 y2 − a, λi = 0, hx, AT
1 λ + y1 i = 0.
Transferring between bilevel and linear 0-1 integer
programmes
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Equivalent conditions
A1 x + A2 y2 − a ≤ 0,
λ ≥ 0,
⇔
hA1 x + A2 y2 − a, λi = 0
− Mz1 ≤ A1 x + A2 y2 − a ≤ 0,
M(ep − z1 ) ≥ λ ≥ 0,
z1i ∈ {0, 1}, i = 1, ..., p
Equivalent conditions
AT
1 λ + y1 ≥ 0,
x ≥ 0,
hx, AT
1 λ + y1 i = 0
⇔
Mz2 ≥ AT
1 λ + y1 ≥ 0,
M(en − z2 ) ≥ x ≥ 0,
z2i ∈ {0, 1}, i = 1, ..., n
Transferring between bilevel and linear 0-1 integer
programmes
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Equivalent linear 0-1 integer programme
minhd1 , xi + hd2 , y i
x,y
A3 y = b, y ≥ 0,
− Mz1 ≤ A1 x + A2 y2 − a ≤ 0, M(ep − z1 ) ≥ λ ≥ 0,
Mz2 ≥ AT
1 λ + y1 ≥ 0, M(en − z2 ) ≥ x ≥ 0,
z1i ∈ {0, 1}, i = 1, ..., p, z2j ∈ {0, 1}, j = 1, ..., n.
Projection
formulation
Solve
The branch and bound algorithm can be used to solve this
problem.
Software Used
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
LINDO
Uses the branch and bound algorithm,
Basic and easy to use,
Limited to relatively small problems,
Quite susceptible to the value chosen for M.
Software Used
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Microsoft Excel
Microsoft Excel has a solver add-in,
Problem formulation takes longer than using LINDO,
Unruly when the problem has a lot of variables.
The Projection Reformulation
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Projection Reformulation
The Projection Reformulation
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Projection Reformulation
‘New penalty methods for bilevel optimization’ by Jörg
Fliege, Konstantinos Kaparis and Huifu Xu reformulates
the bilevel problem using a projection reformulation.
The Projection Reformulation
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Projection Reformulation
‘New penalty methods for bilevel optimization’ by Jörg
Fliege, Konstantinos Kaparis and Huifu Xu reformulates
the bilevel problem using a projection reformulation.
Attempt to solve more general bilevel problems.
The Projection Reformulation
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Projection Reformulation
‘New penalty methods for bilevel optimization’ by Jörg
Fliege, Konstantinos Kaparis and Huifu Xu reformulates
the bilevel problem using a projection reformulation.
Attempt to solve more general bilevel problems.
Possible for the method to break down at saddle points.
The Projection Reformulation
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Example
Example
Example
Example
Example
Example
Example
Example
1
2
3
4
5
6
7
8
0-1 integer
formulation
-12
-4.22
42
-137
-4
28
12
-22
Projection
formulation
-12
-4.22
42
-137
18
28
12
-22
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Next
Quadratic case,
Starting point.
Elizabeth
BuckinghamJeffery
What is bilevel
programming?
Linear 0-1
integer
programming
Transferring
between bilevel
and linear 0-1
integer
programmes
Branch and
Bound algorithm
Optimisation
software
Projection
formulation
Next
Quadratic case,
Starting point.
Any questions?
Download