Bilevel Integer Programming Ted Ralphs 1 Joint work with: Scott DeNegre 1 , Menal Guzelsoy 2 , Andrea Lodi 3 , Fabrizio Rossi 4 , Stefano Smriglio 4 1 COR@L Lab, Department of Industrial and Systems Engineering, Lehigh University 2 ISyE, Georgia Institute of Technology 3 DEIS, Universitá di Bologna 4 Dipartimento di Informatica, Universitá di L’Aquila Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 1 / 40
Outline Introduction 1 Motivation Setup Applications 2 Practical Theoretical Algorithms 3 Recourse Problems Continuous BLPs Discrete BLPs Implementation 4 Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 2 / 40
Motivation A standard mathematical program models a set of decisions to be made simultaneously by a single decision-maker (i.e., with a single objective). Many decision problems arising both in real-world applications and in the theory of integer programming involve multiple, independent decision-makers (DMs), multiple, possibly conflicting objectives, and/or hierarchical/multi-stage decisions. Modeling frameworks Multiobjective Programming ⇐ multiple objectives, single DM Mathematical Programming with Recourse ⇐ multiple stages, single DM Multilevel Programming ⇐ multiple stages, multiple DMs Multilevel programming generalizes standard mathematical programming by modeling hierarchical decision problems, such as Stackelberg games. Such models arises in a remarkably wide array of applications. Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 3 / 40
Bilevel (Integer) Linear Programming Formally, a bilevel linear program is described as follows. x ∈ X ⊆ R n 1 are the upper-level variables y ∈ Y ⊆ R n 2 are the lower-level variables Bilevel (Integer) Linear Program � c 1 x + d 1 y | x ∈ P U ∩ X , y ∈ argmin { d 2 y | y ∈ P L ( x ) ∩ Y } � max (MIBLP) The upper- and lower-level feasible regions are: x ∈ R + | A 1 x ≤ b 1 � P U = � and y ∈ R + | G 2 y ≥ b 2 − A 2 x � � P L ( x ) = . For most of the talk, we assume X = Z n 1 and Y = Z n 2 . Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 4 / 40
Notation Notation Ω I = { ( x , y ) ∈ ( X × Y ) | x ∈ P U , y ∈ S L ( x ) } { ( x , y ) ∈ ( R n 1 × R n 2 ) | x ∈ P U , y ∈ S L ( x ) } Ω = M I ( x ) argmin { d 2 y | y ∈ ( P L ( x ) ∩ Y ) } = F I ( x , y ) | x ∈ ( P U ∩ X ) , y ∈ M I ( x ) � � = � ( x , y ) | x ∈ P U , y ∈ argmin { d 2 y | y ∈ S L ( x ) } � F = Underlying bilevel linear program (BLP): ( x , y ) ∈F c 1 x + d 1 y min Underlying MILP: ( x , y ) ∈ Ω I c 1 x + d 1 y min Underlying LP: ( x , y ) ∈ Ω c 1 x + d 1 y min Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 5 / 40
Applications Hierarchical decision systems Government agencies Large corporations with multiple subsidiaries Markets with a single “market-maker.” Decision problems with recourse Parties in direct conflict Zero sum games Interdiction problems Modeling “robustness”: leader represents external phenomena that cannot be controlled. Weather External market conditions Controlling optimized systems: follower represents a system that is optimized by its nature. Electrical networks Biological systems Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 6 / 40
Bilevel Structure in Branch and Cut We consider an integer program (IP) of the form min { c ⊤ x | x ∈ P ∩ Z n } , (1) where P = { x ∈ R n + | Ax ≥ b } , A ∈ Q m × n , b ∈ Q m , c ∈ Q n . A branch-and-cut algorithm to solve this problem requires the solution of two fundamental decision problems. Definition 1 The separation problem for a polyhedron Q is to determine for a x ∈ R n whether or not ˆ given ˆ x ∈ Q and if not, to produce an inequality α, ¯ β ) ∈ R n + 1 valid for Q and for which ¯ x < ¯ α ⊤ ˆ (¯ β . Definition 2 The branching problem for a set S is to determine for a given x ∈ R n whether ˆ ˆ x ∈ S and if not, to produce a disjunction � A h x ≥ b h , x ∈ S (2) h ∈Q that is satisfied by all points in S , but not satisfied by ˆ x. Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 7 / 40
Bilevel Structure of the Separation Problem Often, we wish to select an inequality that maximizes violation, i.e., α, ¯ β ) ∈ argmin ( α,β ) ∈ R n + 1 { α ⊤ ˆ x − β | α ⊤ x ≥ β ∀ x ∈ Q} (¯ (3) To make the problem tractable, we may restrict ourselves to a specific template class of valid inequalities with well-defined structure. Given a class C , calculation of the right-hand side β required to ensure ( α, β ) is a member of C may itself be an optimization problem. x ∈ R n can then in The separation problem for the class C with respect to a given ˆ principle be formulated as the bilevel program: min α ⊤ ˆ x − β (4) α ∈ C α (5) β = min { α ⊤ x | x ∈ F} , (6) where the set C α ⊆ R n is the projection of C into the space of coefficient vectors and F is the closure over the class C . Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 8 / 40
Example: Disjunctive cuts Given a MIP in the form (1), Balas (1979) showed how to derive a valid inequality by exploiting any fixed disjunction π ⊤ x ≤ π 0 π ⊤ x ≥ π 0 + 1 ∀ x ∈ R n , OR (7) where π ∈ Z n and π 0 ∈ Z . A disjunctive inequality is one valid for the convex hull of union of P 1 and P 2 , obtained by imposing the two terms of the disjunction. Conceptually, the separation problem can be written as the following bilevel program: α ⊤ ˆ x − β min (8) α ≥ u ⊤ A − u o π (9) α ≥ v ⊤ A + v o π (10) u , v , u 0 , v 0 ≥ 0 (11) u 0 + v 0 = 1 (12) β = min { α ⊤ x | x ∈ P 1 ∪ P 2 } (13) Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 9 / 40
Example: Disjunctive Cuts (cont.d) Equation (13) requires β to have the largest value consistent with validity. To ensure the cut is valid, we need only ensure that β ≤ min { u ⊤ b − u 0 π 0 , v ⊤ b + v 0 ( π 0 + 1 ) } . (14) Using the standard modeling trick, we can rewrite (14) as β ≤ u ⊤ b − u 0 π 0 (15) β ≤ v ⊤ b + v 0 ( π 0 + 1 ) . (16) The sense of the optimization ensures that (14) holds at equality. Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 10 / 40
Example: Capacity Constraints for CVRP In the Capacitated Vehicle Routing Problem (CVRP), the capacity constraints are of the form � x e ≥ 2 b ( S ) ∀ S ⊂ N , | S | > 1 , (17) e = { i , j }∈ E i ∈ S , j �∈ S where b ( S ) is any lower bound on the number of vehicles required to serve customers in set S . By defining binary variables y i = 1 if customer i belongs to ¯ S , and z e = 1 if edge e belongs to δ (¯ S ) , we obtain the following bilevel formulation for the separation problem: � x e z e − 2 b (¯ min ˆ S ) (18) e ∈ E z e ≥ y i − y j ∀ e ∈ E (19) z e ≥ y j − y i ∀ e ∈ E (20) b (¯ S ) = max { ¯ S | b (¯ S ) is a valid lower bound } (21) Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 11 / 40
Example: Capacity Constraints for CVRP (cont.d) If the bin packing problem is used in the lower-level, the formulation becomes: � x e z e − 2 b (¯ min ˆ S ) (22) e ∈ E z e ≥ y i − y j ∀ e = { i , j } (23) z e ≥ y j − y i ∀ e = { i , j } (24) n b (¯ � S ) = min h ℓ (25) ℓ = 1 n � w ℓ ∀ i ∈ N i = y i (26) ℓ = 1 � d i w ℓ i ≤ Kh ℓ ℓ = 1 , . . . , n , (27) i ∈ N where we introduce the additional binary variables w ℓ i = 1 if customer i is served by vehicle ℓ , and h ℓ = 1 if vehicle ℓ is used. Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 12 / 40
Bilevel Structure of the Branching Problem A typical criteria for selecting a branching disjunction is to maximize the bound increase resulting from imposing the disjunction. The problem of selecting the disjunction whose imposition results in the largest bound improvement has a natural bilevel structure . The upper-level variables can be used to model the choice of disjunction (we’ll see an example shortly). The lower-level problem models the bound computation after the disjunction has been imposed. In strong branching, we are solving this problem essentially by enumeration. The bilevel branching paradigm is to select the branching disjunction directly by solving a bilevel program. Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 13 / 40
Example: Interdiction Branching The following is a bilevel programming formulation for the problem of finding a smallest branching set in interdiction branching: max � c ⊤ x (BBP) s.t. c ⊤ x ≤ ¯ z y ∈ B n x ∈ arg max x c ⊤ x s.t. i ∈ N a x i + y i ≤ 1 , x ∈ F a where F is the feasible region of a given relaxation of the original problem used for computing the bound. Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 14 / 40
Algorithms: Technical Assumptions We make the following assumptions to simplify and ensure the problem has a solution. Assumptions For every action by the leader, the follower has a rational reaction 1 ( P L ( x ) ∩ Y � = ∅ for all x ∈ P U ∩ X ). The follower is semi-cooperative (the leader may choose among 2 alternative members of M I ( x ) ). The feasible set F I is nonempty and compact. 3 Ralphs, et al. (COR@L Lab) BILP Aussois, January 2009 15 / 40
Recommend
More recommend