Presentation is loading. Please wait.

Presentation is loading. Please wait.

OR 2004 Tilburg, 1/9/20041 Simulation of a job shop scheduling strategy: Do advanced scheduling algorithms pay off when processing times are disturbed?

Similar presentations


Presentation on theme: "OR 2004 Tilburg, 1/9/20041 Simulation of a job shop scheduling strategy: Do advanced scheduling algorithms pay off when processing times are disturbed?"— Presentation transcript:

1 OR 2004 Tilburg, 1/9/20041 Simulation of a job shop scheduling strategy: Do advanced scheduling algorithms pay off when processing times are disturbed? Marjan van den Akker joint work with: Koen de Bontridder, Rob van Geel, Han Hoogeveen

2 OR 2004 Tilburg, 1/9/20042 Outline Job shop scheduling Tabu search Dispatching rules Rescheduling Simulation experiments Total weighted completion time Total weighted tardiness

3 OR 2004 Tilburg, 1/9/20043 Job shop scheduling n jobs J 1, J 2,…,J n m machines, can execute one operation at a time Job: sequence of operations o v Each operation on a given machine d j is due date of job j C j completion time of last operation of job j Tardiness T j = max(C j -d j,0) Objectives: –Minimize Σ w j C j –Minimize Σ w j T j

4 OR 2004 Tilburg, 1/9/20044 Tabu search Algorithm by De Bontridder (2001) Scheduling in two steps: –Determine execution order on each of the machine –Determine optimal starting times Neighborhood: swap the machine order of two operations

5 OR 2004 Tilburg, 1/9/20045 Tabu search Example: Disjunctive graph: OvOv 12345 MvMv M1M1 M2M2 M2M2 M1M1 M1M1 5 Job 1 Job 2 2 3 p3p3 p4p4 4 1 p1p1 p1p1 l(2) l(1) s p2p2 -d1-d1 Capacity: w 1 max cost flow = total weighted tardiness r1r1

6 OR 2004 Tilburg, 1/9/20046 Tabu search Max cost flow helps to find improving swaps. Is it worth the effort with disturbed processing times?

7 OR 2004 Tilburg, 1/9/20047 Dispatching rules First-come-first-served Minimum slack time: –q v remaining processing time of job j from o v on –If machine finishes an operation at time s, select from the operations in the queue the one with minimal d j -(s+q v )

8 OR 2004 Tilburg, 1/9/20048 Rescheduling After fixed number of operations e.g. after 50 or 20 operations Based on deviation from expected starting time. Reschedule when: |s realized -s planned | > λ C max

9 OR 2004 Tilburg, 1/9/20049 Discrete-event simulation Processing times U[0.95 p j,1.05 p j ] U[0.8 p j,1.2 p j ] Exp(p j ) 4-Erlang(p j /4)

10 OR 2004 Tilburg, 1/9/200410 Discrete-event simulation Events: –operation becomes available for processing –operation is finished Scheduling algorithms use expected processing times p j Test: –20 jobs, 10 machines, 200 operations –2 instances, per instance 3 runs of tabu search –for each scenario 50 simulation runs compute tabu search value after each run: ‘real optimum’

11 OR 2004 Tilburg, 1/9/200411 Computational results  w j C j results(average values) pjpj schedsim/ tabu(start) sim/ tabu(after) U[0.95 p j,1.05 P j ]tabu1.0021.02 U[0.95 p j,1.05 P j ]MST1.221.25 U[0.95 p j,1.05 P j ]FCFS1.301.33 U[0.8 p j,1.2 P j ]tabu1.031.04 U[0.8 p j,1.2 P j ]MST1.231.26 U[0.8 p j,1.2 P j ]FCFS1.301.34 exptabu1.701.73 expMST1.451.47 expFCFS1.551.58 Erlangtabu1.251.28 ErlangMST1.291.33 ErlangFCFS1.361.40

12 OR 2004 Tilburg, 1/9/200412 Computational results  w j C j (2) results(average values) pjpj Re-schedsim/ tabu(start) sim/ tabu(after) U[0.8 p j,1.2 P j ]tabu1.031.04 U[0.8 p j,1.2 P j ]MST1.231.26 U[0.8 p j,1.2 P j ]FCFS1.301.34 U[0.8 p j,1.2 P j ]Start dev 10%1.031.05 U[0.8 p j,1.2 P j ]after 50 ops1.021.04 U[0.8 p j,1.2 P j ]after 20 ops1.011.03

13 OR 2004 Tilburg, 1/9/200413 Computational results  w j C j (3) results(average values) pjpj schedsim/ tabu(start) sim/ tabu(after) exptabu1.701.73 expMST1.451.47 expFCFS1.551.58 expStart dev 10%1.591.62 expafter 50 ops1.661.68 expafter 20 ops1.481.50 Erlangtabu1.251.28 ErlangMST1.291.33 ErlangFCFS1.361.40 ErlangStart dev 10%1.241.27 Erlangafter 50 ops1.221.25 Erlangafter 20 ops1.171.19

14 OR 2004 Tilburg, 1/9/200414 Concluding remarks  w j C j Tabu search is better for smaller variance (including Erlang) Dispatching is better for larger variance Rescheduling improves, but may take large computation time

15 OR 2004 Tilburg, 1/9/200415 Computational results  w j T j Instances with optimal  w j T j close to zero are very sensitive to disturbances (sim/tabu(after)) does not make sense. Tests: –generate instances with optimal  w j T j close to zero –multiply deadlines by factor  = 0.98,0.96…,0.5

16 OR 2004 Tilburg, 1/9/200416  w j T j : uniform [0.8p j,1.2p j ]

17 OR 2004 Tilburg, 1/9/200417  w j T j : Erlang

18 OR 2004 Tilburg, 1/9/200418  w j T j : exponential

19 OR 2004 Tilburg, 1/9/200419 Concluding remarks  w j T j Uniform close to the optimum, larger variance further from the optimum For Uniform and Erlang tabu search better than dispatching For exponential MST or a lot of rescheduling Rescheduling better after a fixed number of operations


Download ppt "OR 2004 Tilburg, 1/9/20041 Simulation of a job shop scheduling strategy: Do advanced scheduling algorithms pay off when processing times are disturbed?"

Similar presentations


Ads by Google