Topics 1 10

download Topics 1 10

of 134

Transcript of Topics 1 10

  • 8/8/2019 Topics 1 10

    1/134

    Spring 2002 IE 514 1

    IE 514 Production

    Scheduling

    Introduction

  • 8/8/2019 Topics 1 10

    2/134

    Spring 2002 IE 514 2

    Contact Information

    Siggi Olafsson

    3018 Black Engineering

    294-8908

    [email protected]

    http://www.public.iastate.edu/~olafsson

    OH: MW 10:30-12:00

  • 8/8/2019 Topics 1 10

    3/134

    Spring 2002 IE 514 3

    Administration (Syllabus)

    Text

    Prerequisites

    Assignments

    Homework 35%

    Project 40%

    Final Exam 35%

    Computing

  • 8/8/2019 Topics 1 10

    4/134

    Spring 2002 IE 514 4

    What is Scheduling About?

    Applied operations research

    Models

    Algorithms

    Solution using computers

    Implement algorithms

    Draw on common databases Integration with other systems

  • 8/8/2019 Topics 1 10

    5/134

    Spring 2002 IE 514 5

    Application Areas

    Procurement and production

    Transportation and distribution

    Information processing andcommunications

  • 8/8/2019 Topics 1 10

    6/134

    Spring 2002 IE 514 6

    Manufacturing Scheduling

    Short product life-cycles

    Quick-response manufacturing

    Manufacture-to-order

    More complex operations must bescheduled in shorter amount of time withless room for errors!

  • 8/8/2019 Topics 1 10

    7/134

    Spring 2002 IE 514 7

    Scope ofCourse

    Levels of planning and scheduling

    Long-range planning (several years),

    middle-range planning (1-2 years),

    short-range planning (few months),

    scheduling (few weeks), and

    reactive scheduling (now) These functions are now often integrated

  • 8/8/2019 Topics 1 10

    8/134

    Spring 2002 IE 514 8

    Scheduling Systems

    Enterprise Resource Planning (ERP)

    Common for larger businesses

    Materials Requirement Planning (MRP)

    Very common for manufacturing companies

    Advanced Planning and Scheduling (APS)

    Most recent trend

    Considered advanced feature of ERP

  • 8/8/2019 Topics 1 10

    9/134

    Spring 2002 IE 514 9

    Scheduling Problem

    Allocate scarce resources to tasks

    Combinatorial optimization problem

    Maximize profit

    Subject to constraints

    Mathematical techniques and heuristics

  • 8/8/2019 Topics 1 10

    10/134

    Spring 2002 IE 514 10

    OurApproach

    Scheduling Problem

    Model

    Conclusions

    Problem Formulation

    Solve with Computer Algorithms

  • 8/8/2019 Topics 1 10

    11/134

    Spring 2002 IE 514 11

    Scheduling Models

    Project scheduling

    Job shop scheduling

    Flexible assembly systems

    Lot sizing and scheduling

    Interval scheduling, reservation,timetabling

    Workforce scheduling

  • 8/8/2019 Topics 1 10

    12/134

    Spring 2002 IE 514 12

    General Solution

    Techniques

    Mathematical programming

    Linear, non-linear, and integer programming

    Enumerative methods

    Branch-and-bound

    Beam search

    Local search Simulated annealing/genetic algorithms/tabu

    search/neural networks.

  • 8/8/2019 Topics 1 10

    13/134

    Spring 2002 IE 514 13

    Scheduling System Design

    Databases

    Schedulegeneration

    User interfaces

    Database Management

    Automatic Schedule Generator

    Schedule EditorPerformance

    Evaluation

    Graphical Interface

    User

    Order

    master file

    Shop floor

    data collection

  • 8/8/2019 Topics 1 10

    14/134

    Spring 2002 IE 514 14

    LEKIN

    On disk with book

    Generic job shop scheduling system

    User friendly windows environment

    C++ object oriented design

    Can add own routines

  • 8/8/2019 Topics 1 10

    15/134

    Spring 2002 IE 514 15

    Advanced Topics

    Uncertainty, robustness, and reactivescheduling

    Multiple objectives

    Internet scheduling

  • 8/8/2019 Topics 1 10

    16/134

    Spring 2002 IE 514 16

    Topic 1

    Setting up the Scheduling

    Problem

  • 8/8/2019 Topics 1 10

    17/134

    Spring 2002 IE 514 17

    Modeling

    Three components to any model:

    Decision variables

    This is what we can change to affect the system,that is, the variables we can decide upon

    Objective function

    E.g, cost to be minimized, quality measure to be

    maximized

    Constraints

    Which values the decision variables can be set to

  • 8/8/2019 Topics 1 10

    18/134

    Spring 2002 IE 514 18

    Decision Variables

    Three basic types of solutions:

    A sequence: a permutation of the jobsA schedule: allocation of the jobs in a more

    complicated setting of the environment

    A scheduling policy: determines the next

    job given the current state of the system

  • 8/8/2019 Topics 1 10

    19/134

    Spring 2002 IE 514 19

    Model Characteristics

    Multiple factors:

    Number of machine and resources,

    configuration and layout,

    level of automation, etc.

    Our terminology:

    Resource = machine (m)Entity requiring the resource = job (n)

  • 8/8/2019 Topics 1 10

    20/134

    Spring 2002 IE 514 20

    Notation

    Static data:

    Processing time (pij)

    Release date (rj)

    Due date (dj)

    Weight (wj)

    Dynamic data: Completion time (Cij)

  • 8/8/2019 Topics 1 10

    21/134

    Spring 2002 IE 514 21

    Machine Configuration

    Standard machine configurations:

    Single machine models

    Parallel machine models

    Flow shop models

    Job shop models

    Real world always more complicated.

  • 8/8/2019 Topics 1 10

    22/134

    Spring 2002 IE 514 22

    Constraints

    Precedence constraints

    Routing constraints

    Material-handling constraints

    Storage/waiting constraints

    Machine eligibility

    Tooling/resource constraints

    Personnel scheduling constraints

  • 8/8/2019 Topics 1 10

    23/134

    Spring 2002 IE 514 23

    OtherCharacteristics

    Sequence dependent setup

    Preemptions

    preemptive resume

    preemptive repeat

    Make-to-stock versus make-to-order

  • 8/8/2019 Topics 1 10

    24/134

    Spring 2002 IE 514 24

    Objectives and

    Performance Measures

    Throughput (TP) and makespan (Cmax)

    Due date related objectives

    Work-in-process (WIP), lead time

    (response time), finished inventory

    Others

  • 8/8/2019 Topics 1 10

    25/134

    Spring 2002 IE 514 25

    Throughput and Makespan

    Throughput

    Defined by bottleneck machines

    Makespan

    Minimizing makespan tends to maximizethroughput and balance load

    _ a_ a niiiii

    n

    ,...,1,,...,,max

    ,...,,max

    21

    21max

    !!

    !

  • 8/8/2019 Topics 1 10

    26/134

    Spring 2002 IE 514 26

    Due Date Related

    Objectives

    Lateness

    Minimize maximum lateness (Lmax)

    Tardiness

    Minimize the weighted tardiness

    jjj dCL

    _ a0,max jjj dCT !

    !

    n

    j

    jjTw1

  • 8/8/2019 Topics 1 10

    27/134

    Spring 2002 IE 514 27

    Due Date Penalties

    jdjC

    jL

    jdjC

    j

    jdjC

    jU1

    jdjC

    In practice

    Tardiness

    Late or Not

    Lateness

  • 8/8/2019 Topics 1 10

    28/134

    Spring 2002 IE 514 28

    WIP and Lead Time

    Work-in-Process (WIP) inventory cost

    Minimizing WIP also minimizes average

    lead time (throughput time) Minimizing lead time tends to minimize

    the average number of jobs in system

    Equivalently, we can minimize sum of thecompletion times:

    n

    i

    jC1

    n

    j

    jjCw1

  • 8/8/2019 Topics 1 10

    29/134

    Spring 2002 IE 514 29

    OtherCosts

    Setup cost

    Personnel cost

    Robustness

    Finished goods inventory cost

  • 8/8/2019 Topics 1 10

    30/134

    Spring 2002 IE 514 30

    Topic 2

    Solving Scheduling

    Problems

  • 8/8/2019 Topics 1 10

    31/134

    Spring 2002 IE 514 31

    Classic Scheduling Theory

    Look at a specific machine environmentwith a specific objective

    Analyze to prove an optimal policy or toshow that no simple optimal policy exists

    Thousands of problems have been studiedin detail with mathematical proofs!

  • 8/8/2019 Topics 1 10

    32/134

    Spring 2002 IE 514 32

    Example: single machine

    Lets say we have

    Single machine (1), where

    the total weighted completion time should beminimized (7wjCj)

    We denote this problem as

    jjCw||1

  • 8/8/2019 Topics 1 10

    33/134

    Spring 2002 IE 514 33

    Optimal Solution

    Theorem: Weighted Shortest Processingtime first - called the WSPT rule - is

    optimal for

    Note: The SPT rule starts withthe job thathasthe shortestprocessingtime, moves onthe jobwiththe secondshortestprocessingtime, etc.

    jjCw||1

  • 8/8/2019 Topics 1 10

    34/134

    Spring 2002 IE 514 34

    Proof (by contradiction)

    Suppose it is not true and schedule S is optimal

    Then there are two adjacent jobs, say job jfollowed by job k such that

    Do a pairwise interchange to get schedule S

    k

    k

    j

    j

    p

    w

    p

    w

    j k

    k j

    kj ppt

    kj ppt

    t

    t

  • 8/8/2019 Topics 1 10

    35/134

    Spring 2002 IE 514 35

    Proof (continued)

    The weighted completion time of the two jobs under S is

    The weighted completion time of the two jobs under S is

    Now:

    Contradicting that S is optimal.

    jkjkk wpptwpt )()(

    kkjjj wpptwpt )()(

    jjkkk

    kkjkjj

    kkkjjjkkjjj

    wpptwpt

    wptwpwpt

    wptwpwptwpptwpt

    )()(

    )()(

    )()()()(

    !

    "

    !

  • 8/8/2019 Topics 1 10

    36/134

    Spring 2002 IE 514 36

    Complexity Theory

    Classic scheduling theory draws heavily oncomplexity theory

    The complexity of an algorithm is itsrunning time in terms of the inputparameters (e.g., number of jobs and

    number of machines) Big-Oh notation, e.g., O(n2m)

  • 8/8/2019 Topics 1 10

    37/134

    Spring 2002 IE 514 37

    Polynomial versus NP-Hard

    )(log nO

    )(nO

    )(2

    nO)2(n

    O

    )(sizeroblem n

    Time

  • 8/8/2019 Topics 1 10

    38/134

    Spring 2002 IE 514 38

    Scheduling in Practice

    Practical scheduling problems cannot besolved this easily!

    Need: Heuristic algorithms

    Knowledge-based systems

    Integration with other enterprise functions However, classic scheduling results are

    useful as a building block

  • 8/8/2019 Topics 1 10

    39/134

    Spring 2002 IE 514 39

    General Purpose

    Scheduling Procedures

    Some scheduling problems are easy

    Simple priority rules

    Complexity: polynomial time

    However, most scheduling problems arehard

    Complexity: NP-hard, strongly NP-hard Finding an optimal solution is infeasible in

    practice heuristic methods

  • 8/8/2019 Topics 1 10

    40/134

    Spring 2002 IE 514 40

    Types of Heuristics

    Simple Dispatching Rules

    Composite Dispatching Rules

    Branch and Bound

    Beam Search

    Simulated Annealing

    Tabu Search

    Genetic Algorithms

    Construction

    Methods

    Improvement

    Methods

  • 8/8/2019 Topics 1 10

    41/134

    Spring 2002 IE 514 41

    Topic 3

    Dispatching Rules

  • 8/8/2019 Topics 1 10

    42/134

    Spring 2002 IE 514 42

    Dispatching Rules

    Prioritize all waiting jobs

    job attributes

    machine attributes current time

    Whenever a machine becomes free: select

    the job with the highest priority Static or dynamic

  • 8/8/2019 Topics 1 10

    43/134

    Spring 2002 IE 514 43

    Release/Due Date Related

    Earliest release date first (ERD) rule

    variance in throughput times

    Earliest due date first (EDD) rule maximum lateness

    Minimum slack first (MS) rule

    maximum lateness_ a0,max tpd jj

    Current

    Time

    Processing

    TimeDeadline

  • 8/8/2019 Topics 1 10

    44/134

    Spring 2002 IE 514 44

    Processing Time Related

    Longest Processing Time first (LPT) rule

    balance load on parallel machines

    makespan

    Shortest Processing Time first (SPT) rule

    sum of completion times

    WIP Weighted Shortest Processing Time first

    (WSPT) rule

  • 8/8/2019 Topics 1 10

    45/134

    Spring 2002 IE 514 45

    Processing Time Related

    Critical Path (CP) rule

    precedence constraints

    makespan

    Largest Number of Successors (LNS) rule

    precedence constraints

    makespan

  • 8/8/2019 Topics 1 10

    46/134

    Spring 2002 IE 514 46

    Other Dispatching Rules

    Service in Random Order (SIRO) rule

    Shortest Setup Time first (SST) rule

    makespan and throughput

    Least Flexible Job first (LFJ) rule

    makespan and throughput

    Shortest Queue at the Next Operation(SQNO) rule

    machine idleness

  • 8/8/2019 Topics 1 10

    47/134

    Spring 2002 IE 514 47

    Discussion

    Very simple to implement

    Optimal for special cases

    Only focus on one objective

    Limited use in practice

    Combine several dispatching rules

    Composite Dispatching Rules

  • 8/8/2019 Topics 1 10

    48/134

    Spring 2002 IE 514 48

    Example

    Single Machine with

    Weighted Total Tardiness

  • 8/8/2019 Topics 1 10

    49/134

    Spring 2002 IE 514 49

    Setup

    Problem:

    No efficient algorithm (NP-Hard)

    Branch and bound can only solve verysmall problems (

  • 8/8/2019 Topics 1 10

    50/134

    Spring 2002 IE 514 50

    Case 1: Tight Deadlines

    Assume dj=0

    Then

    We know that WSPT is optimal for thisproblem!

    _ a_ a

    !!!

    !

    jjjj

    jj

    jjj

    CwTw

    CC

    dCT

    ,0max

    ,0max

  • 8/8/2019 Topics 1 10

    51/134

    Spring 2002 IE 514 51

    Conclusion

    The WSPT is optimal in the extreme caseand should be a good heuristic whenever

    due dates are tight

    Now lets look at the opposite

  • 8/8/2019 Topics 1 10

    52/134

    Spring 2002 IE 514 52

    Case 2: Easy Deadlines

    Theorem: If the deadlines are sufficientlyspread out then the MS rule

    is optimal (proof a bit harder)

    Conclusion: The MS rule should be a goodheuristic whenever deadlines are widelyspread out

    _ a0,maxarg tpdj jjselect

  • 8/8/2019 Topics 1 10

    53/134

    Spring 2002 IE 514 53

    Composite Rule

    Two good heuristics

    Weighted Shorted Processing Time (WSPT )

    optimal with due dates zero

    Minimum Slack (MS)

    Optimal when due dates are spread out

    Any real problem is somewhere in between

    Combine the characteristics of these rulesinto one composite dispatching rule

  • 8/8/2019 Topics 1 10

    54/134

    Spring 2002 IE 514 54

    Apparent Tardiness Cost

    (ATC) Dispatching Rule

    New ranking index

    When machine becomes free: Compute index for all remaining jobs

    Select job with highest value

    Scaling constant

    _ a

    )(

    0,maxexp)(

    tpK

    tpd

    p

    wtI

    jj

    j

    j

    j

  • 8/8/2019 Topics 1 10

    55/134

    Spring 2002 IE 514 55

    Special Cases (Check)

    If K is very large:

    ATC reduces to WSPT

    If K is very small and no overdue jobs:

    ATC reduces to MS

    If K is very small and overdue jobs:

    ATC reduces to WSPT applied to overdue jobs

  • 8/8/2019 Topics 1 10

    56/134

    Spring 2002 IE 514 56

    Choosing K

    Value of K determined empirically

    Related to the due date tightness factor

    and the due date range factormax

    1CdX

    max

    minmax

    C

    ddR

  • 8/8/2019 Topics 1 10

    57/134

    Spring 2002 IE 514 57

    Choosing K

    Usually 1.5 e Ke 4.5

    Rules of thumb:

    Fix K=2 for single machine or flow shop.

    Fix K=3 for dynamic job shops.

    Adjusted to reduce weighted tardiness

    cost in extremely slack or congested jobshops

    Statistical analysis/empirical experience

  • 8/8/2019 Topics 1 10

    58/134

    Spring 2002 IE 514 58

    Topic 4

    Branch-and-Bound

    & Beam Search

  • 8/8/2019 Topics 1 10

    59/134

    Spring 2002 IE 514 59

    Branch and Bound

    Enumerative method

    Guarantees finding the best schedule

    Basic idea:

    Look at a set of schedules

    Develop a bound on the performance

    Discard (fathom) if bound worse than bestschedule found before

  • 8/8/2019 Topics 1 10

    60/134

    Spring 2002 IE 514 60

    Example

    Single Machine with

    Maximum Lateness

    Objective

  • 8/8/2019 Topics 1 10

    61/134

    Spring 2002 IE 514 61

    Classic Results

    The EDD rule is optimal for

    If jobs have different release dates, which

    we denote

    then the problem is NP-Hard

    What makes it so much more difficult?

    max||1 L

    max||1 Lrj

  • 8/8/2019 Topics 1 10

    62/134

    Spring 2002 IE 514 62

    max||1 Lrj

    Jobs 1 2 3

    jp 4 2 5

    jr 0 3 5

    jd 8 14 10

    1 2 3

    1r 2r 3r

    0 5 10 15

    1d 3d 2d

    _ a _ a_ a _ a 55,4,4max1015,1410,84max

    ,,max,,max 332211321max

    !!!

    !! dCdCdCLLLL

    EDD

    Can we

    improve?

  • 8/8/2019 Topics 1 10

    63/134

    Spring 2002 IE 514 63

    Delay Schedule

    1 23

    1r 2r 3r

    0 5 10 15

    1d 3d 2d

    _ a _ a_ a _ a 30,2,4max1010,1416,84max

    ,,max,,max 332211321max

    !!!

    !! dCdCdCLLLL

    Add a delay

    What makes this problem hard is that

    the optimal schedule is not necessarily

    a non-delay schedule

  • 8/8/2019 Topics 1 10

    64/134

    Spring 2002 IE 514 64

    Final Classic Result

    The preemptive EDD rule is optimal forthe preemptive (prmp) version of the

    problem

    Note that in the previous example, the preemptive EDDrule gives us the optimal schedule

    max|,|1 L pr prj

  • 8/8/2019 Topics 1 10

    65/134

    Spring 2002 IE 514 65

    Branch and Bound

    The problem

    cannot be solved using a simple dispatching ruleso we will try to solve it using branch and bound

    To develop a branch and bound procedure:

    Determine how to branch

    Determine how to bound

    max||1 Lrj

  • 8/8/2019 Topics 1 10

    66/134

    Spring 2002 IE 514 66

    Data

    Jobs 1 2 3 4

    jp 4 2 6 5

    jr 0 1 3 5

    jd 8 12 11 10

  • 8/8/2019 Topics 1 10

    67/134

    Spring 2002 IE 514 67

    Branching

    (,,,)

    (1,,,) (2,,,) (3,,,) (4,,,)

  • 8/8/2019 Topics 1 10

    68/134

    Spring 2002 IE 514 68

    Branching

    (,,,)

    (1,,,) (2,,,) (3,,,) (4,,,)

    Discard immediately because

    5

    3

    4

    3

    !

    !

    r

    r

  • 8/8/2019 Topics 1 10

    69/134

    Spring 2002 IE 514 69

    Branching

    (,,,)

    (1,,,) (2,,,) (3,,,) (4,,,)

    Need to developlower bounds on

    these nodes and do further branching.

  • 8/8/2019 Topics 1 10

    70/134

    Spring 2002 IE 514 70

    Bounding (in general)

    Typical way to develop bounds is to relax theoriginal problem to an easily solvable problem

    Three cases:

    If there is no solution to the relaxed problem there isno solution to the original problem

    If the optimal solution to the relaxed problem isfeasible for the original problem then it is also

    optimal for the original problem If the optimal solution to the relaxed problem is not

    feasible for the original problem it provides a boundon its performance

  • 8/8/2019 Topics 1 10

    71/134

    Spring 2002 IE 514 71

    Relaxing the Problem

    The problem

    is a relaxation to the problem

    Not allowing preemption is a constraint in theoriginal problem but not the relaxed problem

    We know how to solve the relaxed problem(preemptive EDD rule)

    max||1 Lrj

    max|,|1 L pr prj

  • 8/8/2019 Topics 1 10

    72/134

    Spring 2002 IE 514 72

    Bounding

    Preemptive EDD rule optimal for thepreemptive version of the problem

    Thus, solution obtained is a lower boundon the maximum delay

    If preemptive EDD results in a non-

    preemptive schedule all nodes with higherlower bounds can be discarded.

  • 8/8/2019 Topics 1 10

    73/134

    Spring 2002 IE 514 73

    Lower Bounds

    Start with (1,,,):

    Job with EDD is Job 4 but

    Second earliest due date is for Job 3

    54

    !r

    Job 1

    Job 2

    Job 3Job 4

    0 10 20

    5max uL

  • 8/8/2019 Topics 1 10

    74/134

    Spring 2002 IE 514 74

    Branching

    (,,,)

    (1,,,) (2,,,) (3,,,) (4,,,)

    (1,2,,) (1,3,,)

    5max uL

    7max uL

    6max uL 5max !L(1,3,4,2)

  • 8/8/2019 Topics 1 10

    75/134

    Spring 2002 IE 514 75

    Beam Search

    Branch and Bound:

    Considers every node

    Guarantees optimum

    Usually too slow

    Beam search

    Considers only most promising nodes

    (beam width)

    Does not guarantee convergence

    Much faster

  • 8/8/2019 Topics 1 10

    76/134

    Spring 2002 IE 514 76

    Single Machine Example(Total Weighted Tardiness)

    Jobs 1 2 3 4

    jp 10 10 13 4

    jd 4 2 1 12

    jw 14 12 1 12

  • 8/8/2019 Topics 1 10

    77/134

    Spring 2002 IE 514 77

    Branching(Beam width = 2)

    (,,,)

    (1,,,) (2,,,) (3,,,) (4,,,)

    (1,4,2,3) (2,4,1,3) (3,4,1,2) (4,1,2,3)

    ATC Rule

    408 436 814 440

  • 8/8/2019 Topics 1 10

    78/134

    Spring 2002 IE 514 78

    Beam Search

    (,,,)

    (1,,,) (2,,,) (3,,,) (4,,,)

    (1,2,,) (1,3,,) (1,4,,) (2,1,,) (2,3,,) (2,4,,)

    (2,4,3,1)(2,4,1,3)(1,4,3,2)(1,4,2,3)

  • 8/8/2019 Topics 1 10

    79/134

    Spring 2002 IE 514 79

    Discussion

    Implementation tradeoff:

    Careful evaluation of nodes (accuracy)

    Crude evaluation of nodes (speed)

    Two-stage procedure

    Filtering

    crude evaluation

    filter width > beam width

    Careful evaluation of remaining nodes

  • 8/8/2019 Topics 1 10

    80/134

    Spring 2002 IE 514 80

    Topic 5

    Random Search

  • 8/8/2019 Topics 1 10

    81/134

  • 8/8/2019 Topics 1 10

    82/134

    Spring 2002 IE 514 82

    Local Search

    0. Start with a schedule s0 and set k =0.

    1. Select a candidate schedule

    from the neighborhood of sk2. If acceptance criterion is met, let

    Otherwise let

    3. Let k = k+1 and go back to Step 1.

    ksNs

    .1 ssk!

    .1 kk

    ss !

    Defining a Local Search

  • 8/8/2019 Topics 1 10

    83/134

    Spring 2002 IE 514 83

    Defining a Local Search

    Procedure

    Determine how to represent a schedule.

    Define a neighborhood structure.

    Determine a candidate selection

    procedure.

    Determine an acceptance/rejection

    criterion.

  • 8/8/2019 Topics 1 10

    84/134

    Spring 2002 IE 514 84

    Neighborhood Structure

    Single machine

    A pairwise interchange of adjacent jobs

    (n-1 jobs in a neighborhood) Inserting an arbitrary job in an arbitrary

    position

    ( e n(n-1)jobs ina neighborhood)

    Allow more than one interchange

  • 8/8/2019 Topics 1 10

    85/134

    Spring 2002 IE 514 85

    Neighborhood Structure

    Job shops with makespan objective

    Neighborhood based on critical paths

    Set of operations start at t

    =0and end att=Cmax

    Machine 1

    Machine 2

    Machine 3

    Machine 4

  • 8/8/2019 Topics 1 10

    86/134

    Spring 2002 IE 514 86

    Neighborhood Structure

    The critical path(s) define theneighborhood

    Interchange jobs on a critical path Too few better schedules in the

    neighborhood

    Too simple to be useful

    One-Step Look-Back

  • 8/8/2019 Topics 1 10

    87/134

    Spring 2002 IE 514 87

    One StepLook Back

    Interchange

    Machine h

    Machine i

    Machine h

    Machine i

    Jobs on critical path

    Interchange jobson critical path

    Machine h

    Machine i

    One-step look-backinterchange

  • 8/8/2019 Topics 1 10

    88/134

    Spring 2002 IE 514 88

    Neighborhood Search

    Find a candidate schedule from theneighborhood:

    RandomAppear most promising

    (most improvement in objective)

  • 8/8/2019 Topics 1 10

    89/134

    Spring 2002 IE 514 89

    Acceptance/Rejection

    Major difference between most methods

    Always accept a better schedule?

    Sometimes accept an inferior schedule? Two popular methods:

    Simulated annealing

    Tabu search Same except the acceptance criterion!

  • 8/8/2019 Topics 1 10

    90/134

    Spring 2002 IE 514 90

    Topic 6

    Simulated Annealing

  • 8/8/2019 Topics 1 10

    91/134

    Spring 2002 IE 514 91

    Simulated Annealing (SA)

    Notation

    S0 is the best schedule found so far

    Sk is the current schedule G(Sk) it the performance of a schedule

    Note that

    )()( 0SGSG k u

    Aspiration Criterion

  • 8/8/2019 Topics 1 10

    92/134

    Spring 2002 IE 514 92

    Acceptance Criterion

    LetSc be the candidate schedule

    If G(Sc)< G(Sk)acceptSc and let

    If G(Sc)u G(Sk)move to Sc withprobability

    ck SS !1

    k

    ck SS

    ck eSSF

    )()(

    1),(

    !

    Temperature > 0

    Always e 0

    Cooling Schedule

  • 8/8/2019 Topics 1 10

    93/134

    Spring 2002 IE 514 93

    Cooling Schedule

    The temperature should satisfy

    Normally we let

    but we sometimes stop when somepredetermined final temperature isreached

    If temperature is decreased slowlyconvergence is guaranteed

    0...321 "uuu

    0pk

    F

  • 8/8/2019 Topics 1 10

    94/134

    Spring 2002 IE 514 94

    SAAlgorithm

    Step 1:Setk=1 and select the initial temperatureF1.

    Select an initial schedule S1 and set S0=S1.

    Step 2:

    Select a candidate schedule Sc from N(Sk).IfG(S0)< G(Sc)< G(Sk), set Sk+1 =Sc and go to Step 3.

    IfG(Sc)< G(S0), set S0=Sk+1 =Sc and go to Step 3.

    IfG(Sc)< G(S0), generate UkbUniform(0,1);

    IfUk eP(Sk, Sc), set Sk+1 =Sc; otherwise set Sk+1 =Sk; go to

    Step 3.Step 3:

    SelectFk+1 e Fk.

    Letk=k+1. Ifk=NSTOP; otherwise go to Step 2.

  • 8/8/2019 Topics 1 10

    95/134

    Spring 2002 IE 514 95

    Discussion

    SA has been applied successfully to manyindustry problems

    Allows us to escape local optima Performance depends on

    Construction of neighborhood

    Cooling schedule

  • 8/8/2019 Topics 1 10

    96/134

    Spring 2002 IE 514 96

    Topic 7

    Tabu Search

  • 8/8/2019 Topics 1 10

    97/134

    Spring 2002 IE 514 97

    Tabu Search

    Similar to SA but uses a deterministicacceptance/rejection criterion

    Maintain a tabu list of schedule changesA move made entered at top of tabu list

    Fixed length (5-9)

    Neighbors restricted to schedules notrequiring a tabu move

  • 8/8/2019 Topics 1 10

    98/134

    Spring 2002 IE 514 98

    Tabu List

    Rational

    Avoid returning to a local optimum

    DisadvantageA tabu move could lead to a better schedule

    Length of list

    Too short cycling (stuck) Too long search too constrained

    Tabu Search Algorithm

  • 8/8/2019 Topics 1 10

    99/134

    Spring 2002 IE 514 99

    Tabu Search Algorithm

    Step 1:Setk=1. Select an initial schedule S1 and set S0=S1.

    Step 2:Select a candidate schedule Sc from N(Sk).

    If Skp Sc on tabu list set Sk+1 =Sk and go to Step 3.

    Enter Sc p Sk on tabu list.

    Push all the other entries down (and delete the last one).

    IfG(Sc)< G(S0), set S0=Sc.

    Go to Step 3.

    Step 3:SelectFk+1 e Fk.

    Letk=k+1. Ifk=NSTOP; otherwise go to Step 2.

    Single Machine Total

  • 8/8/2019 Topics 1 10

    100/134

    Spring 2002 IE 514 100

    Single Machine Total

    Weighted Tardiness Example

    Jobs 1 2 3 4

    jp 10 10 13 4

    jd 4 2 1 12

    jw 14 12 1 12

    Initialization

  • 8/8/2019 Topics 1 10

    101/134

    Spring 2002 IE 514 101

    Initialization

    Tabu list empty L={}

    Initial schedule S1 = (2,1,4,3)

    0 10 20 30 40

    Deadlines

    20 - 4 = 16

    10 - 2 = 8

    37 - 1 = 3624 - 12 = 12

    !! 50012123618121614jjw

  • 8/8/2019 Topics 1 10

    102/134

    Spring 2002 IE 514 102

    Neighborhood

    Define the neighborhood as all schedulesobtain by adjacent pairwise interchanges

    The neighbors ofS1 = (2,1,4,3) are(1,2,4,3)

    (2,4,1,3)

    (2,1,3,4) Objective values are: 480, 436, 652

    Selectthe best

    non-tabu schedule

  • 8/8/2019 Topics 1 10

    103/134

    Spring 2002 IE 514 103

    Second Iteration

    LetS0 =S2 = (2,4,1,3). G(S0)=436.

    LetL = {(1,4)}

    New neighborhood

    Seq e ce (4,2,1,3) (2,1,4,3) (2,4,3,1)

    Twj 460 500 608

  • 8/8/2019 Topics 1 10

    104/134

    Spring 2002 IE 514 104

    Third Iteration

    LetS3 = (4,2,1,3), S0 = (2,4,1,3).

    LetL = {(2,4),(1,4)}

    New neighborhood

    Seq e ce (2,4,1,3) (4,1,2,3) (4,2,3,1)

    Twj 436 440 632

    Tabu!

  • 8/8/2019 Topics 1 10

    105/134

    Spring 2002 IE 514 105

    Fourth Iteration

    LetS4 = (4,1,2,3), S0 = (2,4,1,3).

    LetL = {(1,2),(2,4)}

    New neighborhood

    Seq e ce (1,4,2,3) (4,2,1,3) (4,1,3,2)

    Twj 402 460 586

  • 8/8/2019 Topics 1 10

    106/134

    Spring 2002 IE 514 106

    Fifth Iteration

    LetS5 = (1,4,2,3), S0 = (1,4,2,3).

    LetL = {(1,4),(1,2)}

    This turns out to be the optimalschedule

    Tabu search still continues

    Notes: Optimal schedule only found via tabu list

    We never know if we have found the optimum!

  • 8/8/2019 Topics 1 10

    107/134

    Spring 2002 IE 514 107

    Topic 8

    Genetic Algorithm

    Genetic Algorithms

  • 8/8/2019 Topics 1 10

    108/134

    Spring 2002 IE 514 108

    Genetic Algorithms

    Schedules are individuals that formpopulations

    Each individual has associated fitness

    Fit individuals reproduce and havechildren in the nextgeneration

    Very fit individuals survive into the nextgeneration

    Some individuals mutate

    Total Weighted Tardiness

  • 8/8/2019 Topics 1 10

    109/134

    Spring 2002 IE 514 109

    Individual

    (sequence)

    (2,1,3,4) (3,4,1,2) (4,1,3,2)

    Fitness

    jjTw 652 814 586

    Single Machine Example

    First GenerationInitialpopulation

    selected randomly

  • 8/8/2019 Topics 1 10

    110/134

    Spring 2002 IE 514 110

    Mutation Operator

    Individual (2,1,3,4) (3,4,1,2) (4,1,3,2)

    Fitness 652 814 586

    (4,3,1,2)

    Reproduction

    via mutation

    Fittest

    Individual

  • 8/8/2019 Topics 1 10

    111/134

    Spring 2002 IE 514 111

    Cross-OverOperator

    Individual (2,1,3,4) (4,3,1,2) (4,1,3,2)

    Fitness 652 758 586

    (4,1,3,2)

    (2,1,3,4)

    Reproduction

    via cross-over

    Fittest

    Individuals

    (2,1,3,2)

    (4,1,3,4)

    Infeasible!

  • 8/8/2019 Topics 1 10

    112/134

    Spring 2002 IE 514 112

    Representing Schedules

    When using GA we often representindividuals using binary strings

    (0 1 1 0 1 0 1 0 1 0 1 0 0 )

    (1 0 0 1 1 0 1 0 1 0 1 1 1 )

    (0 1 1 0 1 0 1 0 1 0 1 1 1 )

  • 8/8/2019 Topics 1 10

    113/134

    Spring 2002 IE 514 113

    Discussion

    Genetic algorithms have been used verysuccessfully

    Advantages:Very generic

    Easily programmed

    Disadvantages:A method that exploits special structure is

    usually faster (if it exists)

  • 8/8/2019 Topics 1 10

    114/134

    Spring 2002 IE 514 114

    Topic 9

    Nested Partitions Method

    The Nested Partitions MethodThe Nested Partitions Method

  • 8/8/2019 Topics 1 10

    115/134

    Spring 2002 IE 514 115

    The Nested Partitions MethodThe Nested Partitions Method(Shameless self(Shameless self--promotion!)promotion!)

    Partitioning of all schedules

    Similar to branch-and-bound & beam search

    Random sampling & local search used tofind which node is most promising

    Similar to beam search

    Retains only one node (beam width = 1)Allows for possible backtracking

    Single Machine Total

  • 8/8/2019 Topics 1 10

    116/134

    Spring 2002 IE 514 116

    Single Machine Total

    Weighted Tardiness Example

    Jobs 1 2 3 4

    jp 10 10 134

    jd 4 2 1 12

    jw 14 12 1 12

    First Iteration

  • 8/8/2019 Topics 1 10

    117/134

    Spring 2002 IE 514 117

    First Iteration

    (,,,)

    (1,,,) (2,,,) (3,,,) (4,,,)

    (1,4,2,3) 402

    Random Samples (uniform sampling,ATC rule, genetic algorithm)

    (1,2,4,3) 480(1,4,3,2) 554

    I(1,,,) = 402

    Promising Index

    Mostpromising region

  • 8/8/2019 Topics 1 10

    118/134

    Spring 2002 IE 514 118

    Notation

    We letW(k) be the most promising region in the k-th iteration

    Wj

    (k) be the subregions, j=1,2,,M

    WM+1(k) be the surrounding region

    7 denote all possible regions (fixed set)

    70 all regions that contain a single schedule

    I(W) be the promising index of

    W7

    Second Iteration

  • 8/8/2019 Topics 1 10

    119/134

    Spring 2002 IE 514 119

    Second Iteration

    (,,,)

    (1,,,) {(2,,,),(3,,,),(4,,,)}

    (1,3,,) (1,4,,)(1,2,,) (4,2,1,3) 460

    Random Samples

    (2,4,1,3) 436

    (4,1,3,2) 586

    Mostpromising region W(2)

    Best Promising IndexI(W

    4(2)) = 436

    W4(2)

    W1(2) W2(2) W3(2)

    sW(2))

    Third Iteration

  • 8/8/2019 Topics 1 10

    120/134

    Spring 2002 IE 514 120

    Third Iteration

    (,,,)

    (1,,,) {(1,2,,),(1,4

    ,,),(2,,,),(3,,,),(4

    ,,,)}

    (1,3,,) (4,2,3,1) 632

    Random Samples

    (2,4,1,3) 436

    (1,4,2,3) 402

    (1,3,2,4) (1,3,4,2) I(W3(3)) = 402

    W1(3) W2(3)

    W3(3)sW(3))

    W(3)

    Best Promising Index

    Fourth Iteration

  • 8/8/2019 Topics 1 10

    121/134

    Spring 2002 IE 514 121

    Fourth Iteration

    (,,,)

    (1,,,) {(2,,,),(3,,,),(4,,,)}

    (1,3,,) (1,4,,)(1,2,,)

    W4(4)

    W1(4) W2(4) W3(4)

    sW(4))

    W(4)

    Backtracking!

    Finding the Optimal Schedule

  • 8/8/2019 Topics 1 10

    122/134

    Spring 2002 IE 514 122

    g p

    The sequence

    is a Markov chain

    Eventually the singleton region Wopt7containing the best schedule is visited

    Absorbing state (never leave Wopt)

    Finite state space

    visited after finitely many iterations.

    _ ag!1

    )(k

    kW

    Discussion

  • 8/8/2019 Topics 1 10

    123/134

    Spring 2002 IE 514 123

    Discussion

    Finds best schedule in finite iterations Only branch-and-bound can also guarantee

    If we can calculate/estimate/guarantee theprobability of moving in right direction:

    Expected number of iterations

    Probability of having found optimal schedule

    Stopping rules that guarantee performance(unique)

    Works best if incorporates dispatching rulesand local search (genetic algorithms, etc)

  • 8/8/2019 Topics 1 10

    124/134

    Spring 2002 IE 514 124

    Topic 10

    Mathematical Programming

    Review ofMathematical

    P i

  • 8/8/2019 Topics 1 10

    125/134

    Spring 2002 IE 514 125

    Programming

    Many scheduling problems can beformulated as mathematical programs:

    Linear Programming (IE 534)

    Nonlinear Programming (IE 631)

    Integer Programming (IE 632)

    See Appendix A in book.

    Li P

  • 8/8/2019 Topics 1 10

    126/134

    Spring 2002 IE 514 126

    Linear Programs

    Minimize

    subject tonnxcxcxc ...2211

    njx

    bxaxaxa

    bxaxaxa

    bxaxaxa

    j

    nn

    nn

    nn

    ,...,1for0

    ...

    ...

    ...

    12211

    12222121

    11212111

    !u

    e

    e

    /

    S l i LP

  • 8/8/2019 Topics 1 10

    127/134

    Spring 2002 IE 514 127

    Solving LPs

    LPs can be solved efficiently

    Simplex method (1950s)

    Interior point methods (1970s) Polynomial time

    Has been used in practice to solve huge

    problems IE 534

    N li P

  • 8/8/2019 Topics 1 10

    128/134

    Spring 2002 IE 514 128

    Nonlinear Programs

    Minimize

    subject to

    ),...,,( 21 nxxxf

    0),...,(

    0),...,(

    0),...,(

    2,1

    2,12

    2,11

    !

    !

    !

    n

    n

    n

    xxxg

    xxxg

    xxxg

    /

    Solving Nonlinear

    P

  • 8/8/2019 Topics 1 10

    129/134

    Spring 2002 IE 514 129

    Programs

    Optimality conditions

    Karush-Kuhn-Tucker

    Convex objective, convex constraints Solution methods

    Gradient methods (steepest descent,Newtons method)

    Penalty and barrier function methods

    Lagrangian relaxation

    I t P i

  • 8/8/2019 Topics 1 10

    130/134

    Spring 2002 IE 514 130

    Integer Programming

    LP where all variables mustbe integer

    Mixed-integer programming (MIP)

    Much more difficultthan LP Mostuseful for scheduling

    E ample Single Machine

  • 8/8/2019 Topics 1 10

    131/134

    Spring 2002 IE 514 131

    Example: Single Machine

    One machine and n jobs

    Minimize

    Define the decision variables

    !n

    j jjCw

    1

    ! otherwise.0

    attimestartsjobif1 tjxjt

  • 8/8/2019 Topics 1 10

    132/134

    Solving IPs

  • 8/8/2019 Topics 1 10

    133/134

    Spring 2002 IE 514 133

    Solving IPs

    Solution Methods

    Cutting plane methods

    Linear programming relaxationAdditional constraints to ensure integers

    Branch-and-bound methods

    Branch on the decision variables

    Linear programming relaxation provides bounds

    Generally difficult

    Disjunctive Programming

  • 8/8/2019 Topics 1 10

    134/134

    Disjunctive Programming

    Conjuctive

    All constraints must be satisfied

    DisjunctiveAt least one of the constraints must be

    satisfied

    Zero-one integer programs

    Use for job-shop scheduling