23
On the Effects of Inoculation: an Example in Train Scheduling Y. Semet * , M. Schoenauer INRIA Orsay, France Research funded by SNCF *:now with EUROBIOS (complexity science for business problems)

Semet Gecco06

  • Upload
    ysemet

  • View
    154

  • Download
    1

Embed Size (px)

Citation preview

Page 1: Semet Gecco06

On the Effects of Inoculation: an Example in Train Scheduling

Y. Semet*, M. SchoenauerINRIAOrsay, France

Research funded by SNCF

*:now with EUROBIOS (complexity science for business problems)

Page 2: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

2

The problemRecompute railway schedule following a small perturbation: e.g. one train gets delayed for 10 minutesNetwork is a graph: nodes are stations or switchings and edges interconnecting tracksDegrees of freedom : times of arrival and departure a(c,i), d(c,i), track choice r(c,i).Objective : minimize total accumulated delay

Constraints : safety spacing and resource allocationChallenge: Do better than existing MIP algorithms: too slow ; eventually reach real-time performance

Page 3: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

3

Zoom in: one node…

Page 4: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

4

Zoom out: Space/Time Diagrams

A global overview of the railway network Visual representation of the phenotypeHelps to graphically visualize constraints

Page 5: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

5

Initial times

Stopping times

Safety spacing in both tracks and nodesConnecting trainsInter-routes shared resources conflicts: heart of the problem’s combinatorial difficulty

Constraints

Page 6: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

6

How to solve it ? Using an indirect approach.

Widely used in Evolutionary SchedulingDirect approach impracticalIndirect approach uses a mapping function: permutations + greedy scheduling heuristic

[3 4 5 1 2 6 8 7]

SchedulerOptimization plays with permutations

Page 7: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

7

Scheduler outline

1.For each train c (following the permutation)

1. For each Node i (in order)

1.For each route r1. Initialize a and d (theoretical values)2. While (conflict)

delay a and d or“kick” obstacles

2.Pick route yielding earliest d (greediness)

Important: semi-greedy instead of actually greedy: optimality is enforced only at the node level, not at the train level

Page 8: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

8

Solving conflicts: moving forward in time

i

Space

Time

j

Train c’ is already scheduled

α

Train c is being scheduled

Safety spacing threshold

α

a(c,j) : violation !!

Page 9: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

9

Solving conflicts: moving forward in time

i

Space

Time

j

Train c’ is already scheduled

α

Train c is being scheduled

Safety spacing threshold

α

a(c,j)

Page 10: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

10

Solving conflicts: “kicking” obstacles out

i

Space

Time

j

Train c’ is already scheduled

Train c is being scheduled

α α

Page 11: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

11

Solving conflicts : “kicking” obstacles out

i

Space

Time

j

Train c is being scheduled

α α

Kick !

Page 12: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

12

Solving conflicts : “kicking” obstacles out

i

Space

Time

j

Train c is being scheduled

Page 13: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

13

Solving conflicts : “kicking” obstacles out

i

Space

Time

j

Train c is now scheduled

Train c’ is being re-scheduled

Page 14: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

14

Global picture : a (μ+λ) scheme

Sélection

+

μ parentsKeep μ best individuals

λ offspring

= [3 4 5 1 2 6 8 7]

Page 15: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

15

Global picture : a (μ+λ) scheme

Sélection

+

μ parentsKeep μ best individuals

λ offspring

= [3 4 5 1 2 6 8 7]

Page 16: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

16

The Swap MutationSwapping 2 close by elements (d<R), T timesT realization of a binomial law Calibrated decrease (cf. simulated annealing)

[ 1 4 3 2 5 6 7 8 ]

[ 1 2 3 4 5 6 7 8 ]

R

Page 17: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

17

Inoculation : The Art of the Start

Initialization : an excellent way to provide the GA with relevant problem knowledge

3 problems in 1 for the GA : 1. Fixing initial constraint violations2. Finding a reasonable starting permutation3. The actual problem

The Idea : Solving 1. and 2. once and for all How : running the algorithm once with an “empty”

incident (with delay=0) Solving 3. : Initialize population around the best

permutation obtained (the Inoculant I0)

Page 18: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

18

A large and complex problem

541 trains, several 100s nodes 1 million variables 3 millions constraints

e.g. : 1 train delayed for 10 minutes inside a large connecting node (gare St-Lazare in Paris)Scheduling takes 1s per individual on averageResults average over 11 runsComparisons (GA, CPLEX, GA+CPLEX) over 24 hours

Page 19: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

19

Algorithmic Settings & Experiments

GA parameters: (10+70 scheme) Evolutionary Programming Tournament Ordered Selection R=12

Inoculation Variants Mass Mutation Gradual Perturbation Layer Initialization

Experimental plan: 2 choices related wrt exploration/exploitation

Which Inoculation variant ? Constant mutation rate or not ?

Results : Easy Instances : Layers + decreasing rate Hard Ones : Mass Mutation + constant rate

Page 20: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

20

The Benefits of InoculationEasy Instances

Page 21: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

21

The Benefits of InoculationHard Instances

Page 22: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

22

The Benefits of InoculationHard Instances

Page 23: Semet Gecco06

Inoculation & Train Timetabling - Semet&Schoenauer - GECCO'06 - Jul. 12th'06

23

ConclusionsDrawback: a lot of time and efforts as well as large expert knowledge required to design the scheduler : not easy to adapt to other contexts/problemsBut a clear success for this problem: 1. Natural formulation : usable for decision support2. Efficiency : good solutions quickly

Inoculation: from tie/defeat to victory vs. CPLEX1 minute of delay = 1000 $1 incident in 1 city per day = 21.9 million dollars yearly potential savings And, if parallelized, not so far from real-time use{semet,marc}@lri.fr