Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.
Variable Objective Large Neighborhood Search:

A practical approach to solve over-constrained problems
Pierre Schaus	

UCL...
Over-Constrained Problems
Mon

Tue

Wed

Usually render the
problem 	

over-constrained	


Demand

>2
=2

gcc1

>1
>2

gcc...
Relaxation = 	

Violation Variables in Constraints (Petit & Régin)
Mon

Demand

>2
=2

Tue

>1
>2

Wed

>3
>1

o1) (...,o2...
Aggregation of violations

•
•

Many possibilities	

Most intuitive one: 	

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

o1+o2+o3+...

Desired Properties :
A: o1+o2+o3+... should be small
B: o1+o2+o3+... s...
Major Weakness of CP =
Weak filtering of sum (bound-consistency)

large BnB search tree

small fraction of it is explored with DFS

bad solutions
Solution = Large Neighborhood Search
LNS = LS using CP for neighborhood exploration
Decision Variables

LNS (Shaw 98)

.. .. .. .. .. .. .. .. .. .. .. ..
Bound = 100 1 3 5 6 2 9 1 8 3 1 0 4

Find Initial S...
LNS (Shaw 98)
..
..
.. ..
..
Bound = 100 1 3 5 6 2 9 1 8 3 1 0 4

Relax* (randomly) this solution

*aka fragment selection
LNS (Shaw 98)
7
..
8
..
1 4
.. ..
3
..
Bound = 96 1 3 5 6 2 9 1 8 3 1 0 4

Optimize this partial solution with CP
LNS (Shaw 98)
..
..
..
.. ..
Bound = 96 1 3 7 6 2 8 1 8 1 4 0 3

relax randomly
LNS (Shaw 98)
.. 7 2
.. ..
8
9
..
1 4 1 3
.. 3 .. ..
..
Bound = 85 1 3 5 6 2 10 1 8 3 1 0 4

re-optimize
LNS (Shaw 98)
..

initial
relax
optimize
relax
optimize
...

..

..

..

..

..

..

..

..

..

..

..

1

3

5

6

2

9
...
From a CP Model to a LNS Model

CP
Model

+

Relaxation
Procedure

=

LNS Model

Which decision Variables should be
relaxe...
Minimize sum of violation variables	

o1+o2+o3+...

Desired Properties :
A: o1+o2+o3+... should be small
B: o1+o2+o3+... s...
o1+o2+o3+o4 = 7
4
1

2

2

2

1

1

1

o1 o2 o3 o4

o1 o2 o3 o4

balanced

unbalanced

How to avoid
this ?
Dynamically Change the Objective	

(at each LNS restart)
Focus on worse objective at each LNS restart
!

o1

o2

o3

o4
Focus on worse objective at each LNS restart
!

o1

o2

o3

o4
Focus on worse objective at each LNS restart

!

o1

o2

o3

o4
Focus on worse objective at each LNS restart

!

o1

o2

o3

o4
In practice …

•

Objective configuration changed at each
LNS restarts.	


•

Each objective can be configured
differently
S...
3 Filtering modes
Weak, Strong, No - Filtering
!
!

o1

o2

o3

o4

Weak Strong No Strong

Strong: must decrease	

Weak: c...
Good idea: o1+o2+o3+o4 in Strong
Ensures at least
same filtering
as original one

o1

o2

o3

o4 o1+o2+o3+o4

Weak Strong N...
objective value

New solution found during
BnB DFS

restart i
o1 Strong	

o2 Weak	

o3 No

restart i+1
o1 Weak	

o2 No	

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

CP
Model

objective
Relaxation
configuration
Procedure

++

=

VO-LN...
Experimental Result

•
•

Artificial over-constrained problems	

Over-Constraint timetabling application
Artificial Over-Constrained Problem
Random Domain:	

5 values on [1..15]

oj
every values 1..15
should appear exactly
once	...
LNS Relaxations
R1

R2

10% of variables (randomly)

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

oi

most v...
Objective Configurations
o1 , o2 , ... , o15 , o16 , ... , o30 , otot
C1

C2

o1 , o2 , ... , o30 : No 	

otot : Strong

o1...
Experiments LNS
400 Restarts, 50 Failure Limit	

!

•
•
•

Setting A: R1 & C1	


•

random relax, standard minimization	

...
LNS

VO-LNS Decrease
faster	

&	

better sum of violations
Balancing Property

Better total
violation

Better total
balancing

VO-LNS
Real Life - Timetabling	

Hospitality Management School

Groups

Weeks
Real Life - Timetabling	

Hospitality Management School

Groups

Weeks

Groups of 20 students must be scheduled over semes...
Real Life - Timetabling	

Hospitality Management School
PM

Weeks

Groups

AM

Two activities/ Week to decide 	

Morning &...
Real Life - Timetabling	

Hospitality Management School
Weeks

Groups

> 2x A1	

= 1x A2	

…

For each group: cardinality ...
Real Life - Timetabling	

Hospitality Management School
Weeks

Groups

A1 is scheduled only 4
consecutive times, …

Restri...
Real Life - Timetabling	

Hospitality Management School
Weeks

Groups

A1 scheduled between 2 and 3 times	

A2 scheduled b...
Real Life - Timetabling	

Hospitality Management School

Violations of cardinality
requirements
LNS Relaxations

Weeks

some random
slots

Groups

most violated
weeks

some groups
Results: 1000 LNS Restarts

same LNS relaxation
VO-LNS is faster

Why ?	


number of
exhausted search

!

Because most of the LNS searches
complete before the failure lim...
Balance	

10 runs x 5 instances
Open-Source Implementation

OscaR

SCALA IN OPERATIONAL RESEARCH

https://bitbucket.org/oscarlib/oscar
Take away messages

•

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


•
•

LNS is powerful to ...
Future Work

•
•
•

Automatic objective configuration	

Population of solutions (different configurations)	

More problems (...
Variable Objective Large Neighborhood Search:

A practical approach to solve over-constrained problems
Pierre Schaus	

UCL...
Upcoming SlideShare
Loading in …5
×

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

722 views

Published on

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)

Published in: Education, Technology, Business
  • Be the first to comment

  • Be the first to like this

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

  1. 1. Variable Objective Large Neighborhood Search:
 A practical approach to solve over-constrained problems Pierre Schaus UCL, ICTEAM, Belgium
  2. 2. Over-Constrained Problems Mon Tue Wed Usually render the problem over-constrained Demand >2 =2 gcc1 >1 >2 gcc2 >3 >1 gcc3
  3. 3. Relaxation = Violation Variables in Constraints (Petit & Régin) Mon Demand >2 =2 Tue >1 >2 Wed >3 >1 o1) (...,o2) (...,o3) (..., gcc -gcc oft-gcc oft oft s s s
  4. 4. Aggregation of violations • • Many possibilities Most intuitive one: o1+o2+o3+...
  5. 5. Minimize sum of violation variables o1+o2+o3+... Desired Properties : A: o1+o2+o3+... should be small B: o1+o2+o3+... should be balanced not easy to reached with CP
  6. 6. Major Weakness of CP =
  7. 7. Weak filtering of sum (bound-consistency) large BnB search tree small fraction of it is explored with DFS bad solutions
  8. 8. Solution = Large Neighborhood Search LNS = LS using CP for neighborhood exploration
  9. 9. Decision Variables LNS (Shaw 98) .. .. .. .. .. .. .. .. .. .. .. .. Bound = 100 1 3 5 6 2 9 1 8 3 1 0 4 Find Initial Solution with CP
  10. 10. LNS (Shaw 98) .. .. .. .. .. Bound = 100 1 3 5 6 2 9 1 8 3 1 0 4 Relax* (randomly) this solution *aka fragment selection
  11. 11. LNS (Shaw 98) 7 .. 8 .. 1 4 .. .. 3 .. Bound = 96 1 3 5 6 2 9 1 8 3 1 0 4 Optimize this partial solution with CP
  12. 12. LNS (Shaw 98) .. .. .. .. .. Bound = 96 1 3 7 6 2 8 1 8 1 4 0 3 relax randomly
  13. 13. LNS (Shaw 98) .. 7 2 .. .. 8 9 .. 1 4 1 3 .. 3 .. .. .. Bound = 85 1 3 5 6 2 10 1 8 3 1 0 4 re-optimize
  14. 14. LNS (Shaw 98) .. initial relax optimize relax optimize ... .. .. .. .. .. .. .. .. .. .. .. 1 3 5 6 2 9 1 8 3 1 0 4 .. .. .. .. .. 7 8 1 4 3 .. .. .. .. .. 3 2 10 3 1
  15. 15. From a CP Model to a LNS Model CP Model + Relaxation Procedure = LNS Model Which decision Variables should be relaxed for next restart
  16. 16. Minimize sum of violation variables o1+o2+o3+... Desired Properties : A: o1+o2+o3+... should be small B: o1+o2+o3+... should be balanced
  17. 17. o1+o2+o3+o4 = 7 4 1 2 2 2 1 1 1 o1 o2 o3 o4 o1 o2 o3 o4 balanced unbalanced How to avoid this ?
  18. 18. Dynamically Change the Objective (at each LNS restart)
  19. 19. Focus on worse objective at each LNS restart ! o1 o2 o3 o4
  20. 20. Focus on worse objective at each LNS restart ! o1 o2 o3 o4
  21. 21. Focus on worse objective at each LNS restart ! o1 o2 o3 o4
  22. 22. Focus on worse objective at each LNS restart ! o1 o2 o3 o4
  23. 23. In practice … • Objective configuration changed at each LNS restarts. • Each objective can be configured differently Strong = must decrease Weak = cannot increase No = unrestricted filtering
  24. 24. 3 Filtering modes Weak, Strong, No - Filtering ! ! o1 o2 o3 o4 Weak Strong No Strong Strong: must decrease Weak: cannot increase No: unrestricted
  25. 25. Good idea: o1+o2+o3+o4 in Strong Ensures at least same filtering as original one o1 o2 o3 o4 o1+o2+o3+o4 Weak Strong No Strong Strong
  26. 26. objective value New solution found during BnB DFS restart i o1 Strong o2 Weak o3 No restart i+1 o1 Weak o2 No o3 Strong time
  27. 27. From a LNS-CP Model to a Variable-Objective LNS Model CP Model objective Relaxation configuration Procedure ++ = VO-LNS LNS Model Model set objectives into Strong/Weak/No filtering mode
  28. 28. Experimental Result • • Artificial over-constrained problems Over-Constraint timetabling application
  29. 29. Artificial Over-Constrained Problem Random Domain: 5 values on [1..15] oj every values 1..15 should appear exactly once on each row oi violation = sum of excess & shortage of each value every values 1..15 should appear exactly once on each column
  30. 30. LNS Relaxations R1 R2 10% of variables (randomly) = 10% of variables (randomly) + most violated line/column oi most violated line* *tabu mechanism for diversification
  31. 31. Objective Configurations o1 , o2 , ... , o15 , o16 , ... , o30 , otot C1 C2 o1 , o2 , ... , o30 : No otot : Strong o1 , o2 , ... , o30 : Weak Standard minimization of sum, does not try to balance violations otot : Strong, oi: Strong The most violated row/column in current solutions oi
  32. 32. 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)
  33. 33. LNS VO-LNS Decrease faster & better sum of violations
  34. 34. Balancing Property Better total violation Better total balancing VO-LNS
  35. 35. Real Life - Timetabling Hospitality Management School Groups Weeks
  36. 36. Real Life - Timetabling Hospitality Management School Groups Weeks Groups of 20 students must be scheduled over semester
  37. 37. Real Life - Timetabling Hospitality Management School PM Weeks Groups AM Two activities/ Week to decide Morning & Afternoon
  38. 38. Real Life - Timetabling Hospitality Management School Weeks Groups > 2x A1 = 1x A2 … For each group: cardinality requirement on activity types
  39. 39. Real Life - Timetabling Hospitality Management School Weeks Groups A1 is scheduled only 4 consecutive times, … Restriction on activity patterns
  40. 40. Real Life - Timetabling Hospitality Management School Weeks Groups A1 scheduled between 2 and 3 times A2 scheduled between 1 and 2 times … soft-gcc Demand over activities specific for each weak
  41. 41. Real Life - Timetabling Hospitality Management School Violations of cardinality requirements
  42. 42. LNS Relaxations Weeks some random slots Groups most violated weeks some groups
  43. 43. Results: 1000 LNS Restarts same LNS relaxation
  44. 44. VO-LNS is faster Why ? number of exhausted search ! Because most of the LNS searches complete before the failure limit
  45. 45. Balance 10 runs x 5 instances
  46. 46. Open-Source Implementation OscaR SCALA IN OPERATIONAL RESEARCH https://bitbucket.org/oscarlib/oscar
  47. 47. 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
  48. 48. Future Work • • • Automatic objective configuration Population of solutions (different configurations) More problems (just in time scheduling)
  49. 49. Variable Objective Large Neighborhood Search:
 A practical approach to solve over-constrained problems Pierre Schaus UCL, ICTEAM, Belgium

×