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?