Scheduling Applications
Download
Report
Transcript Scheduling Applications
IE 514 Production
Scheduling
Introduction
Spring 2002
IE 514
1
Contact Information
Siggi Olafsson
3018 Black Engineering
294-8908
[email protected]
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 maxC1 , C2 ,...,Cn
Ci maxCi1 , 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 maxC 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
maxd 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 max0, C j d j
max0, 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 argmaxd 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
maxd 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 maxL1 , L2 , L3 maxC1 d1 , C2 d 2 , C3 d3
max4 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 maxL1 , L2 , L3 maxC1 d1 , C2 d 2 , C3 d3
max4 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
1416 12 8 1 36 1212 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 sS
Spring 2002
IE 514
118
Second Iteration
Most promising region s(2)
ss(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)
ss(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
ss(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 soptS0
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