calcul de bornes dans localsolver 9 5
play

Calcul de bornes dans LocalSolver 9.5 Nikolas Stott - PowerPoint PPT Presentation

Calcul de bornes dans LocalSolver 9.5 Nikolas Stott nstott@localsolver.com www.localsolver.com ROADEF 2020 Montpellier LocalSolvers philosophy The Swiss Army Knife of Global optimization solver mathematical optimization For


  1. Calcul de bornes dans LocalSolver 9.5 Nikolas Stott nstott@localsolver.com www.localsolver.com ROADEF 2020 Montpellier

  2. LocalSolver’s philosophy The « Swiss Army Knife » of Global optimization solver mathematical optimization For combinatorial, numerical, or mixed-variable optimization Suited for tackling large-scale problems Quality solutions in minutes without tuning www.localsolver.com 2 32

  3. LocalSolver’s modeling bricks Variable types: Operator types: ➢ Bool, int, float ➢ +, - , x, /, sqrt, pow, abs, if… ➢ Set, list ➢ partition, contains, at, indexOf … Multi-objective modeling: min( 𝑔 1 𝑦 , 𝑔 2 𝑦, 𝑧 ) 𝑕 1 𝑦 = 0 𝑕 2 𝑦, 𝑧 = 0 ➢ Lexicographic ordering ➢ Enables “soft constraints” 3 32

  4. Multi-objective modeling Sometimes, real-world data clashes with constraints satisfaction… Soft constraints with objective-lifting : Min f(x) Min violation( g(x) <= 0 ) s.t. g(x) <= 0 Min f(x) h(x) = 0 s.t. h(x) = 0 4 32

  5. LocalSolver 9.0 vs LocalSolver 9.5 Industrial scheduling and routing problem. ➢ 6 objectives and 27 constraints ➢ 105 integers in [0, 5000] ➢ Time limit: 60s LocalSolver 9.0 : LocalSolver 9.5 : LocalSolver now proves global optimality. 5 32

  6. Architecture of LocalSolver LocalSolver Global preprocessing and scheduler Solutions Solutions Bounds MINLP solver: Primal heuristics: Historic core Lower bounds ➢ ➢ Local search techniques Finds solutions when hard ➢ ➢ for pure primal heuristics Extremely scalable ➢ 6 32

  7. Lower bounds in LocalSolver 9.5 • What was already there: CP and presolve • MINLP sub-solver • Solving multi-objective problems to OPT • Dealing with collection variables 7 32

  8. Lower bounds from preprocessing Preprocessing yields globally valid bounds 8 32

  9. Architecture : Directed Acyclic Graph 9 32

  10. Bounds during preprocessing [𝑚, 𝑣] Op Deduce bounds of a node from its children x1 x2 [𝑚 1 , 𝑣 1 ] [𝑚 2 , 𝑣 2 ] If Op = “+”, then 𝑚, 𝑣 ⊆ [𝑚 1 + 𝑚 2 , 𝑣 1 + 𝑣 2 ] 10 32

  11. Bounds during preprocessing [𝑚, 𝑣] Op Infer bounds of a node from its parents x1 x2 [𝑚 1 , 𝑣 1 ] [𝑚 2 , 𝑣 2 ] 𝑚 1 + 𝑣 2 = 𝑚 If Op = “+” and 𝑚 = 𝑣 , then 𝑣 2 + 𝑚 1 = 𝑚 11 32

  12. Bounds during preprocessing ➢ No fancy computation: only logical inference ➢ No solver is called: very precise ➢ Works on all variables: also lists & sets ➢ Each objective is handled independently ➢ Cheap bounds, for all objectives 12 32

  13. MINLP Solver LocalSolver has a global solver under the hood to solve MINLPs ➢ Reformulate model ➢ Solve linear/convex relaxation ➢ Branch and reduce to improve bound 13 32

  14. MINLP reformulation Linear/convex relaxation : ➢ Each link in the DAG becomes a constraint 14 32

  15. MINLP reformulation Linear/convex relaxation : ➢ Each link in the DAG becomes a constraint 15 32

  16. MINLP reformulation Linear/convex relaxation : ➢ Each link in the DAG becomes a constraint ➢ Linear constraints, linear objective, simple couplings 16 32

  17. 2 types of relaxations Linear relaxation: ➢ Several convexity cuts ➢ Solved by simplex algorithm Convex relaxation: ➢ Quadratic convexification ➢ Dedicated Augmented Lagrangian or Interior Points 17 32

  18. Branch & reduce 18 32

  19. Branch & reduce 19 32

  20. Branch & reduce 20 32

  21. Branch & reduce 21 32

  22. Performance on MINLPLib: 22 32

  23. Extension to multi-objective problems LocalSolver provides lower bounds for multi-objective problems 23 32

  24. Lower bounds for multi-objective problems Typical multi-objective model: min( 𝑔 1 𝑦 , 𝑔 2 𝑦, 𝑧 ) 𝑕 1 𝑦 = 0 𝑕 2 𝑦, 𝑧 = 0 Lexicographic treatment: Phase 1: Phase 2: 𝑝𝑞𝑢 = min 𝑔 𝑝𝑞𝑢 = min 𝑔 𝑔 2 𝑦, 𝑧 𝑔 1 𝑦 2 1 𝑕 1 𝑦 = 0 𝑕 1 𝑦 = 0 𝑕 2 𝑦, 𝑧 = 0 𝑕 2 𝑦, 𝑧 = 0 𝑝𝑞𝑢 𝑔 1 𝑦 = 𝑔 1 * Only when exact linearizations exist in LocalSolver 9.5 24 32

  25. Bounds in a multi-objective context Back to soft constraints: infeasible case Min f(x) Min violation( g(x) ) s.t. g(x) <= 0 Min f(x) h(x) = 0 s.t. h(x) = 0 Before: ➢ Keep trying to find “feasibility”, and “waste” computing resources Now: ➢ Stop trying to find “feasibility”, ➢ Focus resources on finding opt for second objective 25 32

  26. LocalSolver 9.0 vs LocalSolver 9.5 Industrial scheduling and routing problem. ➢ 6 objectives and 27 constraints ➢ 105 integers in [0, 5000] ➢ Time limit: 60s LocalSolver 9.0 : LocalSolver 9.5 : LocalSolver now proves (global) optimality. 26 32

  27. LocalSolver 9.0 vs LocalSolver 9.5 Other nonlinear industrial instance. ➢ 5 objectives and 9k constraints ➢ 18k booleans ➢ Time limit: 60s LocalSolver 9.0 : LocalSolver 9.5 : 27 32

  28. Bounds for models with collection variables LocalSolver proves bounds for models based on sets 28 32

  29. Linearization of collections: Sets are useful for modeling : ➢ Concise description for the user ➢ Not so useful for global optimization.. Replace whole set structure by booleans: 𝑘 becomes 𝑦 𝑗𝑘 ➢ 𝑗 ∈ 𝑇 ➢ 𝑞𝑏𝑠𝑢𝑗𝑢𝑗𝑝𝑜 𝑇 0 , 𝑇 1 becomes: ∀𝑗, 𝑦 𝑗0 + 𝑦 𝑗1 = 1 σ 𝑗 (𝑦 𝑗0 +𝑦 𝑗1 ) = |𝑇| ➢ And all others… 29 32

  30. Bin-packing: s.t. 𝑧 𝑘 min ෍ (𝐶 𝑘 ≠ ∅) count 𝑘 s.t. form a partition 𝐶 partition 𝑘 𝑥 𝐶 𝑘 ≤ 𝐷 ∀𝑘 Set 1 Set 2 Set 4 Set 3 Detection of problem structure : ➢ Enables Stronger formulations 30 32

  31. Next… Bounds for models involving lists… … in the works 31 32

  32. Thanks Do you have any questions ? 32 32

Recommend


More recommend