iactai13 variable objective large neighborhood search: a practical approach to solve...

49
Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems Pierre Schaus UCL, ICTEAM, Belgium

Upload: pierre-schaus

Post on 21-Jun-2015

247 views

Category:

Education


1 download

DESCRIPTION

Presentation given at ICTAI 13 (http://cecs.wright.edu/atrc/ictai13) by Pierre Schaus: Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

TRANSCRIPT

Page 1: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems

Pierre Schaus UCL, ICTEAM, Belgium

Page 2: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Over-Constrained Problems

Demand

Tue Wed

>2=2

>1>2

>3>1

Mon

Usually render the problem

over-constrained

gcc1 gcc2 gcc3

Page 3: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Relaxation = Violation Variables in Constraints (Petit & Régin)

soft-gcc(...,

o1)

soft-gcc(...,

o2)

soft-gcc(...,

o3)

Demand

Tue Wed

>2=2

>1>2

>3>1

Mon

Page 4: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Aggregation of violations

• Many possibilities

• Most intuitive one:

o1+o2+o3+...

Page 5: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Minimize sum of violation variables o1+o2+o3+...

Desired Properties :

A: o1+o2+o3+... should be small

not easy to reached with CP

B: o1+o2+o3+... should be balanced

A: o1+o2+o3+... should be small

Page 6: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Major Weakness of CP =

Page 7: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Weak filtering of sum (bound-consistency)

large BnB search tree

small fraction of it is explored with DFS

bad solutions

Page 8: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Solution = Large Neighborhood Search

LNS = LS using CP for neighborhood exploration

Page 9: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

LNS (Shaw 98)

1 3 5 6 2 9 1 8 3 1 0 4.. .. .. .. .. .. .. .. .. .. .. ..

Find Initial Solution with CP

Bound = 100

Decision Variables

Page 10: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

LNS (Shaw 98)

1 3 5 6 2 9 1 8 3 1 0 4

Relax* (randomly) this solution

.. .. .. .. ..Bound = 100

*aka fragment selection

Page 11: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

LNS (Shaw 98)

1 3 5 6 2 9 1 8 3 1 0 4

Optimize this partial solution with CP

.. .. .. .. ..7 8 1 4 3Bound = 96

Page 12: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

LNS (Shaw 98)

1 3 7 6 2 8 1 8 1 4 0 3

relax randomly

Bound = 96 .. .. .. .. ..

Page 13: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

LNS (Shaw 98)

1 3 5 6 2 9 1 8 3 1 0 4

re-optimize

.. .. .. .. ..7 8 1 4 3Bound = 85 .. .. .. .. ..3 2 10 3 1

Page 14: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

LNS (Shaw 98)

1 3 5 6 2 9 1 8 3 1 0 4

.. .. .. .. ..

7 8 1 4 3

.. .. .. .. ..

3 2 10 3 1

.. .. .. .. .. .. .. .. .. .. .. ..

initialrelaxoptimize

relaxoptimize

...

Page 15: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

From a CP Model to a LNS Model

CP Model

Relaxation Procedure+ = LNS Model

Which decision Variables should be relaxed for next restart

Page 16: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Minimize sum of violation variables o1+o2+o3+...

Desired Properties :

A: o1+o2+o3+... should be small

B: o1+o2+o3+... should be balancedB: o1+o2+o3+... should be balanced

Page 17: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

12 2 2

1 1 1

4

o1 o2 o3 o4 o1 o2 o3 o4

o1+o2+o3+o4 = 7

unbalancedbalanced

How to avoid this ?

Page 18: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Dynamically Change the Objective (at each LNS restart)

Page 19: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Focus on worse objective at each LNS restart

!

o1 o2 o3 o4

Page 20: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

!

o1 o2 o3 o4

Focus on worse objective at each LNS restart

Page 21: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

!

o1 o2 o3 o4

Focus on worse objective at each LNS restart

Page 22: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

!

o1 o2 o3 o4

Focus on worse objective at each LNS restart

Page 23: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

In practice …

• Objective configuration changed at each LNS restarts.

• Each objective can be configured differently

Strong = must decrease Weak = cannot increase No = unrestricted

filtering

Page 24: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

3 Filtering modes Weak, Strong, No - Filtering

!

o1 o2 o3 o4StrongStrongWeak No

!

Strong: must decrease Weak: cannot increase No: unrestricted

Page 25: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Good idea: o1+o2+o3+o4 in Strong

o1 o2 o3 o4StrongStrongWeak No

o1+o2+o3+o4Strong

Ensures at least same filtering as original one

Page 26: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

o1 Strong o2 Weak o3 No

objective value

timerestart i

o1 Weak o2 No o3 Strong

restart i+1

New solution found during BnB DFS

Page 27: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

From a LNS-CP Model to a Variable-Objective LNS Model

= LNS ModelCP Model

Relaxation Procedure+ VO-LNS

Modelobjective

configuration+set objectives into

Strong/Weak/No filtering mode

Page 28: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Experimental Result

• Artificial over-constrained problems

• Over-Constraint timetabling application

Page 29: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Artificial Over-Constrained Problem

Random Domain: 5 values on [1..15]

every values 1..15 should appear exactly once

on each column

oj

every values 1..15 should appear exactly

once on each rowoi

violation = sum of excess &

shortage of each value

Page 30: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

LNS Relaxations

most violated line*

oi

10% of variables (randomly) = 10% of variables (randomly) + most violated line/column

*tabu mechanism for diversification

R1 R2

Page 31: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

o1 , o2 , ... , o30 : No

otot : Strong

Standard minimization of sum, does not try to balance violations

Objective Configurations

o1 , o2 , ... , o15 , o16 , ... , o30 , otot

o1 , o2 , ... , o30 : Weak

otot : Strong, oi: Strong

oi

The most violated row/column in current

solutions

C1 C2

Page 32: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Experiments LNS

400 Restarts, 50 Failure Limit

!

• Setting A: R1 & C1

• random relax, standard minimization

• Setting B: R2 & C1

• structured relaxation, standard minimization

• Setting C: R2 & C2

• structured relaxation, variable objective (VO-LNS)

Page 33: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

LNS

VO-LNS Decrease faster

& better sum of violations

Page 34: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Balancing Property

Better total violation

Better total balancing

VO-LNS

Page 35: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Real Life - Timetabling Hospitality Management School

Gro

ups

Weeks

Page 36: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Real Life - Timetabling Hospitality Management School

Gro

ups

Weeks

Groups of 20 students must be scheduled over semester

Page 37: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Real Life - Timetabling Hospitality Management School

Gro

ups

Weeks

Two activities/ Week to decide Morning & Afternoon

AM PM

Page 38: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Real Life - Timetabling Hospitality Management School

Gro

ups

Weeks

For each group: cardinality requirement on activity types

> 2x A1 = 1x A2

Page 39: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Real Life - Timetabling Hospitality Management School

Gro

ups

Weeks

Restriction on activity patterns

A1 is scheduled only 4 consecutive times, …

Page 40: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Real Life - Timetabling Hospitality Management School

Gro

ups

Weeks

Demand over activities specific for each weak

A1 scheduled between 2 and 3 times A2 scheduled between 1 and 2 times

soft-gcc

Page 41: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Real Life - Timetabling Hospitality Management School

Violations of cardinality requirements

Page 42: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

LNS Relaxations

Gro

ups

Weeksmost violated

weeks

some groups

some random slots

Page 43: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Results: 1000 LNS Restarts

same LNS relaxation

Page 44: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

VO-LNS is faster

number of exhausted searchWhy ?

!

Because most of the LNS searches complete before the failure limit

Page 45: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Balance 10 runs x 5 instances

Page 46: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

OscaRSCALA IN OPERATIONAL RESEARCH

Open-Source Implementation

https://bitbucket.org/oscarlib/oscar

Page 47: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Take away messages

• Minimizing sum objective (in over-constrained problems) with CP is hard

• LNS is powerful to diversify search space

• Changing dynamically the objective can

• Fasten and improve LNS

• Better balance violations

variable objective LNS

Page 48: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Future Work

• Automatic objective configuration

• Population of solutions (different configurations)

• More problems (just in time scheduling)

Page 49: IACTAI13 Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems (Pierre Schaus)

Variable Objective Large Neighborhood Search: A practical approach to solve over-constrained problems

Pierre Schaus UCL, ICTEAM, Belgium