A Branch-and-Cut Algorithm for Mixed Integer Bilevel...

28
A Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization Problems and Its Implementation Sahar Tahernejad 1 Joint work with Ted Ralphs 1 , Scott T. DeNegre 2 1 COR@L Lab, Department of Industrial and Systems Engineering, Lehigh University 2 Hospital 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

Transcript of A Branch-and-Cut Algorithm for Mixed Integer Bilevel...

Page 1: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 2: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 3: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 4: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 5: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 6: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 7: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 8: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 9: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 10: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 11: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 12: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 13: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 14: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 15: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 16: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 17: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 18: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 19: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 20: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 21: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 22: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 23: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 24: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 25: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 26: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 27: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

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

Page 28: A Branch-and-Cut Algorithm for Mixed Integer Bilevel ...coral.ise.lehigh.edu/~ted/files/talks/BILEVEL-INFORMS17.pdfA Branch-and-Cut Algorithm for Mixed Integer Bilevel Linear Optimization

Thank [email protected]

Tahernejad, et al. (COR@L Lab) A Branch-and-Cut Algorithm for MIBLPs 28 / 28