Spring 2002 IE 514 1
Topic 28
Flexible Assembly Systems
Spring 2002 IE 514 2
Job Shops Flexible Assembly
Each job has an unique identity
Make to order, low volume environment
Possibly complicated route through system
Very difficult
Limited number of product types
Given quantity of each type
Mass productionHigh degree of
automationEven more
difficult!
Spring 2002 IE 514 3
Flexible Assembly SystemsSequencing Unpaced Assembly Systems
Simple flow line with finite buffersApplication: assembly of copiers
Sequencing Paced Assembly SystemsConveyor belt moves at a fixed speedApplication: automobile assembly
Scheduling Flexible Flow SystemsFlow lines with finite buffers and bypassApplication: producing printed circuit board
Spring 2002 IE 514 4
Sequencing Unpaced Assembly Systems
Number of machines in seriesNo buffersMaterial handling system
When a job finishes moves to next station
No bypassing Blocking
Can model any finite buffer situation
Spring 2002 IE 514 5
Cyclic Schedules
Schedules often cyclic or periodic: Given set of jobs scheduled in certain
orderContains all product typesMay contain multiple jobs of same type
Second identical set scheduled, etc.Practical if insignificant setup time
Low inventory cost Easy to implement
Spring 2002 IE 514 6
Minimum Part Set
Suppose l product types
Let Nk be target number of jobs of type k
Let z be the greatest common divisor
Then
is the smallest set with ‘correct’ proportions
Called the minimum part set (MPS)
z
N
z
N
z
NN l,...,, 21*
Spring 2002 IE 514 7
Defining a Cyclic Schedule
Consider the jobs in the MPS as n jobs
Let pij be as beforeA cyclic schedule is determined by
sequencing the job in the MPSMaximizing TP = Minimizing cycle time
l
lkNz
n1
1
Spring 2002 IE 514 8
MPS Cycle Time Example
Jobs 1 2 3
jp1 0 1 0
jp2 0 0 0
jp3 1 0 1
jp4 1 1 0
Buffer!
Spring 2002 IE 514 9
Sequence: 1,2,3
(i)
Cycle Time = 3
1 2 3 4 5 6 7 8
(ii) (iii)
(i)
(i)
(ii)
(ii)
(i)
(ii) (iii)
(i) (ii) (ii)
(ii)(ii)(i)
(iii)
(i) (ii) (iii)
Spring 2002 IE 514 10
Sequence: 1,3,2
(i)
Cycle Time
1 2 3 4 5 6 7
(ii) (iii)
(i) (ii)(ii)
(i)
(i) (ii) (iii)
(i) (ii) (ii)
(ii)(ii)(i)
(i)
(iii)
(iii)
(iii)
(iii) (iii)
Spring 2002 IE 514 11
Minimizing Cycle Time
Profile Fitting (PF) heuristic: Select first job j1
ArbitrarilyLargest amount of processing
Generates profile
Determine which job goes next
i
hjhji i
pD1
,, 1
Spring 2002 IE 514 12
PF: Next JobCompute for each candidate job
Time machines are idle Time job is blocked Start with departure times:
222
222
222
,21,1,1
,1,1,
,21,1,1
,max
1,...,2 ,,max
,max
jcjjm
jiicjiji
jcjj
DpDD
miDpDD
DpDD
Spring 2002 IE 514 13
Calculate sum of idle and blocked time
Repeat for all remaining jobs in the MPSSelect job with smallest number
Calculate new profile and repeat
Nonproductive Time
m
iicjiji pDD
1,, ,
12
Spring 2002 IE 514 14
Discussion: PF Heuristic
PF heuristic performs well in practiceRefinement:
Nonproductive time is not equally bad on all machines
Bottleneck machine Use weight in the sum
Spring 2002 IE 514 15
Discussion: PF Heuristic
Basic assumptions Setup is not important Low WIP is important
Cyclic schedules goodWant to maximize throughput
Minimize cycle time PF heuristic performs well
Spring 2002 IE 514 16
Discussion: FMS
Flexible Manufacturing Systems (FMS) Numerically Controlled machines Automated Material Handling system Produces a variety of product/part types
Scheduling Routing of jobs Sequencing on machines Setup of tools
Similar features but more complicated
Spring 2002 IE 514 17
Discussion: Solution Methods
Formulated as ‘simple’ sequencingCan apply branch-and-boundIn general constraints make
mathematical programming formulation difficult
PF heuristic easy to generalize
Spring 2002 IE 514 18
Additional Complications
The material handling system does not wait for a job to complete Paced assembly systems
There may be multiple machines at each station and/or there may be bypass Flexible flow systems with bypass
Spring 2002 IE 514 19
Topic 29
Paced Assembly Systems
Spring 2002 IE 514 20
Paced Assembly Systems
Conveyor moves jobs at fixed speedsFixed distance between jobs
Spacing proportional to processing timeNo bypassUnit cycle time
time between two successive jobs
Spring 2002 IE 514 21
Grouping and Spacing
Attributes and characteristics of each job color, options, destination of cars
Changeover cost Group operations with high changeover
Certain long operations Space evenly over the sequence Capacity constrained operations (criticality
index)
Spring 2002 IE 514 22
Objectives
Minimize total setup costMeet due dates for make-to-order jobs
Total weighted tardinessSpacing of capacity constrained
operations Pi(l) = penalty for working on two jobs l
positions apart in ith workstationRegular rate of material consumption
Spring 2002 IE 514 23
Grouping and Spacing Heuristic
Determine the total number of jobs to be scheduled
Group jobs with high setup cost operations
Order each subgroup accounting for shipping dates
Space jobs within subgroups accounting for capacity constrained operations
Spring 2002 IE 514 24
Example
Single machine with 10 jobsEach job has a unit processing timeSetup cost
If there is a penalty cost
11 kjjk aac
22 kj aa
)0,3max()(2 llP
Spring 2002 IE 514 25
Example Data
Job1 2 3 4 5 6 7 8 9 10
ja1 1 1 1 3 3 3 5 5 5 5
ja2 0 1 1 0 1 1 1 0 0 0
jd 2 6
jw0 4 0 0 0 0 4 0 0 0
Spring 2002 IE 514 26
Grouping
Group A: Jobs 1,2, and 3 Group B: Jobs 4,5, and 6Group C: Jobs 7,8,9, and 19
Best order: A B C
Spring 2002 IE 514 27
Grouped Jobs
A B C
Duedate
Job1 2 3 4 5 6 7 8 9 10
ja1 1 1 1 3 3 3 5 5 5 5
ja2 0 1 1 0 1 1 1 0 0 0
jd 2 6
jw0 4 0 0 0 0 4 0 0 0
Order A C B
Spring 2002 IE 514 28
Capacity Constrained Operations
A C BJob2 1 3 8 7 9 10 5 4 6
ja1 1 1 1 5 5 5 5 3 3 3
ja2 1 0 1 0 1 0 0 1 0 1
jd 2 6
jw4 0 0 0 4 0 0 0 0 0
Spring 2002 IE 514 29
Topic 30
Flexible Flow Systems
Spring 2002 IE 514 30
Flexible Flow System with Bypass
Spring 2002 IE 514 31
Flexible Flow Line Algorithm
Objectives Maximize throughput Minimize work-in-process (WIP)
Minimizes the makespan of a day’s mix Actually minimization of cycle time for
MPSReduces blocking probabilities
Spring 2002 IE 514 32
Flexible Flow Line Algorithm
Three phases: Machine allocation phase
assigns each job to a specific machine at station
Sequencing phaseorders in which jobs are releaseddynamic balancing heuristic
Time release phaseminimize MPS cycle time on bottlenecks
Spring 2002 IE 514 33
Machine Allocation
Bank of machinesWhich machine for which job?Basic idea: workload balancingUse LPT dispatching rule
Spring 2002 IE 514 34
Sequencing
Basic idea: spread out jobs sent to the same machine
Dynamic balancing heuristicFor a given station, let pij be
processing time of job j on ith machine
Let
n
jiji pW
1
n
jiWW
1
Spring 2002 IE 514 35
Dynamic Balancing Heuristic
Let Sj be the jobs released before and including job j
Define
Target
1,0 jSk i
ikij W
p
Wpppjj Skk
n
k
m
iik
Sk
m
iikj //
1 11
*
Spring 2002 IE 514 36
Minimizing Overload
Define the overload of the ith machine
The cumulative overload is
Minimize
WWppo ijijij /
ijSk
ikSk
ikij WpoOjj
*
n
i
m
jijO
1 1
0,max
Spring 2002 IE 514 37
Release Timing
MPS workload of each machine known Highest workload = bottleneck MPS cycle time Bottleneck cycle time
Algorithm Step 1: Release all jobs as soon as
possible Step 2: Delay all jobs upstream from
bottleneck as much as possible Step 3: Move up all jobs downstream
from the bottleneck as much as possible
Spring 2002 IE 514 38
Example
Spring 2002 IE 514 39
Data
Jobs 1 2 3 4 5
'1jp 6 3 1 3 5
'2jp 3 2 1 3 2
'3jp 4 5 6 3 4
Spring 2002 IE 514 40
Machine Allocation
Jobs 1 2 3 4 5
jp1 6 0 0 3 0
jp2 0 3 1 0 5
jp3 3 2 1 3 2
jp4 4 5 0 3 0
jp5 0 0 6 0 4
Spring 2002 IE 514 41
Workload
51
10
12
11
9
9
5
4
3
2
1
W
W
W
W
W
W
11
9
8
10
13
5
4
3
2
1
p
p
p
p
p
Spring 2002 IE 514 42
Overload
55.25110130
94.05112134
20.05111133
29.2519130
71.3519136
51
41
31
21
11
o
o
o
o
o
Spring 2002 IE 514 43
Overload Matrix
3.71 -1.76 -1.41 1.41 -1.94-2.29 1.24 -0.41 -1.59 3.060.20 -0.16 -0.73 1.06 -0.370.94 2.65 -1.88 0.88 -2.59
-2.55 -1.96 4.43 -1.76 1.84
Spring 2002 IE 514 44
Dynamic Balancing
3.71 0.00 0.00 1.41 0.000.00 1.24 0.00 0.00 3.060.20 0.00 0.00 1.06 0.000.94 2.65 0.00 0.88 0.000.00 0.00 4.43 0.00 1.84
4.84 3.88 4.43 3.35 4.90
First Job
Spring 2002 IE 514 45
Selecting the Second Job
Calculate the cumulative overload
where13.5
943.0)63(
943.0}1,4{
1
1*1111
1
kk
Skk
p
WpO
43.051/)139(
51//}1,4{
*1
k
kSk
k pWpj
Spring 2002 IE 514 46
Cumulative Overload
)08.0,71.1,69.0,47.1,53.0(
)67.2,00.1,33.0,00.2,00.0(
)72.3,52.3,90.0,36.0,35.0(
)32.4,82.1,26.1,88.3,11.5(
5
3
2
1
i
i
i
i
O
O
O
O
Selected next
Spring 2002 IE 514 47
Final Cycle
Schedule jobs 4,5,1,3,2Release timing phase
Machine 4 is the bottleneck Delay jobs on Machine 1, 2, and 3 Expedite jobs on Machine 5
Spring 2002 IE 514 48
Topic 31
Lot Sizing
Spring 2002 IE 514 49
Lot Sizing
Domain: large number of identical jobs setup time/cost significant setup may be sequence dependent
Terminology jobs = items sequence of identical jobs = run
Spring 2002 IE 514 50
Applications
Continuous manufacturing chemical, paper, pharmaceutical, etc.
Service industry retail procurement
Spring 2002 IE 514 51
Objective
Minimize total cost setup cost inventory holding cost
Trade-off
Cyclic schedules
Spring 2002 IE 514 52
Scheduling Decisions
Determine the length of runs lot sizes
Determine the order of the runs sequence to minimize setup cost
Economic Lot Scheduling Problem (ELSP)
Spring 2002 IE 514 53
Overview
One type of item/one machine
Several types of items/one machine rotation schedules arbitrary schedules
Generalizations to multiple machines
Spring 2002 IE 514 54
Problem Description
Single machineSingle item typeProduction rate q/timeDemand rate g/time
Problem: determine the run length
Spring 2002 IE 514 55
Minimize Cost
Let x denote the cycle timeDemand over a cycle = gxLength of production run needed = gx/q
Inventory
Timex
q
gxgq )( xq
xggx
2
2
1AREA
Spring 2002 IE 514 56
Costs
Average setup cost c/xAverage inventory holding cost
Total cost
q
xggxh
2
2
1
x
c
q
xggxh
2
2
1
Per item holding cost
Setup cost per run
Spring 2002 IE 514 57
Optimizing Cost
Derivative
Solve
2
2
12
1
2
1
x
c
q
ghg
x
c
q
xggxh
dx
d
012
12
x
c
q
ghg
Spring 2002 IE 514 58
Optimal Cycle Time
21
2
1
x
c
q
ghg
)(
22
gqhg
qcx
)(
2
gqhg
qcx
Spring 2002 IE 514 59
Optimal Lot Size
Total production
When unlimited production capabilities
Economic Order Quantity (EOQ)
)(
2
gqh
qcggx
hg
c
gqh
qcg q 2
)(
2
Spring 2002 IE 514 60
Setup Time
Setup time s
If s x(1-) above optimal
Otherwise cycle length
is optimal
1
sx
nutilizatioq
g
Spring 2002 IE 514 61
Numerical Example
Production q = 90/monthDemand g = 50/monthSetup cost c = $2000Holding cost h = $20/item
34
36
4010
3600
)5090(5020
2000902
x
Spring 2002 IE 514 62
Optimal Schedule
Cycle time = 3 months
Lot size = 150 items
Idle time = 3(1-5/9)=1.33 months
Spring 2002 IE 514 63
Example: Setup Times
Now assume setup time
If < 1.33 months then 3 month cycle still optimal
Otherwise the cycle time must be longer
1
sx
Spring 2002 IE 514 64
Inventory LevelsInventory
Month
120
1 2 3 4 5 6Inventory
Month
180
1 2 3 4 5 6
Spring 2002 IE 514 65
Example
A plant needs to produce 10000 car chassis per year
The plant capacity is 25000 chassis/yearEach chassis costs $2000It costs $200 to set up a production runHolding cost is $500/chassis/year
What is the optimal lot size?
Spring 2002 IE 514 66
Solution
The optimal lot size is
which means we should make
runs in a year.
5.11575
1000000
)1025(5
100200252
)100025000(500
10000200250002
)(
2
gqh
qcggx
6.865.115
10000
Spring 2002 IE 514 67
Discussion
Notice that the preceding result does not tell us how to produce those chassis in detail
Lot size models are used for planning
Time horizon usually a few months (short range planning)
Spring 2002 IE 514 68
Topic 33
Lot Sizing with Multiple Items
Spring 2002 IE 514 69
Multiple Items
Only considered one item type before
Now assume n different itemsDemand rate for item j is gj
Production rate of item j is qj
Setup independent of the sequence
Rotation schedule: single run of each item
Spring 2002 IE 514 70
Scheduling Decision
Cycle length determines the run length for each item
Only need to determine the cycle length x
Expression for total cost/time unit
Spring 2002 IE 514 71
Inventory Holding Cost
Average inventory level for the j-th item
Average total cost
j
jj q
xgxg
2
2
1
n
j
j
j
jjj x
c
q
xgxgh
1
2
2
1
Spring 2002 IE 514 72
Optimal Lot-Size
Solve as before
Limiting case (infinite production rate)
n
jj
n
j j
jjjj cq
gqghx
1
1
1 2
)(
n
jj
n
j
jj cgh
x1
1
1 2
Spring 2002 IE 514 73
Example
Items 1 2 3 4
_qj 400 400 500 400
_gj 50 50 60 60
_hj 20 20 30 70
_cj 2000 2500 800 0
Spring 2002 IE 514 74
Solution
months 24.15353.153003452
53008
34042
10
44018
4
35010
53008
34042
10
44018
8
350102
2
)(
1
1
1
1
1
1
n
jj
n
j j
jjjj cq
gqghx
Spring 2002 IE 514 75
Solution
The total average cost per time unit is
How can we do better than this?
8554$2213162725592155
Spring 2002 IE 514 76
Topic 34
Lot Sizing with Setup
Spring 2002 IE 514 77
Setup Times
With sequence independent setup costs and no setup times the sequence within each lot does not matter
Only a lot sizing problem
Even with setup times, if they are not job dependent then still only lot sizing
Spring 2002 IE 514 78
Job Independent Setup Times
If sum of setup times < idle time then our optimal cycle length remains optimal
Otherwise we take it as small as possible
n
jj
n
jjs
x
1
1
1
Spring 2002 IE 514 79
Job Dependent Setup Times
Now there is a sequencing problemObjective: minimize sum of setup
times
Equivalent to the Traveling Salesman Problem (TSP) A salesman must visit n cities exactly once with
the objective of minimizing the total travel time, starting and ending in the same city
Spring 2002 IE 514 80
Equivalence to TSP
Item = cityTravel time = setup time
TSP is NP-hard
If best sequence has sum of setup times < idle time optimal lot size and sequence
Spring 2002 IE 514 81
Long setup
If sum of setups > idle time, then the optimal schedule has the property: Each machine is either producing or
being setup for production
An extremely difficult problem with arbitrary setup times
Spring 2002 IE 514 82
Arbitrary Schedules
Sometimes a rotation schedule does not make sense (remember problem with no setup cost)
For example, we might want to allow a cycle 1,4,2,4,3,4 if item 4 has no setup cost
No efficient algorithm exists
Spring 2002 IE 514 83
Problem Formulation
Assume sequence-independent setup
Formulate as a nonlinear program
runs productionbetween meet is demand
cycle over themet demand
s.t.
COSTminminsizeslot sequences
Spring 2002 IE 514 84
Notation
Setup cost and setup times
All possible sequences
Item k produces in l-th position
Setup time sl, run time tl, and idle time ul
. , kjkkjk sscc
nhjjjS h :),...,,( 21
kjl qqq
l
Spring 2002 IE 514 85
Inventory Cost
Let x be the cycle timeLet v be the time between
production of k
Total inventory cost for k is
k
lk
l
ll
g
tq
g
tqv
2)(2
1 ll
llll tg
qgqh
Spring 2002 IE 514 86
Mathematical Program
h
l
h
l
lll
llll
utxSct
g
qgqh
xll1 1
2
,,)()(
2
11minmin
h
j
jjj
l
Ljl
ljjj
Ijk
jk
xust
nktg
qust
nkxgtq
l
k
1
)(
,...,1 ,)(
,...,1 ,Subject to
Spring 2002 IE 514 87
Two Problems
Master problem finds the best sequence
Subproblem finds the best production times, idle
times, and cycle length
Key idea: think of them seperately
Spring 2002 IE 514 88
Subproblem
h
l
h
l
lll
llll
utxct
g
qgqh
xll1 1
2
,,)()(
2
11min
h
j
jjj
l
Ljl
ljjj
xust
nktg
qust
l
1
)(
,...,1 ,)(
Subject to
Spring 2002 IE 514 89
Master Problem
Sequencing complicatedHeuristic approachFrequency Fixing and Sequencing (FFS)Focus on how often to produce each
item Computing relative frequencies Adjusting relative frequencies Sequencing
Spring 2002 IE 514 90
Computing Relative Frequencies
Let yk denote the number of times item k is produced in a cycle
We will simplify the objective function by
substituting
drop the second constraint
kkkkk gqha )(2
1
Spring 2002 IE 514 91
Mathematical Program
n
k
kkn
k k
k
xy x
yc
y
xak 11
,min
11
n
k
kk
x
ysSubject to
Spring 2002 IE 514 92
Solution
Using Lagrangean multiplier:
Adjust cycle length for frequenciesIdle times = 0No idle times, must satisfy
kk
kk sc
axy
11
n
k kk
k
ksc
as
Spring 2002 IE 514 93
Adjusting the Frequencies
Adjust the frequencies such that they are integer powers of 2 cost within 6% of optimal cost
New frequencies and run times'' , kk ty
Spring 2002 IE 514 94
Sequencing
Variation of LPTCalculate
Consider the problem with machines in parallel and jobs of length
List pairs in decreasing orderSchedule one at a time considering
spacing
''1
'max ,...,max nyyy
'maxy
'kt
'ky
) ,( ''kk ty
Spring 2002 IE 514 95
Topic 35
Lot Sizing on Multiple Machines
Spring 2002 IE 514 96
Multiple Machines
So far, all models single machine models
Extensions to multiple machines parallel machines flow shop flexible flow shop
Spring 2002 IE 514 97
Parallel Machines
Have m identical machines in parallelSetup cost onlyItem process on only one machine
Assume rotation schedule equal cycle for all machines
Spring 2002 IE 514 98
Decision Variables
Same as previous multi-item problem
Addition: assignment of items to machines
Objective: balance the load
Heuristic: LPT with k
kk q
g
Spring 2002 IE 514 99
Different Cycle Lengths
Allow different cycle lengths for machines
Intuition: should be able to reduce cost
Objective: assign items to machines to balance the load
Complication: should not assign items that favor short cycle to the same machine as items that favor long cycle
Spring 2002 IE 514 100
Heuristic Balancing
Compute cycle length for each itemRank in decreasing orderAllocation jobs sequentially to the
machines until capacity of each machine is reached
Adjust balance
Spring 2002 IE 514 101
Further Generalizations
Sequence dependent setupMust consider
preferred cycle time machine balance setup times
UnsolvedGeneral schedules even harder!Research needed :-)
Spring 2002 IE 514 102
Flow Shop
Machines configured in seriesAssume no setup timeAssume production rate of each item
is identical for every machine Can be synchronized
Reduces to single machine problem
m
iikk cc
1
Spring 2002 IE 514 103
Variable Production Rates
Production rate for each item not equal for every machine
Difficult problemLittle research
Flexible flow shop: need even more stringent conditions
Spring 2002 IE 514 104
Discussion
Applicability of lot sizing models short range planning demand assumed known
determines throughput
make-to-stock systemsdue date of little importance/not availableextensions to mixed systems
Multiple facilities in series supply chain management