Introduction Easy scheduling problems Can be formulated as
Introduction • Easy scheduling problems : Can be formulated as linear programs that can be solved by polynomial time algorithm Even thousands of jobs, still can be solved on a computer in a relatively short time • Very hard scheduling problems (NP-hard) Cannot be formulated as linear programs No simple rules or algorithms yield optimal solutions in a limited amount of computer time
Dispatching Rules • A rule the prioritizes all the jobs that are waiting for processing on a machine • The prioritization scheme may take into account : - the jobs’ attributes - the machines’ attributes - the current time
Dispatching rules Static rules – not time-dependent – are function of job and/or machine data vs. Dynamic rules – time-dependent – e. g. : “minimum slack first”-priority rule
Dispatching rules Local rules – e. g. only consider current job, machine vs. Global rules – “look ahead”-strategy
Dispatching rules Schedule generation scheme: mechanism by which schedule is constructed • serial scheme schedule job-for-job (n stages) vs. • parallel scheme (at most T stages) – – decision set (all candidates to be scheduled at stage t) completed set of jobs (jobs that are completed at stage t) remaining set of jobs (not allowed to be scheduled at t) active set of jobs (scheduled, but not completed at stage t)
Dispatching rules • • • Service in random order (SIRO) Earliest release date (ERD) Earliest due date (EDD) Minimum slack (MS) Weighted shortest processing time (WSPT) Note: WSPT is optimal in single-machine setting (Smith’s rule) • Longest processing time (LPT)
Dispatching rules, cont. • • • Shortest setup time (SST) Least flexible job (LFJ) Greatest resource demand (GRD) Critical path rule (CP) Largest number of successors (LNS) Shortest queue at the next operation (SQNO)
Dispatching rules, overview • Dependent on release and due dates: ERD, EDD, MS • Dependent on processing times: LPT, SPT, WSPT, CP, LNS • Miscellaneous: SST, LFJ, SQNO
Dispatching in more complicated situations • Dispatching+routing over non-identical machines • Batch and dispatch • Dispatching with preemption • Dispatching with setups
More advanced dispatching rules • Look-ahead with multiple job planning (e. g. including jobs with future release dates, dispatching with a waiting option, worst case slack rule) • Adaptive search techniques • Composite rules
Composite priority rule that is mixture of 3 basic priority rules: ATC ( apparent tardiness rule ) is comb. of: 1. Weighted Shortest Processing Time First 2. Earliest Due Date First 3. Minimal slack ATCS ( ATC with setups ) 4. Shortest Setup Time First
Composite dispatching: Apparent Tardiness Cost (ATC) ATC combines MS rule and WSPT rule k 1=due date scaling par. (look-ahead parameter) average pj of the remaining jobs k 1 function of Due Date Range factor:
Composite dispatching: Apparent Tardiness Cost with Setups (ATCS) ATCS combines MS rule, WSPT rule and SST rule: k 1=due date scaling par. k 2=setup time scaling par. k 1 and k 2 functions of: • Due Date tightness • Due Date Range • Setup Time Severity
Dispatching rules: multiple passes drawback of priority rules: may yield bad solutions SOLUTION: Use multiple passes Multi-pass priority rule based methods: 1. Multi-priority rule procedures (repeat dispatching procedure with different disp. rules) 2. Sampling procedures (each job has a probability to be dispatched)
Dispatching rules: sampling Random sampling (each job has the same probability): Pj=1/n Biased random sampling (based on priority of job): first sort jobs on non-increasing priority vj [j] is the position of job j in the list Probability that job is selected: random sampling deterministic Parameterized regret-based random sampling: accounts for relative difference in priorities of jobs
Dispatching rules: sampling (cont. ) Parameterized regret-based random sampling: regret factor (vj=priority): probability: =0: random sampling = : deterministic activity selection normalization Kolisch and Drexl: • the more passes, the higher should be taken • this method is called the “Adaptive Search”-method
DISKUSI & TANYA JAWAB
- Slides: 18