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

calcul de bornes dans localsolver 9 5
SMART_READER_LITE
LIVE PREVIEW

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


slide-1
SLIDE 1

Calcul de bornes dans LocalSolver 9.5

Nikolas Stott nstott@localsolver.com

www.localsolver.com ROADEF 2020 Montpellier

slide-2
SLIDE 2

2 32

LocalSolver’s philosophy

Global optimization solver For combinatorial, numerical,

  • r mixed-variable optimization

Suited for tackling large-scale problems Quality solutions in minutes without tuning

The « Swiss Army Knife » of mathematical optimization

www.localsolver.com

slide-3
SLIDE 3

3 32

LocalSolver’s modeling bricks

Operator types:

➢ +, -, x, /, sqrt, pow, abs, if… ➢ partition, contains, at, indexOf…

Variable types:

➢ Bool, int, float ➢ Set, list

Multi-objective modeling:

➢ Lexicographic ordering ➢ Enables “soft constraints”

min( 𝑔

1 𝑦 , 𝑔 2 𝑦, 𝑧 )

𝑕1 𝑦 = 0 𝑕2 𝑦, 𝑧 = 0

slide-4
SLIDE 4

4 32

Multi-objective modeling

Soft constraints with objective-lifting :

Min f(x) s.t. g(x) <= 0 h(x) = 0 Min violation( g(x) <= 0 ) Min f(x) s.t. h(x) = 0

Sometimes, real-world data clashes with constraints satisfaction…

slide-5
SLIDE 5

5 32

LocalSolver 9.0 vs LocalSolver 9.5

Industrial scheduling and routing problem.

➢ 105 integers in [0, 5000] ➢ Time limit: 60s

LocalSolver 9.0 : LocalSolver 9.5 :

➢ 6 objectives and 27 constraints

LocalSolver now proves global optimality.

slide-6
SLIDE 6

6 32

Architecture of LocalSolver

Primal heuristics:

➢ Historic core ➢ Local search techniques ➢ Extremely scalable

MINLP solver:

➢ Lower bounds ➢ Finds solutions when hard for pure primal heuristics

LocalSolver

Global preprocessing and scheduler

Solutions Solutions Bounds

slide-7
SLIDE 7

7 32

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
slide-8
SLIDE 8

8 32

Lower bounds from preprocessing

Preprocessing yields globally valid bounds

slide-9
SLIDE 9

9 32

Architecture : Directed Acyclic Graph

slide-10
SLIDE 10

10 32

Bounds during preprocessing

x1 Op x2

[𝑚1, 𝑣1] [𝑚2, 𝑣2] [𝑚, 𝑣]

Deduce bounds of a node from its children If Op = “+”, then 𝑚, 𝑣 ⊆ [𝑚1 + 𝑚2, 𝑣1 + 𝑣2]

slide-11
SLIDE 11

11 32

Bounds during preprocessing

x1 Op x2

[𝑚1, 𝑣1] [𝑚2, 𝑣2] [𝑚, 𝑣]

Infer bounds of a node from its parents

If Op = “+” and 𝑚 = 𝑣 , then

𝑚1 + 𝑣2 = 𝑚 𝑣2 + 𝑚1 = 𝑚

slide-12
SLIDE 12

12 32

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

slide-13
SLIDE 13

13 32

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

slide-14
SLIDE 14

14 32

MINLP reformulation

Linear/convex relaxation :

➢ Each link in the DAG becomes a constraint

slide-15
SLIDE 15

15 32

MINLP reformulation

Linear/convex relaxation :

➢ Each link in the DAG becomes a constraint

slide-16
SLIDE 16

16 32

MINLP reformulation

Linear/convex relaxation :

➢ Each link in the DAG becomes a constraint ➢ Linear constraints, linear objective, simple couplings

slide-17
SLIDE 17

17 32

2 types of relaxations

Linear relaxation:

➢ Several convexity cuts ➢ Solved by simplex algorithm

Convex relaxation:

➢ Quadratic convexification ➢ Dedicated Augmented Lagrangian or Interior Points

slide-18
SLIDE 18

18 32

Branch & reduce

slide-19
SLIDE 19

19 32

Branch & reduce

slide-20
SLIDE 20

20 32

Branch & reduce

slide-21
SLIDE 21

21 32

Branch & reduce

slide-22
SLIDE 22

22 32

Performance on MINLPLib:

slide-23
SLIDE 23

23 32

Extension to multi-objective problems

LocalSolver provides lower bounds for multi-objective problems

slide-24
SLIDE 24

24 32

Lower bounds for multi-objective problems

min( 𝑔

1 𝑦 , 𝑔 2 𝑦, 𝑧 )

𝑕1 𝑦 = 0 𝑕2 𝑦, 𝑧 = 0 𝑔

1 𝑝𝑞𝑢 = min 𝑔 1 𝑦

𝑕1 𝑦 = 0 𝑕2 𝑦, 𝑧 = 0 𝑔

2 𝑝𝑞𝑢 = min 𝑔 2 𝑦, 𝑧

𝑕1 𝑦 = 0 𝑕2 𝑦, 𝑧 = 0 𝑔

1 𝑦 = 𝑔 1 𝑝𝑞𝑢

Phase 1: Phase 2:

Typical multi-objective model:

Lexicographic treatment:

* Only when exact linearizations exist in LocalSolver 9.5

slide-25
SLIDE 25

25 32

Bounds in a multi-objective context

Back to soft constraints: infeasible case

Min f(x) s.t. g(x) <= 0 h(x) = 0 Min violation( g(x) ) Min f(x) s.t. h(x) = 0

Before:

➢ Stop trying to find “feasibility”, ➢ Focus resources on finding opt for second objective ➢ Keep trying to find “feasibility”, and “waste” computing resources

Now:

slide-26
SLIDE 26

26 32

LocalSolver 9.0 vs LocalSolver 9.5

Industrial scheduling and routing problem.

➢ 105 integers in [0, 5000] ➢ Time limit: 60s

LocalSolver 9.0 : LocalSolver 9.5 :

➢ 6 objectives and 27 constraints

LocalSolver now proves (global) optimality.

slide-27
SLIDE 27

27 32

LocalSolver 9.0 vs LocalSolver 9.5

Other nonlinear industrial instance.

➢ 18k booleans ➢ Time limit: 60s

LocalSolver 9.0 : LocalSolver 9.5 :

➢ 5 objectives and 9k constraints

slide-28
SLIDE 28

28 32

Bounds for models with collection variables

LocalSolver proves bounds for models based on sets

slide-29
SLIDE 29

29 32

Linearization of collections:

Replace whole set structure by booleans:

➢ 𝑗 ∈ 𝑇

𝑘 becomes 𝑦𝑗𝑘

➢ 𝑞𝑏𝑠𝑢𝑗𝑢𝑗𝑝𝑜 𝑇0, 𝑇1 becomes: ∀𝑗, 𝑦𝑗0 + 𝑦𝑗1 = 1 σ𝑗(𝑦𝑗0+𝑦𝑗1) = |𝑇| ➢ And all others…

Sets are useful for modeling :

➢ Concise description for the user ➢ Not so useful for global optimization..

slide-30
SLIDE 30

30 32

Set 1 Set 2 Set 3 Set 4

Bin-packing:

Detection of problem structure :

➢ Enables Stronger formulations

partition count s.t. 𝑧𝑘

min ෍

𝑘

(𝐶

𝑘 ≠ ∅)

𝐶

𝑘

form a partition

s.t.

𝑥 𝐶

𝑘 ≤ 𝐷 ∀𝑘

slide-31
SLIDE 31

31 32

Next…

Bounds for models involving lists… … in the works

slide-32
SLIDE 32

32 32

Thanks

Do you have any questions ?