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

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend