Scheduling Applications

advertisement
IE 514 Production
Scheduling
Introduction
Spring 2002
IE 514
1
Contact Information
Siggi Olafsson
3018 Black Engineering
294-8908
olafsson@iastate.edu
http://www.public.iastate.edu/~olafsson
OH: MW 10:30-12:00
Spring 2002
IE 514
2
Administration (Syllabus)
Text
Prerequisites
Assignments
Homework
Project
Final Exam
35%
40%
35%
Computing
Spring 2002
IE 514
3
What is Scheduling About?
Applied operations research
Models
Algorithms
Solution using computers
Implement algorithms
Draw on common databases
Integration with other systems
Spring 2002
IE 514
4
Application Areas
Procurement and production
Transportation and distribution
Information processing and
communications
Spring 2002
IE 514
5
Manufacturing Scheduling
Short product life-cycles
Quick-response manufacturing
Manufacture-to-order
More complex operations must be
scheduled in shorter amount of time with
less room for errors!
Spring 2002
IE 514
6
Scope of Course
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
Spring 2002
IE 514
7
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
Spring 2002
IE 514
8
Scheduling Problem
Allocate scarce resources to tasks
Combinatorial optimization problem
Maximize profit
Subject to constraints
Mathematical techniques and heuristics
Spring 2002
IE 514
9
Our Approach
Scheduling Problem
Problem Formulation
Model
Solve with Computer Algorithms
Conclusions
Spring 2002
IE 514
10
Scheduling Models
Project scheduling
Job shop scheduling
Flexible assembly systems
Lot sizing and scheduling
Interval scheduling, reservation,
timetabling
Workforce scheduling
Spring 2002
IE 514
11
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.
Spring 2002
IE 514
12
Scheduling System Design
Order
master file
Databases
Shop floor
data collection
Database Management
Schedule
generation
Automatic Schedule Generator
Schedule Editor
User interfaces
Performance
Evaluation
Graphical Interface
User
Spring 2002
IE 514
13
LEKIN
On disk with book
Generic job shop scheduling system
User friendly windows environment
C++ object oriented design
Can add own routines
Spring 2002
IE 514
14
Advanced Topics
Uncertainty, robustness, and reactive
scheduling
Multiple objectives
Internet scheduling
Spring 2002
IE 514
15
Topic 1
Setting up the Scheduling
Problem
Spring 2002
IE 514
16
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
Spring 2002
IE 514
17
Decision “Variables”
Three basic types of solutions:
A sequence: a permutation of the jobs
A 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
Spring 2002
IE 514
18
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)
Spring 2002
IE 514
19
Notation
Static data:
Processing time (pij)
Release date (rj)
Due date (dj)
Weight (wj)
Dynamic data:
Completion time (Cij)
Spring 2002
IE 514
20
Machine Configuration
Standard machine configurations:
Single machine models
Parallel machine models
Flow shop models
Job shop models
Real world always more complicated.
Spring 2002
IE 514
21
Constraints
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
Sequence dependent setup
Preemptions
preemptive resume
preemptive repeat
Make-to-stock versus make-to-order
Spring 2002
IE 514
23
Objectives and
Performance Measures
Throughput (TP) and makespan (Cmax)
Due date related objectives
Work-in-process (WIP), lead time
(response time), finished inventory
Others
Spring 2002
IE 514
24
Throughput and Makespan
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
Spring 2002
IE 514
25
Due Date Related
Objectives
Lateness L j  C j  d j
Minimize maximum lateness (Lmax)
Tardiness Tj  maxC j  d j ,0
Minimize the weighted tardiness
n
w T
j 1
Spring 2002
j
IE 514
j
26
Due Date Penalties
Tardiness
Lateness
Lj
Tj
Cj
Cj
dj
dj
Late or Not
In practice
Uj
1
Cj
Cj
dj
Spring 2002
dj
IE 514
27
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 the
completion times:
n
n
C j
 w jC j
i 1
Spring 2002
j 1
IE 514
28
Other Costs
Setup cost
Personnel cost
Robustness
Finished goods inventory cost
Spring 2002
IE 514
29
Topic 2
Solving Scheduling
Problems
Spring 2002
IE 514
30
Classic Scheduling Theory
Look at a specific machine environment
with a specific objective
Analyze to prove an optimal policy or to
show that no simple optimal policy exists
Thousands of problems have been studied
in detail with mathematical proofs!
Spring 2002
IE 514
31
Example: single machine
Lets say we have
Single machine (1), where
the total weighted completion time should be
minimized (SwjCj)
We denote this problem as
1||  wj C j
Spring 2002
IE 514
32
Optimal Solution
Theorem: Weighted Shortest Processing
time first - called the WSPT rule - is
optimal for 1 ||  wj 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.
Spring 2002
IE 514
33
Proof (by contradiction)
Suppose it is not true and schedule S is optimal
Then there are two adjacent jobs, say job j
followed by job k such that
wj
wk

p j pk
Do a pairwise interchange to get schedule S ’
j
k
t  p j  pk
t
k
Spring 2002
t
IE 514
j
t  p j  pk
34
Proof (continued)
The weighted completion time of the two jobs under S is
(t  p j )wj  (t  p j  pk )wk
The weighted completion time of the two jobs under S ‘ is
(t  pk )wk  (t  p j  pk )wj
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.
Spring 2002
IE 514
35
Complexity Theory
Classic scheduling theory draws heavily on
complexity theory
The complexity of an algorithm is its
running time in terms of the input
parameters (e.g., number of jobs and
number of machines)
Big-Oh notation, e.g., O(n2m)
Spring 2002
IE 514
36
Polynomial versus NP-Hard
Time
O(n2 )
n
O(2 )
O(n)
O(logn)
Problemsize (n)
Spring 2002
IE 514
37
Scheduling in Practice
Practical scheduling problems cannot be
solved this easily!
Need:
Heuristic algorithms
Knowledge-based systems
Integration with other enterprise functions
However, classic scheduling results are
useful as a building block
Spring 2002
IE 514
38
General Purpose
Scheduling Procedures
Some scheduling problems are easy
Simple priority rules
Complexity: polynomial time
However, most scheduling problems are
hard
Complexity: NP-hard, strongly NP-hard
Finding an optimal solution is infeasible in
practice  heuristic methods
Spring 2002
IE 514
39
Types of Heuristics
Simple Dispatching Rules
Composite Dispatching Rules
Branch and Bound
Beam Search
Simulated Annealing
Tabu Search
Genetic Algorithms
Spring 2002
IE 514
Construction
Methods
Improvement
Methods
40
Topic 3
Dispatching Rules
Spring 2002
IE 514
41
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
Spring 2002
IE 514
42
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
Current
Time
maxd j  p j  t,0
maximum lateness
Processing
Time
Deadline
Spring 2002
IE 514
43
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
Spring 2002
IE 514
44
Processing Time Related
Critical Path (CP) rule
precedence constraints
makespan
Largest Number of Successors (LNS) rule
precedence constraints
makespan
Spring 2002
IE 514
45
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
Spring 2002
IE 514
46
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
Spring 2002
IE 514
47
Example
Single Machine with
Weighted Total Tardiness
Spring 2002
IE 514
48
Setup
Problem: 1 ||  w jTj
No efficient algorithm (NP-Hard)
Branch and bound can only solve very
small problems (<30 jobs)
Are there any special cases we can solve?
Spring 2002
IE 514
49
Case 1: Tight Deadlines
Assume dj=0
Then
T j  max0, C j  d j 
 max0, C j   C j
w T  w C
j
j
j
j
We know that WSPT is optimal for this
problem!
Spring 2002
IE 514
50
Conclusion
The WSPT is optimal in the extreme case
and should be a good heuristic whenever
due dates are tight
Now lets look at the opposite
Spring 2002
IE 514
51
Case 2: “Easy” Deadlines
Theorem: If the deadlines are sufficiently
spread out then the MS rule
jselect  argmaxd j  p j  t,0
is optimal (proof a bit harder)
Conclusion: The MS rule should be a good
heuristic whenever deadlines are widely
spread out
Spring 2002
IE 514
52
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 rules
into one composite dispatching rule
Spring 2002
IE 514
53
Apparent Tardiness Cost
(ATC) Dispatching Rule
New ranking index
 maxd j  p j  t ,0

I j (t ) 
exp 
pj
K  p (t )


wj
Scaling constant
When machine becomes free:
Compute index for all remaining jobs
Select job with highest value
Spring 2002
IE 514
54
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
Spring 2002
IE 514
55
Choosing K
Value of K determined empirically
Related to the due date tightness factor
d
  1
Cmax
and the due date range factor
d max  d min
R
Cmax
Spring 2002
IE 514
56
Choosing K
Usually 1.5  K  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 job
shops
Statistical analysis/empirical experience
Spring 2002
IE 514
57
Topic 4
Branch-and-Bound
& Beam Search
Spring 2002
IE 514
58
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 best
schedule found before
Spring 2002
IE 514
59
Example
Single Machine with
Maximum Lateness
Objective
Spring 2002
IE 514
60
Classic Results
The EDD rule is optimal for 1 || Lmax
If jobs have different release dates, which
we denote
1 | rj | Lmax
then the problem is NP-Hard
What makes it so much more difficult?
Spring 2002
IE 514
61
1 | rj | Lmax
Jobs
EDD
1
2
0
r2
r3
2
2
3
5
rj
0
3
5
dj
8
14
10
3
5
r1
pj
1
4
10
d1
15
d3
d2
Lmax  maxL1 , L2 , L3   maxC1  d1 , C2  d 2 , C3  d3 
 max4  8,10  14,15  10  max 4,4,5  5
Spring 2002
IE 514
Can we
improve?
62
Delay Schedule
Add a delay
1
3
0
r1
5
r2
r3
2
10
d1
15
d3
d2
Lmax  maxL1 , L2 , L3   maxC1  d1 , C2  d 2 , C3  d3 
 max4  8,16  14,10  10  max 4,2,0  3
What makes this problem hard is that
the optimal schedule is not necessarily
a non-delay schedule
Spring 2002
IE 514
63
Final Classic Result
The preemptive EDD rule is optimal for
the preemptive (prmp) version of the
problem
1 | rj , prmp| Lmax
 Note that in the previous example, the preemptive EDD
rule gives us the optimal schedule
Spring 2002
IE 514
64
Branch and Bound
The problem
1 | rj | Lmax
cannot be solved using a simple dispatching rule
so 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
Spring 2002
IE 514
65
Data
Jobs
1
2
3
4
pj
4
2
6
5
rj
0
1
3
5
dj
8
12
11
10
Spring 2002
IE 514
66
Branching
(•,•,•,•)
(1,•,•,•)
Spring 2002
(2,•,•,•)
(3,•,•,•)
IE 514
(4,•,•,•)
67
Branching
(•,•,•,•)
(1,•,•,•)
(2,•,•,•)
(3,•,•,•)
(4,•,•,•)
Discard immediately because
r3  3
r4  5
Spring 2002
IE 514
68
Branching
(•,•,•,•)
(1,•,•,•)
(2,•,•,•)
(3,•,•,•)
(4,•,•,•)
Need to develop lower bounds on
these nodes and do further branching.
Spring 2002
IE 514
69
Bounding (in general)
Typical way to develop bounds is to relax the
original problem to an easily solvable problem
Three cases:
If there is no solution to the relaxed problem there is
no solution to the original problem
If the optimal solution to the relaxed problem is
feasible 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 bound
on its performance
Spring 2002
IE 514
70
Relaxing the Problem
The problem
1 | rj , prmp| Lmax
is a relaxation to the problem 1 | rj | Lmax
Not allowing preemption is a constraint in the
original problem but not the relaxed problem
We know how to solve the relaxed problem
(preemptive EDD rule)
Spring 2002
IE 514
71
Bounding
Preemptive EDD rule optimal for the
preemptive version of the problem
Thus, solution obtained is a lower bound
on the maximum delay
If preemptive EDD results in a nonpreemptive schedule all nodes with higher
lower bounds can be discarded.
Spring 2002
IE 514
72
Lower Bounds
Start with (1,•,•,•):
r4  5
Job with EDD is Job 4 but
Second earliest due date is for Job 3
Lmax  5
Job 1
Job 2
Job 3
Job 4
0
Spring 2002
10
IE 514
20
73
Branching
(•,•,•,•)
Lmax  5
(1,•,•,•)
(2,•,•,•)
(1,2,•,•)
(1,3,•,•)
Lmax  6
Spring 2002
(1,3,4,2)
(3,•,•,•)
(4,•,•,•)
Lmax  7
Lmax  5
IE 514
74
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
Spring 2002
IE 514
75
Single Machine Example
(Total Weighted Tardiness)
Jobs
1
2
3
4
pj
10
10
13
4
dj
4
2
1
12
wj
14
12
1
12
Spring 2002
IE 514
76
Branching
(Beam width = 2)
(•,•,•,•)
(1,•,•,•)
(2,•,•,•)
(3,•,•,•)
(4,•,•,•)
(1,4,2,3)
(2,4,1,3)
(3,4,1,2)
(4,1,2,3)
408
436
814
440
ATC Rule
Spring 2002
IE 514
77
Beam Search
(•,•,•,•)
(1,•,•,•)
(1,2,•,•)
(2,•,•,•)
(1,3,•,•)
(1,4,2,3)
Spring 2002
(3,•,•,•)
(1,4,•,•)
(1,4,3,2)
(2,1,•,•)
(4,•,•,•)
(2,3,•,•)
(2,4,1,3)
IE 514
(2,4,•,•)
(2,4,3,1)
78
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
Spring 2002
IE 514
79
Topic 5
Random Search
Spring 2002
IE 514
80
Construction versus
Improvement Heuristics
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
0.
1.
Start with a schedule s0 and set k = 0.
Select a candidate schedule
2.
from the neighborhood of sk
If acceptance criterion is met, let
3.
Otherwise let sk 1  sk .
Let k = k+1 and go back to Step 1.
Spring 2002
s  N sk 
sk 1  s.
IE 514
82
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.
Spring 2002
IE 514
83
Neighborhood Structure
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
Spring 2002
IE 514
84
Neighborhood Structure
Job shops with makespan objective
Neighborhood based on critical paths
Set of operations start at t=0 and end at
t=Cmax
Machine 1
Machine 2
Machine 3
Machine 4
Spring 2002
IE 514
85
Neighborhood Structure
The critical path(s) define the
neighborhood
Interchange jobs on a critical path
Too few better schedules in the
neighborhood
Too simple to be useful
Spring 2002
IE 514
86
One-Step Look-Back
Interchange
Jobs on critical path
Machine h
Machine i
Interchange jobs
on critical path
Machine h
Machine i
One-step look-back
interchange
Machine h
Machine i
Spring 2002
IE 514
87
Neighborhood Search
Find a candidate schedule from the
neighborhood:
Random
Appear most promising
(most improvement in objective)
Spring 2002
IE 514
88
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!
Spring 2002
IE 514
89
Topic 6
Simulated Annealing
Spring 2002
IE 514
90
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
G(Sk )  G(S0 )
Spring 2002
IE 514
Aspiration Criterion
91
Acceptance Criterion
Let Sc be the candidate schedule
If G(Sc) < G(Sk) accept Sc and let
Sk 1  Sc
If G(Sc)  G(Sk) move to Sc with
probability
Always  0
G ( Sk )G ( Sc )
P(Sk 1, Sc )  e
k
Temperature > 0
Spring 2002
IE 514
92
Cooling Schedule
The temperature should satisfy
1   2  3  ...  0
Normally we let
k  0
but we sometimes stop when some
predetermined final temperature is
reached
If temperature is decreased slowly
convergence is guaranteed
Spring 2002
IE 514
93
SA Algorithm
Step 1:
Set k = 1 and select the initial temperature 1.
Select an initial schedule S1 and set S0 = S1.
Step 2:
Select a candidate schedule Sc from N(Sk).
If G(S0) < G(Sc) < G(Sk), set Sk+1 = Sc and go to Step 3.
If G(Sc) < G(S0), set S0 = Sk+1 = Sc and go to Step 3.
If G(Sc) < G(S0), generate Uk Uniform(0,1);
If Uk  P(Sk, Sc), set Sk+1 = Sc; otherwise set Sk+1 = Sk; go to
Step 3.
Step 3:
Select k+1  k.
Let k=k+1. If k=N STOP; otherwise go to Step 2.
Spring 2002
IE 514
94
Discussion
SA has been applied successfully to many
industry problems
Allows us to escape local optima
Performance depends on
Construction of neighborhood
Cooling schedule
Spring 2002
IE 514
95
Topic 7
Tabu Search
Spring 2002
IE 514
96
Tabu Search
Similar to SA but uses a deterministic
acceptance/rejection criterion
Maintain a tabu list of schedule changes
A move made entered at top of tabu list
Fixed length (5-9)
Neighbors restricted to schedules not
requiring a tabu move
Spring 2002
IE 514
97
Tabu List
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
Spring 2002
IE 514
98
Tabu Search Algorithm
Step 1:
Set k = 1. Select an initial schedule S1 and set S0 = S1.
Step 2:
Select a candidate schedule Sc from N(Sk).
If Sk  Sc on tabu list set Sk+1 = Sk and go to Step 3.
Enter Sc  Sk on tabu list.
Push all the other entries down (and delete the last one).
If G(Sc) < G(S0), set S0 = Sc.
Go to Step 3.
Step 3:
Select k+1  k.
Let k=k+1. If k=N STOP; otherwise go to Step 2.
Spring 2002
IE 514
99
Single Machine Total
Weighted Tardiness Example
Jobs
1
2
3
4
pj
10
10
13
4
dj
4
2
1
12
wj
14
12
1
12
Spring 2002
IE 514
100
Initialization
Tabu list empty L={}
Initial schedule S1 = (2,1,4,3)
20 - 4 = 16
10 - 2 = 8
Deadlines
37 - 1 = 36
24 - 12 = 12
0
10
w T
j
Spring 2002
j
20
30
40
 1416 12 8 1 36 1212  500
IE 514
101
Neighborhood
Define the neighborhood as all schedules
obtain by adjacent pairwise interchanges
The neighbors of S1 = (2,1,4,3) are
(1,2,4,3)
Select the best
(2,4,1,3)
non-tabu schedule
(2,1,3,4)
Objective values are: 480, 436, 652
Spring 2002
IE 514
102
Second Iteration
Let S0 =S2 = (2,4,1,3). G(S0)=436.
Let L = {(1,4)}
New neighborhood
Sequence
(4,2,1,3)
(2,1,4,3)
(2,4,3,1)
w T
460
500
608
j
Spring 2002
IE 514
103
Third Iteration
Let S3 = (4,2,1,3), S0 = (2,4,1,3).
Let L = {(2,4),(1,4)}
New neighborhood
Sequence
(2,4,1,3)
(4,1,2,3)
(4,2,3,1)
w T
436
440
632
j
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)
w T
402
460
586
j
Spring 2002
IE 514
105
Fifth Iteration
Let S5 = (1,4,2,3), S0 = (1,4,2,3).
Let L = {(1,4),(1,2)}
This turns out to be the optimal
schedule
Tabu search still continues
Notes:
Optimal schedule only found via tabu list
We never know if we have found the optimum!
Spring 2002
IE 514
106
Topic 8
Genetic Algorithm
Spring 2002
IE 514
107
Genetic Algorithms
Schedules are individuals that form
populations
Each individual has associated fitness
Fit individuals reproduce and have
children in the next generation
Very fit individuals survive into the next
generation
Some individuals mutate
Spring 2002
IE 514
108
Total Weighted Tardiness
Single Machine Example
First Generation
Individual
(sequence)
Fitness
 w T 
j
Spring 2002
Initial population
selected randomly
(2,1,3,4)
(3,4,1,2)
(4,1,3,2)
652
814
586
j
IE 514
109
Mutation Operator
Fittest
Individual
Individual
(2,1,3,4)
(3,4,1,2)
(4,1,3,2)
Fitness
652
814
586
Reproduction
via mutation
(4,3,1,2)
Spring 2002
IE 514
110
Cross-Over Operator
Fittest
Individuals
Individual
(2,1,3,4)
(4,3,1,2)
(4,1,3,2)
Fitness
652
758
586
(4,1,3,2)
(2,1,3,2)
Reproduction
via cross-over
(2,1,3,4)
Spring 2002
Infeasible!
(4,1,3,4)
IE 514
111
Representing Schedules
When using GA we often represent
individuals 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 )
Spring 2002
IE 514
112
Discussion
Genetic algorithms have been used very
successfully
Advantages:
Very generic
Easily programmed
Disadvantages:
A method that exploits special structure is
usually faster (if it exists)
Spring 2002
IE 514
113
Topic 9
Nested Partitions Method
Spring 2002
IE 514
114
The Nested Partitions Method
(Shameless self-promotion!)
Partitioning of all schedules
Similar to branch-and-bound & beam search
Random sampling & local search used to
find which node is most promising
Similar to beam search
Retains only one node (beam width = 1)
Allows for possible backtracking
Spring 2002
IE 514
115
Single Machine Total
Weighted Tardiness Example
Jobs
1
2
3
4
pj
10
10
13
4
dj
4
2
1
12
wj
14
12
1
12
Spring 2002
IE 514
116
First Iteration
(•,•,•,•)
(1,•,•,•)
(2,•,•,•)
Most promising region
(3,•,•,•)
(4,•,•,•)
Random Samples (uniform sampling, ATC rule, genetic algorithm)
(1,4,2,3)
(1,2,4,3)
(1,4,3,2)
Spring 2002
402
480
554
Promising Index
IE 514
I(1,•,•,•) = 402
117
Notation
We let
s(k) be the most promising region in the k-th iteration
sj(k) be the subregions, j=1,2,…,M
sM+1(k) be the surrounding region
S denote all possible regions (fixed set)
S0 all regions that contain a single schedule
I(s) be the promising index of sS
Spring 2002
IE 514
118
Second Iteration
Most promising region s(2)
ss(2))
(•,•,•,•)
s4(2)
(1,•,•,•)
s1(2)
(1,2,•,•)
{(2,•,•,•),(3,•,•,•), (4,•,•,•)}
s2(2)
(1,3,•,•)
s3(2)
(1,4,•,•)
Best Promising Index
Spring 2002
IE 514
Random Samples
(4,2,1,3)
(2,4,1,3)
(4,1,3,2)
460
436
586
I(s4(2)) = 436
119
Third Iteration
(•,•,•,•)
s3(3)
ss(3))
{(1,2,•,•), (1,4,•,•),(2,•,•,•),(3,•,•,•), (4,•,•,•)}
(1,•,•,•)
Random Samples
s(3)
(1,3,•,•)
s1(3)
(1,3,2,4)
s2(3)
(1,3,4,2)
(4,2,3,1)
(2,4,1,3)
(1,4,2,3)
632
436
402
I(s3(3)) = 402
Best Promising Index
Spring 2002
IE 514
120
Fourth Iteration
ss(4))
(•,•,•,•)
s(4)
s4(4)
(1,•,•,•)
s1(4)
(1,2,•,•)
{(2,•,•,•),(3,•,•,•), (4,•,•,•)}
s2(4)
(1,3,•,•)
s3(4)
(1,4,•,•)
Backtracking!
Spring 2002
IE 514
121
Finding the Optimal Schedule
The sequence
s (k )

k 1
is a Markov chain
Eventually the singleton region soptS0
containing the best schedule is visited
Absorbing state (never leave sopt)
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)
Spring 2002
IE 514
123
Topic 10
Mathematical Programming
Spring 2002
IE 514
124
Review of Mathematical
Programming
Many scheduling problems can be
formulated as mathematical programs:
Linear Programming (IE 534)
Nonlinear Programming (IE 631)
Integer Programming (IE 632)
See Appendix A in book.
Spring 2002
IE 514
125
Linear Programs
Minimize
subject to
c1 x1  c2 x2  ... cn xn
a11 x1  a12 x2  ...  a1n xn  b1
a21 x1  a22 x2  ...  a2 n xn  b1

am1 x1  am 2 x2  ...  amn xn  b1
xj  0
Spring 2002
IE 514
for j  1,...,n
126
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
Spring 2002
IE 514
127
Nonlinear Programs
Minimize
subject to
f ( x1 , x2 ,..., xn )
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
Spring 2002
IE 514
129
Integer Programming
LP where all variables must be integer
Mixed-integer programming (MIP)
Much more difficult than LP
Most useful for scheduling
Spring 2002
IE 514
130
Example: Single Machine
One machine and n jobs
Minimize n w j C j
j 1
Define the decision variables
1 if job j startsat timet
x jt  
0 otherwise.
Spring 2002
IE 514
131
IP Formulation
Minimize
n Cmax 1
  w (t  p ) x
j 1
subject to
j
t 0
j
C max 1
x
t 0
n

jt
t 1
x
js
j 1 s  max{t  p j , 0}
jt
 1 j
 1 t
x jt  0,1 j , t
Spring 2002
IE 514
132
Solving IPs
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
Spring 2002
IE 514
133
Disjunctive Programming
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
Spring 2002
IE 514
134
Download