Bilevel Programming 1. Introduction 4. NP-hard Elizabeth Buckingham-Jeffery

advertisement
Bilevel Programming
Elizabeth Buckingham-Jeffery
4. NP-hard
1. Introduction
A bilevel programming problem is a hierarchical optimisation
problem, where included in the constraints is a second
optimisation problem. The original, or upper level decision maker
is called the leader and the embedded, or lower level decision
maker is called the follower.
The problem can be constructed in two ways.
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.
In the pessimistic formulation the leader protects themselves
from the follower choosing the worst possible solution.
We will only be concerned with the optimistic problem in the
linear case, formulated as
min{hd1, xi + hd2, y i : A3y = b, y ≥ 0, x ∈ ΨL(y )}
x,y
where
ΨL(y ) = Argmin{hy1, xi : A1x + A2y2 ≤ a, x ≥ 0}.
STOR-i Internship 2011
6. Linear 0-1 integer programming
P
Problems are in the class P if there is an algorithm to find a
solution, which completes in polynomial time. The problem of
finding a minimum spanning tree for a connected acyclic graph
in is P.
NP
Problems are in the class NP if yes answers have certificates
which can be checked in polynomial time. Optimisation
problems do not usually belong to the class NP.
NP-complete
NP-complete problems are a collection of NP problems to
which any other NP problem may be reduced. The traveling
salesman problem is an example of an NP-complete problem.
NP-hard
NP-hard problems are a collection of problems to which all NP
problems can be reduced, but they need not necessarily be in
NP themselves.
It is possible to reduce the optimistic linear bilevel programming
problem to a linear 0-1 integer programming problem, which can
be solved with the branch and bound algorithm. First use
duality and complementarity on the lower level programme to
transform the bilevel problem to a single-level problem.
Then suppose M is a sufficiently large constant. The conditions
A1x + A2y2 − a ≤ 0, λ ≥ 0, < A1x + A2y2 − a, λ >= 0,
are equivalent to the conditions
−Mz ≤ A1x + A2y2 − a ≤ 0, M(ep − z1) ≥ λ ≥ 0
z1i ∈ 0, 1, i = 1, ..., p.
We can reformulate the rest of the conditions similarly, and we get
the equivalent linear 0-1 integer programming problem
minhd1, xi + hd2, y i
x,y
subject to
A3y = b, y ≥ 0,
− Mz1 ≤ A1x + A2y2 − a ≤ 0, M(ep − z1) ≥ λ ≥ 0,
Mz2 ≥ AT1 λ + y 1 ≥ 0, M(en − z2) ≥ x ≥ 0,
z1i ∈ 0, 1, i = 1, ..., p, z2j ∈ 0, 1, j = 1, ..., n.
2. An Example
A simple example of a linear bilevel programme is
subject to 0 ≤ y ≤ 7 and x satisfying the follower’s problem
7. The branch and bound algorithm
Figure 2: Set diagram if P 6= NP
min{−x : x + y ≤ 8, x − y ≤ 0, x ≥ 0}.
x
The set M denotes all pairs (x, y ) satisfying the constraints of
both the leader’s and the follower’s problem. For a fixed value of
y , when we minimise −x we get a solution on the bold line.
Hence the bold lines give the feasible solution set of the upper
level problem.
1
2
It is shown in [Dempe, 2002] that finding a solution to
the linear bilevel problem is NP-hard.
5. Applications
3
4
Figure 1: Linear Bilevel Programming Problem
Bilevel problems, even in this simple case, can be
nonconvex and nondifferentiable optimisation problems.
3. Aims of the project
Review current literature and algorithms for linear bilevel
programming.
Implement programmes to solve examples of linear bilevel
problems, and review the methods used.
http://www.stor-i.lancs.ac.uk/intern
A hierarchical structure appears naturally in many occurrences of
decision making, and so bilevel programmes can be applied to
many areas of optimisation. Some examples of applications are;
Determining optimal pollution control policies in California,
presented in [Amouzegar, Moshirvaziri, 1999], where the
government was modeled as the leader and the polluting firms
as the follower.
Urban land use and transport networks were modeled as bi-level
problems in [Xie, Yan, 2009].
Determining tax credits to encourage industry to produce
biofuels from nonfood crops such as wheat, corn and rapeseed
was presented in [Bard, Plummer, Sourie, 2000].
Microsoft Excel has a solver add-in for solving optimisation
problems. It is not as user friendly as LINDO, and implementing
problems with many variables and constraints can be difficult.
9. A Projection Formulation
x
min 2x + 3y
8. Software Used (Cont.)
5
6
7
8
9
10
Let P0 denote the original problem,
Let x ∗(P) denote the optimal solution for the continuous
relaxation of problem P. The continuous relaxation of a linear
0-1 integer programme is the original problem, but with all
variables in R.
Let OPT denote the objective function of the best feasible
solution for P0 found so far.
Initialise the list of problems to {P0}, initialise OPT = ∞.
If x ∗(P0) is feasible for P0 (ie. if x ∗(P0) ∈ Zn ) then
OPT=c T x ∗(P0) and STOP.
Else choose a problem P from the list with c T x ∗(P) < OPT .
If no such P exists, STOP.
Choose xp with xp∗(P) ∈
/ Z.
Create two new problems P 0 with xp ≤ bxp∗(P)c, and P 00 with
xp ≥ dxp∗(P)e. Add P 0 and P 00 to the list of problems.
If x ∗(P 0) is feasible and c T x ∗(P 0) < OPT then update
OPT = c T x ∗(P 0), and remove P 0 from the problem list. Same
for P 00.
Return to step 6.
8. Software Used
[Fliege, Kaparis, Xu] describes how the bilevel problem can also be
reformulated using a projection. This projection formulation can
attempt to solve more general bilevel problems than the simple
linear optimistic problems soluble by the linear 0-1 integer
reformulation. However, it is quite possible for the method to
break down at saddle points. Eight examples already solved with
the linear 0-1 integer reformulation were also solved with this
method, implemented using Fortran, to see how successful it is in
different situations.
Example
Example
Example
Example
Example
Example
Example
Example
1
2
3
4
5
6
7
8
0-1 integer Projection
Comment on
formulation formulation projection reformulation
-12
-12
Finds optimum
-4.22
-4.22
Finds optimum
42
42
Finds optimum
-137
-137
Finds optimum
-4
18
Finds suboptimal solution
28
28
Finds optimum
12
12
Finds optimum
-22
-22
Finds optimum
10. Conclusions
The bilevel programming problem is an interesting optimisation
approach to many real-life problems. The development of new
ways to solve problems is an ongoing area of research. Methods
described are just some current approaches.
The linear 0-1 integer reformulation method is good for solving
basic linear bilevel problems. For more general cases it is harder to
find a reliable solver. The projection formulation needs more
development, but this testing has shown it can be quite successful
in the basic linear case.
11. References
Jörg Fliege, Konstantinos Kaparis, and Huifu Xu. New Penalty Methods for Bilevel
Optimization. Unpublished manuscript.
Jonathan F. Bard and John Plummer and Jean Claude Sourie. A bilevel programming
approach to determining tax credits for biofuel production. European Journal of
Operational Research, 120:30-46, 2000
Stephan Dempe. Foundations of Bilevel Programming. Springer US, 2002
LINDO optimisation software uses the branch and bound
algorithm to solve linear 0-1 integer programmes. This software
is basic and easy to use, although is limited to relatively small
problems. It can also be unreliable, and is quite susceptible to
the value chosen for M.
Mahyar A. Amouzegar and Khosrow Moshirvaziri. Determining optimal pollution control
policies: An application of bilevel programming. European Journal of Operational
Research, 119:100-120, 1999
Xie Hui and Yan Kefei. A Bi-level programming model of urban land use and network
design problem. 2nd International conference on power electronics and intelligent
transportation system, 2009.
e.m.buckingham-jeffery@warwick.ac.uk
Download