Topics 1 10
Topics 1 10
Scheduling
Introduction
Siggi Olafsson
3018 Black Engineering
294-8908
[email protected]
http://www.public.iastate.edu/~olafsson
OH: MW 10:30-12:00
Text
Prerequisites
Assignments
Homework 35%
Project 40%
Final Exam 35%
Computing
Maximize profit
Subject to constraints
Scheduling Problem
Problem Formulation
Model
Conclusions
Project scheduling
Job shop scheduling
Flexible assembly systems
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.
Spring 2002 IE 514 12
Scheduling System Design
Order Shop floor
master file data collection
generation
Performance
Schedule Editor
Evaluation
User
Multiple objectives
Internet scheduling
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)
Static data:
Processing time (pij)
Release date (rj)
Due date (dj)
Weight (wj)
Dynamic data:
Completion time (Cij)
Precedence constraints
Routing constraints
Material-handling constraints
Storage/waiting constraints
Machine eligibility
Tooling/resource constraints
Personnel scheduling constraints
Spring 2002 IE 514 22
Other Characteristics
Throughput
Defined by bottleneck machines
Makespan
Cmax max C1 , C2 ,..., Cn
Ci max Ci1 , Ci 2 ,..., Cim , i 1,..., n
Minimizing makespan tends to maximize
throughput and balance load
Lateness L j C j d j
Minimize maximum lateness (Lmax)
w T
j 1
j j
Lj Tj
Cj Cj
dj dj
Uj
1
Cj Cj
dj dj
Cj
i 1
w jC j
j 1
Spring 2002 IE 514 28
Other Costs
Setup cost
Personnel cost
Robustness
Solving Scheduling
Problems
1 || w j C j
Note: The SPT rule starts with the job that has
the shortest processing time, moves on the job
with the second shortest processing time, etc.
j k
t t p j pk
k j
t t p j pk
Spring 2002 IE 514 34
Proof (continued)
The weighted completion time of the two jobs under S is
(t p j ) w j (t p j pk ) wk
The weighted completion time of the two jobs under S ‘ is
(t pk ) wk (t p j pk ) w j
Now:
(t p j ) w j (t p j pk ) wk (t p j ) w j p j wk (t pk ) wk
(t p j ) w j pk w j (t pk ) wk
(t pk ) wk (t pk p j ) w j
Contradicting that S is optimal.
O(log n)
Dispatching Rules
max d j p j t ,0
maximum lateness
Processing
Time
Deadline
Spring 2002 IE 514 43
Processing Time Related
Problem: 1 || w jT j
No efficient algorithm (NP-Hard)
Branch and bound can only solve very
small problems (<30 jobs)
Assume dj=0
Then T j max0, C j d j
max0, C j C j
w T w C
j j j j
Branch-and-Bound
& Beam Search
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 best
schedule found before
r
j 0 3 5
d
j 8 1
4 1
0
1 2 3
0 5 10 15
r1 r2 r3 d1 d3 d2
1 3 2
0 5 10 15
r1 r2 r3 d1 d3 d2
1 | rj | Lmax
J
obs 1 2 3 4
p
j 4 2 6 5
r
j 0 1 3 5
dj 8 1
2 1
1 1
0
(•,•,•,•)
Job 1
Lmax 5
Job 2
Job 3
Job 4
0 10 20
Lmax 6
(1,3,4,2) Lmax 5
J
obs 1 2 3 4
pj 1
0 1
0 1
3 4
dj 4 2 1 1
2
w
j 1
4 1
2 1 1
2
ATC Rule
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
Random Search
Construction Heuristics
Start without a schedule
Add one job at a time
Dispatching rules and beam search
Improvement Heuristics
Start with a schedule
Try to find a better ‘similar’ schedule
Can be combined
Spring 2002 IE 514 81
Local Search
Single machine
A pairwise interchange of adjacent jobs
(n-1 jobs in a neighborhood)
Inserting an arbitrary job in an arbitrary
position
( n(n-1) jobs in a neighborhood)
Allow more than one interchange
Machine 1
Machine 2
Machine 3
Machine 4
Machine i
Interchange jobs
Machine h on critical path
Machine i
One-step look-back
Machine h interchange
Machine i
Simulated Annealing
Notation
S0 is the best schedule found so far
Sk is the current schedule
G(Sk) it the performance of a schedule
Note that
Aspiration Criterion
G(Sk ) G (S0 )
Temperature > 0
Spring 2002 IE 514 92
Cooling Schedule
Tabu Search
Rational
Avoid returning to a local optimum
Disadvantage
A tabu move could lead to a better schedule
Length of list
Too short cycling (“stuck”)
Too long search too constrained
J
obs 1 2 3 4
pj 1
0 1
0 1
3 4
dj 4 2 1 1
2
w
j 1
4 1
2 1 1
2
10 - 2 = 8
Deadlines
37 - 1 = 36
24 - 12 = 12
0 10 20 30 40
(2,1,3,4)
Objective values are: 480, 436, 652
Tabu!
Spring 2002 IE 514 104
Fourth Iteration
Let S4 = (4,1,2,3), S0 = (2,4,1,3).
Let L = {(1,2),(2,4)}
New neighborhood
Sequence (1,4,2,3) (4,2,1,3) (4,1,3,2)
Genetic Algorithm
Initial population
First Generation selected randomly
Reproduction
via mutation
(4,3,1,2)
(4,1,3,2) (2,1,3,2)
Reproduction Infeasible!
via cross-over
(2,1,3,4) (4,1,3,4)
(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 )
J
obs 1 2 3 4
pj 1
0 1
0 1
3 4
dj 4 2 1 1
2
w
j 1
4 1
2 1 1
2
(1,4,2,3) 402
Promising Index
(1,2,4,3) 480 I(1,•,•,•) = 402
(1,4,3,2) 554
We let
(k) be the most promising region in the k-th iteration
j(k) be the subregions, j=1,2,…,M
M+1(k) be the surrounding region
denote all possible regions (fixed set)
0 all regions that contain a single schedule
I() be the promising index of
4(2)
(1,•,•,•) {(2,•,•,•),(3,•,•,•), (4,•,•,•)}
s(3)) 3(3)
Random Samples
(3)
(1,3,•,•) (4,2,3,1) 632
(2,4,1,3) 436
1(3) 2(3) (1,4,2,3) 402
(1,3,2,4) (1,3,4,2) I(3(3)) = 402
(4) 4(4)
(1,•,•,•) {(2,•,•,•),(3,•,•,•), (4,•,•,•)}
1(4) 2(4)
3(4)
(1,2,•,•) (1,3,•,•) (1,4,•,•)
Backtracking!
The sequence
(k )
k 1
is a Markov chain
Eventually the singleton region opt
containing the best schedule is visited
Absorbing state (never leave opt)
Finite state space
visited after finitely many iterations.
Spring 2002 IE 514 122
Discussion
Finds best schedule in finite iterations
Only branch-and-bound can also guarantee
If we can calculate/estimate/guarantee the
probability 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 rules
and local search (genetic algorithms, etc)
Mathematical Programming
Minimize c1 x1 c2 x2 ... cn xn
subject to
Minimize
f ( x1 , x2 ,..., xn )
subject to
g1 ( x1, x2 ,..., xn ) 0
g 2 ( x1, x2 ,..., xn ) 0
g m ( x1, x2 ,..., xn ) 0
Spring 2002 IE 514 128
Solving Nonlinear
Programs
Optimality conditions
Karush-Kuhn-Tucker
Convex objective, convex constraints
Solution methods
Gradient methods (steepest descent,
Newton’s method)
Penalty and barrier function methods
Lagrangian relaxation
subject to C max 1
x t 0
jt 1 j
n t 1
x js
j 1 s max{t p j , 0}
1 t
x jt 0,1 j , t
Solution Methods
Cutting plane methods
Linear programming relaxation
Additional constraints to ensure integers
Branch-and-bound methods
Branch on the decision variables
Linear programming relaxation provides bounds
Generally difficult
Conjuctive
All constraints must be satisfied
Disjunctive
At least one of the constraints must be
satisfied
Zero-one integer programs
Use for job-shop scheduling