Multi Machine
-
Upload
seviye-kose -
Category
Documents
-
view
216 -
download
0
Transcript of Multi Machine
-
8/8/2019 Multi Machine
1/33
1
Multi-Machine Scheduling
-
8/8/2019 Multi Machine
2/33
Scheduling Algorithms:Outline
Extending the basic model. The 2 machine serial problem.
Johnsons rules for 2 machines.
Extension of Johnsons rule for 3 machines.
M-Machine in parallel. Preemption allowed.
No preemption allowed.
-
8/8/2019 Multi Machine
3/33
Scheduling is easy, right?
In the 1 machine problem, makespan Cmax is
always the same, no matter how we changethe schedule.
In the m-machine problem the sequence will
influence Cmax, but the problems are muchharder to solve.
-
8/8/2019 Multi Machine
4/33
The 2 machine flowshop problem
MachineA
MachineB
Cmax
Ai = Processing time of job i on machine A.
Bi = Processing time of job i on machine B.
Job i
J A i CA B i CB
1 6 6 3 92 2 8 9 18
3 4 12 3 214 1 13 8 295 7 20 1 306 4 24 5 357 7 31 6 41
-
8/8/2019 Multi Machine
5/33
Johnsons Rule for 2 Machines
-
8/8/2019 Multi Machine
6/33
Johnsons Rule for 2 Machines
1. Put all jobs into a set of unscheduled jobs.
2. Find the job in the unscheduled list with the shortestprocessing time (on either machine).
3. If the processing time is shortest on machine A schedule it asearly 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.
-
8/8/2019 Multi Machine
7/33
Johnsons Rule for 2 Machines
-
8/8/2019 Multi Machine
8/33
Johnsons Rule
Explain Johnsons Rule through an Example
J A i CA B i CB
1 6 6 3 92 2 8 9 183 4 12 3 21
4 1 13 8 295 7 20 1 306 4 24 5 357 7 31 6 41
-
8/8/2019 Multi Machine
9/33
The 2 machine problem:Final Result
Cmax
J MA CA MB CB4 1 1 8 92 2 3 9 186 4 7 5 237 7 14 6 29
1 6 20 3 323 4 24 3 355 7 31 1 36
-
8/8/2019 Multi Machine
10/33
Johnsons Rule: Example 2
Five jobs go through two work centers, as shown below:
What is the appropriate sequence for these jobs?
Job Varnishing
(Center 1)
Painting (Center
2)
R 4 5
S 17 7
T 14 12
U 9 2
V 11 6
-
8/8/2019 Multi Machine
11/33
Johnsons Rule: Example 2
-
8/8/2019 Multi Machine
12/33
An Intuitive Proof forJohnsons
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 wouldlike to do short jobs so that B finishes quickly.
-
8/8/2019 Multi Machine
13/33
Johnsons 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 bereduced to a two-machine problem if the following condition issatisfied:
It is only necessary that eitherone of these conditions be satisfied. If thatis the case, then the problem is reduced to a two-machine problem in thefollowing way:
maxminormaxmin iiii BCBA uu
iiiiii !d!d de ineand,De ine
-
8/8/2019 Multi Machine
14/33
Consider the following job times for a three-machine
problem. Assume that the jobs are processed in the sequenceA-B-C.
Johnsons Rule: Example 3
Job A B C
1 4 5 82 9 6 10
3 8 2 6
4 6 3 7
5 5 4 11
Machine
-
8/8/2019 Multi Machine
15/33
The required condition is satisfied. We now form the two
columnsA
andB
.
Johnsons Rule: Example 3
Job A'
B'
1 9 132 15 16
3 10 8
4 9 10
5 9 15
Mach ne The problem is now solved usingthe two-machine algorithm. Theoptimal solution is
1-4-5-2-3Note that because of ties incolumn A, the optimal solution isnot unique.
-
8/8/2019 Multi Machine
16/33
Parallel Machine Models
In general, scheduling requires both sequencing and resourceallocation decisions. When there is only one resource, theallocation of that resource is completely determined bysequencing decisions.
The basic parallel machine model assumes: There are njobs simultaneously available at time zero. mparallel 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.
-
8/8/2019 Multi Machine
17/33
Parallel Machine Models:Minimizing the Makespan
In the basic single-machine model, the makespan is
equal to a constant for any sequence ofn given jobs. In the parallel-machine model, the makespan
problem is purely one of allocating jobs tomachines.
The simplest makespan problem arises when thejobs are independent and we permit preemption.
-
8/8/2019 Multi Machine
18/33
Parallel Machine Models:Minimizing the Makespan
The central result, originally due to McNaughton (1959),
gives a formula for the minimum makespan,M*,
as follows:
The formula states that either the work will be allocatedevenly among the machines, or else the length of the longestjob will determine the makespan.
_ a
-
!
!
n
j
jjj pmpM1
* max,/max
-
8/8/2019 Multi Machine
19/33
Parallel Machine Models:Minimizing the Makespan
AlgorthmAlgorthm
MinimizingMakespan (M) with m Parallel, IdenticalMachinesMinimizingMakespan (M) with m Parallel, IdenticalMachines
Step 1. Select some job to begin on machine 1 at time zero
Step 2. Choose any unscheduled job and schedule it as early aspossible on the same machine. Repeat this step until the
machine is occupied beyond time M*
(or until all jobs arescheduled).
Step 3. Reassign the processing scheduled beyond M* to the next machineinstead, starting at time zero. Return to Step 2.
-
8/8/2019 Multi Machine
20/33
Parallel Machine Models: Minimizing theMakespan- Example 4
Suppose that there are m=3 machines, and the job
set consists of the following eight jobs.
M* =12
Jobj 1 2 3 4 5 6 7 8
p j 1 2 3 4 5 6 7 8
-
8/8/2019 Multi Machine
21/33
1 2 3 4
65
5
8
7
7
M* = 12
Parallel Machine Models: Minimizing theMakespan- Example 4
Jobj 1 2 3 4 5 6 7 8
p j 1 2 3 4 5 6 7 8
-
8/8/2019 Multi Machine
22/33
Parallel Machine Models: Minimizing theMakespan- 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.
-
8/8/2019 Multi Machine
23/33
Parallel Machine Models: Minimizing theMakespan- 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 theschedule to start at the earliest feasible time.
We can think of this approach, called listschedulinglistscheduling, as a methodfor constructing a schedule.
Of course, there is no obvious way to order the list so that itproduces the optimal makespan.
-
8/8/2019 Multi Machine
24/33
Parallel Machine Models: Minimizing theMakespan- Nonpreemtable Jobs
The following list scheduling procedure, in most cases, achievesthe makspan minimization objective effectively.
Step 1. Arrange the jobs in descending(nonincreasing) order of the processingtimes. esignate this as the list.
Step 2. The lower bound of the minimum achievable makespan is given byM*.A machine is designated as available if the sum of the processing timesof the jobs assigned to the machine is less than the calculated lower bound.I
nitially 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. Continueallocating the jobs to the machine under consideration, in decresing orderof processing times (pi) until one of the following happens:
-
8/8/2019 Multi Machine
25/33
Parallel Machine Models: Minimizing theMakespan- Nonpreemtable Jobs
a) The sum of processing times of the jobs assigned to the machine underconsideration 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 tobe greater than the lower bound and subsequent jobs are allocated in thefollowing manner: Sweep accross the available machines (in order 1,2,3, ) Ifthe sum of processing times on the nextmachine is less than the lower boundand allocation of the job there will not increase the cumulative processing timeon the machine beyond the lower bound, assign the job there. If not, continuethe check with the next available machine. If, on all available machines, theassignment 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 ofthe sum of processing times on each machine.
-
8/8/2019 Multi Machine
26/33
If pre-emption is not allowed, we can use list scheduling.
8 7
M* = 12
Parallel Machine Models: Minimizing theMakespan- Nonpreemtable Jobs- Example 5
6
Jo j 1 2 3 4 5 6 7 8
p j 1 2 3 4 5 6 7 8
-
8/8/2019 Multi Machine
27/33
If pre-emption is not allowed, we can use list scheduling.
8
7
M* = 12
Parallel Machine Models: Minimizing theMakespan- Nonpreemtable Jobs- Example 5
6
Jo j 1 2 3 4 5 6 7 8
p j 1 2 3 4 5 6 7 8
-
8/8/2019 Multi Machine
28/33
If pre-emption is not allowed, we can use list scheduling.
8
7
M* = 12
Parallel Machine Models: Minimizing theMakespan- Nonpreemtable Jobs- Example 5
6
6
Jo j 1 2 3 4 5 6 7 8
p j 1 2 3 4 5 6 7 8
-
8/8/2019 Multi Machine
29/33
If pre-emption is not allowed, we can use list scheduling.
8
7
M* = 12
Parallel Machine Models: Minimizing theMakespan- Nonpreemtable Jobs- Example 5
6
6
5
Jo j 1 2 3 4 5 6 7 8
p j 1 2 3 4 5 6 7 8
-
8/8/2019 Multi Machine
30/33
If pre-emption is not allowed, we can use list scheduling.
8
7
M* = 12
Parallel Machine Models: Minimizing theMakespan- Nonpreemtable Jobs- Example 5
6
6
5
4
123
Jo j 1 2 3 4 5 6 7 8
p j 1 2 3 4 5 6 7 8
-
8/8/2019 Multi Machine
31/33
Suppose we have nine jobs and three machines. We wish develop the detailschedule for each machine that will minimize the makespan. Processing times
are as follows:
In the first step, we arrange jobs in descending order of their processing times:
Parallel Machine Models: Minimizing theMakespan- Nonpreemtable Jobs- Example 6
Jobj 3 4 5 7 8 9
p j 10 12 5 8 7 3 5 15 12
Jobj 8 2 9 1 4 5 3 7 6
p j 15 12 12 10 8 7 5 5 3
-
8/8/2019 Multi Machine
32/33
The sum of processing times is 77, and therefore with the threemachines the minimum makespan is M* = 77/3 = 26 (the numbers are
rounded up).
Parallel Machine Models: Minimizing theMakespan- Nonpreemtable Jobs- Example 6
735
1
62
M* = 26130
9
Jobj 8 2 9 1 4 5 3 7 6
p j 15 12 12 10 8 7 5 5 3
6 2015
Makespa (Cmax) =27
-
8/8/2019 Multi Machine
33/33
REFERENCES
Operations Management, Sixth Edition and Principles ofOperationsManagement, 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 Yntem ve Uygulamalar, Nesime Acar, MPMAnkara, 1998.
Production and Operations Analysis Steven Nahmias, McGraw-HillThird Edition, 1997
Elements of Sequencing and Scheduling, Kenneth R. Baker, 1998
Industrial Scheduling, .R. Sule, PWS Publishing Company. 1997