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