multi machine

Upload: seviye-kose

Post on 10-Apr-2018

220 views

Category:

Documents


0 download

TRANSCRIPT

  • 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