Exact General-Purpose Solvers for Mixed-Integer Bilevel Linear Programs
Tutorial
- I. Ljubi´
c
ESSEC Business School of Paris, France
JFRO 2018, March 26, Paris
Exact General-Purpose Solvers for Mixed-Integer Bilevel Linear - - PowerPoint PPT Presentation
Exact General-Purpose Solvers for Mixed-Integer Bilevel Linear Programs Tutorial I. Ljubi c ESSEC Business School of Paris, France JFRO 2018, March 26, Paris Based on the papers: Part I: M. Fischetti, I. Ljubi c, M. Monaci, M. Sinnl:
Tutorial
c
ESSEC Business School of Paris, France
JFRO 2018, March 26, Paris
Based on the papers:
c, M. Monaci, M. Sinnl: On the Use of Intersection Cuts for Bilevel Optimization, Mathematical Programming, to appear, 2018
c, M. Monaci, M. Sinnl: A new general-purpose algorithm for mixed-integer bilevel linear programs, Operations Research 65(6): 1615-1637, 2017
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 2
Bilevel Optimization
General bilevel optimization problem min
x∈Rn1,y∈Rn2F(x, y)
(1) G(x, y) ≤ 0 (2) y ∈ arg min
y ′∈Rn2{f (x, y ′) : g(x, y ′) ≤ 0 }
(3)
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 3
Bilevel Optimization
General bilevel optimization problem min
x∈Rn1,y∈Rn2F(x, y)
(1) G(x, y) ≤ 0 (2) y ∈ arg min
y ′∈Rn2{f (x, y ′) : g(x, y ′) ≤ 0 }
(3)
Leader
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 3
Bilevel Optimization
General bilevel optimization problem min
x∈Rn1,y∈Rn2F(x, y)
(1) G(x, y) ≤ 0 (2) y ∈ arg min
y ′∈Rn2{f (x, y ′) : g(x, y ′) ≤ 0 }
(3)
Leader Follower
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 3
Optimistic vs Pessimistic Solution
The Stackelberg game under:
strategy
◮ Optimistic Solution: among the follower’s solution, the one leading to the
best outcome for the leader is assumed
◮ Pessimistic Solution: among the follower’s solution, the one leading to the
worst outcome for the leader is assumed
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 4
Optimistic vs Pessimistic Solution
The Stackelberg game under:
strategy
◮ Optimistic Solution: among the follower’s solution, the one leading to the
best outcome for the leader is assumed
◮ Pessimistic Solution: among the follower’s solution, the one leading to the
worst outcome for the leader is assumed
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 4
Our Focus: Mixed-Integer Bilevel Linear Programs (MIBLP)
(MIBLP) min cT
x x + cT y y
(4) Gxx + Gyy ≤ 0 (5) y ∈ arg min{dTy : Ax + By ≤ 0, (6) yj integer, ∀j ∈ Jy} (7) xj integer, ∀j ∈ Jx (8) (x, y) ∈ Rn (9) where cx, cy, Gx, Gy, A, B are given rational matrices/vectors of appropriate size.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 5
Complexity Bilevel Linear Programs
Bilevel LPs are strongly NP-hard (Audet et al. [1997], Hansen et al. [1992]). min cTx Ax = b x ∈ {0, 1} ⇔ min cTx Ax = b v = 0 v ∈ arg max{w : w ≤ x, w ≤ 1 − x, w ≥ 0}
x w Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 6
Complexity Bilevel Mixed-Integer Linear Programs
MIBLP is ΣP
2 -hard (Lodi et al. [2014]): there is no way of formulating MIBLP as a
MILP of polynomial size unless the polynomial hierarchy collapses.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 7
Overview Part I
conditions)
Part II
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 8
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 9
Our Focus: Mixed-Integer Bilevel Linear Programs (MIBLP)
Value Function Reformulation: (MIBLP) min cT
x x + cT y y
(10) Gxx + Gyy ≤ 0 (11) Ax + By ≤ 0 (12) (x, y) ∈ Rn (13) dTy ≤ Φ(x) (14) xj integer, ∀j ∈ Jx (15) yj integer, ∀j ∈ Jy (16) where Φ(x) is non-convex, non-continuous: Φ(x) = min{dTy : Ax + By ≤ 0, yj integer, ∀j ∈ Jy}
we can use MILP solvers with all their tricks
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 10
Our Focus: Mixed-Integer Bilevel Linear Programs (MIBLP)
Value Function Reformulation: (HPR) min cT
x x + cT y y
(10) Gxx + Gyy ≤ 0 (11) Ax + By ≤ 0 (12) (x, y) ∈ Rn (13) (14) xj integer, ∀j ∈ Jx (15) yj integer, ∀j ∈ Jy (16)
I am a Mixed-Integer Linear Program (MILP)
where Φ(x) is non-convex, non-continuous: Φ(x) = min{dTy : Ax + By ≤ 0, yj integer, ∀j ∈ Jy}
we can use MILP solvers with all their tricks
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 10
Our Focus: Mixed-Integer Bilevel Linear Programs (MIBLP)
Value Function Reformulation: (HPR) min cT
x x + cT y y
(10) Gxx + Gyy ≤ 0 (11) Ax + By ≤ 0 (12) (x, y) ∈ Rn (13) (14) (15) (16) where Φ(x) is non-convex, non-continuous: Φ(x) = min{dTy : Ax + By ≤ 0, yj integer, ∀j ∈ Jy}
we can use MILP solvers with all their tricks
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 10
Example
min
x∈Z −x − 10y
y ∈ arg min
y ′∈Z{y ′ :
−25x + 20y ′ ≤ 30 x + 2y ′ ≤ 10 2x − y ′ ≤ 15 2x + 10y ′ ≥ 15} x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 11
Example
min
x,y∈Z −x − 10y
−25x + 20y ≥ 30 x + 2y ≤ 10 2x − y ≤ 15 2x + 10y ≥ 15 x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 11
Example
min
x,y∈Z −x − 10y
−25x + 20y ≥ 30 x + 2y ≤ 10 2x − y ≤ 15 2x + 10y ≥ 15 y ≤ Φ(x) x y 1 2 3 4 5 6 7 8 1 2 3 4 Φ(x)
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 11
General Idea General Procedure
There are some unexpected difficulties along the way...
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 12
(Un)expected Difficulties: Unattainable Solutions Example from K¨
Continuous variables in the leader, integer variables in the follower ⇒ optimal solution may be unattainable inf
x,y
x − y 0 ≤ x ≤ 1 y ∈ arg min
y ′ {y ′ : y ′ ≥ x, 0 ≤ y ′ ≤ 1, y ′ ∈ Z}.
Equivalent to inf
x {x − ⌈x⌉ : 0 ≤ x ≤ 1}
x y 1 1
Bilevel feasible set is neither convex nor closed. Crucial assumption for us: follower subproblem depends only on integer leader variables JF ⊆ Jx.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 13
(Un)expected Difficulties: Unattainable Solutions Example from K¨
Continuous variables in the leader, integer variables in the follower ⇒ optimal solution may be unattainable inf
x,y
x − y 0 ≤ x ≤ 1 y ∈ arg min
y ′ {y ′ : y ′ ≥ x, 0 ≤ y ′ ≤ 1, y ′ ∈ Z}.
Equivalent to inf
x {x − ⌈x⌉ : 0 ≤ x ≤ 1}
x y 1 1
Bilevel feasible set is neither convex nor closed. Crucial assumption for us: follower subproblem depends only on integer leader variables JF ⊆ Jx.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 13
(Un)expected Difficulties: Unbounded HPR-Relaxation Example from Xu and Wang [2014]
Unboundness of HPR-relaxation does not allow to draw conclusions on the
max
x,y
x + y 0 ≤ x ≤ 2 x ∈ Z y ∈ arg max
y ′ {d · y ′ : y ′ ≥ x, y ′ ∈ Z}.
max
x,y
x + y 0 ≤ x ≤ 2 y ≥ x x, y ∈ Z d = 1 ⇒ Φ(x) = ∞ (MIBLP infeasible) d = 0 ⇒ Φ(x) feasible for all y ∈ Z (MIBLP unbounded) d = −1 ⇒ x∗ = 2, y ∗ = 2 (optimal MIBLP solution)
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 14
(Un)expected Difficulties: Unbounded HPR-Relaxation Example from Xu and Wang [2014]
Unboundness of HPR-relaxation does not allow to draw conclusions on the
max
x,y
x + y 0 ≤ x ≤ 2 x ∈ Z y ∈ arg max
y ′ {d · y ′ : y ′ ≥ x, y ′ ∈ Z}.
max
x,y
x + y 0 ≤ x ≤ 2 y ≥ x x, y ∈ Z d = 1 ⇒ Φ(x) = ∞ (MIBLP infeasible) d = 0 ⇒ Φ(x) feasible for all y ∈ Z (MIBLP unbounded) d = −1 ⇒ x∗ = 2, y ∗ = 2 (optimal MIBLP solution)
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 14
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 15
Assumption
All the integer-constrained variables x and y have finite lower and upper bounds both in HPR and in the follower MILP.
Assumption
Continuous leader variables xj (if any) do not appear in the follower problem. If for all HPR solutions, the follower MILP is unbounded ⇒ MIBLP is infeasible. Preprocessing (solving a single LP) allows to check this. Hence:
Assumption
For an arbitrary HPR solution, the follower MILP is well defined.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 16
Algorithm 1: A basic branch-and-bound scheme for MIBLP
Apply a standard LP-based B&B to HPR, inhibit incumbent update, and node-fathoming due to unboundedness of HPR for each unfathomed B&B node where standard branching cannot be performed do if HPR is not unbounded then Let (x∗, y ∗) be the HPR solution at the current node; Compute Φ(x∗) by solving the follower MILP for x = x∗; if dTy ∗ ≤ Φ(x∗) then The current solution (x∗, y ∗) is bilevel feasible: update the incumbent, fathom the current node, and continue with another node end end if all variables xj with j ∈ JF are fixed by branching (x∗
F ) then
Refinement: Solve HPR with x = x∗
F , dTy ≤ Φ(x∗ F ). If unbounded return
UNBOUNDED; Possibly update the incumbent with the resulting solution (ˆ x, ˆ y), if any; Fathom the current node else Branch on any xj (j ∈ JF) not fixed by branching yet (even if x∗
j is integer
in the LP-solution at the node) end end
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 16
Our Goal: Design MILP-based solver for MIBLP
For the rest of presentation: Assume HPR value is bounded.
Our Goal
solve MIBLP by using a standard simplex-based branch-and-cut algorithm; enforce dTy ≤ Φ(x) on the fly, by adding cutting planes
◮ (x∗, y ∗) infeasible for HPR (i.e., fractional) → branch as usual ◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) ≤ Φ(x∗) → update the incumbent as
usual
◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) > Φ(x∗), i.e., bilevel-infeasible → we
need to do something!
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 17
Our Goal: Design MILP-based solver for MIBLP
For the rest of presentation: Assume HPR value is bounded.
Our Goal
solve MIBLP by using a standard simplex-based branch-and-cut algorithm; enforce dTy ≤ Φ(x) on the fly, by adding cutting planes
◮ (x∗, y ∗) infeasible for HPR (i.e., fractional) → branch as usual ◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) ≤ Φ(x∗) → update the incumbent as
usual
◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) > Φ(x∗), i.e., bilevel-infeasible → we
need to do something!
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 17
Our Goal: Design MILP-based solver for MIBLP
For the rest of presentation: Assume HPR value is bounded.
Our Goal
solve MIBLP by using a standard simplex-based branch-and-cut algorithm; enforce dTy ≤ Φ(x) on the fly, by adding cutting planes
◮ (x∗, y ∗) infeasible for HPR (i.e., fractional) → branch as usual ◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) ≤ Φ(x∗) → update the incumbent as
usual
◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) > Φ(x∗), i.e., bilevel-infeasible → we
need to do something!
◮ branching to cut-off bilevel infeasible solutions ◮ no y-variables in leader-constraints ◮ either all x-variables integer or all y-variables continuous Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 17
Our Goal: Design MILP-based solver for MIBLP
For the rest of presentation: Assume HPR value is bounded.
Our Goal
solve MIBLP by using a standard simplex-based branch-and-cut algorithm; enforce dTy ≤ Φ(x) on the fly, by adding cutting planes
◮ (x∗, y ∗) infeasible for HPR (i.e., fractional) → branch as usual ◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) ≤ Φ(x∗) → update the incumbent as
usual
◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) > Φ(x∗), i.e., bilevel-infeasible → we
need to do something!
◮ cuts based on slack ◮ needs all variables and coefficients to be integer ◮ open-source solver MibS Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 17
Our Goal: Design MILP-based solver for MIBLP
For the rest of presentation: Assume HPR value is bounded.
Our Goal
solve MIBLP by using a standard simplex-based branch-and-cut algorithm; enforce dTy ≤ Φ(x) on the fly, by adding cutting planes
◮ (x∗, y ∗) infeasible for HPR (i.e., fractional) → branch as usual ◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) ≤ Φ(x∗) → update the incumbent as
usual
◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) > Φ(x∗), i.e., bilevel-infeasible → we
need to do something!
◮ multiway branching to cut-off bilevel infeasible solutions ◮ all x-variables integer and bounded, follower coefficients of x-variables must be
integer
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 17
Our Goal: Design MILP-based solver for MIBLP
For the rest of presentation: Assume HPR value is bounded.
Our Goal
solve MIBLP by using a standard simplex-based branch-and-cut algorithm; enforce dTy ≤ Φ(x) on the fly, by adding cutting planes
◮ (x∗, y ∗) infeasible for HPR (i.e., fractional) → branch as usual ◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) ≤ Φ(x∗) → update the incumbent as
usual
◮ (x∗, y ∗) feasible for HPR and f (x∗, y ∗) > Φ(x∗), i.e., bilevel-infeasible → we
need to do something!
◮ Use Intersection Cuts (Balas [1971]) to cut off bilevel infeasible solutions Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 17
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 18
Intersection Cuts (ICs)
bilevel feasible points (X, Y ) by a linear cut
◮ a cone pointed at (x∗, y ∗) containing all (X, Y ) (if (x∗, y ∗) is a vertex of
HPR-relaxation, a possible cone comes from LP-basis)
◮ a convex set S with (x∗, y ∗) but no bilevel feasible points ((x, y) ∈ (X, Y )) in
its interior
◮ important: (x∗, y ∗) should not be on the frontier of S. Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 19
Intersection Cuts (ICs)
bilevel feasible points (X, Y ) by a linear cut
◮ a cone pointed at (x∗, y ∗) containing all (X, Y ) (if (x∗, y ∗) is a vertex of
HPR-relaxation, a possible cone comes from LP-basis)
◮ a convex set S with (x∗, y ∗) but no bilevel feasible points ((x, y) ∈ (X, Y )) in
its interior
◮ important: (x∗, y ∗) should not be on the frontier of S. Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 19
Intersection Cuts (ICs)
bilevel feasible points (X, Y ) by a linear cut
◮ a cone pointed at (x∗, y ∗) containing all (X, Y ) (if (x∗, y ∗) is a vertex of
HPR-relaxation, a possible cone comes from LP-basis)
◮ a convex set S with (x∗, y ∗) but no bilevel feasible points ((x, y) ∈ (X, Y )) in
its interior
◮ important: (x∗, y ∗) should not be on the frontier of S. Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 19
Intersection Cuts (ICs)
bilevel feasible points (X, Y ) by a linear cut
◮ a cone pointed at (x∗, y ∗) containing all (X, Y ) (if (x∗, y ∗) is a vertex of
HPR-relaxation, a possible cone comes from LP-basis)
◮ a convex set S with (x∗, y ∗) but no bilevel feasible points ((x, y) ∈ (X, Y )) in
its interior
◮ important: (x∗, y ∗) should not be on the frontier of S. Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 19
Intersection Cuts (ICs)
bilevel feasible points (X, Y ) by a linear cut IC
◮ a cone pointed at (x∗, y ∗) containing all (X, Y ) (if (x∗, y ∗) is a vertex of
HPR-relaxation, a possible cone comes from LP-basis)
◮ a convex set S with (x∗, y ∗) but no bilevel feasible points ((x, y) ∈ (X, Y )) in
its interior
◮ important: (x∗, y ∗) should not be on the frontier of S. Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 19
Intersection Cuts for Bilevel Optimization
Theorem
For any feasible solution of the follower ˆ y ∈ Rn2, the set S(ˆ y) = {(x, y) ∈ Rn : dTy > dT ˆ y, Ax + B ˆ y ≤ b} does not contain any bilevel-feasible point (not even on its frontier).
y) is a polyhedron
S → IC based on S(ˆ y) may not be able to cut off (x∗, y ∗)
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 20
Intersection Cuts for Bilevel Optimization
Theorem
For any feasible solution of the follower ˆ y ∈ Rn2, the set S(ˆ y) = {(x, y) ∈ Rn : dTy > dT ˆ y, Ax + B ˆ y ≤ b} does not contain any bilevel-feasible point (not even on its frontier).
y) is a polyhedron
S → IC based on S(ˆ y) may not be able to cut off (x∗, y ∗)
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 20
Intersection Cuts for Bilevel Optimization
Theorem
For any feasible solution of the follower ˆ y ∈ Rn2, the set S(ˆ y) = {(x, y) ∈ Rn : dTy > dT ˆ y, Ax + B ˆ y ≤ b} does not contain any bilevel-feasible point (not even on its frontier).
y) is a polyhedron
S → IC based on S(ˆ y) may not be able to cut off (x∗, y ∗)
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 20
Intersection Cuts for Bilevel Optimization Assumption
Ax + By − b is integer for all HPR solutions (x, y).
Theorem
Under the previous assumption, for any feasible solution of the follower ˆ y ∈ Rn2, the extended polyhedron S+(ˆ y) = {(x, y) ∈ Rn : dTy ≥ dT ˆ y, Ax + B ˆ y ≤ b + 1}, (17) where 1 = (1, · · · , 1) denote a vector of all ones of suitable size, does not contain any bilevel feasible point in its interior.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 21
Intersection Cuts for Bilevel Optimization Assumption
Ax + By − b is integer for all HPR solutions (x, y).
Theorem
Under the previous assumption, for any feasible solution of the follower ˆ y ∈ Rn2, the extended polyhedron S+(ˆ y) = {(x, y) ∈ Rn : dTy ≥ dT ˆ y, Ax + B ˆ y ≤ b + 1}, (17) where 1 = (1, · · · , 1) denote a vector of all ones of suitable size, does not contain any bilevel feasible point in its interior.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 21
Intersection Cuts for Bilevel Optimization
y = 2
y = 1 min
x∈Z −x − 10y
y ∈ arg min
y ′∈Z{y ′ :
−25x + 20y ′ ≤ 30 x + 2y ′ ≤ 10 2x − y ′ ≤ 15 2x + 10y ′ ≥ 15} x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 22
Intersection Cuts for Bilevel Optimization
y = 2
y = 1 min
x∈Z −x − 10y
y ∈ arg min
y ′∈Z{y ′ :
−25x + 20y ′ ≤ 30 x + 2y ′ ≤ 10 2x − y ′ ≤ 15 2x + 10y ′ ≥ 15} x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 22
Intersection Cuts for Bilevel Optimization
y = 2
y = 1 min
x∈Z −x − 10y
y ∈ arg min
y ′∈Z{y ′ :
−25x + 20y ′ ≤ 30 x + 2y ′ ≤ 10 2x − y ′ ≤ 15 2x + 10y ′ ≥ 15} x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 22
Intersection Cuts for Bilevel Optimization
y = 2
y = 1 min
x∈Z −x − 10y
y ∈ arg min
y ′∈Z{y ′ :
−25x + 20y ′ ≤ 30 x + 2y ′ ≤ 10 2x − y ′ ≤ 15 2x + 10y ′ ≥ 15} x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 22
Intersection Cuts for Bilevel Optimization
y = 2
y = 1 min
x∈Z −x − 10y
y ∈ arg min
y ′∈Z{y ′ :
−25x + 20y ′ ≤ 30 x + 2y ′ ≤ 10 2x − y ′ ≤ 15 2x + 10y ′ ≥ 15} x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 22
Intersection Cuts for Bilevel Optimization
y = 2
y = 1 min
x∈Z −x − 10y
y ∈ arg min
y ′∈Z{y ′ :
−25x + 20y ′ ≤ 30 x + 2y ′ ≤ 10 2x − y ′ ≤ 15 2x + 10y ′ ≥ 15} x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 22
Intersection Cuts for Bilevel Optimization
y = 2
y = 1 min
x∈Z −x − 10y
y ∈ arg min
y ′∈Z{y ′ :
−25x + 20y ′ ≤ 30 x + 2y ′ ≤ 10 2x − y ′ ≤ 15 2x + 10y ′ ≥ 15} x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 22
Intersection Cuts for Bilevel Optimization
y = 2
y = 1 min
x∈Z −x − 10y
y ∈ arg min
y ′∈Z{y ′ :
−25x + 20y ′ ≤ 30 x + 2y ′ ≤ 10 2x − y ′ ≤ 15 2x + 10y ′ ≥ 15} x y 1 2 3 4 5 6 7 8 1 2 3 4
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 22
Separating Intersection Cuts
S+(ˆ y)?
y of the follower subproblem for x = x∗
◮ needs to be solved in any case to check bilevel-feasibility of (x∗, y ∗)
SEP − 1 : ˆ y ∈ arg min{dTy Ax∗ + By ≤ b yj integer ∀j ∈ Jy} SEP-1 maximizes distance of (x∗, y ∗) to dTy ≥ dT ˆ y.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 23
Separating Intersection Cuts
S+(ˆ y)?
y of the follower subproblem for x = x∗
◮ needs to be solved in any case to check bilevel-feasibility of (x∗, y ∗)
SEP − 1 : ˆ y ∈ arg min{dTy Ax∗ + By ≤ b yj integer ∀j ∈ Jy} SEP-1 maximizes distance of (x∗, y ∗) to dTy ≥ dT ˆ y.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 23
Separating Intersection Cuts
S+(ˆ y)?
y of the follower subproblem for x = x∗
◮ needs to be solved in any case to check bilevel-feasibility of (x∗, y ∗)
SEP − 1 : ˆ y ∈ arg min{dTy Ax∗ + By ≤ b yj integer ∀j ∈ Jy} SEP-1 maximizes distance of (x∗, y ∗) to dTy ≥ dT ˆ y.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 23
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 24
Computational Results
C, CPLEX 12.6.3, Intel Xeon E3-1220V2 3.1 GHz, four threads
Table: Our testbed. Column #inst reports the total number of instances in the class, while column type indicates whether the instances are binary (B) or integer (I).
Class source # inst type Notes DENEGRE DeNegre [2011] 50 I randomly generated INTERDICTION DeNegre [2011] 125 B interdiction inst.s MIPLIB Fischetti et al. [2016] 57 B from MIPLIB 3.0
Table: Our tested settings. #cutsr/#cutso: maximum number of cuts added at root node/all other nodes
Name Sep. #cutsr #cutso SEP-1a SEP-1 20 20 SEP-1b SEP-1 20 BENCHMARK
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 25
Computational Results
C, CPLEX 12.6.3, Intel Xeon E3-1220V2 3.1 GHz, four threads
Table: Our testbed. Column #inst reports the total number of instances in the class, while column type indicates whether the instances are binary (B) or integer (I).
Class source # inst type Notes DENEGRE DeNegre [2011] 50 I randomly generated INTERDICTION DeNegre [2011] 125 B interdiction inst.s MIPLIB Fischetti et al. [2016] 57 B from MIPLIB 3.0
Table: Our tested settings. #cutsr/#cutso: maximum number of cuts added at root node/all other nodes
Name Sep. #cutsr #cutso SEP-1a SEP-1 20 20 SEP-1b SEP-1 20 BENCHMARK
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 25
Computational Results
C, CPLEX 12.6.3, Intel Xeon E3-1220V2 3.1 GHz, four threads
Table: Our testbed. Column #inst reports the total number of instances in the class, while column type indicates whether the instances are binary (B) or integer (I).
Class source # inst type Notes DENEGRE DeNegre [2011] 50 I randomly generated INTERDICTION DeNegre [2011] 125 B interdiction inst.s MIPLIB Fischetti et al. [2016] 57 B from MIPLIB 3.0
Table: Our tested settings. #cutsr/#cutso: maximum number of cuts added at root node/all other nodes
Name Sep. #cutsr #cutso SEP-1a SEP-1 20 20 SEP-1b SEP-1 20 BENCHMARK
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 25
Computational Results
Table: Summary of obtained results. We report the number of solved instances (#), the shifted geometric mean for computing time (t[s]) and for number of nodes (nodes), and the average gaps (g[%]).
MIPLIB (57 inst.s) INTERDICTION (125 inst.s) DENEGRE (50 inst.s) setting # t[s] nodes g[%] # t[s] nodes g[%] # t[s] nodes g[%] SEP-1a 20 599 9655.9 27.65 83 148 36769.3 33.06 42 40 574.0 4.61 SEP-1b 18 660 100475.8 27.85 64 245 240859.4 48.39 45 35 12452.1 3.89 BENCHMARK 15 954 234670.7 31.78 44 496 1310639.5 63.45 38 58 27918.5 9.20
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 26
Computational Results
Figure: Performance profile plot over all instances (classes DENEGRE, INTERDICTION and MIPLIB).
20 40 60 1 10 100 1000
No more than x times worse than best setting Percentage of instances
Setting
SEP−1b BENCHMARK
The leftmost point of the graph for a setting s shows the percentage of instances for which s is the fastest setting. The rightmost point shows the percentage of instances solved to optimality by s.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 27
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 28
MILP-based solver for MIBLP
Basic Solution Scheme
New features:
◮ New families of ICs; ◮ Separation of ICs. Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 29
Follower Preprocessing
ˆ y ∈ arg min{dTy Ax + By ≤ b l ≤ y ≤ u yj integer ∀j ∈ Jy}
Theorem
Let yj be a follower variable and let lj be its lower bound in the follower. If dj > 0 and Bj ≥ 0 then yj = lj in any optimal solution.
follower cost and does not reduce the associated feasible set.
require dj be strictly positive.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 30
Follower Preprocessing
ˆ y ∈ arg min{dTy Ax + By ≤ b l ≤ y ≤ u yj integer ∀j ∈ Jy}
Theorem
Let yj be a follower variable and let uj be its upper bound in the follower. If dj < 0 and Bj ≤ 0 then yj = uj in any optimal solution.
follower cost and does not reduce the associated feasible set.
require dj be strictly negative.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 30
Follower Upper-Bound (FUB) cuts Observation:
Let FUB be an upper bound for the value of the follower’s solution, independently
dTy ≤ FUB is a valid cut for HPR.
Tighter Bounds
Tighter FUB values could be obtained inside the B&B tree, but these cuts are
Overrestricting the Follower
By replacing original constraints Ax + By ≤ b by more restricting ones (independent on the choice of x), a FUB can be obtained.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 31
Follower Upper-Bound cuts Theorem
Let (x−, x+) denote the bounds for the x variables at the current B&B node. The following inequality dTy ≤ FUB(x−, x+) is locally valid for the current node, where FUB(x−, x+) := min{dTy
max{Aijx−
j , Aijx+ j } +
Bijyj ≤ bi, i = 1, . . . , m yj integer, ∀j ∈ Jy}.
node (all x’s are set to their worst value).
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 32
Follower Upper-Bound cuts Theorem
Let (x−, x+) denote the bounds for the x variables at the current B&B node. The following inequality dTy ≤ FUB(x−, x+) is locally valid for the current node, where FUB(x−, x+) := min{dTy
max{Aijx−
j , Aijx+ j } +
Bijyj ≤ bi, i = 1, . . . , m yj integer, ∀j ∈ Jy}.
node (all x’s are set to their worst value).
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 32
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 33
Intersection Cuts (ICs)
IC asks for the definition of a convex set S with x∗ but no bilevel-feasible x ∈ X in its interior.
Theorem (Fischetti et al. [2018])
Given ˆ y ∈ Rn
2 such that ˆ
yj integer ∀j ∈ Jy, the following set S+(ˆ y) = {(x, y) ∈ Rn : dTy ≥ dT ˆ y, Ax + B ˆ y ≤ b + 1} is bilevel-feasible free.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 34
Other Bilevel-Free Sets can be defined
Motivated by the results Xu [2012], Wang and Xu [2017]: Assumption: Ax + By − b is integer for all HPR solutions (x, y).
Theorem (Fischetti et al. [2017])
Given ∆ˆ y ∈ Rn
2 such that dT∆ˆ
y < 0 and ∆ˆ yj integer ∀j ∈ Jy, the following set X +(∆ˆ y) = {(x, y) ∈ Rn : Ax + By + B∆ˆ y ≤ b + 1} has no bilevel-feasible points in its interior. Proof: by contradiction. Assume (˜ x, ˜ y) ∈ X +(∆ˆ y) is bilevel-feasible. But then, dT ˜ y > dT(˜ y + ∆ˆ y) and (˜ x, ˜ y + ∆ˆ y) is feasible for the follower, hence contradiction.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 35
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 36
Separation of ICs associated to S+(ˆ y)
Given ˆ y ∈ Rn
2 such that ˆ
yj integer ∀j ∈ Jy, the following set S+(ˆ y) = {(x, y) ∈ Rn : dTy ≥ dT ˆ y, Ax + B ˆ y ≤ b + 1} is bilevel-feasible free. How to compute ˆ y?
ˆ y ∈ arg min
y∈Rn2{dTy : By ≤ b − Ax∗,
yj integer ∀j ∈ Jy}.
◮ ˆ
y is the optimal solution of the follower when x = x∗.
◮ Maximize the distance of (x∗, y ∗) from the facet dTy ≥ dT ˆ
y of S(ˆ y).
y such that some of the facets in Ax + bˆ y ≤ b can be removed (making thus S(ˆ y) larger!)
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 37
Separation of ICs associated to S+(ˆ y)
Given ˆ y ∈ Rn
2 such that ˆ
yj integer ∀j ∈ Jy, the following set S+(ˆ y) = {(x, y) ∈ Rn : dTy ≥ dT ˆ y, Ax + B ˆ y ≤ b + 1} is bilevel-feasible free. How to compute ˆ y?
ˆ y ∈ arg min
m
wi dTy ≤ dTy ∗ − 1 By + s = b si + (Lmax
i
− L∗
i ) wi ≥ Lmax i
, ∀i = 1, . . . , m yj integer, ∀j ∈ Jy s free , w ∈ {0, 1}m where L∗
i :=
Aijx∗
j
≤ Lmax
i
:=
max{Aijx−
j , Aijx+ j }.
◮ wi = 0 if i-th facet of Ax + B ˆ
y ≤ b can be removed
◮ the number of “removable facets” is maximized → larger S+(ˆ
y).
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 37
Separation of ICs associated to X +(∆ˆ y)
Given ∆ˆ y ∈ Rn
2 such that dT∆ˆ
y < 0 and ∆ˆ yj integer ∀j ∈ Jy, the following set X +(∆ˆ y) = {(x, y) ∈ Rn : Ax + By + B∆ˆ y ≤ b + 1} has no bilevel-feasible points in its interior. How to compute ∆ˆ y?
∆ˆ y ∈ arg min
˜ m
ti dT∆y ≤ −1 B∆y ≤ b − Ax∗ − By ∗ ∆yj integer, ∀j ∈ Jy B∆y ≤ t and t ≥ 0.
◮ variable ti has value 0 in case ( ˜
B∆y)i ≤ 0 (“removable facet”);
◮ “maximize the size” of the bilevel-feasible set associated with ∆ˆ
y.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 38
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 39
Settings
C, CPLEX 12.6.3, Intel Xeon E3-1220V2 3.1 GHz, four threads.
Class Source Type #Inst #OptB #Opt DENEGRE DeNegre [2011],Ralphs and Adams [2016] I 50 45 50 MIPLIB Fischetti et al. [2016] B 57 20 27 XUWANG Xu and Wang [2014] I,C 140 140 140 INTER-KP DeNegre [2011],Ralphs and Adams [2016] B 160 79 138 INTER-KP2 Tang et al. [2016] B 150 53 150 INTER-ASSIG DeNegre [2011],Ralphs and Adams [2016] B 25 25 25 INTER-RANDOM DeNegre [2011],Ralphs and Adams [2016] B 80
INTER-CLIQUE Tang et al. [2016] B 80 10 80 INTER-FIRE Baggio et al. [2016] B 72
total 814 372 762
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 40
Effects of FUB cuts
50 75 100 100 101 102 103
At least x times faster using FUB cuts #instances [%]
Setting
SEP2/SEP2+
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 41
Effects of follower preprocessing
50 75 100 100 101 102 103
At least x times faster when using preprocessing #instances [%]
Setting
SEP2+/SEP2++
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 42
Combining FUB cuts and follower preprocessing
when the time-limit of one hour is reached.
60 80 100 25 50 75 100
%gap #instances [%]
Setting
SEP2
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 43
Effects of different ICs
at each separation call).
could be solved to optimality by all three settings within the given time-limit
50 75 100 1 2 5 10
No more than x times worse than best configuration #instances [%]
Setting
XU++ MIX++
50 75 100 1 10 100 1000
No more than x times worse than best configuration #instances [%]
Setting
XU++ MIX++
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 44
Comparison with the literature (1)
MIX++ Xu and Wang [2014] n1 i = 1 i = 2 i = 3 i = 4 i = 5 i = 6 i = 7 i = 8 i = 9 i = 10 avg avg 10 3 3 3 3 2 3 2 3 2 3 2.6 1.4 60 2 1 1 1 1 1 2 2 0.9 45.6 110 2 1 2 2 1 2 1 2 2 12 2.8 111.9 160 2 2 3 2 3 1 4 1 1 3 2.1 177.9 210 2 3 1 1 3 3 3 2 5 3 2.6 1224.5 260 3 4 3 6 3 5 6 2 7 11 5.0 1006.7 310 5 10 11 14 7 16 15 8 5 3 9.4 4379.3 360 17 28 11 13 11 15 7 19 9 14 14.4 2972.4 410 19 10 29 8 21 10 9 15 23 42 18.7 4314.2 460 22 10 22 35 21 21 32 22 23 23 23.1 6581.4 B1-110 1 1 9 1.3 132.3 B1-160 1 1 3 1 2 1 3 2 1.3 184.4 B2-110 16 2 2 8 1 25 15 5 1 122 19.7 4379.8 B2-160 8 38 21 91 34 4 40 3 12 123 37.4 22999.7
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 45
Comparison with the literature (2)
MIX++ Tang et al. [2016] n1 k t[s] t[s] #unsol 20 5 5.4 721.4 20 10 1.7 2992.6 3 20 15 0.2 129.5 22 6 10.3 1281.2 6 22 11 2.3 3601.8 10 22 17 0.2 248.2 25 7 33.6 3601.4 10 25 13 8.0 3602.3 10 25 19 0.4 1174.6 28 7 97.9 3601.0 10 28 14 22.6 3602.5 10 28 21 0.5 3496.9 8 30 8 303.0 3601.0 10 30 15 31.8 3602.3 10 30 23 0.6 3604.5 10 MIX++ Tang et al. [2016] ν d t[s] t[s] #unsol 8 0.7 0.1 373.0 8 0.9 0.2 3600.0 10 10 0.7 0.3 3600.1 10 10 0.9 0.7 3600.2 10 12 0.7 0.8 3600.3 10 12 0.9 1.9 3600.4 10 15 0.7 2.2 3600.3 10 15 0.9 12.6 3600.2 10
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 46
Conclusions
◮ follower preprocessing; ◮ new locally-valid cuts; ◮ new separation procedures for ICs.
◮ both preprocessing and FUB cuts can have a large impact on branch-and-cut
performance;
◮ the new algorithm outperforms previous methods from the literature (including
unsolved instances from literature is now available.
Code is publicly available:
https://msinnl.github.io/pages/bilevel.html
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 47
Conclusions
◮ follower preprocessing; ◮ new locally-valid cuts; ◮ new separation procedures for ICs.
◮ both preprocessing and FUB cuts can have a large impact on branch-and-cut
performance;
◮ the new algorithm outperforms previous methods from the literature (including
unsolved instances from literature is now available.
Code is publicly available:
https://msinnl.github.io/pages/bilevel.html
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 47
Conclusions
◮ follower preprocessing; ◮ new locally-valid cuts; ◮ new separation procedures for ICs.
◮ both preprocessing and FUB cuts can have a large impact on branch-and-cut
performance;
◮ the new algorithm outperforms previous methods from the literature (including
unsolved instances from literature is now available.
Code is publicly available:
https://msinnl.github.io/pages/bilevel.html
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 47
Conclusions
◮ follower preprocessing; ◮ new locally-valid cuts; ◮ new separation procedures for ICs.
◮ both preprocessing and FUB cuts can have a large impact on branch-and-cut
performance;
◮ the new algorithm outperforms previous methods from the literature (including
unsolved instances from literature is now available.
Code is publicly available:
https://msinnl.github.io/pages/bilevel.html
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 47
Literature I
mixed 0–1 programming problems. Journal of Optimization Theory and Applications, 93(2):273–300, 1997.
the critical node problem. Working paper. ´ Ecole Polytechnique de Montreal, 2016.
Operations Research, 19(1):19–39, 1971.
thesis, Lehigh University, 2011.
c, M. Monaci, and M. Sinnl. A new general-purpose algorithm for mixed-integer bilevel linear programs. Operations Research, 65 (60):1615–1637, 2017.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 48
Literature II
c, M. Monaci, and M. Sinnl. On the use of intersection cuts for bilevel optimization. Mathematical Programming, 2018. doi: 10.1007/s10107-017-1189-5.
bilevel programming. SIAM Journal on Scientific and Statistical Computing, 13(5):1194–1217, 1992.
algorithm for bilevel mixed integer programs. Journal of Optimization Theory and Applications, 146(1):137–150, 2010.
separation problem. Math. Program., 146(1-2):437–458, 2014.
Operations Research, 38(5):911–921, 1990.
http://coral.ise.lehigh.edu/data-sets/bilevel-instances/.
bilevel min–max optimization. Journal of Global Optimization, 66(2): 225–262, 2016.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 49
Literature III
programming problem. SIAM Journal on Optimization, 27(3):1403–1430, 2017.
PhD thesis, Iowa State University, 2012.
programming problem under three simplifying assumptions. Computers & Operations Research, 41:309–318, 2014.
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 50
Hypercube Intersection Cuts
NOT integer.
Theorem
Assume JF := {j ∈ Nx : Aj = 0} ⊆ Jx and let (ˆ x, ˆ y) an optimal bilevel-feasible solution with ˆ xj = x∗
j ∀j ∈ JF (if any). Then the following hypercube
HC +(x∗) = {(x, y) ∈ Rn : x∗
j − 1 ≤ xj ≤ x∗ j + 1, ∀j ∈ JF}
does not contain any bilevel-feasible solution (or any bilevel-feasible solution strictly better than (ˆ x, ˆ y), if the latter is defined) in its interior.
with xj = ˆ xj = x∗
j
∀j ∈ JF
Ivana Ljubi´ c (ESSEC) Exact General-Purpose Solvers for MIBLPs JFRO 2018, March 26, Paris 51