Topics 1 10
Transcript of Topics 1 10
-
8/8/2019 Topics 1 10
1/134
Spring 2002 IE 514 1
IE 514 Production
Scheduling
Introduction
-
8/8/2019 Topics 1 10
2/134
Spring 2002 IE 514 2
Contact Information
Siggi Olafsson
3018 Black Engineering
294-8908
http://www.public.iastate.edu/~olafsson
OH: MW 10:30-12:00
-
8/8/2019 Topics 1 10
3/134
Spring 2002 IE 514 3
Administration (Syllabus)
Text
Prerequisites
Assignments
Homework 35%
Project 40%
Final Exam 35%
Computing
-
8/8/2019 Topics 1 10
4/134
Spring 2002 IE 514 4
What is Scheduling About?
Applied operations research
Models
Algorithms
Solution using computers
Implement algorithms
Draw on common databases Integration with other systems
-
8/8/2019 Topics 1 10
5/134
Spring 2002 IE 514 5
Application Areas
Procurement and production
Transportation and distribution
Information processing andcommunications
-
8/8/2019 Topics 1 10
6/134
Spring 2002 IE 514 6
Manufacturing Scheduling
Short product life-cycles
Quick-response manufacturing
Manufacture-to-order
More complex operations must bescheduled in shorter amount of time withless room for errors!
-
8/8/2019 Topics 1 10
7/134
Spring 2002 IE 514 7
Scope ofCourse
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
-
8/8/2019 Topics 1 10
8/134
Spring 2002 IE 514 8
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
-
8/8/2019 Topics 1 10
9/134
Spring 2002 IE 514 9
Scheduling Problem
Allocate scarce resources to tasks
Combinatorial optimization problem
Maximize profit
Subject to constraints
Mathematical techniques and heuristics
-
8/8/2019 Topics 1 10
10/134
Spring 2002 IE 514 10
OurApproach
Scheduling Problem
Model
Conclusions
Problem Formulation
Solve with Computer Algorithms
-
8/8/2019 Topics 1 10
11/134
Spring 2002 IE 514 11
Scheduling Models
Project scheduling
Job shop scheduling
Flexible assembly systems
Lot sizing and scheduling
Interval scheduling, reservation,timetabling
Workforce scheduling
-
8/8/2019 Topics 1 10
12/134
Spring 2002 IE 514 12
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.
-
8/8/2019 Topics 1 10
13/134
Spring 2002 IE 514 13
Scheduling System Design
Databases
Schedulegeneration
User interfaces
Database Management
Automatic Schedule Generator
Schedule EditorPerformance
Evaluation
Graphical Interface
User
Order
master file
Shop floor
data collection
-
8/8/2019 Topics 1 10
14/134
Spring 2002 IE 514 14
LEKIN
On disk with book
Generic job shop scheduling system
User friendly windows environment
C++ object oriented design
Can add own routines
-
8/8/2019 Topics 1 10
15/134
Spring 2002 IE 514 15
Advanced Topics
Uncertainty, robustness, and reactivescheduling
Multiple objectives
Internet scheduling
-
8/8/2019 Topics 1 10
16/134
Spring 2002 IE 514 16
Topic 1
Setting up the Scheduling
Problem
-
8/8/2019 Topics 1 10
17/134
Spring 2002 IE 514 17
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
-
8/8/2019 Topics 1 10
18/134
Spring 2002 IE 514 18
Decision Variables
Three basic types of solutions:
A sequence: a permutation of the jobsA 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
-
8/8/2019 Topics 1 10
19/134
Spring 2002 IE 514 19
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)
-
8/8/2019 Topics 1 10
20/134
Spring 2002 IE 514 20
Notation
Static data:
Processing time (pij)
Release date (rj)
Due date (dj)
Weight (wj)
Dynamic data: Completion time (Cij)
-
8/8/2019 Topics 1 10
21/134
Spring 2002 IE 514 21
Machine Configuration
Standard machine configurations:
Single machine models
Parallel machine models
Flow shop models
Job shop models
Real world always more complicated.
-
8/8/2019 Topics 1 10
22/134
Spring 2002 IE 514 22
Constraints
Precedence constraints
Routing constraints
Material-handling constraints
Storage/waiting constraints
Machine eligibility
Tooling/resource constraints
Personnel scheduling constraints
-
8/8/2019 Topics 1 10
23/134
Spring 2002 IE 514 23
OtherCharacteristics
Sequence dependent setup
Preemptions
preemptive resume
preemptive repeat
Make-to-stock versus make-to-order
-
8/8/2019 Topics 1 10
24/134
Spring 2002 IE 514 24
Objectives and
Performance Measures
Throughput (TP) and makespan (Cmax)
Due date related objectives
Work-in-process (WIP), lead time
(response time), finished inventory
Others
-
8/8/2019 Topics 1 10
25/134
Spring 2002 IE 514 25
Throughput and Makespan
Throughput
Defined by bottleneck machines
Makespan
Minimizing makespan tends to maximizethroughput and balance load
_ a_ a niiiii
n
,...,1,,...,,max
,...,,max
21
21max
!!
!
-
8/8/2019 Topics 1 10
26/134
Spring 2002 IE 514 26
Due Date Related
Objectives
Lateness
Minimize maximum lateness (Lmax)
Tardiness
Minimize the weighted tardiness
jjj dCL
_ a0,max jjj dCT !
!
n
j
jjTw1
-
8/8/2019 Topics 1 10
27/134
Spring 2002 IE 514 27
Due Date Penalties
jdjC
jL
jdjC
j
jdjC
jU1
jdjC
In practice
Tardiness
Late or Not
Lateness
-
8/8/2019 Topics 1 10
28/134
Spring 2002 IE 514 28
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 thecompletion times:
n
i
jC1
n
j
jjCw1
-
8/8/2019 Topics 1 10
29/134
Spring 2002 IE 514 29
OtherCosts
Setup cost
Personnel cost
Robustness
Finished goods inventory cost
-
8/8/2019 Topics 1 10
30/134
Spring 2002 IE 514 30
Topic 2
Solving Scheduling
Problems
-
8/8/2019 Topics 1 10
31/134
Spring 2002 IE 514 31
Classic Scheduling Theory
Look at a specific machine environmentwith a specific objective
Analyze to prove an optimal policy or toshow that no simple optimal policy exists
Thousands of problems have been studiedin detail with mathematical proofs!
-
8/8/2019 Topics 1 10
32/134
Spring 2002 IE 514 32
Example: single machine
Lets say we have
Single machine (1), where
the total weighted completion time should beminimized (7wjCj)
We denote this problem as
jjCw||1
-
8/8/2019 Topics 1 10
33/134
Spring 2002 IE 514 33
Optimal Solution
Theorem: Weighted Shortest Processingtime first - called the WSPT rule - is
optimal for
Note: The SPT rule starts withthe job thathasthe shortestprocessingtime, moves onthe jobwiththe secondshortestprocessingtime, etc.
jjCw||1
-
8/8/2019 Topics 1 10
34/134
Spring 2002 IE 514 34
Proof (by contradiction)
Suppose it is not true and schedule S is optimal
Then there are two adjacent jobs, say job jfollowed by job k such that
Do a pairwise interchange to get schedule S
k
k
j
j
p
w
p
w
j k
k j
kj ppt
kj ppt
t
t
-
8/8/2019 Topics 1 10
35/134
Spring 2002 IE 514 35
Proof (continued)
The weighted completion time of the two jobs under S is
The weighted completion time of the two jobs under S is
Now:
Contradicting that S is optimal.
jkjkk wpptwpt )()(
kkjjj wpptwpt )()(
jjkkk
kkjkjj
kkkjjjkkjjj
wpptwpt
wptwpwpt
wptwpwptwpptwpt
)()(
)()(
)()()()(
!
"
!
-
8/8/2019 Topics 1 10
36/134
Spring 2002 IE 514 36
Complexity Theory
Classic scheduling theory draws heavily oncomplexity theory
The complexity of an algorithm is itsrunning time in terms of the inputparameters (e.g., number of jobs and
number of machines) Big-Oh notation, e.g., O(n2m)
-
8/8/2019 Topics 1 10
37/134
Spring 2002 IE 514 37
Polynomial versus NP-Hard
)(log nO
)(nO
)(2
nO)2(n
O
)(sizeroblem n
Time
-
8/8/2019 Topics 1 10
38/134
Spring 2002 IE 514 38
Scheduling in Practice
Practical scheduling problems cannot besolved this easily!
Need: Heuristic algorithms
Knowledge-based systems
Integration with other enterprise functions However, classic scheduling results are
useful as a building block
-
8/8/2019 Topics 1 10
39/134
Spring 2002 IE 514 39
General Purpose
Scheduling Procedures
Some scheduling problems are easy
Simple priority rules
Complexity: polynomial time
However, most scheduling problems arehard
Complexity: NP-hard, strongly NP-hard Finding an optimal solution is infeasible in
practice heuristic methods
-
8/8/2019 Topics 1 10
40/134
Spring 2002 IE 514 40
Types of Heuristics
Simple Dispatching Rules
Composite Dispatching Rules
Branch and Bound
Beam Search
Simulated Annealing
Tabu Search
Genetic Algorithms
Construction
Methods
Improvement
Methods
-
8/8/2019 Topics 1 10
41/134
Spring 2002 IE 514 41
Topic 3
Dispatching Rules
-
8/8/2019 Topics 1 10
42/134
Spring 2002 IE 514 42
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
-
8/8/2019 Topics 1 10
43/134
Spring 2002 IE 514 43
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
maximum lateness_ a0,max tpd jj
Current
Time
Processing
TimeDeadline
-
8/8/2019 Topics 1 10
44/134
Spring 2002 IE 514 44
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
-
8/8/2019 Topics 1 10
45/134
Spring 2002 IE 514 45
Processing Time Related
Critical Path (CP) rule
precedence constraints
makespan
Largest Number of Successors (LNS) rule
precedence constraints
makespan
-
8/8/2019 Topics 1 10
46/134
Spring 2002 IE 514 46
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
-
8/8/2019 Topics 1 10
47/134
Spring 2002 IE 514 47
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
-
8/8/2019 Topics 1 10
48/134
Spring 2002 IE 514 48
Example
Single Machine with
Weighted Total Tardiness
-
8/8/2019 Topics 1 10
49/134
Spring 2002 IE 514 49
Setup
Problem:
No efficient algorithm (NP-Hard)
Branch and bound can only solve verysmall problems (
-
8/8/2019 Topics 1 10
50/134
Spring 2002 IE 514 50
Case 1: Tight Deadlines
Assume dj=0
Then
We know that WSPT is optimal for thisproblem!
_ a_ a
!!!
!
jjjj
jj
jjj
CwTw
CC
dCT
,0max
,0max
-
8/8/2019 Topics 1 10
51/134
Spring 2002 IE 514 51
Conclusion
The WSPT is optimal in the extreme caseand should be a good heuristic whenever
due dates are tight
Now lets look at the opposite
-
8/8/2019 Topics 1 10
52/134
Spring 2002 IE 514 52
Case 2: Easy Deadlines
Theorem: If the deadlines are sufficientlyspread out then the MS rule
is optimal (proof a bit harder)
Conclusion: The MS rule should be a goodheuristic whenever deadlines are widelyspread out
_ a0,maxarg tpdj jjselect
-
8/8/2019 Topics 1 10
53/134
Spring 2002 IE 514 53
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 rulesinto one composite dispatching rule
-
8/8/2019 Topics 1 10
54/134
Spring 2002 IE 514 54
Apparent Tardiness Cost
(ATC) Dispatching Rule
New ranking index
When machine becomes free: Compute index for all remaining jobs
Select job with highest value
Scaling constant
_ a
)(
0,maxexp)(
tpK
tpd
p
wtI
jj
j
j
j
-
8/8/2019 Topics 1 10
55/134
Spring 2002 IE 514 55
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
-
8/8/2019 Topics 1 10
56/134
Spring 2002 IE 514 56
Choosing K
Value of K determined empirically
Related to the due date tightness factor
and the due date range factormax
1CdX
max
minmax
C
ddR
-
8/8/2019 Topics 1 10
57/134
Spring 2002 IE 514 57
Choosing K
Usually 1.5 e Ke 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 jobshops
Statistical analysis/empirical experience
-
8/8/2019 Topics 1 10
58/134
Spring 2002 IE 514 58
Topic 4
Branch-and-Bound
& Beam Search
-
8/8/2019 Topics 1 10
59/134
Spring 2002 IE 514 59
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 bestschedule found before
-
8/8/2019 Topics 1 10
60/134
Spring 2002 IE 514 60
Example
Single Machine with
Maximum Lateness
Objective
-
8/8/2019 Topics 1 10
61/134
Spring 2002 IE 514 61
Classic Results
The EDD rule is optimal for
If jobs have different release dates, which
we denote
then the problem is NP-Hard
What makes it so much more difficult?
max||1 L
max||1 Lrj
-
8/8/2019 Topics 1 10
62/134
Spring 2002 IE 514 62
max||1 Lrj
Jobs 1 2 3
jp 4 2 5
jr 0 3 5
jd 8 14 10
1 2 3
1r 2r 3r
0 5 10 15
1d 3d 2d
_ a _ a_ a _ a 55,4,4max1015,1410,84max
,,max,,max 332211321max
!!!
!! dCdCdCLLLL
EDD
Can we
improve?
-
8/8/2019 Topics 1 10
63/134
Spring 2002 IE 514 63
Delay Schedule
1 23
1r 2r 3r
0 5 10 15
1d 3d 2d
_ a _ a_ a _ a 30,2,4max1010,1416,84max
,,max,,max 332211321max
!!!
!! dCdCdCLLLL
Add a delay
What makes this problem hard is that
the optimal schedule is not necessarily
a non-delay schedule
-
8/8/2019 Topics 1 10
64/134
Spring 2002 IE 514 64
Final Classic Result
The preemptive EDD rule is optimal forthe preemptive (prmp) version of the
problem
Note that in the previous example, the preemptive EDDrule gives us the optimal schedule
max|,|1 L pr prj
-
8/8/2019 Topics 1 10
65/134
Spring 2002 IE 514 65
Branch and Bound
The problem
cannot be solved using a simple dispatching ruleso 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
max||1 Lrj
-
8/8/2019 Topics 1 10
66/134
Spring 2002 IE 514 66
Data
Jobs 1 2 3 4
jp 4 2 6 5
jr 0 1 3 5
jd 8 12 11 10
-
8/8/2019 Topics 1 10
67/134
Spring 2002 IE 514 67
Branching
(,,,)
(1,,,) (2,,,) (3,,,) (4,,,)
-
8/8/2019 Topics 1 10
68/134
Spring 2002 IE 514 68
Branching
(,,,)
(1,,,) (2,,,) (3,,,) (4,,,)
Discard immediately because
5
3
4
3
!
!
r
r
-
8/8/2019 Topics 1 10
69/134
Spring 2002 IE 514 69
Branching
(,,,)
(1,,,) (2,,,) (3,,,) (4,,,)
Need to developlower bounds on
these nodes and do further branching.
-
8/8/2019 Topics 1 10
70/134
Spring 2002 IE 514 70
Bounding (in general)
Typical way to develop bounds is to relax theoriginal problem to an easily solvable problem
Three cases:
If there is no solution to the relaxed problem there isno solution to the original problem
If the optimal solution to the relaxed problem isfeasible 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 boundon its performance
-
8/8/2019 Topics 1 10
71/134
Spring 2002 IE 514 71
Relaxing the Problem
The problem
is a relaxation to the problem
Not allowing preemption is a constraint in theoriginal problem but not the relaxed problem
We know how to solve the relaxed problem(preemptive EDD rule)
max||1 Lrj
max|,|1 L pr prj
-
8/8/2019 Topics 1 10
72/134
Spring 2002 IE 514 72
Bounding
Preemptive EDD rule optimal for thepreemptive version of the problem
Thus, solution obtained is a lower boundon the maximum delay
If preemptive EDD results in a non-
preemptive schedule all nodes with higherlower bounds can be discarded.
-
8/8/2019 Topics 1 10
73/134
Spring 2002 IE 514 73
Lower Bounds
Start with (1,,,):
Job with EDD is Job 4 but
Second earliest due date is for Job 3
54
!r
Job 1
Job 2
Job 3Job 4
0 10 20
5max uL
-
8/8/2019 Topics 1 10
74/134
Spring 2002 IE 514 74
Branching
(,,,)
(1,,,) (2,,,) (3,,,) (4,,,)
(1,2,,) (1,3,,)
5max uL
7max uL
6max uL 5max !L(1,3,4,2)
-
8/8/2019 Topics 1 10
75/134
Spring 2002 IE 514 75
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
-
8/8/2019 Topics 1 10
76/134
Spring 2002 IE 514 76
Single Machine Example(Total Weighted Tardiness)
Jobs 1 2 3 4
jp 10 10 13 4
jd 4 2 1 12
jw 14 12 1 12
-
8/8/2019 Topics 1 10
77/134
Spring 2002 IE 514 77
Branching(Beam width = 2)
(,,,)
(1,,,) (2,,,) (3,,,) (4,,,)
(1,4,2,3) (2,4,1,3) (3,4,1,2) (4,1,2,3)
ATC Rule
408 436 814 440
-
8/8/2019 Topics 1 10
78/134
Spring 2002 IE 514 78
Beam Search
(,,,)
(1,,,) (2,,,) (3,,,) (4,,,)
(1,2,,) (1,3,,) (1,4,,) (2,1,,) (2,3,,) (2,4,,)
(2,4,3,1)(2,4,1,3)(1,4,3,2)(1,4,2,3)
-
8/8/2019 Topics 1 10
79/134
Spring 2002 IE 514 79
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
-
8/8/2019 Topics 1 10
80/134
Spring 2002 IE 514 80
Topic 5
Random Search
-
8/8/2019 Topics 1 10
81/134
-
8/8/2019 Topics 1 10
82/134
Spring 2002 IE 514 82
Local Search
0. Start with a schedule s0 and set k =0.
1. Select a candidate schedule
from the neighborhood of sk2. If acceptance criterion is met, let
Otherwise let
3. Let k = k+1 and go back to Step 1.
ksNs
.1 ssk!
.1 kk
ss !
Defining a Local Search
-
8/8/2019 Topics 1 10
83/134
Spring 2002 IE 514 83
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.
-
8/8/2019 Topics 1 10
84/134
Spring 2002 IE 514 84
Neighborhood Structure
Single machine
A pairwise interchange of adjacent jobs
(n-1 jobs in a neighborhood) Inserting an arbitrary job in an arbitrary
position
( e n(n-1)jobs ina neighborhood)
Allow more than one interchange
-
8/8/2019 Topics 1 10
85/134
Spring 2002 IE 514 85
Neighborhood Structure
Job shops with makespan objective
Neighborhood based on critical paths
Set of operations start at t
=0and end att=Cmax
Machine 1
Machine 2
Machine 3
Machine 4
-
8/8/2019 Topics 1 10
86/134
Spring 2002 IE 514 86
Neighborhood Structure
The critical path(s) define theneighborhood
Interchange jobs on a critical path Too few better schedules in the
neighborhood
Too simple to be useful
One-Step Look-Back
-
8/8/2019 Topics 1 10
87/134
Spring 2002 IE 514 87
One StepLook Back
Interchange
Machine h
Machine i
Machine h
Machine i
Jobs on critical path
Interchange jobson critical path
Machine h
Machine i
One-step look-backinterchange
-
8/8/2019 Topics 1 10
88/134
Spring 2002 IE 514 88
Neighborhood Search
Find a candidate schedule from theneighborhood:
RandomAppear most promising
(most improvement in objective)
-
8/8/2019 Topics 1 10
89/134
Spring 2002 IE 514 89
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!
-
8/8/2019 Topics 1 10
90/134
Spring 2002 IE 514 90
Topic 6
Simulated Annealing
-
8/8/2019 Topics 1 10
91/134
Spring 2002 IE 514 91
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
)()( 0SGSG k u
Aspiration Criterion
-
8/8/2019 Topics 1 10
92/134
Spring 2002 IE 514 92
Acceptance Criterion
LetSc be the candidate schedule
If G(Sc)< G(Sk)acceptSc and let
If G(Sc)u G(Sk)move to Sc withprobability
ck SS !1
k
ck SS
ck eSSF
)()(
1),(
!
Temperature > 0
Always e 0
Cooling Schedule
-
8/8/2019 Topics 1 10
93/134
Spring 2002 IE 514 93
Cooling Schedule
The temperature should satisfy
Normally we let
but we sometimes stop when somepredetermined final temperature isreached
If temperature is decreased slowlyconvergence is guaranteed
0...321 "uuu
0pk
F
-
8/8/2019 Topics 1 10
94/134
Spring 2002 IE 514 94
SAAlgorithm
Step 1:Setk=1 and select the initial temperatureF1.
Select an initial schedule S1 and set S0=S1.
Step 2:
Select a candidate schedule Sc from N(Sk).IfG(S0)< G(Sc)< G(Sk), set Sk+1 =Sc and go to Step 3.
IfG(Sc)< G(S0), set S0=Sk+1 =Sc and go to Step 3.
IfG(Sc)< G(S0), generate UkbUniform(0,1);
IfUk eP(Sk, Sc), set Sk+1 =Sc; otherwise set Sk+1 =Sk; go to
Step 3.Step 3:
SelectFk+1 e Fk.
Letk=k+1. Ifk=NSTOP; otherwise go to Step 2.
-
8/8/2019 Topics 1 10
95/134
Spring 2002 IE 514 95
Discussion
SA has been applied successfully to manyindustry problems
Allows us to escape local optima Performance depends on
Construction of neighborhood
Cooling schedule
-
8/8/2019 Topics 1 10
96/134
Spring 2002 IE 514 96
Topic 7
Tabu Search
-
8/8/2019 Topics 1 10
97/134
Spring 2002 IE 514 97
Tabu Search
Similar to SA but uses a deterministicacceptance/rejection criterion
Maintain a tabu list of schedule changesA move made entered at top of tabu list
Fixed length (5-9)
Neighbors restricted to schedules notrequiring a tabu move
-
8/8/2019 Topics 1 10
98/134
Spring 2002 IE 514 98
Tabu List
Rational
Avoid returning to a local optimum
DisadvantageA tabu move could lead to a better schedule
Length of list
Too short cycling (stuck) Too long search too constrained
Tabu Search Algorithm
-
8/8/2019 Topics 1 10
99/134
Spring 2002 IE 514 99
Tabu Search Algorithm
Step 1:Setk=1. Select an initial schedule S1 and set S0=S1.
Step 2:Select a candidate schedule Sc from N(Sk).
If Skp Sc on tabu list set Sk+1 =Sk and go to Step 3.
Enter Sc p Sk on tabu list.
Push all the other entries down (and delete the last one).
IfG(Sc)< G(S0), set S0=Sc.
Go to Step 3.
Step 3:SelectFk+1 e Fk.
Letk=k+1. Ifk=NSTOP; otherwise go to Step 2.
Single Machine Total
-
8/8/2019 Topics 1 10
100/134
Spring 2002 IE 514 100
Single Machine Total
Weighted Tardiness Example
Jobs 1 2 3 4
jp 10 10 13 4
jd 4 2 1 12
jw 14 12 1 12
Initialization
-
8/8/2019 Topics 1 10
101/134
Spring 2002 IE 514 101
Initialization
Tabu list empty L={}
Initial schedule S1 = (2,1,4,3)
0 10 20 30 40
Deadlines
20 - 4 = 16
10 - 2 = 8
37 - 1 = 3624 - 12 = 12
!! 50012123618121614jjw
-
8/8/2019 Topics 1 10
102/134
Spring 2002 IE 514 102
Neighborhood
Define the neighborhood as all schedulesobtain by adjacent pairwise interchanges
The neighbors ofS1 = (2,1,4,3) are(1,2,4,3)
(2,4,1,3)
(2,1,3,4) Objective values are: 480, 436, 652
Selectthe best
non-tabu schedule
-
8/8/2019 Topics 1 10
103/134
Spring 2002 IE 514 103
Second Iteration
LetS0 =S2 = (2,4,1,3). G(S0)=436.
LetL = {(1,4)}
New neighborhood
Seq e ce (4,2,1,3) (2,1,4,3) (2,4,3,1)
Twj 460 500 608
-
8/8/2019 Topics 1 10
104/134
Spring 2002 IE 514 104
Third Iteration
LetS3 = (4,2,1,3), S0 = (2,4,1,3).
LetL = {(2,4),(1,4)}
New neighborhood
Seq e ce (2,4,1,3) (4,1,2,3) (4,2,3,1)
Twj 436 440 632
Tabu!
-
8/8/2019 Topics 1 10
105/134
Spring 2002 IE 514 105
Fourth Iteration
LetS4 = (4,1,2,3), S0 = (2,4,1,3).
LetL = {(1,2),(2,4)}
New neighborhood
Seq e ce (1,4,2,3) (4,2,1,3) (4,1,3,2)
Twj 402 460 586
-
8/8/2019 Topics 1 10
106/134
Spring 2002 IE 514 106
Fifth Iteration
LetS5 = (1,4,2,3), S0 = (1,4,2,3).
LetL = {(1,4),(1,2)}
This turns out to be the optimalschedule
Tabu search still continues
Notes: Optimal schedule only found via tabu list
We never know if we have found the optimum!
-
8/8/2019 Topics 1 10
107/134
Spring 2002 IE 514 107
Topic 8
Genetic Algorithm
Genetic Algorithms
-
8/8/2019 Topics 1 10
108/134
Spring 2002 IE 514 108
Genetic Algorithms
Schedules are individuals that formpopulations
Each individual has associated fitness
Fit individuals reproduce and havechildren in the nextgeneration
Very fit individuals survive into the nextgeneration
Some individuals mutate
Total Weighted Tardiness
-
8/8/2019 Topics 1 10
109/134
Spring 2002 IE 514 109
Individual
(sequence)
(2,1,3,4) (3,4,1,2) (4,1,3,2)
Fitness
jjTw 652 814 586
Single Machine Example
First GenerationInitialpopulation
selected randomly
-
8/8/2019 Topics 1 10
110/134
Spring 2002 IE 514 110
Mutation Operator
Individual (2,1,3,4) (3,4,1,2) (4,1,3,2)
Fitness 652 814 586
(4,3,1,2)
Reproduction
via mutation
Fittest
Individual
-
8/8/2019 Topics 1 10
111/134
Spring 2002 IE 514 111
Cross-OverOperator
Individual (2,1,3,4) (4,3,1,2) (4,1,3,2)
Fitness 652 758 586
(4,1,3,2)
(2,1,3,4)
Reproduction
via cross-over
Fittest
Individuals
(2,1,3,2)
(4,1,3,4)
Infeasible!
-
8/8/2019 Topics 1 10
112/134
Spring 2002 IE 514 112
Representing Schedules
When using GA we often representindividuals 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 )
-
8/8/2019 Topics 1 10
113/134
Spring 2002 IE 514 113
Discussion
Genetic algorithms have been used verysuccessfully
Advantages:Very generic
Easily programmed
Disadvantages:A method that exploits special structure is
usually faster (if it exists)
-
8/8/2019 Topics 1 10
114/134
Spring 2002 IE 514 114
Topic 9
Nested Partitions Method
The Nested Partitions MethodThe Nested Partitions Method
-
8/8/2019 Topics 1 10
115/134
Spring 2002 IE 514 115
The Nested Partitions MethodThe Nested Partitions Method(Shameless self(Shameless self--promotion!)promotion!)
Partitioning of all schedules
Similar to branch-and-bound & beam search
Random sampling & local search used tofind which node is most promising
Similar to beam search
Retains only one node (beam width = 1)Allows for possible backtracking
Single Machine Total
-
8/8/2019 Topics 1 10
116/134
Spring 2002 IE 514 116
Single Machine Total
Weighted Tardiness Example
Jobs 1 2 3 4
jp 10 10 134
jd 4 2 1 12
jw 14 12 1 12
First Iteration
-
8/8/2019 Topics 1 10
117/134
Spring 2002 IE 514 117
First Iteration
(,,,)
(1,,,) (2,,,) (3,,,) (4,,,)
(1,4,2,3) 402
Random Samples (uniform sampling,ATC rule, genetic algorithm)
(1,2,4,3) 480(1,4,3,2) 554
I(1,,,) = 402
Promising Index
Mostpromising region
-
8/8/2019 Topics 1 10
118/134
Spring 2002 IE 514 118
Notation
We letW(k) be the most promising region in the k-th iteration
Wj
(k) be the subregions, j=1,2,,M
WM+1(k) be the surrounding region
7 denote all possible regions (fixed set)
70 all regions that contain a single schedule
I(W) be the promising index of
W7
Second Iteration
-
8/8/2019 Topics 1 10
119/134
Spring 2002 IE 514 119
Second Iteration
(,,,)
(1,,,) {(2,,,),(3,,,),(4,,,)}
(1,3,,) (1,4,,)(1,2,,) (4,2,1,3) 460
Random Samples
(2,4,1,3) 436
(4,1,3,2) 586
Mostpromising region W(2)
Best Promising IndexI(W
4(2)) = 436
W4(2)
W1(2) W2(2) W3(2)
sW(2))
Third Iteration
-
8/8/2019 Topics 1 10
120/134
Spring 2002 IE 514 120
Third Iteration
(,,,)
(1,,,) {(1,2,,),(1,4
,,),(2,,,),(3,,,),(4
,,,)}
(1,3,,) (4,2,3,1) 632
Random Samples
(2,4,1,3) 436
(1,4,2,3) 402
(1,3,2,4) (1,3,4,2) I(W3(3)) = 402
W1(3) W2(3)
W3(3)sW(3))
W(3)
Best Promising Index
Fourth Iteration
-
8/8/2019 Topics 1 10
121/134
Spring 2002 IE 514 121
Fourth Iteration
(,,,)
(1,,,) {(2,,,),(3,,,),(4,,,)}
(1,3,,) (1,4,,)(1,2,,)
W4(4)
W1(4) W2(4) W3(4)
sW(4))
W(4)
Backtracking!
Finding the Optimal Schedule
-
8/8/2019 Topics 1 10
122/134
Spring 2002 IE 514 122
g p
The sequence
is a Markov chain
Eventually the singleton region Wopt7containing the best schedule is visited
Absorbing state (never leave Wopt)
Finite state space
visited after finitely many iterations.
_ ag!1
)(k
kW
Discussion
-
8/8/2019 Topics 1 10
123/134
Spring 2002 IE 514 123
Discussion
Finds best schedule in finite iterations Only branch-and-bound can also guarantee
If we can calculate/estimate/guarantee theprobability 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 rulesand local search (genetic algorithms, etc)
-
8/8/2019 Topics 1 10
124/134
Spring 2002 IE 514 124
Topic 10
Mathematical Programming
Review ofMathematical
P i
-
8/8/2019 Topics 1 10
125/134
Spring 2002 IE 514 125
Programming
Many scheduling problems can beformulated as mathematical programs:
Linear Programming (IE 534)
Nonlinear Programming (IE 631)
Integer Programming (IE 632)
See Appendix A in book.
Li P
-
8/8/2019 Topics 1 10
126/134
Spring 2002 IE 514 126
Linear Programs
Minimize
subject tonnxcxcxc ...2211
njx
bxaxaxa
bxaxaxa
bxaxaxa
j
nn
nn
nn
,...,1for0
...
...
...
12211
12222121
11212111
!u
e
e
/
S l i LP
-
8/8/2019 Topics 1 10
127/134
Spring 2002 IE 514 127
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
N li P
-
8/8/2019 Topics 1 10
128/134
Spring 2002 IE 514 128
Nonlinear Programs
Minimize
subject to
),...,,( 21 nxxxf
0),...,(
0),...,(
0),...,(
2,1
2,12
2,11
!
!
!
n
n
n
xxxg
xxxg
xxxg
/
Solving Nonlinear
P
-
8/8/2019 Topics 1 10
129/134
Spring 2002 IE 514 129
Programs
Optimality conditions
Karush-Kuhn-Tucker
Convex objective, convex constraints Solution methods
Gradient methods (steepest descent,Newtons method)
Penalty and barrier function methods
Lagrangian relaxation
I t P i
-
8/8/2019 Topics 1 10
130/134
Spring 2002 IE 514 130
Integer Programming
LP where all variables mustbe integer
Mixed-integer programming (MIP)
Much more difficultthan LP Mostuseful for scheduling
E ample Single Machine
-
8/8/2019 Topics 1 10
131/134
Spring 2002 IE 514 131
Example: Single Machine
One machine and n jobs
Minimize
Define the decision variables
!n
j jjCw
1
! otherwise.0
attimestartsjobif1 tjxjt
-
8/8/2019 Topics 1 10
132/134
Solving IPs
-
8/8/2019 Topics 1 10
133/134
Spring 2002 IE 514 133
Solving IPs
Solution Methods
Cutting plane methods
Linear programming relaxationAdditional constraints to ensure integers
Branch-and-bound methods
Branch on the decision variables
Linear programming relaxation provides bounds
Generally difficult
Disjunctive Programming
-
8/8/2019 Topics 1 10
134/134
Disjunctive Programming
Conjuctive
All constraints must be satisfied
DisjunctiveAt least one of the constraints must be
satisfied
Zero-one integer programs
Use for job-shop scheduling