SLIDE 1
Fathoming rules for biobjective mixed integer optimization Pietro - - PowerPoint PPT Presentation
Fathoming rules for biobjective mixed integer optimization Pietro - - PowerPoint PPT Presentation
Fathoming rules for biobjective mixed integer optimization Pietro Belotti Xpress Optimizer, Fair Isaac Aussois CO workshop, January 7, 2016 Joint work with: Banu Soylu , Erciyes University, Kayseri, Turkey Margaret M. Wiecek , Clemson
SLIDE 2
SLIDE 3
Non-dominated solutions and Pareto points
Def.: A solution ˆ x is non-dominated and ˆ y = (c⊤
1 ˆ
x, c⊤
2 ˆ
x) is a Pareto point of the problem if ∄x feasible such that (c⊤
1 x, c⊤ 2 x) (c⊤ 1 ˆ
x, c⊤
2 ˆ
x). A point is just the image of a solution in the objective space, R2.
SLIDE 4
What we aim for
In single-objective optimization, we care for both
◮ the objective function value z of an optimal solution; ◮ an optimal solution x such that z = c⊤x.
In biobjective optimization, we seek
◮ the Pareto set Y , i.e., the set of all Pareto points; ◮ for each y ∈ Y , one (non-dominated) solution x such that
y = (c⊤
1 x, c⊤ 2 x).
Note: Y + R2
+ contains (c⊤ 1 x, c⊤ 2 x) for all solutions x of X.
SLIDE 5
Pareto set of a biobjective linear problem
min{(c⊤
1 x, c⊤ 2 x) : Ax ≤ b}
Y is a union of segments. The set Y + R2
+ is convex.
y1 y2 The same happens for MILPs if at least one objective has zero coefficients in the continuous variables.
SLIDE 6
Pareto set of a biobjective pure integer problem
min{(c⊤
1 x, c⊤ 2 x) : Ax ≤ b, x ∈ Zn}
Y is finite. The set Y + R2
+ is nonconvex.
y1 y2 The same happens for MILPs if at least one objective has zero coefficients in the continuous variables.
SLIDE 7
Biobjective MILPs and extreme points
min x1 min x2 s.t. 3x1 + 2x2 ≥ 6 x1, x2 ≥ 0 y1 ≡ x1 y2 ≡ x2 (1, 2) is a Pareto point but not an extreme point of conv(X ∩ (Zp × Rn−p))
SLIDE 8
Pareto set of a biobjective mixed integer problem
◮ Consider ¯
X = projZp(X), finite since X is bounded ⇒ We get a Pareto set Y¯
x by fixing x1:p = ¯
x ∈ ¯ X
◮ The Pareto set Y is a subset of the union of all Y¯ x’s
Y ⊆
- ¯
x∈ ¯ X
Y¯
x
(just eliminate its dominated points)
SLIDE 9
Example: ¯ X = {¯ x1, ¯ x2, ¯ x3}
y1 y2 Y¯
x1
Y¯
x2
Y¯
x3
SLIDE 10
Example: ¯ X = {¯ x1, ¯ x2, ¯ x3}
y1 y2 Y
SLIDE 11
Previous work
◮ Fathoming rules: Mavrotas & Diakoulakis ’98; Ehrgott &
Gandibleux ’08, Delort & Spanjaard ’10
◮ TSP: BB where every node is a polynomially solvable
bo-ilp (Jozefoviez, Laporte, Semet ’11)
◮ bo-milp with one pure integer objective function: Costa,
Captivo, Climaco ’08; Stidsen, Andersen, Dammann ’12; Prins, Prodhon, Wolfler Calvo ’06
◮ Partitioning the objective space and solving multiple milps
(Savelsbergh, Boland, Chakhgard ’13)
◮ Biobjective minlp (D’Ambrosio and Cacchiani ’14) ◮ PolySCIP (by Timo Strunk, ZIB) solves single-obj.
problems where obj = weighted sum of all objectives (finds extremal supported non-dominated solutions)
SLIDE 12
Branch-and-bound algorithms for bo-milps
Main idea: one run of the branch-and-bound.
◮ BB methods for milp are sophisticated and flexible ◮ BB is a tree search with rules to drop entire subtrees
Fathoming rule: return true when BB subproblem contains no Pareto points, and can be dropped. Typical in MILP: “lower bound[k] >= cutoff” Rule 1: Fathom if LP relaxation infeasible; Rule 2: Fathom if its Pareto set Yk is dominated by the Pareto set Y of the original problem. However, at node k we know neither Yk nor Y .
SLIDE 13
Fathoming rules
Instead of Y :
◮ take a set Y cutoff of feasible solutions that are not
dominated by others encountered so far
◮ Y cutoff can be updated by adding any integer feasible x
Instead of Yk:
◮ Consider the Pareto set Y lp k
- f the LP relaxation at node k
Then we fathom k if each point y of Y lp
k
is dominated by at least one point of Y cutoff.
SLIDE 14
In short
y1 y2 Y cutoff Y lp
k
- are local nadir points
[y′, y′′] are local nadir sets We can fathom a BB node if
◮ all local nadir points y and ◮ all local nadir sets [y′, y′′]
can be separated from Y lp
k
SLIDE 15
Biobjective MILP at node k
BB subproblem at node k: min y1 = c⊤
1 x
min y2 = c⊤
2 x
s.t. Akx ≤ bk x ∈ Zp × Rn−p Ak and bk comprise branching rules, cuts, reduced bounds, etc. Relaxation’s feasible set at k: Xlp
k = {x ∈ Rn : Akx ≤ bk}.
SLIDE 16
Fathoming model (nadir points only)
Can separate nadir point ˇ y if ∃λ ∈ [0, 1] such that λˇ y1 + (1 − λ)ˇ y2 ≤ λc⊤
1 x + (1 − λ)c⊤ 2 x
∀ x ∈ Xlp
k
that is, λˇ y1 + (1 − λ)ˇ y2 ≤ min{λc⊤
1 x + (1 − λ)c⊤ 2 x : x ∈ Xlp k }
= min{λc⊤
1 x + (1 − λ)c⊤ 2 x : Akx ≤ bk}
= max{b⊤
k w : A⊤ k w = λc1 + (1 − λ)c2, w ≤ 0}
SLIDE 17
Fathoming model (nadir points only), cont’d
Hence, if we find w, λ such that λˇ y1 + (1 − λ)ˇ y2 ≤ b⊤
k w
A⊤
k w = λc1 + (1 − λ)c2
w ≤ 0 λ ∈ [0, 1] we can separate ˇ y from Xlp
k + R2 +
SLIDE 18
Separation of local nadir point ˇ y
max b⊤
k w − λˇ
y1 − (1 − λ)ˇ y2 s.t. A⊤
k w = λc1 + (1 − λ)c2
w ≤ 0 λ ∈ [0, 1] If optimal solution has negative objective function, we cannot fathom k. Otherwise, check the next nadir point.
- ..
⌢
must solve an LP for every nadir point ˇ y
◮ For segments, we need an extra constraint
SLIDE 19
Separation of local nadir segment [y′, y′′]
max b⊤
k w − λˇ
y′
1 − (1 − λ)ˇ
y′
2
s.t. b⊤
k w − λˇ
y′′
1 − (1 − λ)ˇ
y′′
2 ≥ 0
A⊤
k w = λc1 + (1 − λ)c2
w ≤ 0 λ ∈ [0, 1] If an optimal solution (λ⋆, w⋆) satisfies λ⋆ˇ y′
1 + (1 − λ⋆)ˇ
y′
2 ≤ b⊤ k w⋆
λ⋆ˇ y′′
1 + (1 − λ⋆)ˇ
y′′
2 ≤ b⊤ k w⋆
(i.e., it’s feasible and has a non-negative objective), proceed to the next nadir point/segment. If infeasible or has a negative
- bjective, the node cannot be fathomed.
SLIDE 20
Old tests
var con R 0-1 int cpu(s) nodes infeas fathom PSA 20 20 10 5 5 0.62 78.0 22.0 6.0 52.8 20 20 10 10 0.54 70.0 21.0 5.4 46.2 20 20 10 10 0.56 66.0 21.4 5.6 41.4 40 40 20 10 10 3.32 238.0 67.6 34.6 136.8 40 40 20 20 2.38 164.4 38.2 30.0 97.0 40 40 20 20 4.00 281.6 61.6 55.0 162.2 60 60 30 15 15 10.86 458.4 108.4 74.6 251.2 60 60 30 30 14.38 638.4 171.0 89.8 338.2 60 60 30 30 15.90 738.8 212.4 70.4 392.8 80 80 40 20 20 22.34 616.8 156.0 71.2 328.4 80 80 40 40 37.58 1026.8 203.6 165.6 538.2 80 80 40 40 53.12 1414.8 279.4 219.2 738.4
SLIDE 21
Speeding up fathoming: preliminaries
Fathoming LP: −ˇ y2 + max b⊤
k w + (ˇ
y2 − ˇ y1)λ s.t. A⊤
k w + (c2 − c1)λ
= c2 (x) λ ≤ 1 (µ) w ≤ 0, λ ≥ 0. Its dual is somewhat familiar: −ˇ y2 + min c⊤
2 x + µ
s.t. Akx ≤ bk (c2 − c1)⊤x + µ ≥ (ˇ y2 − ˇ y1) µ ≥ 0 It’s the original node problem amended with one variable and
- ne constraint (only slightly more involved for segments).
SLIDE 22
Duals of fathoming LPs
Local nadir point ˇ y: minµ,η,x c⊤
2 x + ˇ
y2η + µ s.t. Akx ≤ bk η = −1 (c2 − c1)⊤x + (ˇ y2 − ˇ y1)η + µ ≥ 0 η ≤ 0, µ ≥ 0 minµ,η′,η′′,x c⊤
2 x + ˇ
y′
2η′ + ˇ
y′′
2η′′ + µ
s.t. Akx ≤ bk η′ + η′′ = −1 (c2 − c1)⊤x + (ˇ y′
2 − ˇ
y′
1)η′ + (ˇ
y′′
2 − ˇ
y′′
1)η′′ + µ ≥ 0
η′, η′′ ≤ 0, µ ≥ 0 Recall: these LPs must yield nonnegative objective at optimum
SLIDE 23
Speedup #1: sufficient conditions for non-fathomability
Problem: given a solution x⋆ of the node LP and a segment1 [y′, y′′], find η′, η′′, µ ∈ R2
− × R+ such that
(*) c⊤
2 x⋆ + ˇ
y′
2η′ + ˇ
y′′
2η′′ + µ < 0
(**) η′ + η′′ = −1 (***) (c2 − c1)⊤x⋆ + (ˇ y′
2 − ˇ
y′
1)η′ + (ˇ
y′′
2 − ˇ
y′′
1)η′′ + µ ≥ 0
∃ two or three extreme points of (**,***) depending on d′ = (ˇ y′
2 − ˇ
y′
1), d′′ = (ˇ
y′′
2 − ˇ
y′′
1), α = (c2 − c1)⊤x⋆:
Case Extreme points (µ, η′, η′′) d′ > α, d′′ < α (α − d′′, 0, −1), (0, d′′−α
d′−d′′ , − d′−α d′−d′′ ), (0, −1, 0)
d′ < α, d′′ > α (α − d′, −1, 0), (0, d′′−α
d′−d′′ , − d′−α d′−d′′ ), (0, 0, −1)
d′ ≥ α, d′′ ≥ α (0, 0, −1), (0, −1, 0) d′ ≤ α, d′′ ≤ α (α − d′, −1, 0) (α − d′′, 0, −1) Compute extreme points; if (*) holds for any of them, node can’t be fathomed
1The case for local nadir points is trivial
SLIDE 24
Speedup #2: ignoring a point/segment
Local nadir point ˇ y: maxλ,w,z b⊤
k w − z
s.t. z + (ˇ y2 − ˇ y1)λ ≤ ˇ y2 A⊤
k w + (c2 − c1)λ = c2
λ ∈ [0, 1], w ≤ 0 Local nadir set [ˇ y′, ˇ y′′]: maxλ,w,z b⊤
k w − z
s.t. z + (ˇ y′
2 − ˇ
y′
1)λ ≤ ˇ
y′
2
z + (ˇ y′′
2 − ˇ
y′′
1)λ ≤ ˇ
y′′
2
A⊤
k w + (c2 − c1)λ = c2
λ ∈ [0, 1], w ≤ 0.
SLIDE 25
Speedup #2: ignoring a local nadir point2 ˇ y
- Problem. Given a dual optimal solution w⋆ of a BB node k,
find λ⋆ s.t. the fathoming LP admits a nonnegative objective. Define g = c2 − c1, s = A⊤
k w⋆ − c2, and N = {1, 2, . . . , n}.
- Lemma. λ⋆ exists if and only if:
(C1) si ≥ 0 for all i ∈ N such that gi = 0; (C2) max{ˇ y1, ˇ y2} ≥ b⊤
k w⋆;
(C3) max{λL, λ′
L} ≤ min{λU, λ′ U}, where λL = − mini∈N:gi>0 si gi ,
λU = − maxi∈N:gi<0 si
gi , and
λ′
L =
- if ˇ
y2 ≥ b⊤
k w⋆ b⊤
k w⋆−ˇ
y2 ˇ y1−ˇ y2
- therwise
λ′
U =
- 1
if ˇ y1 ≥ b⊤
k w⋆ b⊤
k w⋆−ˇ
y2 ˇ y1−ˇ y2
- therwise.
If these conditions are satisfied, skip this local nadir point.
2Case for local nadir segment [ˇ
y′, ˇ y′′] slightly more complicated
SLIDE 26
References
◮ B., Soylu, Wiecek, “A branch-and-bound algorithm for
biobjective mixed-integer programs”,
- ptimization-online.org/DB_HTML/2013/01/3719.html (a bit
- utdated)