Topic 11
Download
1 / 133

Topic 11 - PowerPoint PPT Presentation


  • 71 Views
  • Uploaded on

Topic 11. Basic Project Scheduling. Project Scheduling. Jobs subject to precedence constraints Job on arc format (most common). 2. 5. 6. 0. 1. 4. 7. 2. 3. Overview. Critical Path Method (CPM) Program Evaluation and Review Technique (PERT). No resource Constraints. Project

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' Topic 11' - roary-parsons


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Topic 11

Topic 11

Basic Project Scheduling

IE 514


Project scheduling
Project Scheduling

  • Jobs subject to precedence constraints

  • Job on arc format (most common)

2

5

6

0

1

4

7

2

3

IE 514


Overview
Overview

Critical Path

Method (CPM)

Program Evaluation

and Review Technique

(PERT)

No resource

Constraints

Project

Scheduling

Heuristic Resource

Leveling

Integer Programming

Formulations

Resource

Constraints

IE 514



Job on arc network
Job on Arc Network

  • Not allowed: no two jobs can have the same starting and ending node!

  • Need to introduce a dummy job.

B

A

D

C

B

A

D

C

IE 514



Job on Arc Network

A

E

B

D

C

Is this correct?

IE 514


Job on arc network1
Job on Arc Network

A

B

E

C

D

IE 514


Job on node network

A

B

E

D

C

Job on Node Network

  • No need for a dummy node

  • Less used traditionally

  • Recently more popular

IE 514


Critical path method cpm
Critical Path Method (CPM)

  • Think of unlimited machines in parallel

  • … and n jobs with precedence constraints

  • Processing times pj as before

  • Objective to minimize makespan

IE 514


Critical path method
Critical Path Method

  • Forward procedure:

    • Starting at time zero, calculate the earliest each job can be started

    • The completion time of the last job is the makespan

  • Backward procedure

    • Starting at time equal to the makespan, calculate the latest each job can be started so that this makespan is realized

IE 514


Forward procedure
Forward Procedure

Step 1:

Set at time t = 0 for all jobs j with no predecessors,

Sj’=0 and set Cj’ = pj.

Step 2:

Compute for each job j

Cj’ = Sj’ + pj.

Step 3:

The optimal makespan is

STOP

IE 514


Backward procedure
Backward Procedure

Step 1:

Set at time t = Cmax for all jobs j with no successors,

Cj’’= Cmax and set Sj’’ = Cmax - pj.

Step 2:

Compute for each job j

Sj’’ = Cj’’ - pj.

Step 3:

Verify that

STOP

IE 514


Comments
Comments

  • The forward procedure gives the earliest possible starting time for each job

  • The backwards procedures gives the latest possible starting time for each job

  • If these are equal the job is a critical job.

  • If these are different the job is a slack job, and the difference is the float.

  • A critical path is a chain of jobs starting at time 0 and ending at Cmax.

IE 514


Example

1

2

3

6

9

5

8

4

7

11

10

12

14

13

Example

IE 514


Forward procedure1

1

2

3

6

9

5

8

4

7

14

13

12

11

10

Forward Procedure

5+6=11

11+12=23

23+10=33

33+9=42

5

43+8=51

14+12=26

26+10=36

51+5=56

5+9=14

43+7=50

36+7=43

14+7=21

26+6=32

IE 514


Backwards procedure

1

2

3

6

9

5

8

4

7

14

13

12

11

10

Backwards Procedure

24-12=12

34-10=24

43-9=34

51-8=43

14-9=5

56-5=51

36-10=26

43-7=36

56

26-12=14

56-5=51

51-8=43

35-10=26

43-7=36

IE 514


Critical path

2

5

8

4

7

10

13

Critical Path

1

6

9

12

14

3

11

IE 514


Topic 12

Topic 12

Variable Processing Times

IE 514


Time cost trade offs
Time/Cost Trade-Offs

  • Assumed the processing times were fixed

  • More money  shorter processing time

  • Start with linear costs

  • Processing time

  • Marginal cost

IE 514


Linear costs
Linear Costs

Resources (money)

Processing

time

IE 514


Solution methods
Solution Methods

  • Objective: minimum cost of project

  • Time/Cost Trade-Off Heuristic

    • Good schedules

    • Works also for non-linear costs

  • Linear programming formulation

    • Optimal schedules

    • Non-linear version not easily solved

IE 514


Sources sinks and cuts
Sources, Sinks, and Cuts

Cut set

Sink node

Source (dummy) node

Minimal cut set

IE 514


Time cost trade off heuristic
Time/Cost Trade-Off Heuristic

  • Step 1:

    • Set all processing times at their maximum

    • Determine all critical paths with these processing times

    • Construct the graph Gcp of critical paths

    • Continue to Step 2

IE 514


Time cost trade off heuristic1
Time/Cost Trade-Off Heuristic

  • Step 2:

    • Determine all minimum cut sets in Gcp

    • Consider those sets where all processing times are larger than their minimum

    • If no such set STOP; otherwise continue to Step 2

IE 514


Time/Cost Trade-Off Heuristic

  • Step 3:

    • For each minimum cut set:

    • Compute the cost of reducing all processing times by one time unit.

    • Take the minimum cut set with the lowest cost

    • If this is less than the overhead per time unit go on to Step 4; otherwise STOP

IE 514


Time/Cost Trade-Off Heuristic

  • Step 4:

    • Reduce all processing times in the minimum cut set by one time units

    • Determine the new set of critical paths

    • Revise graph Gcp and go back to Step 2

IE 514


Example

IE 514


Maximum processing times

1

2

3

6

9

5

8

4

7

11

10

12

14

13

Maximum Processing Times

IE 514


Maximum processing times1

1

2

3

6

9

5

8

4

7

11

10

12

14

13

Maximum Processing Times

IE 514


Critical path subgraph g cp

1

3

6

9

14

11

12

Critical Path Subgraph (Gcp)

C1=7

C12=2

C6=3

C9=4

C14=8

C11=2

C3=4

Cut sets: {1},{3},{6},{9},

{11},{12},{14}.

Minimum cut

set with lowest cost

IE 514


Critical path subgraph g cp1

1

3

6

9

14

11

12

13

Critical Path Subgraph (Gcp)

C1=7

C12=2

C6=3

C9=4

C14=8

C11=2

C13=4

C3=4

Cut sets: {1},{3},{6},{9},

{11},{12,13},{14}.

Minimum cut

set with lowest cost

IE 514


1

3

6

9

14

12

13

11

Critical Path Subgraph (Gcp)

C1=7

C12=2

C6=3

C9=4

C14=8

C11=2

C13=14

C3=4

Reduce processing

time until = 4

Reduce processing time

next on job 6

IE 514


Critical path subgraph g cp2

4

1

3

6

9

7

2

12

13

11

14

10

Critical Path Subgraph (Gcp)

C2=2 C4=3 C7=4

C10=5

C1=7

C12=2

C6=3

C9=4

C14=8

C11=2

C13=4

C3=4

IE 514


Linear programming formulation
Linear Programming Formulation

  • The heuristic does not guaranteed optimum

  • Here total cost is linear

  • Want to minimize

IE 514


Linear program
Linear Program

Minimize

subject to

IE 514


Topic 13

Topic 13

PERT

IE 514


Program evaluation and review technique pert
Program Evaluation and Review Technique (PERT)

  • Assumed processing times deterministic

  • Processing time of j random with mean mj and variance sj2.

  • Want to determine the expected makespan

  • Assume we have

    pja = most optimistic processing time

    pjm = most likely processing time (mode)

    pjb = most pessimistic processing time

IE 514


Expected makespan
Expected Makespan

  • Estimate expected processing time

  • Apply CPM with expected processing times

  • Let Jcp be a critical path

  • Estimate expected makespan

IE 514


Distribution of makespan
Distribution of Makespan

  • Estimate the variance of processing times

  • and the variance of the makespan

  • Assume it is normally distributed

IE 514


Discussion
Discussion

  • Potential problems with PERT:

    • Always underestimates project duration

      • other paths may delay the project

    • Non-critical paths ignored

      • critical path probability

      • critical activity probability

    • Activities are not always independent

      • same raw material, weather conditions, etc.

    • Estimates by be inaccurate

IE 514


Discussion1
Discussion

  • No resource constraints:

    • Critical Path Method (CPM)

    • Simple deterministic

    • Time/cost trade-offs

      • Linear cost (heuristic or exact)

      • Non-linear cost (heuristic)

    • Accounting for randomness (PERT)

IE 514


Topic 14

Topic 14

Adding Resource Constraints

IE 514


Resource constraints
Resource Constraints

  • Renewable resources

  • Very hard problem

  • No LP

  • Can develop an IP

  • Let job n+1 be dummy job (sink) and

IE 514


Makespan
Makespan

  • Let H bound the makespan, e.g.

  • Completion time of job j is

    and the makespan

IE 514


Ip formulation
IP Formulation

Minimize

Subject to

IE 514


In practice
In Practice

  • The IP cannot be solved

  • (Almost) always resource constraints

  • Heuristic:

    Resource constraint  Precedence constraint

  • Example: pouring foundation and sidewalk

    • both require same cement mixer

    • delaying foundation delays building

    • precedence constraint: pour foundation first

    • not a logical constraint

IE 514


Optimality of heuristic
Optimality of Heuristic

  • Say n jobs need the same resource

  • Could otherwise all be done simultaneously

  • Add (artificial) precedence constraints

  • Have n! possibilities

  • Will we select the optimal sequence?

IE 514


Decision support
Decision Support

  • Resource leveling

    • Solve with no resource constraints

    • Plot the resource use as a function of time

    • If infeasible suggest precedence constraints

      • Longest job

      • Minimum slack

    • User adds constraints

    • Start over

IE 514


Example one resource
Example: One Resource

2

Uses resource

6

9

6

3

6

11

Resource Profile

Capacity

Time

10 20 30

IE 514


Topic 15

Topic 15

Job Shop Scheduling

IE 514


Job shop scheduling
Job Shop Scheduling

  • Have m machines and n jobs

  • Each job visits some or all of the machines

  • Customer order of small batches

    • Wafer fabrication in semiconductor industry

    • Hospital

  • Very difficult to solve

IE 514


Job shop example
Job Shop Example

  • Constraints

    • Job follows a specific route

    • One job at a time on each machine

Machine 1

(1,1)

(1,2)

(1,3)

Machine 2

(2,3)

(2,1)

(2,2)

Machine 3

(3,1)

(3,3)

Machine 4

(4,3)

(4,2)

IE 514


Graph representation
Graph Representation

Each job follows a specific route through the job shop ...

(1,1)

(2,1)

(3,1)

Sink

Source

(1,2)

(2,2)

(4,2)

(2,3)

(1,3)

(4,3)

(3,3)

(Conjuctive arcs)

IE 514


(1,1)

(2,1)

(3,1)

Sink

Source

(1,2)

(2,2)

(4,2)

(2,3)

(1,3)

(4,3)

(3,3)

Graph Representation

Machine constraints must also be satisfied ...

(Disjunctive arcs)

IE 514


Solving the problem
Solving the Problem

  • Select one of each pair of disjunctive arcs

  • The longest path in this graph G(D) determines the makespan

(1,1)

(2,1)

(3,1)

Sink

Source

(1,2)

(2,2)

(4,2)

(2,3)

(1,3)

(4,3)

(3,3)

IE 514


Feasibility of the schedule
Feasibility of the Schedule

  • Are all selections feasible?

(1,1)

(2,1)

(3,1)

Sink

Source

(1,2)

(2,2)

(4,2)

(2,3)

(1,3)

(4,3)

(3,3)

IE 514


Disjunctive programming
Disjunctive Programming

Minimize

Subject to

IE 514


Solution methods1
Solution Methods

  • Exact solution

    • Branch and Bound

    • 20 machines and 20 jobs

  • Dispatching rules (16+)

    • Shifting Bottleneck

  • Search heuristics

    • Tabu, SA, GA, etc.

IE 514


Topic 16

Topic 16

Types of Schedules

IE 514


Definitions
Definitions

  • A schedule is nondelay if no machine is idled when there is an operation available

  • A schedule is called active if no operation can be completed earlier by altering the sequence on machines and not delaying other operations

  • For “regular” objectives the optimal schedule is always active but not necessarily nondelay

IE 514


Schedule space
Schedule Space

Semiactive

Optimum

Nondelay

Active

All Schedules

IE 514


Nonactive schedule
Nonactive Schedule

Machine 1

(1,1)

(2,1)

Machine 2

(2,3)

(2,2)

(2,1)

Machine 3

(3,2)

0 2 4 6 8

IE 514


Active schedule not nondelay
Active Schedule, not Nondelay

Machine 1

(1,1)

Machine 2

(2,3)

(2,2)

(2,1)

Machine 3

(3,2)

0 2 4 6 8

IE 514


Nondelay schedule
Nondelay schedule

Machine 1

(1,1)

Machine 2

(2,3)

(2,1)

(2,2)

Machine 3

(3,2)

0 2 4 6 8

IE 514


Topic 17

Topic 17

Branch & Bound for Job Shops

IE 514


Branch and bound
Branch and Bound

  • Operation (i,j) with duration pij

  • Minimize makespan

  • Branch by generating all active schedules

  • Notation

    • Let W denote operations whose predecessors have been scheduled

    • Let rij be the earliest possible starting time of (i,j) in W.

IE 514


Generating active schedules
Generating Active Schedules

Step 1. (Initialize)

Let W contain the first operation of each job

Let rij = 0 for all (i,j)W.

Step 2. (Machine selection)

Compute the current partial schedule

and let i* denote the machine where minimum achieved

IE 514


Generating active schedules1
Generating Active Schedules

Step 3. (Branching)

Let W’ denote all operations on machine i such that

For each operation in W’ consider a partial schedule with that operation next on i*

For each partial schedule, delete operation from W and include immediate follower in W. Go back to Step 2.

IE 514


Branching tree
Branching Tree

Selection of (i*,j)

Selection of (i*,l)

IE 514


Example1
Example

10

8

(1,1)

(2,1)

(3,1)

4

0

0

8

3

5

6

Source

(2,2)

(1,2)

(4,2)

(3,2)

Sink

0

3

7

(1,3)

4

(2,3)

(4,3)

IE 514


Partitioning tree
Partitioning Tree

  • Level 1

IE 514


Level 1 select 1 1
Level 1: select (1,1)

10

8

(1,1)

(2,1)

(3,1)

4

10

0

10

0

8

3

5

6

Source

(2,2)

(1,2)

(4,2)

(3,2)

Sink

0

3

7

(1,3)

4

(2,3)

(4,3)

Disjunctive Arcs

IE 514


Level 1: select (1,3)

10

8

(1,1)

(2,1)

(3,1)

4

0

4

0

8

3

5

6

Source

(2,2)

(1,2)

(4,2)

(3,2)

Sink

0

4

3

7

(1,3)

4

(2,3)

(4,3)

Disjunctive Arcs

IE 514


Branching tree1
Branching Tree

No disjunctive arcs

(1,1) scheduled first

on machine 1

LB = 24

(1,3) scheduled first

on machine 1

LB = 26

IE 514


Branching tree2
Branching Tree

  • Level 2:

IE 514


Level 2 select 2 2
Level 2: Select (2,2)

10

8

(1,1)

(2,1)

(3,1)

4

10

0

10

0

8

3

5

6

Source

(2,2)

(1,2)

(4,2)

(3,2)

Sink

0

3

7

(1,3)

4

(2,3)

(4,3)

Disjunctive Arcs

IE 514


Branching Tree

No disjunctive arcs

(1,1) scheduled first

on machine 1

LB = 24

(1,3) scheduled first

on machine 1

LB = 26

(1,1) first on M1 and

(2,2) first on M2

IE 514


Lower bounds
Lower Bounds

  • Lower bounds

    • The length of the critical path in G(D’)

      • Quick but not very tight

    • Linear programming relaxation

    • A maximum lateness problem (see book)

IE 514


Topic 18

Topic 18

The Shifting Bottleneck Heuristic

IE 514


Shifting bottleneck
Shifting Bottleneck

  • Minimize makespan in a job shop

  • Let M denote the set of machines

  • Let M0  M be machines for which disjunctive arcs have been selected

  • Basic idea:

    • Select a machine in M - M0 to be included in M0

    • Sequence the operations on this machine

IE 514


Example2
Example

IE 514


Iteration 1
Iteration 1

10

8

(1,1)

(2,1)

(3,1)

4

0

0

8

3

5

6

Source

(2,2)

(1,2)

(4,2)

(3,2)

Sink

0

3

7

(1,3)

4

(2,3)

(4,3)

IE 514


Selecting a machine
Selecting a Machine

Set up a nonpreemptive single machine maximum lateness

problem for Machine 1:

Optimum sequence is 1,2,3 with Lmax(1)=5

IE 514


Selecting a Machine

Set up a nonpreemptive single machine maximum lateness

problem for Machine 2:

Optimum sequence is 2,3,1 with Lmax(2)=5

IE 514


Selecting a machine1
Selecting a Machine

  • Similarly,

     Either Machine 1 or Machine 2 is the bottleneck

IE 514


Iteration 2

10

8

(1,1)

(2,1)

(3,1)

4

0

10

0

8

3

5

6

Source

(2,2)

(1,2)

(4,2)

(3,2)

Sink

0

3

3

7

(1,3)

4

(2,3)

(4,3)

IE 514


Selecting a Machine

Set up a nonpreemptive single machine maximum lateness

problem for Machine 2:

Optimum sequence is 2,1,3 with Lmax(2)=1

IE 514


Selecting a Machine

Similarly,

 Either Machine 2 or Machine 3 is the bottleneck

IE 514


Iteration 3

10

8

(1,1)

(2,1)

(3,1)

4

10

0

8

8

0

8

3

5

6

Source

(2,2)

(1,2)

(4,2)

(3,2)

Sink

0

3

3

7

(1,3)

4

(2,3)

(4,3)

IE 514


Discussion2
Discussion

  • Procedure continues until all the disjunctive arcs have been added

  • Extremely effective

    • Fast

    • Good solutions

  • ‘Just a heuristic’

    • No guarantee of optimum

IE 514


Solving the maximum lateness problem
Solving the Maximum Lateness Problem

(•,•,•)

(1,•,•)

(2,•,•)

(3,•,•)

(1,2,3)

(1,3,2)

(3,1,2)

(3,2,1)

IE 514


Discussion3
Discussion

  • The solution is actually a little bit more complicated than before

  • Precedence constraints because of other (already scheduled) machines

  • Delay precedence constraints

    (see example in book)

IE 514


Discussion4
Discussion

  • Shifting bottleneck can be applied generally

  • Basic idea

    • Solve problem “one variable at a time”

    • Determine the “most important” variable

    • Find the best value of that variable

    • Move on to the “second most important” ….

    • Here we treat each machine as a variable

IE 514


Topic 19

Topic 19

Shifted Bottleneck for Total Weighted Tardiness Objective

IE 514


Total weighted tardiness
Total Weighted Tardiness

  • We now apply a shifted bottleneck procedure to a job shop with total weighted tardiness objective

    • Need n sinks in disjunctive graph

    • Machines scheduled one at a time

    • Given current graph calculate completion time of each job

    • Some n due dates for each operation

    • Piecewise linear penalty function

IE 514



Machine selection
Machine Selection

  • Machine criticality

    • Solve a single machine problem

    • Piecewise linear cost function

    • May have delayed precedence constraints

    • Generalizes single-machine with n jobs, precedence constraints, and total weighted tardiness objective

    • ATC rule

IE 514


Generalized atc rule
Generalized ATC Rule

Earliest time machine can be used

Ranks jobs

 good schedule

Scaling constant

IE 514


Criticality of machines
Criticality of Machines

  • Criticality = subproblem objective function

    • Simple

  • More effective ways, e.g.

    • Add disjunctive arcs for each machine

    • Calculate new completion times and

IE 514


Example3
Example

5

10

4

Sink

(1,1)

(2,1)

(3,1)

5

0

4

5

6

Source

(3,2)

(1,2)

(2,2)

Sink

0

3

7

Sink

(3,3)

5

(2,3)

(1,3)

IE 514





Subproblem solutions
Subproblem Solutions

  • Solve using dispatching rule

    • Use K=0.1

    • Have t = 4,

  • For machine 1 this results in

Schedule

first

IE 514


Solution to subproblems
Solution to Subproblems

Schedule

first

IE 514


First Iteration

5

10

4

Sink

(1,1)

(2,1)

(3,1)

5

5

0

4

5

6

Source

(3,2)

(1,2)

(2,2)

Sink

5

0

3

7

Sink

(3,3)

5

(2,3)

(1,3)

IE 514




Solution to Subproblems

Schedule

first

IE 514


Second Iteration

5

10

4

Sink

(1,1)

(2,1)

(3,1)

5

5

10

0

4

5

6

Source

(3,2)

(1,2)

(2,2)

Sink

5

3

0

3

7

Sink

(3,3)

5

(2,3)

(1,3)

IE 514



Third Iteration

5

10

4

Sink

(1,1)

(2,1)

(3,1)

5

5

10

4

0

4

5

6

Source

(3,2)

(1,2)

(2,2)

Sink

5

5

3

0

3

7

Sink

(3,3)

5

(2,3)

(1,3)

IE 514


Final schedule
Final Schedule

Machine 1

1,1

1,2

1,3

Machine 2

2,3

2,1

2,2

Machine 3

3,3

3,2

3,1

0 5 10 15 20 25 30

IE 514


Performance
Performance

  • Objective function

  • Try finding a better schedule using LEKIN

    (optimal value = 18)

IE 514


Topic 20

Topic 20

Random Search for Job Shop Scheduling

IE 514


Random search methods
Random Search Methods

  • Popular to use genetic algorithms, simulated annealing, tabu search, etc.

  • Do not work very well

    • Problems defining the neighborhood

    • Do not exploit special structure

IE 514


Defining the neighborhood
Defining the Neighborhood

  • Approximately nm neighbors!

  • Simply too inefficient

5

10

4

Sink

(1,1)

(2,1)

(3,1)

5

5

10

4

0

4

5

6

Source

(3,2)

(1,2)

(2,2)

Sink

5

5

3

0

3

7

Sink

(3,3)

5

(2,3)

(1,3)

IE 514


Job shop with makespan
Job Shop with Makespan

  • Random search methods can be applied

    • Use ‘critical path’ neighborhood

    • Can eliminate many neighbors immediately

  • Specialized methods usually better

    • Random search = ‘giving up’ !

    • Traveling Salesman Problem (TSP)

      • Very well studied

      • Lin-Kernighan type heuristics (1970)

      • Order of 1000 times faster than random search

IE 514


Comparison of methods
Comparison of Methods

Percentage over known optimum:

Winner

IE 514


The nested partitions method
The Nested Partitions Method

  • Partitioning

    • by scheduling the bottleneck machine first

  • Random sampling

    • using randomized dispatching rules

  • Calculating the promising index

    • incorporating local improvement heuristic

  • Can incorporate any special structure!

IE 514


Topic 21

Topic 21

Special Case: Flow Shops

IE 514


A flexible flow shop with setups
A Flexible Flow Shop with Setups

Stage 1 Stage 2 Stage 3 Stage 4

IE 514


Applications
Applications

  • Very common in applications:

    • Paper mills

    • Steel lines

    • Bottling lines

    • Food processing lines

IE 514


Classical literature
Classical Literature

  • Exact solutions

    • Simple flow shop with makespan criterion

    • Two machine case (Johnson’s rule)

  • Realistic problems require heuristic approaches

IE 514


Objectives
Objectives

  • Multiple objectives usual

    • Meet due dates

    • Maximize throughput

    • Minimize work-in-process (WIP)

Setting for job

j on Machine i

IE 514


Generating schedules
Generating Schedules

  • Identify bottlenecks

  • Compute time windows at bottleneck stage

  • Compute machine capacity at bottleneck

  • Schedule bottleneck stage

  • Schedule non-bottlenecks

IE 514


Identifying bottlenecks
Identifying Bottlenecks

  • In practice usually known

  • Schedule downstream bottleneck first

  • Determining the bottleneck

    • loading

    • number of shifts

    • downtime due to setups

  • Bottleneck assumed fixed

IE 514


Identifying time window
Identifying Time Window

  • Due date

    • Shipping day

    • Multiply remaining processing times with a safety factor

  • Release date

    • Status sj of job j

    • Release date if sj = l

Decreasing

function -

determined

empirically

IE 514


Computing capacity
Computing Capacity

  • Capacity of each machine at bottleneck

    • Speed

    • Number of shifts

    • Setups

  • Two cases:

    • Identical machines

    • Non-identical machines

IE 514


Scheduling bottleneck
Scheduling Bottleneck

  • Jobs selected one at a time

    • Setup time

    • Due date

    • Capacity

  • For example ATCS rule

IE 514


Schedule remaining jobs
Schedule Remaining Jobs

  • Determined by sequence at bottleneck stage

  • Minor adjustments

    • Adjacent pairwise interchanges to reduce setup

IE 514


Summary job shops
Summary: Job Shops

  • Representation: graph w/disjoint arcs

  • Solution methods

    • Branch-and-bound

    • Shifted bottleneck heuristic

    • Beam search

      • Can incorporate bottleneck idea & dispatching rules

    • Random search methods

  • Special case: flow shops

IE 514


ad