fathoming rules for biobjective mixed integer optimization
play

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


  1. 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 University, SC, USA

  2. Biobjective MILP Find the Pareto set of min y 1 = c ⊤ 1 x min y 2 = c ⊤ 2 x x ∈ X ∩ ( Z p × R n − p ) s.t. X = { x ∈ R n : A x ≤ b } , bounded

  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 2 x ) � ( c ⊤ ( c ⊤ 1 x , c ⊤ 1 ˆ x , c ⊤ 2 ˆ x ) . A point is just the image of a solution in the objective space, R 2 .

  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 + R 2 + contains ( c ⊤ 1 x , c ⊤ 2 x ) for all solutions x of X .

  5. Pareto set of a biobjective linear problem min { ( c ⊤ 1 x , c ⊤ 2 x ) : A x ≤ b } y 2 Y is a union of segments. The set Y + R 2 + is convex. y 1 The same happens for MILPs if at least one objective has zero coefficients in the continuous variables.

  6. Pareto set of a biobjective pure integer problem 2 x ) : A x ≤ b , x ∈ Z n } min { ( c ⊤ 1 x , c ⊤ y 2 Y is finite. The set Y + R 2 + is nonconvex. y 1 The same happens for MILPs if at least one objective has zero coefficients in the continuous variables.

  7. Biobjective MILPs and extreme points y 2 ≡ x 2 min x 1 min x 2 s.t. 3 x 1 + 2 x 2 ≥ 6 x 1 , x 2 ≥ 0 y 1 ≡ x 1 (1 , 2) is a Pareto point but not an extreme point of conv( X ∩ ( Z p × R n − p ))

  8. Pareto set of a biobjective mixed integer problem ◮ Consider ¯ X = proj Z p ( X ), finite since X is bounded x ∈ ¯ ⇒ We get a Pareto set Y ¯ x by fixing x 1: p = ¯ X ◮ The Pareto set Y is a subset of the union of all Y ¯ x ’s � Y ⊆ Y ¯ x x ∈ ¯ ¯ X (just eliminate its dominated points)

  9. Example: ¯ X = { ¯ x 1 , ¯ x 2 , ¯ x 3 } y 2 Y ¯ x 1 Y ¯ x 2 Y ¯ x 3 y 1

  10. Example: ¯ X = { ¯ x 1 , ¯ x 2 , ¯ x 3 } y 2 Y y 1

  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 milp s (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)

  12. Branch-and-bound algorithms for bo-milp s 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 Y k is dominated by the Pareto set Y of the original problem. However, at node k we know neither Y k nor Y .

  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 Y k : ◮ Consider the Pareto set Y lp of the LP relaxation at node k k Then we fathom k if each point y of Y lp is dominated by at k least one point of Y cutoff .

  14. In short y 2 ◦ are local nadir points Y cutoff [ 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 ′′ ] Y lp k can be separated from Y lp k y 1

  15. Biobjective MILP at node k BB subproblem at node k : min y 1 = c ⊤ 1 x min y 2 = c ⊤ 2 x s.t. A k x ≤ b k x ∈ Z p × R n − p A k and b k comprise branching rules, cuts, reduced bounds, etc. k = { x ∈ R n : A k x ≤ b k } . Relaxation’s feasible set at k : X lp

  16. Fathoming model (nadir points only) Can separate nadir point ˇ y if ∃ λ ∈ [0 , 1] such that λ ˇ y 1 + (1 − λ )ˇ y 2 ≤ λ c ⊤ 1 x + (1 − λ ) c ⊤ ∀ x ∈ X lp 2 x k that is, λ ˇ y 1 + (1 − λ )ˇ ≤ min { λ c ⊤ 1 x + (1 − λ ) c ⊤ 2 x : x ∈ X lp k } y 2 = min { λ c ⊤ 1 x + (1 − λ ) c ⊤ 2 x : A k x ≤ b k } = max { b ⊤ k w : A ⊤ k w = λ c 1 + (1 − λ ) c 2 , w ≤ 0 }

  17. Fathoming model (nadir points only), cont’d Hence, if we find w , λ such that λ ˇ y 1 + (1 − λ )ˇ y 2 ≤ b ⊤ k w A ⊤ k w = λ c 1 + (1 − λ ) c 2 w ≤ 0 λ ∈ [0 , 1] k + R 2 we can separate ˇ y from X lp +

  18. Separation of local nadir point ˇ y max b ⊤ k w − λ ˇ y 1 − (1 − λ )ˇ y 2 s.t. A ⊤ k w = λ c 1 + (1 − λ ) c 2 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

  19. Separation of local nadir segment [ y ′ , y ′′ ] y ′ y ′ max b ⊤ k w − λ ˇ 1 − (1 − λ )ˇ 2 y ′′ y ′′ s.t. b ⊤ k w − λ ˇ 1 − (1 − λ )ˇ 2 ≥ 0 A ⊤ k w = λ c 1 + (1 − λ ) c 2 w ≤ 0 λ ∈ [0 , 1] If an optimal solution ( λ ⋆ , w ⋆ ) satisfies λ ⋆ ˇ y ′ 1 + (1 − λ ⋆ )ˇ y ′ k w ⋆ 2 ≤ b ⊤ λ ⋆ ˇ y ′′ 1 + (1 − λ ⋆ )ˇ y ′′ k w ⋆ 2 ≤ b ⊤ (i.e., it’s feasible and has a non-negative objective), proceed to the next nadir point/segment. If infeasible or has a negative objective, the node cannot be fathomed.

  20. Old tests R var con 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 0.54 70.0 21.0 5.4 46.2 20 20 10 0 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 0 2.38 164.4 38.2 30.0 97.0 40 40 20 0 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 0 14.38 638.4 171.0 89.8 338.2 60 60 30 0 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 0 37.58 1026.8 203.6 165.6 538.2 80 80 40 0 40 53.12 1414.8 279.4 219.2 738.4

  21. Speeding up fathoming: preliminaries Fathoming LP: − ˇ y 2 + max b ⊤ k w + (ˇ y 2 − ˇ y 1 ) λ s.t. A ⊤ k w + ( c 2 − c 1 ) λ = c 2 ( x ) ≤ 1 ( µ ) λ w ≤ 0 , λ ≥ 0 . Its dual is somewhat familiar: − ˇ y 2 + min c ⊤ 2 x + µ s.t. A k x ≤ b k ( c 2 − c 1 ) ⊤ x + µ ≥ (ˇ y 2 − ˇ y 1 ) µ ≥ 0 It’s the original node problem amended with one variable and one constraint (only slightly more involved for segments).

  22. Duals of fathoming LPs Local nadir point ˇ y : c ⊤ min µ,η, x 2 x + ˇ y 2 η + µ s.t. A k x ≤ b k η = − 1 ( c 2 − c 1 ) ⊤ x + (ˇ y 2 − ˇ y 1 ) η + µ ≥ 0 η ≤ 0 , µ ≥ 0 2 η ′ + ˇ 2 η ′′ + µ c ⊤ y ′ y ′′ min µ,η ′ ,η ′′ , x 2 x + ˇ s.t. A k x ≤ b k η ′ + η ′′ = − 1 1 ) η ′ + (ˇ 1 ) η ′′ + µ ≥ 0 ( c 2 − c 1 ) ⊤ x + (ˇ y ′ y ′ y ′′ y ′′ 2 − ˇ 2 − ˇ η ′ , η ′′ ≤ 0 , µ ≥ 0 Recall: these LPs must yield nonnegative objective at optimum

  23. Speedup #1: sufficient conditions for non -fathomability Problem : given a solution x ⋆ of the node LP and a segment 1 [ y ′ , y ′′ ], find η ′ , η ′′ , µ ∈ R 2 − × R + such that 2 x ⋆ + ˇ 2 η ′ + ˇ 2 η ′′ + µ < 0 c ⊤ y ′ y ′′ (*) η ′ + η ′′ = − 1 (**) ( c 2 − c 1 ) ⊤ x ⋆ + (ˇ 1 ) η ′ + (ˇ 1 ) η ′′ + µ ≥ 0 y ′ y ′ y ′′ y ′′ (***) 2 − ˇ 2 − ˇ ∃ two or three extreme points of (**,***) depending on d ′ = (ˇ 1 ), d ′′ = (ˇ y ′ y ′ y ′′ y ′′ 1 ), α = ( c 2 − c 1 ) ⊤ x ⋆ : 2 − ˇ 2 − ˇ Extreme points ( µ, η ′ , η ′′ ) Case 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 1 The case for local nadir points is trivial

  24. Speedup #2: ignoring a point/segment Local nadir point ˇ y : b ⊤ max λ, w ,z k w − z s.t. z + (ˇ y 2 − ˇ y 1 ) λ ≤ ˇ y 2 A ⊤ k w + ( c 2 − c 1 ) λ = c 2 λ ∈ [0 , 1] , w ≤ 0 y ′ , ˇ y ′′ ]: Local nadir set [ˇ b ⊤ max λ, w ,z k w − z y ′ y ′ y ′ s.t. z + (ˇ 2 − ˇ 1 ) λ ≤ ˇ 2 y ′′ y ′′ y ′′ z + (ˇ 2 − ˇ 1 ) λ ≤ ˇ 2 A ⊤ k w + ( c 2 − c 1 ) λ = c 2 λ ∈ [0 , 1] , w ≤ 0 .

Recommend


More recommend