270 likes | 833 Views
Parallel Machine Scheduling. Baker p.114. Minimizing Makespan Problems. M1 M2 M3. N / 3 / Cmax meanT meanF. Multiple Bin Packing Knapsack Packing Vehicle Packing - assignment. Lower Bound Approach. For Example :. McNaughton’s Algorithm. Baker p.115.
E N D
Parallel Machine Scheduling Baker p.114 Minimizing Makespan Problems M1 M2 M3 N / 3 / Cmax meanT meanF Multiple Bin Packing Knapsack Packing Vehicle Packing - assignment
Lower Bound Approach For Example :
McNaughton’s Algorithm Baker p.115 • Select some job to begin on machine 1 at time zero • Choose any unscheduled job and schedule it as early as possible on the same machine. Repeat this step in until the machine is occupied beyond time M* (or until jobs are scheduled.) • Reassign the processing scheduled beyond M* to the next machine instead, starting at time zero. Return to step 2. For example: Preemptive M1 M2 M3 1 2 3 4 5 5 6 7 7 8 12
Min M If job preemption is prohibited, the problem of min makespan is somewhat more difficult. No direct algorithm has been developed for calculating the optimal makespan or for constructing optimal schedule. LPT Heuristic A simple effective heuristic procedure for constructing a schedule involves the use of LPT scheduling as a dispatching mechanism. • Construct an LPT ordering of the jobs. • Schedule the jobs in order, each time assigning a job to the machine with the least amount of processing already assigned.
LPT LPT (Largest Processing Time) Rule Sequence = 8-7-6-5-4-3-2-1 M1 M2 M3 8 3 2 7 4 1 6 5 13 If SPT M1 M2 M3 1 4 7 2 5 8 3 6 15
Integer Programming Formulation Each job can only be processed by one machine
Hw. 8/3/Cmax 8 jobs to be scheduled on a machine cell will 3 machines. Use LPT & IP to solve. Software:LINGO
Minimizing Mean Flow Time Baker p.118 ti[j]: processing time of the j-th job in sequence on the i-th machine. Fi[j]: flow time of the j-th job in sequence on the machine. ni: number of jobs processed by the i-th machine 1 2 3 4 1 2 3 1 2 1 Machine i 1 2 3 … n
Min Mean F with Parallel Identical Machine • Construct an SPT ordering of the jobs. • To the machine with the least amount of processing already allocated, assign the next job on the ordered list of jobs. (Break ties arbitrarily.) Repeat until all jobs assigned.
Ex. Find out LB - Lower Bound
Hm & H1 Hm Step 1. Form a priority list of all unscheduled jobs according to some rule, R. Step 2. Assign the first m jobs on the list to different machines. Repeat Step 2 until all jobs are scheduled and then go to Step 3. Step 3. Apply WSPT sequencing to each machine. H1 Step 1. Form a priority list of all unscheduled jobs according to some rule, R. Step 2. Assign the first job on the list to the machine with the least amount of processing allocated. Repeat until all jobs have been assigned. Then go to Step 3. Step 3. Apply WSPT sequencing to each machine.
Ex. Initial job list {10-9-8-…-2-1} WSPT from large to small Method 1. Arrange 5 jobs each time Large weight matches small one
Ex. M1 M2 M3 M4 M5 5 10 26 48 1 9 5 37 3 8 16 57 4 7 6 56 2 6 21 40
Ex. Method 2. Arrange 1 job each time
Ex. M1 M2 M3 M4 M5 3 4 10 16 22 44 2 9 21 53 1 8 5 46 7 50 5 6 26 45
HW. Use the following methods to solve the previous case. • Large weight matches large one • Compare the difference between Arrange 1 job each time and Arrange 5 job each time.
Parallel Identical Processors and Dependent Jobs Baker p.125 In tree Chain Out tree
Parallel Identical Processors and Dependent Jobs Baker p.125 Hu’s Algorithm Labeling Phase Step1. Assign the label 0 to each terminal job. Step2. For each job j, identify the unique k for which j<<k, and assign to job j the label Scheduling Phase Step3a. If the number of jobs without predecessors is less than or equal to m, schedule these job concurrently, leaving excess machines idle. Go to step4. Step3b. If the number of jobs without predecessors exceeds m, schedule the m jobs with the largest labels (breaking ties arbitrarily). Go to step 4. Step4. Remove the scheduled jobs from the problem and return to step 3 until all jobs are scheduled.
Ex. 17 12 Labeling 5 4 8 5 2 3 2 1 13 4 14 9 6 3 1 4 3 2 1 0 15 10 4 3 7 4 2 16 11 1 4 3
Ex. 1 2 Scheduling 3 4 5 17 12 8 5 2 13 14 9 6 3 1 7 15 10 7 4 16 11 6 M1 M2 M3 17 12 8 5 2 4 1 15 13 9 6 3 16 14 10 11 7