A Branch-and-Cut Algorithm for Mixed Integer Bilevel...
Transcript of A Branch-and-Cut Algorithm for Mixed Integer Bilevel...
A Branch-and-Cut Algorithm for Mixed Integer BilevelLinear Optimization Problems and Its Implementation
Sahar Tahernejad1
Joint work with Ted Ralphs1, Scott T. DeNegre2
1COR@L Lab, Department of Industrial and Systems Engineering, Lehigh University2Hospital for Special Surgery, New York, New York
INFORMS, Houston, Texas,October 25, 2017
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 1 / 28
Mixed Integer Bilevel Linear Optimization Problems
First-level variables: x ∈ X where X = Zr1+ × Rn1−r1
+
Second-level variables: y ∈ Y where Y = Zr2+ × Rn2−r2
+
MIBLP
min
cx + d1y∣∣ x ∈ X, y ∈ P1(x) ∩ P2(x) ∩ Y, d2y ≤ φ(b2 − A2x)
,
(MIBLP-VF)
where
P1(x) =
y ∈ Rn2+
∣∣ A1x + G1y ≥ b1 ,P2(x) =
y ∈ Rn2
+
∣∣ G2y ≥ b2 − A2x.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 2 / 28
Mixed Integer Bilevel Linear Optimization Problems
Value Function
φ(β) = min
d2y∣∣ G2y ≥ β, y ∈ Y
∀β ∈ Rm2 . (VF)
Value function returns the optimal value of the second-level problem with respect toits right-hand-side.
Risk Function
Ξ(x) = min
d1y∣∣ y ∈ P1(x), y ∈ argmind2y
∣∣ y ∈ P2(x) ∩ Y. (RF)
Risk function encodes the part of the first-level objective value that depends on theresponse to x ∈ X in the second level.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 3 / 28
Software Framework
MibS softwareis an open-source solver for MIBLPs.works based on our branch-and-cut algorithm for MIBLPs.is implemented in C++.is built on top of the BLIS solver [Xu et al., 2009].employs different software available from the Computational Infrastructure forOperations Research (COIN-OR) repository
COIN High Performance Parallel Search (CHiPPS): To manage the globalbranch-and-bound
SYMPHONY: To solve the required MIPs
COIN LP Solver (CLP): To solve the LPs arising in the branch and cut
Cut Generation Library (CGL): To generate cutting planes within bothSYMPHONY and MibS
Open Solver Interface (OSI): To interface with other solvers
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 4 / 28
Branch-and-Cut Algorithm
The algorithm is based on the basic algorithmic framework originally describedby DeNegre and Ralphs [2009], but with many additional enhancements.
The algorithm is comprised of the following steps
BoundingLower bound
Upper bound
Pruning
Cutting
BranchingBranching on linking variables
Branching on fractional variables
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 5 / 28
Lower Bound
Bilevel Feasible Region
F =
(x, y) ∈ Rn1×n2+
∣∣ x ∈ X, y ∈ P1(x) ∩ P2(x) ∩ Y, d2y ≤ φ(b2 − A2x)
Removing the optimality constraint of the second-level problem and the integralityconstraints
P =
(x, y) ∈ Rn1×n2+
∣∣ y ∈ P1(x) ∩ P2(x)
Lt = min(x,y)∈P t
cx + d1y
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 6 / 28
Upper Bound
The upper bound is derived by exhibiting a bilevel feasible solution.
Question: How to find bilevel feasible solutions?
Let (xt, yt) be the optimal solution of the relaxation problem at node t.
(xt, yt) can be exploited to generate bilevel feasible solutions.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 7 / 28
Upper Bound
(xt, yt) may be bilevel feasible⇒ Feasibility check
(xt, yt) does not satisfy integrality requirements⇒ infeasible
(xt, yt) satisfies integrality requirements
Solve the second-level problem with β = b2 − A2xt
φ(b2 − A2xt) = min
d2y∣∣∣ G2y ≥ b2 − A2xt, y ∈ Y
Let yt be the optimal solution.
d2yt = d2yt ⇒ bilevel feasible
d2yt < d2yt ⇒ infeasible
If xt ∈ X and A1xt + G1yt ≥ b1 ⇒ (xt, yt) is bilevel feasible
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 8 / 28
Linking Variables
Linking variables : The set of of first-level variables with non-zero coefficients inthe second-level problem⇒ xL
Assumption: All linking variables are discrete ones⇒ The optimal solution ofMIBLP is attainable.
For the vectors x1 and x2 ∈ X with x1L = x2
L, we have
φ(b2 − A2x1) = φ(b2 − A2x2) and Ξ(x1) = Ξ(x2).
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 9 / 28
Linking Variables
For the vectors x1 and x2 ∈ X with x1L = x2
L, we have
φ(b2 − A2x1) = φ(b2 − A2x2) and Ξ(x1) = Ξ(x2).
The best bilevel feasible solution (x,y) with xL = γ ∈ ZL can be obtained bysolving just one MILP.
min
cx + d1y∣∣ x ∈ X, y ∈ P1(x) ∩ P2(x) ∩ Y, d2y ≤ φ(b2 − A2x), xL = γ
(UB)
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 10 / 28
Upper Bound
If xtL ∈ ZL ⇒ (x, y) is bilevel feasible where it is obtained by solving the
problem (UB) with xL = xtL.
Note that xtL ∈ ZL does not mean that a bilevel feasible solution can be found
inevitably because
φ(b2 − A2xt) may be +∞.
Problem (UB) may be infeasible.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 11 / 28
Additional Enhancements
In contrast with MILPs, we do not check the bilevel feasibility of (xt, yt)necessarily.The relevant parameters in MibS are
solveSecondLevelWhenXYVarsInt
solveSecondLevelWhenXVarsInt
solveSecondLevelWhenLVarsInt
solveSecondLevelWhenLVarsFixed
MibS does not always allow solving problem (UB) when xtL ∈ ZL.
The relevant parameters arecomputeBestUBWhenXVarsInt
computeBestUBWhenLVarsInt
computeBestUBWhenLVarsFixed
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 12 / 28
Pruning
In a similar way as all branch-and-bound algorithms, pruning of node t occurswhenever
1 The relaxation problem is infeasible.
2 The optimal value of the relaxation problem is not better than the current upperbound.
3 The optimal solution of the relaxation problem is bilevel feasible.
There is one additional case4 All linking variables are fixed.
Although node t can be pruned after fixing all linking variables, MibS may not do it.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 13 / 28
Cutting
Question: When may MibS generate a cut?
1 Removing (xt, yt) /∈ X × Y2 Removing (xt, yt) ∈ X × Y , but d2yt > φ(b2 − A2xt)3 Removing all x ∈ Px with xL = γ ∈ ZL
Note that Px denotes the projection of the relaxation feasible region on the set offirst-level variables, i.e., Px = projx(P).
With respect to the goals of generating valid inequalities, the set of validinequalities for MIBLPs can be classified.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 14 / 28
Cutting
With respect to the goals of generating valid inequalities, the set of valid inequalitiesfor MIBLPs can be classified.
Removing (xt, yt) /∈ X × Y ⇒Feasibility cuts: Valid inequalities whichare violated by (xt, yt), but valid forconv
((x, y) ∈ S
∣∣ cx + d1y < U)
.
Removing (xt, yt) ∈ X × Y , butd2yt > φ(b2 − A2xt)
⇒Optimality cuts: Valid inequalities whichare violated by (xt, yt), but valid forconv
((x, y) ∈ F
∣∣ cx + d1y < U)
.
Removing all x ∈ Px with xL =λ ∈ ZL ⇒
Projected optimality cuts: Valid inequal-ities which are violated by x ∈ Px
with xL = γ ∈ ZL, but valid forconv ((x, y) ∈ F | cx + ξ(x) < U).
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 15 / 28
Cutting
Feasibility cuts: This set includes all valid inequalities work for the MILPs.
Optimality cuts:Integer no-good cut [DeNegre and Ralphs, 2009]
Increasing objective cut [DeNegre, 2011]
Benders cut
Intersection cut [Fischetti et al., 2016b]
Bound cut
Projected optimality cuts:Generalized no-good cut
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 16 / 28
Branching
Question: When may MibS employ branching?
1 the solution (xt, yt) 6∈ F because
(xt, yt) 6∈ X × Y
d2yt > φ(b2 − A2xt)
2 (xt, yt) ∈ X × Y and we are not sure of its feasibility status.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 17 / 28
Fractional Branching Scheme
In a similar way as the traditional branching scheme for MILPs.
Main idea: We only branch on discrete variables with fractional values.
The branching object can be either a first- or second-level one.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 18 / 28
Linking Branching Scheme
Motivation: A node can be pruned after fixing the linking variables.
Main idea: We only consider branching on linking variables while any suchvariables remain unfixed.
Challenge: xtL ∈ ZL and xL is not fixed.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 19 / 28
Linking Solution Pool
For the vectors x1 and x2 ∈ X with x1L = x2
L, we have
φ(b2 − A2x1) = φ(b2 − A2x2) and Ξ(x1) = Ξ(x2).
Avoid the duplication of effort in evaluating the functions φ and Ξ
Track the seen sub-vectors of values for linking variables in a pool
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 20 / 28
Computational Results
The investigated parameters areBranching scheme
Feasibility check and computing best feasible solution
Linking solution pool
The employed test sets are (171 instances in total)IBLP-DEN [DeNegre, 2011]
IBLP-FIS [Fischetti et al., 2016a]
MIBLP-XU [Xu and Wang, 2014]
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 21 / 28
Branching Scheme
0
0.2
0.4
0.6
0.8
1
5 10 15 20 25 30 35
fractionalBranchingStrategylinkingBranchingStrategy
Figure: r1 ≤ r2
0
0.2
0.4
0.6
0.8
1
2 4 6 8 10 12 14 16 18 20
fractionalBranchingStrategylinkingBranchingStrategy
Figure: r1 > r2
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 22 / 28
Feasibility Check and Computing Best Feasible Solution
0
0.2
0.4
0.6
0.8
1
2 4 6 8 10 12
whenLInt-LIntwhenLInt-LFixed
whenLFixed-LFixedwhenXYInt-LFixed
whenXYIntOrLFixed-LFixed
Figure: IBLP-DEN and IBLP-FIS sets
0
0.2
0.4
0.6
0.8
1
1 2 3 4 5 6
whenLInt-LIntwhenLInt-LFixed
whenLFixed-LFixedwhenXYInt-LFixed
whenXYIntOrLFixed-LFixed
Figure: MIBLP-XU set
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 23 / 28
Linking Solution Pool
0
0.2
0.4
0.6
0.8
1
1 2 3 4 5 6 7 8 9 10
withoutPoolWhenXYInt-LFixedwithPoolWhenXYInt-LFixed
withoutPoolWhenXYIntOrLFixed-LFixedwithPoolWhenXYIntOrLFixed-LFixed
Figure: fractional branching strategy
0
0.2
0.4
0.6
0.8
1
2 4 6 8 10 12
withoutPoolWhenXYInt-LFixedwithPoolWhenXYInt-LFixed
withoutPoolWhenXYIntOrLFixed-LFixedwithPoolWhenXYIntOrLFixed-LFixed
Figure: linking branching strategy
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 24 / 28
Conclusions
A branch-and-cut algorithm for MIBLPsBounding
Pruning
Cutting
Branching
An open-source solver for MIBLPs
Generalizing the current algorithm to the stochastic MILPs
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 25 / 28
References I
Scott T DeNegre. Interdiction and Discrete Bilevel Linear Programming. Phd,Lehigh University, 2011. URL http://coral.ie.lehigh.edu/~ted/files/papers/ScottDeNegreDissertation11.pdf.
S.T. DeNegre and T.K. Ralphs. A branch-and-cut algorithm for bilevel integerprogramming. In Proceedings of the Eleventh INFORMS Computing SocietyMeeting, pages 65–78, 2009. doi: 10.1007/978-0-387-88843-9_4. URL http://coral.ie.lehigh.edu/~ted/files/papers/BILEVEL08.pdf.
Matteo Fischetti, Ivana Ljubic, Michele Monaci, and Markus Sinnl. Intersection cutsfor bilevel optimization. Technical report, 2016a.
Matteo Fischetti, Ivana Ljubic, Michele Monaci, and Markus Sinnl. A newgeneral-purpose algorithm for mixed-integer bilevel linear programs. Technicalreport, 2016b.
Pan Xu and Lizhi Wang. An exact algorithm for the bilevel mixed integer linearprogramming problem under three simplifying assumptions. Computers &operations research, 41:309–318, 2014.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 26 / 28
References II
Y. Xu, T.K. Ralphs, L. Ladányi, and M.J. Saltzman. Computational experience with asoftware framework for parallel integer programming. The INFORMS Journal onComputing, 21:383–397, 2009. doi: 10.1287/ijoc.1090.0347. URL http://coral.ie.lehigh.edu/~ted/files/papers/CHiPPS-Rev.pdf.
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 27 / 28
Thank [email protected]
Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 28 / 28