the job shop problem
Download
Skip this Video
Download Presentation
The Job Shop Problem

Loading in 2 Seconds...

play fullscreen
1 / 19

The Job Shop Problem - PowerPoint PPT Presentation


  • 218 Views
  • Uploaded on

The Job Shop Problem. Chapter 11 Elements of Sequencing and Scheduling by Kenneth R. Baker Byung-Hyun Ha. Outline. Introduction Types of schedules Disjunctive programming Schedule generation Shifting bottleneck procedure. Introduction. Job shop model

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 'The Job Shop Problem' - adia


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
the job shop problem

The Job Shop Problem

Chapter 11

Elements of Sequencing and Schedulingby Kenneth R. Baker

Byung-Hyun Ha

outline
Outline
  • Introduction
  • Types of schedules
  • Disjunctive programming
  • Schedule generation
  • Shifting bottleneck procedure
introduction
Introduction
  • Job shop model
    • Each job has operations with precedence constraint
    • Each operation should be done by a specific machine
  • Representation of a job
    • (i, j, k) -- operation j of job i requires machine k
  • Example
    • 4 jobs with 3 operations and 3 machines

Processing time

Machine assignment

introduction1
Introduction
  • Two views of a feasible schedule
    • 4 jobs with 3 operations and 3 machines (cont’d)

221

111

431

331

Machine 1

Machine 2

212

412

322

122

Machine 3

313

423

233

133

14

111

122

133

Job 1

Job 2

212

221

233

Job 3

313

322

331

Job 4

412

423

431

types of schedule

431

331

221

111

412

322

212

122

423

313

233

133

431

331

221

111

412

322

212

122

423

313

233

133

Types of Schedule
  • Semi-active schedules
    • Idle time is not helpful for regular measures
    • Local left-shift
      • Adjusting start time of operations earlier, without altering the sequence, lest superfluous idle time exists
types of schedule1
Types of Schedule
  • Semi-active schedules (cont’d)
    • Dominant set w.r.t. regular measures
    • Number of semi-active schedules -- not more than (n!)m
    • Network model
      • Precedence constraints
      • Disjunctive arcs

 2 jobs and 2 machines, 3 jobs and 2 machines

Machine assignment

111

122

212

221

1,1

1,2

311

212

2,1

2,2

types of schedule2
Types of Schedule
  • Semi-active schedules (cont’d)
    • Schedule generation using network model
      • Resolve disjunctive arcs
      • Schedule schedulable operation, all of whose predecessors are already scheduled
      • Resulting schedules are semi-active, while some are infeasible
      • Makespan is length of longest path

1,1

1,2

1,1

1,2

1,1

1,2

2,1

2,2

2,1

2,2

1,1

1,2

1,1

1,2

2,1

2,2

2,1

2,2

2,1

2,2

types of schedule3

431

331

221

111

412

322

212

122

423

313

233

133

111

431

331

221

412

322

212

122

313

423

133

233

Types of Schedule
  • Active schedules
    • Global left-shift
      • Altering sequence and begin some operation earlier, without delaying any other operations
      • Subset of semi-active schedules and dominant w.r.t. regular measures
types of schedule4

111

431

221

331

412

212

122

322

313

423

133

233

111

331

221

431

412

322

212

122

313

423

133

233

Types of Schedule
  • Nondelay schedules
    • No machine is kept idle at a time when it could begin processing some operations
    • No guarantee that nondelay schedules contain an optimum
types of schedule5
Types of Schedule
  • Summary

nondelay

schedules

semi-active

schedules

active

schedules

optimum?

disjunctive programming
Disjunctive Programming
  • Notation
    • M -- set of machine
    • (i, j) -- operation of job j on machine i
    • pij -- processing time of operation (i, j)
    • N -- set of all the operations
    • A  NN -- set of precedence constrains of the jobs.
    • yij -- starting time of operations (i, j)
  • Objective
    • min. Cmax
  • Constraints
    • yij + pij ykj  ((i, j), (k, j))A
    • yij + pij Cmax (i, j)N
    • yij + pij yilor yil + pil yij (i, j) and (i, l) i M
    • yij 0  (i, j)N
schedule generation
Schedule Generation
  • Algorithm 1 -- Active Schedule Generation

1. Let k = 0 and begin with PS(k) as the null partial schedule. Initially, SO(k) includes all operations with no predecessors.

2. Determine f* = minjSO(k) {fj} and the machine m* on which f* could be realized.

3. For each operation j  SO(k) that requires machine m* and for whichsj  f*, create a new partial schedule in which operation j is added to PS(k) and started at time sj.

4. For each new partial schedule PS(k + 1) created in Step 3, update the data set as follows:

(a) Remove operation j from SO(k).

(b) Form SO(k + 1) by adding the direct successor of j to SO(k).

(c) Increment k by one.

5. Return to Step 2 for each PS(k + 1) created in Step 3, and continue in this manner until all active schedules have been generated.

sj -- the earliest time at which operation j SO(k) could be started

fj -- the earliest time at which operation j SO(k) could be finished

schedule generation1
Schedule Generation
  • Using Algorithm 1
    • Generating only nondelay schedule
      • Modifying Step 2 and 3
    • Branch and bound
      • Employing lower bound
      • Not much practical (c.f., shifting bottleneck procedure)
    • Dispatching
      • Modifying Step 3 and employing priority rules (e.g. SPT, FCFS, MWKR, ...)
shifting bottleneck procedure as heuristic
Shifting Bottleneck Procedure as Heuristic
  • Overall procedure
    • X -- set of machines already scheduled, X\' -- complement of X
    • Repeat the following steps
      • Identify the next bottleneck machine from X\'
        • Solving HBT (head-body-tail) problems for machines in X\' using precedence constraints and the confirmed schedule
        • Select the critical machine, i.e., the machine with maximum makespan
      • Schedule all of the operations of the machine by using the result of HBT solution
  • Difficulties
    • HBT problem is NP-hard
      • Nevertheless, there are heuristic procedures, such as Longest Tail (LT) procedure
  • Shifting bottleneck procedure for optimization
    • Most effective optimization algorithm for job shop problems
shifting bottleneck procedure as heuristic1
Shifting Bottleneck Procedure as Heuristic
  • Example
    • Problem
    • Iteration 1

111

122

133

111

122

133

Job 1

212

221

233

Job 2

212

221

233

313

322

331

Job 3

313

322

331

412

423

431

Job 4

412

423

431

Machine 1

Machine 2

Machine 3

Solution 1-2-3-4 (12)

Solution 2-4-3-1 (11)

Solution 3-4-2-1 (12)

shifting bottleneck procedure as heuristic2
Shifting Bottleneck Procedure as Heuristic
  • Example (cont’d)
    • Problem
    • Iteration 2

111

122

133

111

122

133

Job 1

212

221

233

Job 2

212

221

233

313

322

331

Job 3

313

322

331

412

423

431

Job 4

412

423

431

Machine 1

Machine 2

Solution 1-2-3-4 (14)

Solution 2-4-3-1 (13)

shifting bottleneck procedure as heuristic3
Shifting Bottleneck Procedure as Heuristic
  • Example (cont’d)
    • Problem
    • Iteration 3

111

122

133

111

122

133

Job 1

212

221

233

Job 2

212

221

233

313

322

331

Job 3

313

322

331

412

423

431

Job 4

412

423

431

Machine 2

Solution 2-4-3-1 (13)

shifting bottleneck procedure as heuristic4
Shifting Bottleneck Procedure as Heuristic
  • Example (cont’d)
    • Results

111

122

133

Job 1

Job 2

212

221

233

111

122

133

Job 3

313

322

331

Job 4

412

423

431

212

221

233

313

322

331

111

221

331

431

Machine 1

412

423

431

Machine 2

212

412

322

122

Machine 3

313

423

233

133

14

summary
Summary
  • Job shop model
  • Mathematical programming
  • Active schedule generation
  • Shifting bottleneck procedure
  • Anyway, optimal?
    • M = 13
ad