Está en la página 1de 33

Multi-Machine Scheduling

1
Scheduling Algorithms:
Outline

 Extending the basic model.


 The 2 machine serial problem.
 Johnson’s rules for 2 machines.
 Extension of Johnson’s rule for 3 machines.
 M-Machine in parallel.
 Preemption allowed.
 No preemption allowed.
Scheduling is easy, right?

 In the 1 machine problem, makespan C max is


always the same, no matter how we change
the schedule.
 In the m-machine problem the sequence will
influence Cmax, but the problems are much
harder to solve.
The 2 machine flowshop problem

Ai = Processing time of job i on machine A.


Bi = Processing time of job i on machine B.

J Ai CA Bi CB
1 6 6 3 9
2 2 8 9 18
Job i Machine Machine 3 4 12 3 21
A B 4 1 13 8 29
5 7 20 1 30
6 4 24 5 35
7 7 31 6 41

Cmax
Johnson’s Rule for 2 Machines
Johnson’s Rule for 2 Machines

1. Put all jobs into a set of unscheduled jobs.


2. Find the job in the unscheduled list with the shortest
processing time (on either machine).
3. If the processing time is shortest on machine A schedule it as
early as possible in the available sequence.
4. If the processing time is shortest on machine B schedule it as
late as possible in the available schedule.
5. Continue until all jobs are scheduled.
Johnson’s Rule for 2 Machines
Johnson’s Rule

Explain Johnson’s Rule through an Example…

J Ai CA Bi CB
1 6 6 3 9
2 2 8 9 18
3 4 12 3 21
4 1 13 8 29
5 7 20 1 30
6 4 24 5 35
7 7 31 6 41
The 2 machine problem:
Final Result

J MA CA MB CB
4 1 1 8 9
2 2 3 9 18
6 4 7 5 23
7 7 14 6 29
1 6 20 3 32
3 4 24 3 35
5 7 31 1 36

Cmax
Johnson’s Rule: Example 2
 Five jobs go through two work centers, as shown below:

Job Varnishing Painting


(Center 1) (Center 2)
R 4 5

S 17 7

T 14 12

U 9 2

V 11 6

What is the appropriate sequence for these jobs?


Johnson’s Rule: Example 2
An Intuitive Proof for Johnson’s

 We want to strike a balance between machine


A and B.
 We therefore want to get some jobs through
machine A quickly so that we can start machine B
(i.e. SPT).
 However, once machine A is finished, we would
like to do short jobs so that B finishes quickly.
Johnson’s Rule:
Extension to Three Machines
 Scheduling jobs on three machines is considerably more complex.
 Label the machines A, B, and C. The “three-machine problem” can be
reduced to a “two-machine problem” if the following condition is
satisfied:
min Ai  max Bi or min Ci  max Bi

 It is only necessary that either one of these conditions be satisfied. If that


is the case, then the problem is reduced to a two-machine problem in the
following way:

Define Ai  Ai  Bi , and define Bi  Bi  Ci


Johnson’s Rule: Example 3
 Consider the following job times for a three-machine
problem. Assume that the jobs are processed in the sequence
A-B-C.

Machine
Job A B C
1 4 5 8
2 9 6 10
3 8 2 6
4 6 3 7
5 5 4 11
Johnson’s Rule: Example 3
 The required condition is satisfied. We now form the two
columns A’ and B’.

Machine The problem is now solved using


' '
the two-machine algorithm. The
Job A B optimal solution is
1 9 13 1-4-5-2-3
2 15 16 Note that because of ties in
3 10 8 column A, the optimal solution is
4 9 10
not unique.
5 9 15
Parallel Machine Models
 In general, scheduling requires both sequencing and resource
allocation decisions. When there is only one resource, the
allocation of that resource is completely determined by
sequencing decisions.
 The basic parallel machine model assumes:
– There are n jobs simultaneously available at time zero.
– m parallel machines available for processing.
– a job can be processed by at most one machine at a time.
– The machines are identical.
– The jobs are independent.
Parallel Machine Models:
Minimizing the Makespan

 In the basic single-machine model, the makespan is


equal to a constant for any sequence of n given jobs.
 In the parallel-machine model, the makespan
problem is purely one of allocating jobs to
machines.
 The simplest makespan problem arises when the
jobs are independent and we permit preemption.
Parallel Machine Models:
Minimizing the Makespan
 The central result, originally due to McNaughton (1959),
gives a formula for the minimum makespan, M*, as follows:

n 
M  max  p j / m, max j  p j  
*

 j 1 
 The formula states that either the work will be allocated
evenly among the machines, or else the length of the longest
job will determine the makespan.
Parallel Machine Models:
Minimizing the Makespan

Algorıthm
Minimizing Makespan (M) with m Parallel, Identical Machines

Step 1. Select some job to begin on machine 1 at time zero


Step 2. Choose any unscheduled job and schedule it as early as
possible on the same machine. Repeat this step until the machine is
occupied beyond time M* (or until all jobs are scheduled).
Step 3. Reassign the processing scheduled beyond M* to the next machine
instead, starting at time zero. Return to Step 2.
Parallel Machine Models: Minimizing the
Makespan- Example 4

 Suppose that there are m=3 machines, and the job


set consists of the following eight jobs.

Job j 1 2 3 4 5 6 7 8
pj 1 2 3 4 5 6 7 8

M* =12
Parallel Machine Models: Minimizing the
Makespan- Example 4

Job j 1 2 3 4 5 6 7 8
pj 1 2 3 4 5 6 7 8

1 2 3 4 5

5 6 7

7 8

M* = 12
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs

 The problem of minimizing the makespan is more difficult.


 In fact, it is NP-hard, even for two machines.
 The determination of optimal schedules for the makespan
requires such general purpose methods as branch and bound.
 In the case of branch and bound, it is not easy to obtain tight
lower bounds.
 Thus, general-purpose techniques have not had much
success except on relatively small problems.
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs

 A reasonable way to build a schedule in practice is as follows:


– First construct a list of the jobs, in some order.
– Then remove the first job from the list and place it in the schedule as
early as possible.
– Next, repeat this step without changing the existing partial schedule,
each time removing the first job on the list and placing it in the
schedule to start at the earliest feasible time.
 We can think of this approach, called list scheduling,
scheduling as a method
for constructing a schedule.
 Of course, there is no obvious way to order the list so that it
produces the optimal makespan.
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs

 The following list scheduling procedure, in most cases, achieves


the makspan minimization objective effectively.
Step 1. Arrange the jobs in descending(nonincreasing) order of the processing
times. Designate this as the list.
Step 2. The lower bound of the minimum achievable makespan is given by M*.
A machine is designated as available if the sum of the processing times
of the jobs assigned to the machine is less than the calculated lower bound.
Initially all the machines are available.
Step 3. Start allocating the jobs to one machine beginning with the job having the
highest processing time. In case of a tie, break it randomly. Continue
allocating the jobs to the machine under consideration, in decresing order of
processing times (pi) until one of the following happens:
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs

a) The sum of processing times of the jobs assigned to the machine under consideration
becomes equal to the lower bound. If this happens start assigning jobs to the next
available machine.
b) The sum of processing times of the jobs assigned to the machine becomes greater than
the lower bound. If this happens, the job that has caused the sum to be greater than the
lower bound and subsequent jobs are allocated in the following manner: Sweep accross
the available machines (in order 1,2,3, …) If the sum of processing times on the next
machine is less than the lower bound and allocation of the job there will not increase
the cumulative processing time on the machine beyond the lower bound, assign the job
there. If not, continue the check with the next available machine. If, on all available
machines, the assignment of the present job will increase the sum beyond the lower
bound, assign the job to the machine on which such increase would be minimum.
Once all the jobs are assigned, the minimum makespan is the maximum of the sum
of processing times on each machine.
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs- Example 5

• If pre-emption is not allowed, we can use list scheduling.


Job j 1 2 3 4 5 6 7 8
pj 1 2 3 4 5 6 7 8

8 7

6 M* = 12
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs- Example 5

• If pre-emption is not allowed, we can use list scheduling.


Job j 1 2 3 4 5 6 7 8
pj 1 2 3 4 5 6 7 8

6 M* = 12
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs- Example 5

• If pre-emption is not allowed, we can use list scheduling.


Job j 1 2 3 4 5 6 7 8
pj 1 2 3 4 5 6 7 8

7 6

6 M* = 12
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs- Example 5

• If pre-emption is not allowed, we can use list scheduling.


Job j 1 2 3 4 5 6 7 8
pj 1 2 3 4 5 6 7 8

8 5

6 M* = 12
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs- Example 5

• If pre-emption is not allowed, we can use list scheduling.


Job j 1 2 3 4 5 6 7 8
pj 1 2 3 4 5 6 7 8

8 4

7 5

6 3 2 1

6 M* = 12
Parallel Machine Models: Minimizing the
Makespan- Nonpreemtable Jobs- Example 6

• Suppose we have nine jobs and three machines. We wish develop the detail
schedule for each machine that will minimize the makespan. Processing times
are as follows:

Job j 1 2 3 4 5 6 7 8 9
pj 10 12 5 8 7 3 5 15 12

• In the first step, we arrange jobs in descending order of their processing times:

Job j 8 2 9 1 4 5 3 7 6
pj 15 12 12 10 8 7 5 5 3
Job j 8 2 9 1 4 5 3 7 6
pj 15 12 12 10 8 7 5 5 3

Parallel Machine Models: Minimizing the


Makespan- Nonpreemtable Jobs- Example 6

• The sum of processing times is 77, and therefore with the three
machines the minimum makespan is M* = 77/3 = 26 (the numbers are
rounded up).

8 1
Makespan (Cmax) =27

2 9 6

4 5 3 7

0 6 13 15 20 M* = 26
REFERENCES
 Operations Management, Sixth Edition and Principles of Operations
Management, Fourth Edition, Jay Heizer and Barry Render
 What is Industrial Engineering? John Blake IENG 4500, March 2003,
www.dal.ca/~jblake/ieng4500/My%20Notes/ Scheduling%20Part%202.ppt
 Üretim Planlaması Yöntem ve Uygulamaları, Nesime Acar, MPM
Ankara, 1998.
 Production and Operations Analysis Steven Nahmias, McGraw-Hill
Third Edition, 1997
 Elements of Sequencing and Scheduling, Kenneth R. Baker, 1998
 Industrial Scheduling, D.R. Sule, PWS Publishing Company. 1997

También podría gustarte