190 likes | 336 Views
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. Outline. Job shop scheduling Tabu search Dispatching rules Rescheduling
E N D
Simulation of a job shop scheduling strategy:Do advanced scheduling algorithms pay off when processing times are disturbed?Marjan van den Akkerjoint work with:Koen de Bontridder, Rob van Geel, Han Hoogeveen OR 2004 Tilburg, 1/9/2004
Outline • Job shop scheduling • Tabu search • Dispatching rules • Rescheduling • Simulation experiments • Total weighted completion time • Total weighted tardiness OR 2004 Tilburg, 1/9/2004
Job shop scheduling • n jobs J1, J2,…,Jn • m machines, can execute one operation at a time • Job: sequence of operations ov • Each operation on a given machine • djis due date of job j • Cj completion time of last operation of job j • Tardiness Tj = max(Cj-dj,0) • Objectives: • Minimize Σ wjCj • Minimize Σ wjTj OR 2004 Tilburg, 1/9/2004
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 OR 2004 Tilburg, 1/9/2004
Tabu search • Example: • Disjunctive graph: -d1 Capacity: w1 p1 p2 Job 1 1 2 l(1) r1 p1 s Job 2 3 4 p4 5 l(2) p3 max cost flow = total weighted tardiness OR 2004 Tilburg, 1/9/2004
Tabu search • Max cost flow helps to find improving swaps. • Is it worth the effort with disturbed processing times? OR 2004 Tilburg, 1/9/2004
Dispatching rules • First-come-first-served • Minimum slack time: • qvremaining processing time of job j from ovon • If machine finishes an operation at time s, select from the operations in the queue the one with minimal dj-(s+qv) OR 2004 Tilburg, 1/9/2004
Rescheduling • After fixed number of operations e.g. after 50 or 20 operations • Based on deviation from expected starting time. Reschedule when: |srealized-splanned| > λ Cmax OR 2004 Tilburg, 1/9/2004
Discrete-event simulation Processing times • U[0.95 pj,1.05 pj] • U[0.8 pj,1.2 pj] • Exp(pj) • 4-Erlang(pj/4) OR 2004 Tilburg, 1/9/2004
Discrete-event simulation • Events: • operation becomes available for processing • operation is finished • Scheduling algorithms use expected processing times pj • 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’ OR 2004 Tilburg, 1/9/2004
Computational results wjCj OR 2004 Tilburg, 1/9/2004
Computational results wjCj (2) OR 2004 Tilburg, 1/9/2004
Computational results wjCj (3) OR 2004 Tilburg, 1/9/2004
Concluding remarks wjCj • Tabu search is better for smaller variance (including Erlang) • Dispatching is better for larger variance • Rescheduling improves, but may take large computation time OR 2004 Tilburg, 1/9/2004
Computational results wjTj • Instances with optimal wjTj close to zero are very sensitive to disturbances (sim/tabu(after)) does not make sense. • Tests: • generate instances with optimal wjTj close to zero • multiply deadlines by factor a = 0.98,0.96… ,0.5 OR 2004 Tilburg, 1/9/2004
wjTj: uniform [0.8pj,1.2pj] OR 2004 Tilburg, 1/9/2004
wjTj: Erlang OR 2004 Tilburg, 1/9/2004
wjTj: exponential OR 2004 Tilburg, 1/9/2004
Concluding remarks wjTj • 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 OR 2004 Tilburg, 1/9/2004