Scheduling Problems and Solutions - New York Universityweb- predetermined route for each job A machine

  • View

  • Download

Embed Size (px)

Text of Scheduling Problems and Solutions - New York Universityweb- predetermined route for each job A...

  • University Dortmund Robotics Research Institute Section Information Technology

    Scheduling Problems and Solutions

    Uwe Schwiegelshohn

    IRF-IT Dortmund University Summer Term 2006

  • 2


    Scheduling – Theory, Algorithms, and Systems Michael Pinedo 2nd edition, 2002 Prentice-Hall Inc. Pearson Education

    The lecture is based on this textbook.

    These slides are an extract from this book. They are to be used only for this lecture and as a complement to the book.

  • 3

    Scheduling Problem

    Constraints Tasks Time

    Resources (Jobs) (Machines)


    Areas: Manufacturing and production Transportations and distribution Information - processing

  • 4

    Example 1 Paper Bag Factory

    different types of paper bags 3 production stages

    printing of the logo gluing of the side sewing of one or both ends

    several machines for each stage differences in speed and function processing speed and processing quantity setup time for a change of the bag type

    due time and late penalty minimization of late penalties, setup times

  • 5

    Example 2 Gate Assignments at Airport

    different types of planes (size) different types of gates (size, location) flight schedule

    randomness (weather, take off policy) service time at gate

    deplaning of passengers service of airplane boarding of passengers

    minimization of work for airline personnel minimization of airplane delay

  • 6

    Example 3 Tasks in a CPU

    different applications unknown processing time known distributions (average, variance) priority level

    multitasking environment preemption

    minimization of the sum of expected weighted completion times

  • 7

    Information Flow Diagram in a Manufacturing System

    Production planning, Orders, demand forecasts master scheduling

    Capacity Quantities, status due dates

    Material requirements, planning, Material requirements

    capacity planning

    Scheduling Shop orders, constraints release dates

    Scheduling and

    rescheduling Detailed scheduling Schedule performance Schedule


    Shop status Shopfloor


    Data collection Job loading


  • 8

    Information Flow Diagram in a Service System

    Database Forecasting

    Scheduling Yield management


    Status (history)

    Prices rules


    Accept/ reject

    (conditions) Place order,

    make reservations

  • 9

    Job Properties

    pij: processing time of job j on machine i (pj: identical processing time of job j on all machines)

    rij: release date of job j (earliest starting time) dj: due date of job j (completion of job j after dj results in a late penalty)

    : deadline ( must be met) wj: weight of job j (indicates the importance of the job)

    jd jd

  • 10

    Machine Environment

    1 : single machine : m identical machines in parallel : m machines in parallel with different speeds : m unrelated machines in parallel : flow shop with m machines in series

    each job must be processed on each machine using the same route. queues between the machines

    FIFO queues, see also permutation flow shop : flexible flow shop with c stages in series and several identical machines at each stage, one job needs processing on only one (arbitrary) machine at each stage.

    mP mQ mR mF


  • 11

    Machine Environment

    : job show with m machines with a separate predetermined route for each job

    A machine may be visited more than once by a job. This is called recirculation.

    : flexible job shop with c stages and several identical machines at each stage, see FFc

    : Open shop with m machines Each job must be processed on each machine.




  • 12

    Restrictions and Constraints

    release dates, see also job properties sequence dependent setup times

    Sijk : setup time between job j and job k on machine i (Sjk : identical setup times for all machines) (S0j : startup for job j) (Sj0 : cleanup for job j)

    preemption (prmp) The processing of a job can be interrupted and later resumed (on the same or another machine).

    precedence constraints (prec) Certain jobs must be completed before another job can be started.

    representation as a directed acyclic graph (DAG)

  • 13

    Restrictions and Constraints

    machine breakdowns (brkdwn) machines are not continuously available: For instance, m(t) identical parallel machines are available at time t.

    machine eligibility restrictions (Mj ) Mj denotes the set of parallel machines that can process job j (for Pm and Qm ).

    permutation (prmu), see Fm blocking (block)

    A completed job cannot move from one machine to the next due to limited buffer space in the queue. Therefore, it blocks the previous machine (Fm , FFc )

    no – wait (nwt) A job is not allowed to wait between two successive executions on different machines (Fm , FFc ).

    recirculation (recirc)

  • 14

    Objective Functions

    Completion time of job j: Cj

    Lateness of job j: Lj = Cj – dj The lateness may be positive or negative.

    Tardiness: Tj = max (Lj , 0)

    1, if Cj > dj, Number of late jobs: Uj =

    0, otherwise

  • 15

    Objective Functions

    jL jT jU

    Makespan: Cmax =max (C1 ,...,Cn ) completion time of the last job in the system

    Maximum lateness: Lmax =max (L1,..., Ln )


    jC jC jC

    jd jdjd

  • 16

    Objective Functions

    Total weighted completion time: Σ wj Cj Total weighted flow time: (Σ wj ( Cj – rj )) = Σ wj Cj – Σ wj rj

    const. Discounted total weighted completion time:

    (Σ wj (1 – e -rCj )) 0

  • 17

    Description of a Scheduling Problem

    α | β | γ

    machine environment objective (to be minimized)

    constraints, processing,

    characteristics Examples:

    Paper bag factory FF3 | rj , sjk| Σ wj Tj Gate assignment Pm | rj , Mj | Σ wj Tj Tasks in a CPU l | rj , prmp | Σ wj Cj Traveling Salesman l | sjk | Cmax

  • 18

    Classes of Schedules

    Nondelay (greedy) schedule No machine is kept idle while a task is waiting for processing.

    An optimal schedule need not be nondelay!

    Example: P2 | prec | Cmax

    15882232778pj 10987654321jobs

  • 19

    Precedence Constraints Original Schedule

    6 5 37

    2 8 9





    0 10 20 30

    1 10


    5 8


    6 7 9


    = job completed

  • 20

    Precedence Constraints Reduced Processing Time








    0 10 20 30

    1 10


    5 8


    6 7 9




    4 5 7

    = job completed

    The processing time of each job is reduced by 1 unit.

  • 21

    Precedence Constraints Use of 3 Machines


    5 3









    0 10 20 30

    1 10


    5 8


    6 7 9


    = job completed

    3 machines are used instead of 2 with the original processing times

  • 22

    Active Schedule

    It is not possible to construct another schedule by changing the order of processing on the machines and having at least one task finishing earlier without any task finishing later.

    There is at least one optimal and active schedule for Jm||γ if the objective function is regular.

    Example : Consider a job shop with three machines and two jobs.

    Job 1 needs 1 time unit on machine 1 and 3 time units on machine 2. Job 2 needs 2 time units on machine 3 and 3 time units on machine 2. Both jobs have to be processed last on machine 2.

  • 23

    Example of an Active Schedule

    Machine 1 1

    Machine 2 2 1

    Machine 3 2

    0 2 4 6 8 t

    It is clear that this schedule is active as reversing the sequence of the two jobs on machine 2 postpones the processing of job 2. However, the schedule is neither nondelay nor optimal. Machine 2 remains idle until time 2 while there is a job available for processing at time 1.

  • 24

    Semi – active Schedule

    No task can be completed earlier without changing the order of processing on any one of the machines.

    Example: Consider again a schedule with three machines and two jobs. The

    routing of the two jobs is the same as in the previous example. The processing times of job 1 on machines 1 and 2 are both equal to 1. The processing times of job 2 on machines 2 and 3 are both equal


View more >