Академический Документы
Профессиональный Документы
Культура Документы
Textbooks
Production Management 2
2
Organization Course Content
-Introduction to production systems
-Aggregate Planning
- Lotsizing
-Scheduling
Production Management 3
3
0. The Production Paradigm: Evolution of Production
Systems
Ancient Systems
basic planning, organizations and control
specialization of labor
Feudal Systems
hierachical system (delegation)
land and labor as production input
European System
double entry bookkeeping, cost accounting
Industrial Revolution: specialization, mass markets, mass production
American System
interchangeable parts
steam power
assembly lines
Production Management 4
4
0.1 The Competitive Environment
Input Output
manufacturing firms
service companies
Production Management 6
6
0.2Production Systems
Inventory Management
Production System
Production Floor
Raw Finished
Supplier Material Goods Customer
Inventory Inventory
Work-in-process
Purchasing Forecasting
Long-range capacity planning
Production planning
Short-range requirements (material capacity)
Scheduling
Production Management 8
8
Planning can be divided into the following phases
Production Management 10
10
Planning horizon
Long-term planning: strategic decisions they concern the design and
structure of a supply chain and have long term effects
Production Management 11
11
Difficulties in planning!
Objectives: finding the appropriate objective function
conflicting objectives
high service level
low costs
multi-objective decision situation
Production Management 13
13
Characteristics of APS
Integral planning
true optimization
heuristics
exact approaches
a hierachical planning system
Production Management 14
14
Supply Chain Planning Matrix
procurement production distribution sales
long-
term
Master Planning
Demand
Production Distribution Planning
Material Planning Planning
Requirements
Demand
short-
term
Planning Transport
Scheduling Fulfilment &
Planning
ATP
Production Management 15
15
Supply Chain Planning Matrix
procurement production distribution sales
personnel planning
master production
term
mid-
lot-sizing warehouse
personnel planning short-term sales
short-
term
information flows
flow of goods
Production Management 16
16
Aggregate Planning
Example:
one product (plastic case)
two injection molding machines, 550 parts/hour
one worker, 55 parts/hour
steady sales 80.000 cases/month
4 weeks/month, 5 days/week, 8h/day
how many workers?
Production Management 18
18
Aggregate Planning
Aspects of Aggregate Planning
Capacity: how much a production system can make
Aggregate Units: products, workers,...
Costs
production costs (economic costs!)
inventory costs(holding and shortage)
capacity change costs
Production Management 19
19
Aggregate Planning
Spreadsheet Methods
Zero Inventory Plan
Precision Transfer, Inc. Produces more than 300 different
precision gears ( the aggregation unit is a gear!).
Last year (=260 working days) Precision made 41.383 gears of
various kinds with an average of 40 workers.
41.383 gears per year
40 x 260 worker-days/year = 3,98 -> 4 gears/ worker-day
Month January February March April May June Total
Demand 2760 3320 3970 3540 3180 2900 19.670
Aggregate demand forecast for precision gear:
Production Management 20
20
Aggregate Planning
Production plan?
Production Management 21
21
Aggregate Planning
Production Management 22
22
Aggregate Planning
10
9
8
Number of Workers (hired / laid off)
2 2
Change in Workforce
0
-1
-2 -2
-4 -4
-6 -6
-8
January February March April May June
Month
Production Management 23
23
Aggregate Planning
Production Management 24
24
Aggregate Planning
Inventory: January: 3276 - 2760 = 516
February: 516 + 3120 3320
March: 316 + 3588 3670 = -66! -Backorders: 66 x $15
= $990 600
516
number of units (inventory / back-orders)
500
400
358
300 316
200
0 0
-66 -78
-100
-200
-300
-330
-400
il
ch
ay
y
ne
y
pr
ar
r
ua
M
ar
Ju
A
nu
M
br
Ja
Fe
Month
Production Management 25
25
Aggregate Planning
Production Management 26
26
Aggregate Planning
Production Management 27
27
Spreadsheet Methods Summary
Zero-Inv. Level/BO Level/No BO Mixed
Workers 33 39 40 35
Production Management 28
28
Aggregate Planning
Production Management 30
30
Aggregate Planning
Decision Variables:
Pt number of units produced in period t
Wt number of workers available in period t
H t number of workers hired in period t
Lt number of workers laid off in period t
I t number of units held in inventory in period t
Bt number of units backordered in period t
Production Management 31
31
Aggregate Planning
Constraints: work, Capacity, force, material
Pt ntWt t 1, 2,..., T
Wt Wt 1 H t Lt t 1, 2,..., T
Costs
(C P +C
t=1
P
t t
W
t Wt +C Ht H t +C Lt L t +C It I t +C Bt Bt )
Production Management 32
32
Aggregate Planning
Production Management 34
34
Aggregate Planning
Production Management 35
35
Aggregate Planning
Rounding LP solution
January February March April May June Total
Days 21 20 23 21 22 22 129
Units/Worker 84 80 92 84 88 88 516
Demand 2760 3320 3970 3540 3180 2900 19670
Workers 35 41 42 42 36 33 229
Capacity 2940 3280 3864 3528 3168 2904 19684
Capacity - Demand 180 -40 -106 -12 -12 4 14
Cumulative Difference 180 140 34 22 10 14 400
Produced 2930 3280 3864 3528 3168 2900 19670
Net inventory 170 130 24 12 0 0 336
Hired 0 6 1 0 0 0 7
Laid Off 0 0 0 0 6 3 9
Costs 89050 101750 116490 105900 98640 88920 600750
Production Management 36
36
Aggregate Planning
Practical Issues
100.000 variables and 40.000 constraints
LP/MIP Solvers: CPLEX, XPRESS-MP, ...
Extensions
Bounds I t I tU
I Lt I t I tU
L t 0.05Wt
Training
Wt Wt 1 H t 1 Lt
Production Management 37
37
Aggregate Planning
Transportation Models
supply points: periods, initial inventory
demand points: periods, excess demand, final inventory
ntWt capacity during period t
Dt forecasted number of units demanded in period t
CPt the cost to produce one unit in period t
CIt the cost to hold one unit in inventory in period t
Production Management 38
38
Aggregate Planning
t 1 2 3
capacity ntWt 350 300 350
demand 200 300 400
production costs 10 11 12
holding costs 2 2 2
initial inventory: 50
final inventory: 75
Production Management 39
39
Aggregate Planning
Production Management 40
40
Aggregate Planning
Extension: t 1 2 3
capacity n tW t 350 350 300
demand 400 300 400
production costs 10 11 12
holding costs 2 2 2
Production Management 41
41
Aggregate Planning
Ending Excess Available
1 2 3
inventory capacity capacity
0 2 4 6 0
Beginning inventory 50
25 25
Regular 10 12 14 16 0
350
time 350
Period 1
16 18 20 22 0
Overtime 90
50 40
Regular 16 11 13 15 0
350
time 275 75
Period 2
23 18 20 22 0
Overtime 90
90
Regular 22 17 12 14 0
300
time 300
Period 3
30 25 20 22 0
Overtime 75
75
Demand 400 300 400 75 130 1305
Production Management 42
42
Transportation Problem: Model and LP-Formulation
Situation:
location of customer and warehouses are fixed, the warehouses have fixed capacities
example:
company with 3 factories and 4 customers
transportaton costs per item from factory i to customer j
demand quantity equals production quantity
Production Management 43
43
General formulation
LP-Formulierung:
non-negativity xij 0 i = 1, , m; j = 1, , n
m n
si d j M
i =1 j 1
Production Management 44
44
example above
K = (10x11 + 5x12 + 6x13 + 11x14) + (x21 + 2x22 + 7x23 + 4x24) + (9x31 + x32 + 4x33 +
8x34) min
Supply constraints
X11 + x12 + x13 + x14 = 25 (i=1)
x21 + x22 + x23 + x24 = 25 (i=2)
x31 + x3 2+ x33 + x34 = 50 (i=3) :
Demand constraints
x11 + x21 + x31 = 15 (j=1)
x12 + x22 + x32 = 20 (j=2)
x13 + x23 + x33 = 30 (j=3)
x14 + x24 + x34 = 35 (j=4)
Nonnegativity:
xij 0 fr i = 1, , 3; j = 1, , 4
Production Management 45
45
Northwest Corner Rule
2.) Select the maximum value, such that the remaining resource of the column or row is used; if
the resource of the row is used go down, if the resource of the column is used go right.
3.) If there is only one column or row left choose all free xij of that row or column as base
variable (BV) with the maixmum possible values otherwise procede with 2.)
Result:
feasible solution (production = demand)
exactly m + n - 1 base variables xij
the remaining m*n (m+n-1) variablen must be set to 0 (NBV)
Production Management 46
46
Example: Starting solution for above problem:
i\j 1 2 3 4 si
1 15 10 25
2 10 15 25
3 50
15 35
dj 15 20 30 35 100
i\j 1 2 3 4 si
1 15 10 5 30
2 20 20
3 35
10 25
dj 15 10 35 25 85
Production Management 47
47
Degeneration is possible (one or more base variable are 0). DONT FORGET THEM!
i\j 1 2 3 4 si
1 10 5 15
2 15 0 15
Here we might delete the
3 50
30 20 row and the column. We
dj 10 20 30 20 80 can only delete one
(chose randomly).
Production Management 48
48
Vogels Approximation
1.) Starting with the same table as for the NW-Corner-Rule. No row or column is
delete.
2.) In each non-deleted row or column compute the difference between the
smallest and the second smallest cost factor cij not deleed yet.
3.) Chose the row or column with the biggest difference, select the smallest cij and
increase the according xij as much as possible.
5.) If there is only one column or row left choose all free xij of that row or
column as base variable (BV) with the maixmum possible values otherwise
procede with 2.)
Production Management 49
49
Example: Starting solution for above problem:
oportunity
i\j 1 2 3 4 si cost
10 5 6 11
1 / / 25 / 25 1 1 5
1 2 7 4
2 15 / / 10 10
25 1 2
9 1 4 8
3 / 20 5 25 30
50 3 3 4
dj 15 20 5
30 25
35 100
oportunity
cost 8 1 4 2 2 4 3
Production Management 50
50
Column minimum method
1.) Starting with the same table as for the NW-Corner-Rule. No row or column is
delete. .
3.) In this column select the smallest available cij and increase the according xij as
much as possible.
5.) If there is only one column or row left choose all free xij of that row or
column as base variable (BV) with the maixmum possible values otherwise
procede with 2.)
Production Management 51
51
Example: Starting solution for above problem:
i\j 1 2 3 4 si
1 25 25
2 15 10 25
3 20 30 0 50
dj 15 20 30 35 100
Attention:
Column minimum method is a greedy method
only the costs of a sinlge column are considered
delivers optimal solutions for level-workforce plans
Production Management 52
52
MODI, stepping stone
Similar to the simplex method, but less memory intensive
Start with a base solution gained by any heuristic method
Iteration for the transportation simplex method:
Build the mn-table like for the heuristic method, but denote the costs cij in the upper
left corner of each cell and the value of the base variables in the middle of the cells.
i\j 1 2 n si ui
cm1 cm2 cmn
m sm um
dj d1 d2 dn
vj v1 v2 vn
Production Management 53
53
For the current base solution ui and vj can be computed as follows
cij = ui + vj if xij is a BV
The values are denoted in the last column and last row of the extended table. ui and vj
are not well-defined. Therefore one of these dual variables will be set to 0. It simplifies
the calculations if the column/row with the most BVs is selected.
For all NBVs compute the coefficient fo the objective function cij ui vj write it to the
table. The most negative coefficient determines the new BV. The solution is optimal if
all coefficients are non-negative.
Increase the new BV and follow the chain reaction of the other BVs. Note, that the sum
of the rows and columns of the BVs must not change. The BV, which reaches first 0 is
skipped (becomes a NBV). [stepping stone]
Compute the new base solution, i.e. perform the chain reaction and procede with the
next step.
Production Management 54
54
Example: Starting solution for above problem:
Using the solution of the NW-Corner Rule b. Compute the ui and vj according to step 1 (u1=0).
Compute the coefficients of the NBVs (step 2).
i\j 1 2 3 4 si ui
10 5 6 -4 11 -3
1 25 0
15 10
1 -6 2 7 4 -7
2 25 -3
10 15
9 5 1 2 4 8
3 50 -6
15 35
dj 15 20 30 35
vj 10 5 10 14
Production Management 55
55
Total costs of this solution:10*15 + 5*10 + 2*10 + 7*15 + 4*15 + 8*35 = 665.
To check for mistakes ensure that after each iterations the objective of the primal and the dual
problem are equal:
m n m n
K cij xij ui si v j d j
i 1 j 1 i 1 j 1
Chain reaction: Increase the value of the new BV by and observe the changes of the other
BVs.
Production Management 56
56
Chain reaction:
If x24 is increased by, x23 and x34 must decrease by , and x33 must increase by . For
= 15 x23 reaches 0 BV x23 is removed.
i\j 1 2 3 4 si ui K = 665 7 *
= 665 7*15 = 560
10 5 6 -4 11 -3
1 25 0
15 10
1 -6 2 7 4 -7
2 25 -3
10 15- +
9 5 1 2 4 8
3 50 -6
15+ 35-
dj 15 20 30 35
vj 10 5 10 14
Production Management 57
57
new BV x24 =15 chain reaction
x34 = 35-15 = 20
x33 = 15+15 = 30
x23 is no BV; all other BVs remain unchanged.
Necxt iteration
i\j 1 2 3 4 si ui K = 560 6 *
1 -6 2 7 7 4
2 25 -3
10- 15
9 -2 1 -5 4 8
3 50 1
30 20
dj 15 20 30 35
vj 10 5 3 7
Production Management 58
58
next iteration
i\j 1 2 3 4 si ui K = 500 3 *
= 500 3*5 = 485
10 5 6 -3 11 -2
1 25 0
5- 20
1 2 6 7 7 4
2 25 -9
10+ 15-
9 4 1 1 4 8
3 50 -5
30- 20+
dj 15 20 30 35
vj 10 5 9 13
Production Management 59
59
next iteration
i\j 1 2 3 4 si ui K = 485 2 *
= 485 2*20 = 445
10 3 5 6 11 1
1 25 0
20- 5+
1 2 3 7 7 4
2 25 -6
15 10
9 4 1 -2 4 8
3 50 -2
25- 25
dj 15 20 30 35
vj 7 5 6 10
Production Management 60
60
next iteration
:
i\j 1 2 3 4 si ui All NBVs have non-
negative
10 3 5 2 6 11 1 coefficients
1 25 2 optimale solution
25
1 2 5 7 7 4 base variables:
2 25 -4
15 10 x13 = 25
x21 = 15
9 4 1 4 8
3 50 0 x24 = 10
20 5 25 x32 = 20
dj 15 20 30 35 x33 = 5
x34 = 25
vj 5 1 4 8
Production Management 61
61
Aggregate Planning
Disaggregating Plans
aggregate units are not actually produced, so the plan should
consider individual products
disaggregation
master production schedule
Questions:
In which order should individual products be produced?
Ri I i / Di
e.g.: shortest run-out time
How much of each product should be produced?
e.g.: balance run-out time
Production Management 62
62
Aggregate Planning
Objective function
T
W N
min Ct Wt Ct H t Ct Lt Cit Pit Cit I it
H L P I
t 1 i 1
Production Management 63
63
Aggregate Planning
subject to
N
1
i=1 nit
Pit Wt t 1, 2,..., T
Wt Wt 1 H t Lt t=1,2,...,T
Iit I it 1 Pit Dit t=1,2,...,T; i=1,2,...,N
Production Management 64
64
Aggregate Planning
Computational Effort:
Production Management 65
65
Aggregate Planning
1 t 2 3 4
costs of hiring 420 410 420 405
costs of lay off 800 790 790 800
costs per worker 600 620 620 610
Production Management 66
66
Aggregate Planning
Forecasted demand, unit cost and holding cost per unit are:
Demand Unit costs Holding costs
t Table 1 Table 2 Table 3 Table 1 Table 2 Table 3 Table 1 Table 2 Table 3
1 3500 5400 4500 120 150 200 10 12 12
2 3100 5000 4200 125 150 210 9 11 12
3 3000 5100 4100 120 145 205 10 12 11
Production Management 67
67
Aggregate Planning
Production Management 68
68
Aggregate Planning
Production Management 69
69
Aggregate Planning
Production Management 70
70
Aggregate Planning
t initial inventory 1 2 3
street b. 100 1000 1050 1100
road b. 50 500 600 550
Production Management 72
72
Aggregate Planning
Production Management 73
73
Aggregate Planning
Production Management 74
74
Aggregate Planning
Work to do:
Minicase BF SWING II
Production Management 75
75
Production, Capacity and Material Planning
Production plan
quantities of final product, subassemblies, parts needed at
distinct points in time
To generate the Production plan we need:
end-product demand forecasts
Master production schedule
Production Management 77
77
Production, Capacity and Material Planning
Updates
Detailed
Rough-Cut Capacity
Capacity Planning
Material Purchasing
Master Material Plan Plan
End-Item
Production Requirements
Demand Shop Floor
Schedule Planning
Estimate Control
(MPS) (MRP) Shop
Orders
Updates
Production Management 78
78
Master Production Scheduling
Aggregate plan
demand estimates for individual end-items
demand estimates vs. MPS
inventory
capacity constraints
availability of material
production lead time
...
Market environments
make-to-stock (MTS)
make-to-order (MTO)
Production Management 79
assemble-to-order (ATO) 79
Master Production Scheduling
MTS
produces in batches
minimizes customer delivery times at the expense of holding
finished-goods inventory
MPS is performed at the end-item level
production starts before demand is known precisely
small number of end-items, large number of raw-material items
MTO
no finished-goods inventory
customer orders are backlogged
MPS is order driven, consisits of firm delivery dates
Production Management 80
80
Master Production Scheduling
ATO
large number of end-items are assembled from a
relatively small set of standard subassemblies, or
modules
automobile industry
MPS governs production of modules (forecast driven)
Final Assembly Schedule (FAS) at the end-item level
(order driven)
2 lead times, for consumer orders only FAS lead time
relevant
Production Management 81
81
Master Production Scheduling
Production Management 82
82
Master Production Scheduling
MPS Planning - Example
MPS plan for model A of the previous example:
Make-to-stock environment
No safety-stock for end-items
It = It-1 + Qt max{Ft,Ot}
It = end-item inventory at the end of week t
Qt = manufactured quantity to be completed in week t
Ft = forecast for week t
Ot= customer orders to be delivered in week t
INITIAL DATA Model A Jan Feb
Current Inventory = Week Week
1600 1 2 3 4 5 6 7 8
forecast Ft 1000 1000 1000 1000 2000 2000 2000 2000
orders Ot 1200 800 300 200 100
Production Management 83
83
Master Production Scheduling
Batch production: batch size = 2500
It = max{0, It-1 } max{Ft, Ot}
0, if I t 0
Qt
2500, otherwise
I1 = max{0, 1600} max{1000, 1200} = 400 >0
I2 = max{0, 400} max{1000, 800} = -600 <0 => Q2 = 2500
I2 = 2500 + 400 max{1000, 800} = 1900, etc.
MPS Jan Feb
Current Inventory = Week Week
1600 1 2 3 4 5 6 7 8
forecast Ft 1000 1000 1000 1000 2000 2000 2000 2000
orders Ot 1200 800 300 200 100
Inventory It 1600 400 1900 900 2400 400 900 1400 1900
MPS Qt 2500 2500 2500 2500 2500
ATP 400 1400 2200 2500 2500 2500
Production Management 84
84
Master Production Scheduling
Production Management 85
85
Master Production Scheduling
MPS Modeling
Production Management 86
86
Master Production Scheduling
Make-To-Stock-Modeling
Production Management 87
87
Master Production Scheduling
Make-To-Stock-Modeling
n T
min Ai yit hi I it
i 1 t 1
a Q
i 1
i it Gt for all t
T
Qit yit Dik 0 for all (i,t)
k 1
Production Management 88
88
Master Production Scheduling
Assemble-To-Order Modeling
two master schedules
MPS: forecast-driven
FAS: order driven
overage costs
holding costs for modules and assembled products
shortage costs
final product assemply based on available modules
no explicit but implicit shortage costs for modules
final products: lost sales, backorders
Production Management 89
89
Master Production Scheduling
Decision Variables:
Ikt = inventory of module k at the end of period t
yjt = 1, if order j is assembled and delivered in period t; 0,
otherwise
hk = holding cost
jt = penalty costs, if order j is satisfied in period t and order j is
due in period t (t<t); holding costs if t > t
Production Management 90
90
Master Production Scheduling
Assemble-To-Order Modeling
m L n L
min hk I kt jt y jt
k 1 t 1 j 1 t 1
subject to
n
I kt I k ,t 1 Qkt g kj y jt for all (k, t)
j 1
n
a
j 1
j y jt Gt for all t
y
t 1
jt 1 for all j
Production Management 92
92
Master Production Scheduling
MPS: January
Week weekly capacity
Product 1 2 3 4
requirements?
A 1000 1000 1000 1000
B - 500 500 - Assembly: 1000*20 +
C 1500 1500 1500 1500 1500*22 + 600*25 = 68000
D 600 - 600 - min = 1133,33 hr
Inspection: 1000*2 + 1500*2
Bill of capacity (min)
+ 600*2,4 = 6440 min =
Assembly Inspection
A 20 2
107,33 hr etc.
B 24 2.5 available capacity per week
C 22 2 is 1200 hr for the assembly
D 25 2.4 work center and 110 hours
for the inspection station;
Capacity requires (hr)
Week
Available
capacity
1 2 3 4 per week
Assembly 1133 1083 1333!! 883 1200
Inspection 107 104 128!! 83 110
Production Management 93
93
Master Production Scheduling
Capacity Modeling
heuristic approach for finite-capacity-planning
based on input/output analysis
relationship between capacity and lead time
Production Management 95
95
Master Production Scheduling
Example
Period
0 1 2 3 4 5 6
G (hr/week) 36 36 36 36 36 36
Rt (hours) 20 30 60 20 40 40
Qt (hours) 30 30 36 36 36 36
Ut (hours) 10 0 0 24 8 12 16
W t (hours) 30 30 60 44 48 52
Lt(weeks) 0,83 0,83 1,67 1,22 1,33 1,44
Production Management 96
96
Material Requirements Planning
Inputs
master production schedule
inventory status record
bill of material (BOM)
Outputs
planned order releases
purchase orders(supply lead time)
workorders(manufacturing lead time)
Production Management 97
97
Material Requirements Planning
Level 0 End-Item 1
Legend:
Level 1 S/A 2
S/A = subassembly
1
PP = purchased part
Level 4 RM 12 RM 13
4 2
Production Management 98
98
Material Requirements Planning
MRP Process
goal is to find net requirements (trigger purchase and work
orders)
explosion
Example:
MPS, 100 end items
yields gross requirements
netting
Net requirements = Gross requirements - on hand inventory -
quantity on order
done at each level prior to further explosion
offsetting
the timing of order release is determined
lotsizing
Production Management 99
batch size is determined 99
Material Requirements Planning
Example 7-6 Telephone 1
Assumptions:
lot size: 3000
lead time: 2 weeks
week
current 1 2 3 4 5 6 7 8
gross
requirements 600 1000 1000 2000 2000 2000 2000
scheduled
receipts 400 700 200
projected inventory
balance 1200 1600 1700 900 2900 900 1900 2900 900
net requirements 100 2000 2000 2000 2000
planned receipts 3000 3000 3000
planned order
release 3000 3000 3000
Multilevel explosion
part number description Qty
12 base assembly 1
121 housing S/A 1
123 rubber pad 4
1211 key pad 1
I i ,t I i ,t 1 xi ,t c
jG ( i )
ij x jt Dit i, t xit Gyit 0 i, t
P
(ami xit bmi yit ) Lmt Omt m, t xit , I it , Omt 0, yit {0,1}
i 1
i, m, t
Production Management 110
110
Multi-level dynamic multi product models
Start with the end-item and lotsize with single product heuristic or wagner-
whithin method. (In the general case the different levels are considered in an
ordered way starting with the end-item.
Plan the immediate predecessor products the demand for these predecessor
products results from the lotsizing decision of the successor products. when
one level is lotsized go to the next level to lotsize the products.
t = 1: 120/1 > [120 + 1010]/2 = 110, but 110 < [120 + 1010 + 10210]/3 =
140 d.h. Lots: q11 = 10 + 10, q12 = 0.
t = 3: 120/1 > 110, d.h. Lots: q13 = 10 + 10, q14 = 0.
The total costs are 840: product 2: 4 setup, is 400
product 1: 2 setup, 2
holding costs, 240 + 200 = 440
To compare: Lot generation at the end-item:
t = 1: 120/1 > [120 + 0]/2 = 60, aber 60 < [120 + 0 + 10220]/3 = 173,3
d.h. Lot generation: q11 = 20, q12 = 0.
t = 3: the same lot generation: q13 = 20, q14 = 0.
The total costs are the following 660: Product 2: 2 setup, 2
holding costs, is 200 + 220 = 420
Product 1: 2 setup, is 240
The solution of the previous section can be improved by more than 20%
The lotsizing decision of the end item should consider, that also the costs of the
predecessor products are influenced. This leads to the idea of cost adaptation
(Kostenanpassung). The systematic change (increase) of inventory holding costs
and setup costs of the successor products should consider the costs of the
predecessor products (in lotsizing the successor product).
On the basis of i the inventory holding costs and setup costs of successor
products are modified.
Production Management 115
115
Variants
120 11
1 1,15 S 2 100 120 115
, 204,35
100 10
We assume, that only for the end-item N a primary demand dNt exists.
q11 v1N d N1
initial solution Q(1) = =
q v d
N1 NN N1
step t-1 t:
q1(t 1)
Initial situation: Q(t - 1) = wobei qi (t 1) ( qi1,..., qi,t 1)
q (t 1)
N
Moreover i,t-1 is the last production period of product i, the last period with
positive lotsize.
All production periods are preserved. The demand of product i of the period
t will be either fulfilled by increasing the production amount i,t-1 or set up
a new lot of product i in one of the periods i,t-1 + 1, ... , t. There are t + 1
- i,t-1 potential periods possible.
The scenario has to be nested, we only set up a lot for i, when also for all the
direct (and also the indirect) successor a lot is set up. xit = 1 xn(i),t = 1.
These feature is in the optimal scenario fulfilled, therefore it makes sense to
use this feature also in the heuristic solution construction process.
x11 1 q11 5
X (1) x21 1 also Q (1) q21 5 with costs 8 + 10 + 5 = 23
x 1 q 5
31 31
Production Management 120
120
Afentakis V
1 x12
Iteration t = 1: there exist 5 potential scenarios
X (2) 1 x22
the non-nested scenarios are not considered. 1
x32
1 0 1 0 1 1 1 0 1 1
Lsung: 1 0 1 0 1 0 1 1 1 1
1 1
1 0 1 1 1 1 1 1
23 + 23 + 23 + 9 23 + 9 + 23 + 8 +
Kosten: 9(1+1+1) 9(1+1) + +8+5 10 + 5 = 10 + 5 =
= 50 5 = 46 = 45 47 46
1 1 0 1 1 0 1 1 1 1 1 0
Lsung:
1 0 0 1 0 0 1 0 0 1 0 1
1 1 0 1 1 1 1 1 1 1 1 1
1 1 1 1 1 0 1 1 1 1 1 0
Lsung: 1 0 1 1 1 0 1 1 0 1 1 0
1 1 1 1 1 1 1 1 0
1 1 1
1 1 0 1 1 1
X (3) 1 1 0 oder X (3) 1 1 0
1 1 1 1 1 1
5 17 0 5 9 8
Q (3) 5 17 0 oder Q (3) 5 17 0
5 9 8 5 9 8
Yit yit vij y jt ...system wide inventory level of product i on the end
jN *(i ) of period t, all products i which are already integrated
in some other products (successor product) or on
stock.
vij ... Nesting-coefficient of product i wrt to product j, d.h. amount of
product i which is directly or indirectly in 1 unit of product j integrated.
no loss sales:
Yit aijYit 0
jN (i )
qit xit fr alle i = 1,..., N; t = 1,..., T
setup costs:
wobei M eine groe Zahl ist.
S j S j S i i und
H
H j j H i i
i V( j) i V( j)
Pitakaso et al.
resources
machines in a workshop
runways at an airport
crews at a construction site
processing units in a computing environment.
Production Management 133
133
Scheduling: The Role of Scheduling!
each task may have a certain priority level
an earliest possible starting time
a due date
Production Process
Printing of the Logo
Gluing of the side of the bag
Sewing of one end of both ends bag
Machine is switched over forn one type of bag to another type of bag a setup is required.
The length of the setup time on the machine depends on the similarities between two
consecutive orders (the number of colors in common, the differences in bag size and so on).
An important objective of the scheduling system is the minimization of the total time spent
on setups.
some of the gates are in locations with a lot of space where large
planes can be accomodated easily.
other gates are in locations where it is difficult to bring in the
planes, certain planes may actually have to be towed to their
gates.
During the time that a plane occupies a gate the passengers have to be
deplaned, the plane has to be serviced and the departing passengers have to be
boarded.
The scheduled departure time can be viewed as a due date and the airlines
performance is measured accordingly.
The scheduler has to assign planes to gates that the assignment is physically
feasible while optimizing a number of objectives.
The objectives include minimization of work for airline personnel and
minimization of airplane delays.
Gates are the ressources and handling and servicing of the planes are the
tasks. Arrival is starting time of the task and departure is completion time.
Visual Special
Buffer Soldering Inspection Stations Buffer
(Lten)
workforce
Scheduling is
the process of organizing, choosing and timing resource usage
to carry out all the activities necessary to produce the desired
outputs at the desired times, while satisfying a large number of
time and relationship constraints among the activities and the
resources (Morton and Pentico, 1993).
Schedule specifies
the time each job starts and completes on each machine, as
well as any additional resources needed.
A Sequence is
a simple ordering of the jobs.
Algorithmic complexity
an efficient algorithm is one whose effort of any problem instance is
bounded by a polynomial in the problem size, e.g. # of jobs
minimal spanning tree can be solved in at most n2 iterations
n: number of edges
O(n2)
if effort is exponential O(2n) the algorithm is not efficient
branch and bound algorithm for 0/1 variables
NP-hard problems: no exact algorithm in polynomial time is known.
e.g. Traveling salesman problem
Heuristics are usually polynomial algorithms tailored to the specific
problem structure
1200
1000
800
n^2
600
2^n
400
200
0
1 2 3 4 5 6 7 8 9 10
Are all the inputs known a priori, then we have a deterministic model,
otherwise we have a stochastic model (stochastic relelase dates or stochastic
processing times)
There is for each task Ajh of an order j a specific machine required jh. The
temporal sequence of the tasks assigned to the different machines is defined as
machine ordering (Maschinenfolge) j = (j1,...,jgj) af task j. The machine ordering
is defined through technological requirements.
The sequences, in which the different tasks of the orders have to be processed on
one machine is defined as order sequence (Auftragsfolge) on machine i. It can
happen that different orders want to be processed at the same machine at the
same time. The order sequence is not given This is the decision of the planning
situation.
order 2 3 2 3 order 2 2 3 1
3 3 4 1 3 2 1 3
Arbeitsgang (task)
h=1 h=2 h=3
Machine sequence graph
j=1 1 2 3
(Maschinenfolgegraph): Angabe
Within the machine sequence graph the nodes with the same machine number i
can be connected with additional arcs. This produces a path. The resulting graph
is the machine sequence graph (Ablaufgraph).
In Gantt-Charts the processing times are drawn at the abscissa (x-axis) the
machines (machine oriented Gantt chart) or the orders (order oriented Gantt chart)
are drawn at the ordinate (y-axis).
There exists machine oriented Gantt charts (mainly used) and order oriented Gantt
charts.
machine oriented
Gantt-chart
3 2 1 3
2 3 2 1 idle time
(Leerzeit)
1 Order 1 3 2
1 2 3 4 5 6 7 8 9 10 11 12
3 2 1 3
order oriented Gantt- 2 2 3 1
chart
1 Machine 1 2 3 waiting
time
1 2 3 4 5 6 7 8 9 10 11 12
Here all tasks under consideration of the sequence restrictions are scheduled. The
green fields are the idle times of the machines (in the machine oriented gantt
chart) and the waiting times of the machines (in the order oriented gantt chart).
Semiactive sequence plans have the property that there exists no task where the
beginning can be shifted forward without violating the machine sequence or to change
the order sequence.
not semiactive
2 1 2
1 Order 1 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
semiactive
2 1 2
1 Order 1 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Beispiel: (machine oriented Gantt-chart)
Production Management 152
152
semiactive and active sequence plans
For every feasible sequence plan a semiactive sequence plan exists. This
plan is easy to construct: all the task should be shifted left. The above
sequence plan is semi-active but it is nevertheless very bad.
no task can scheduled earlier without delaying the begin of another task
for producing an active sequence plan only the order sequence can be
changed (not the task ordering/machine ordering).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
aktiv
2 2 1
1 Auftrag 1 2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Processing time (pij) The pij presents the processing time of job j
on machine i.
Release date (rj) The release date rj of job j may also be refered
to as the ready state. The earliest time at which job j can start ist
processing
Due date (dj) The due date dj of job j represents the committed
shipping or completion date (i.e., the date the job is promised to
the customer). Completion of a job after its due date is allowed,
but then a penalty is incurred.
Weight (wj) The weight wj of a job j is basically the priority factor.
Job shop (Jm) in a job shop each job has ist own
predetermined route to follow.
Release dates (rj) the job can not start its processing
before its release date.
Preemtions (prmp) Preemtions imply that it is not
necessary to keep a job on a machine, once started, until ist
completion.
Precedence constraints (prec) one or more jobs may have to
be completed before another job is allowed to start.
Sequence dependent setup times (sjk) The sequence
dependent setup time between processing job j and job k.
Common objectives
total flowtime
total tardiness
makespan
maximum tardiness
number of tardy jobs
if not all jobs are equally important weights should be introduced
Machines (resources)
single machine, parallel machines
flow shop:
each job must be processed by each machine exactly once
all jobs have the same routing
a job cannot begin processing on the second machine until it
has completed processing on the first
assembly line
job shop:
each job may have a unique routing
open shops:
job shops in which jobs have no specific routing
re-manufacturing and repair
Production Management 160
160
Operations Scheduling
Measures
profit, costs
it is difficult to relate a schedule to profit and cost
regular measure is a function of completion time
function only increases if at least one completion time in schedule
increases
Data:
n= number of jobs to be processed
m= number of machines
pik= time to process job i on machine k
ri = release date of job i
di = due date of job i
wi = weight of job i relativeProduction
to the other jobs
Management 161
161
Operations Scheduling
Algorithms:
exact algorithms often based on (worst case scenario)
enumeration (e.g. Branch and Bound, Dynamic Programming)
M1 2 1 4 3
M2 2 4 3 1
M3 3 4 2 1
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
C 1
14, C 2 11, C 3 13, C 4 10
The makespan is
C max
max C1, C 2 , C 3 , C 4 max14,11,13,10 14
F i
i
14 11 13 10 48
L
i
i
( 2) ( 3) 3 2 0
The number of tardy jobs is
T 1
01 0
The total tardiness is
T 2
02 0
T i
003 2 5 T 3
0 3 1
0 4 1
i
T 4
The maximum tardiness is
N 2
T max
max{0,0,3,2} 3 T
Problem data
Job i 1 2 3 4 5
pi 4 2 3 2 4
Sequence: 1-2-3-4-5
Total Flowtime=?
F=p1 + (p1+p2) + (p1+p2+p3)+...+(p1+p2+...+pn)
F= np1 + (n-1)p2 +...+pn
pi > p j
C 1
11
C 2
2
C 3
7
C 4
4
C 5
15
pi
weighted SPT (WSPT): order ratios (nondecreasing)
wi
exact algorithm for weighted flow-time with zero release time
(completion time)
w 1
1, w2 4, w3 3, w4 1, w5 3
C 1
15
C 2
2
C 3
5
C 4
11
C 5
9
w F
i 1
i i
76
Production Management 172
172
Operations Scheduling
Maximal Tardiness and Maximal Lateness
due date oriented measure
earliest due date sequence (EDD)
EDD minimizes
Maximal Tardiness and
Maximal Lateness
Job i 1 2 3 4 5
Due date 16 10 7 7 5
Proc. Time 4 2 3 2 4
EDD-sequence: 5-3-4-2-1
Tardiness of the jobs is (0, 0, 2, 1, 0)
Production Management 173
173
Operations Scheduling
schedulable set of jobs contain all jobs with due dates greater than or
equal to the sum of all processing times
Start from the end and choose the job with the largest proc time among
the schedulable jobs, schedule this job last, remove from the list and
continue
Optimal algorithm ! (corresponding alg. For weighted flowtime is only
heuristic)
Problem data
Job i 1 2 3 4 5
pi 4 2 3 2 4
due date 16 11 Production
10 Management
9 12 177
177
Operations Scheduling
A job should not get full WTPTR credit if its slack is positive
Si max{0, Si }
Average processing time of the jobs:
n
pav 1 / n pi
i 1
Si / pav
which is the number of average job lengths until job j is tardy
Weight of a job is discounted by an exponential function:
exp(Si / pav )
Production Management 180
180
Operations Scheduling
wi [ Si / pav ]
i e
pi
is a parameter of the heuristic to be chosen by the user
(e.g. 2)
Sequence jobs in descending order of priorities.
Job1:
[ /( )]
w 4 [( 268) /( 2 x 9)]
1 e
1 S 1 p av
8
e 0,5e 1
0,18
p
1
Jobs 3 1 4 8 9 7 5 6 2 10 Sum
gamma_i 0,24 0,18 0,125 0,09 0,07 0,06 0,05 0,047 0,03 0,01
p_i 6 8 10 11 13 9 3 11 12 7 90
C_i 6 14 24 35 48 57 60 71 83 90
d_i 32 26 35 51 53 50 38 48 28 64
T_i 0 0 0 0 0 7 22 23 55 26 133
w_i 6 4 5 9 8 5 1 4 1 1
w_i T_i 0 0 0 0 0 35 22 92 55 26 230
Jobs A B C D E F G H I J
proc Time 8 18 11 4 15 5 23 25 10 17
p p p D
if 1 3 j* then apply a heuristic (by
Sundararaghavan & Ahmed, 1984)
n
Step 0: Set B D; A
i 1
pi D; k b 1; a ;n use the LPT
sequence
Step 1: If B>A:
assign job k to position b
b:=b+1
B:=B-pk
else
assign job k to position a
a:=a-1
A:=A-pk
Step 2: k:=k-1; if k<=n go to step 1.
Production Management 187
187
Operations Scheduling
Heuristic Approach:
At each time t determine the set of schedulable jobs: jobs that
have been released but not yet processed.
Preemption allowed:
j 1 2 3 4 5 6
r 12 2 0 11 4 10
p 8 4 3 6 2 2
t=0 rp 3
t=2 rp 4 1
t=3 rp 4 C
t=4 rp 3 2
t=6 rp 3 C
t=9 rp C
t=10 rp 2
t=11 rp 6 1
t=12 rp 8 6 C
t=18 rp 8 C
t=24 rp C
Production Management 189
189
Operations Scheduling
Schrage Heuristics:
Start at t=0
1. Determine schedulable jobs
2. If there are schedulable jobs select the job j* among them
with the largest tails, otherwise t=t+1 goto 1.
3. Schedule j* at t
4. If all jobs have been scheduled stop, otherwise set t t p j*
, goto 1.
j 1 2 3 4 5 6
rj 12 2 0 11 9 10
pj 8 4 3 6 2 2
nj 21 9 2 6 7 10
Minimize makespan!
A 3 4 5
B 3 4 6
C 1 6 2
D 5 4 *
SST-heuristic:
Step 3 C has the smallest set-up time of all the remaining jobs following B; A-B-C
A 3 4 5
B 3 4 6
C 1 6 2
D 5 4 *
A 0 0 2
B 0 0 3
C 0 5 0
D 1 0 *
Regret heuristic
Step 0 C(max) = 0 and L = 1
Find the cycle sequence that minimizes the set-up time.
Step 1 Reduce the matrix:
Set-up times
Reduced matrix
1 18 3 3 6 1 15 0 0 6 3
2 19 9 10 5 2 14 4 5 0 5
3 9 18 13 20 3 0 9 4 11 9
4 6 6 1 2 4 5 5 0 1 1
5 17 1 13 17 5 16 0 12 16 1
19
1 15 0(0) 0(4) 6 3 1 0 0 3
2 14 4 5 0(5) 5 2 14 4 5
3 0(9) 9 4 11 9 3 0 4 11
4 5 5 0(1) 1 1 4 5 0 1
5 16 0(17) 12 16 1
19
1 0 2
Step 2 Calculate the regret
2 0 1
Job 1 3 4 5 4 0 0
1 0(0) 0(1) 2
2 10 0(1) 1
3 0(9) 4 10
4 5 0(0) 0(2)
Job 3 4 5 Job 3 5
1 0(3) 2 2 0
2 0(1) 1 4 0
4 0(0) 0(2)
19 24
1-4
19 36
24
5-2 5-2 2-3 2-3
24
33
24
4-5 4-5
3-1 3-1
24 27
1-4 1-4 All final nodes can be pruned:
opt. Solution has been found!
Production Management 202
202
Operations Scheduling
Job 1 2 3 4 5 6
Processing time 10 3 16 8 4 10
Due-date 15 16 24 30 35 37
Step 2 Swap the jobs in the i-th and j-th position in S*; the
sequence is S with tardiness T. If T < T, go to step4
i j 1 2 3 4 5 6 32
1 2 2 1 3 4 5 6 32
2 3 1 3 2 4 5 6 42
3 4 1 2 4 3 5 6 33
4 5 1 2 3 5 4 6 30
1 2 2 1 3 5 4 6 30
2 3 1 3 2 5 4 6 40
3 5 1 2 5 3 4 6 34
5 4 1 2 3 4 5 6 32
4 6 1 2 3 5 6 4 32
Parallel Machines
Scheduling decisions:
which machine processes the job
in what order
List Schedule
to create a schedule, assign the job on the list to the machine
with the smallest amount of work assigned.
Step 0. Let Hi=0, i=1,2,...,m be the assigned workload on
machine i, L=([1],[2],...,[n]) the ordered list sequence,
Cj=0, j=1,2,...,n, and k=1
Step 1. Let j*=Lk and Hi*=mini=1,m{Hi};
Assign job j* to be processed on machine i*,
Cj*=Hi*+pj*,Hi*=Hi*+pj*
Step 2. Set k=k+1, if k>n,stop. Otherwise go to step 1.
Production Management 209
209
Operations Scheduling
Job 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
Time 1 2 4 6 9 10 10 11 12 13 13 14 16 18 19
Optimal schedule:
1 1 1 2 3 3 3 4 4
4 6 7 5 9 12 6 10 14
7 10 17 8 11 23 9 12 26
10 13 30 11 13 36 12 14 40
13 16 46 14 18 54 15 19 59
M1 1 4 7 10 13
M2 2 5 8 11 14
M3 3 6 9 12 15
0 10 20 Production30
Management 40 50 210
60
210
Operations Scheduling
15 19 19 14 18 18 13 16 16
10 13 32 11 13 31 12 14 30
7 10 42 8 11 42 9 12 42
6 10 52 5 9 51 4 6 48
1 1 53 2 3 54 3 4 52
M1 15 10 7 6 1
M2 14 11 8 5 2
M3 13 12 9 4 3
0 10 20 Production Management
30 40 50 211 60
211
Operations Scheduling
Flow shops
all jobs are processed in the same order
two machine makespan model: Johnsons Algorithm
Bound on makespan:
n
n
C *
max max min pi 2 pi1 , min pi1 pi 2
i 1,n i 1 i 1,n i 1
Start with:k=1 and l=m; then k=2 and l=m-1; until: k=m-1 and l=2
m-1 schedules are generated
Use the best of these m-1 schedules
M1 1 10 17 12 11 Job 1 2 3 4 5
M2 13 12 9 17 3
M3 6 18 13 2 5 PM1 14 22 26 29 14
M4 2 18 4 6 16 PM2 8 36 17 8 21
[j] 4 2 3 5 1
5-2-3-1-4, Cmax = 85
Use the CDS heuristic to solve this
problem. Finally combine M1, M2 and M3 to pseudomachine 1
and M2, M3 and M4 to pseudomachine 2.
(1) i.) Use the Johnsons algorithm only for M1 and M4:
Job 1 2 3 4 5 Job 1 2 3 4 5
PM1 20 40 39 31 19
M1 1 10 17 12 11
PM2 21 48 26 25 24
M4 2 18 4 6 16 [j] 2 3 4 5 1
[j] 1 2 5 4 3
5-1-2-3-4, Cmax = 85
1-2-5-4-3, Cmax = 88
M1 5 1 2 3 4
M2 5 1 2 3 4
M3 5 1 2 3 4
M4 5 1 2 3 4
0 10 20 30 40 50 60 70 80
Gupta Heuristic
Gupta (1972)
exact for 2-machine problem and 3-machine problem, where the
2nd machine is dominated
1 if pi1 pim si
ei
ei
min pi ,k pi ,k 1
1 if pi1 pim k 1,,m 1
1 14 19 8 8 1 0.12 1
2 22 30 36 22 1 0.05 3
3 26 22 17 17 -1 -0.06 4
4 29 19 8 8 -1 -0.12 5
5 14 8 21 8 1 0.12 2
Production Management 217
217
Operations Scheduling
*
Cmax iU
max H1 minpi1 , H 2 pi 2 minpi 3
iU
iU
Production Management 218
218
Operations Scheduling
Machine 3:
C *
max
max H1 minpi1 pi 2
iU
, H iU
2 minpi 2 , H 3 pi 3
iU
Machine j 1 2 3 4 5
1 1 10 17 12 11
2 13 12 9 17 3
3 6 18 13 2 5
Solution:
Start with CDS algorithm: sequence: 1-2-3-4-5, Cmax = 65
M3: Cmax* >= max{[ H1 + min{ p11 + p12, p21 + p22, p31 + p32, p41 + p42, p51 + p52 }],
[H2 + min{p12, p22,p32,p42, p52}],H3} + ( p13 + p23 + p33 + p43 + p53 )
=max{[0 + min{14, 22, 26, 29, 14}],
[0 + min{13, 12, 9, 17, 3}], 0} + (6 + 18 + 13 + 2 + 5)
=max{14, 3, 0} + 44 =58
J2: Cmax* >= 61, J3: Cmax* >= 57, J4: Cmax* >= 60, J5: Cmax* >= 45
61 J2 66 M2 73 M2 71 M2 70 M1
Job 1 Job 2 Job 3 Job 4 Job 5
First First First First First
64 M3 65 M3 72 M3 70 M1
Job 2 Job 3 Job 4 Job 5
Second Second Second Second
64 M3 66 M3 70 M1
Job 3 Job 4 Job 5
Third Third Third
65 M2 70 M1
Job 4 Job 5
Fourth Fourth
Solution (=LB): 65
Job 5
Fifth Production Management 223
223
Operations Scheduling
4th level: nodes J4 and J5 of level 3 will be fathomed; thus the algorithm is complete:
1-2-3-4-5 with a makespan of 65;
Job Shops
different routings for different jobs
precedence constraints
(n!)m possible schedules
Jacksons algorithm
Job 1 2 3 4 5 6 7 8 9 10
Route BA AB BA B A AB B BA BA AB
p(i)1 3 1 11 0 3 9 0 8 13 2
p(i)2 8 10 13 1 0 8 6 10 6 6
Solution:
{A} = {5}, {B} = {4,7}, {AB} = {2, 6, 10} and {BA} = {1, 3, 8, 9}
Job 2 10 6 Job 9 3 8 1
p(i)1 1 2 9 p(i)1 13 11 8 3
p(i)2 10 6 8 p(i)2 6 13 10 8
makespan:67
M: A 10 6 5 9 3 8 1
M: B 9 3 8 1 7 2 10 6
0 10 20 30 40 50 60
SPT
FCFS
MWKR (most work remaining)
EDD
EDD/OP
SLACK, SLACK/OP
Critical ratio: slack/remaining time
...
Operation
Job 1 2 3 4
Step 4 u10 = -(6+8+13+5) = -32, u20 = -12, u50 = -17; thus s11 = 0, c11 = 0 + 6 = 6, H1 = 6.
Remove job 1 from U1, U1 = {2, 5} and machine 1 from A, A = {2, 3, 4}.
Set k = 2; there is only one job in U2 so we schedule it on machine 2; i* = 4, s41 = 0, c41 = 5, H2=
5, U2 = { }, and A = {3, 4}.
We schedule J6 and J3 on M3 and M4 (tab: t = 0 row). Go to step 1.
Step 1 t = min k=1,m:kAHk = min{6, 5, 4, 3} = 3, and K = {k\Hk = 3} = {4}; Hk min is bold in the table;
Step 3 U1 = {2, 5}, U2 = {3}, U3 = U4 = { }; Since no jobs are waiting for M4, no jobs can be
scheduled to start at time 3; go to step 1 etc.
M1 1 4 5 2 6 3
M2 4 3 1 5 6 2
M3 6 4 1 2 3 5
M4 3 5 6 4 1 2
0 10 20 30 40 50
We consider Flow Shop and Job Shop Problems with 2 orders (Objectives
minimization of cycle time) :
Example: [aus Domschke, Scholl und Vo (1993)] static flow shop with four
machines, machine ordering 1 = 2 = (1, 2, 3, 4) and the following processing times:
j 1 2 3 4
t1j 3 1 1 3
t2j 1 3 3 1
Sj: = i tji denotes the earliest possible completion time of the order j, when order j is
produced without preemption - the earliest completion time starting from time 0
without preemption. The points Q and S=(S1,S2) describe a rectangle (an operation
rectangle).
The intervall [0,S1] can be divided in m disjunctive intervalls. These intervals depend
on the machine sequence 1 of the first order, the machine sequence of the first oder
is the following 11,...,1m. The length of each interval is the processing time t1j of
each task j.
The same is valid for the second task and the y-axis can also be divided between [0,
S2] in disjunctive intervals.
For each machine i a rectangle is defined which is denoted as conflict rectangle
(Konfliktfeld). In the following example the conflict fields are drawn for the above
example in yellow.
For the minimal cycle time Z* we can calculate Z = max {S1, S2} as lower bound and
S1+S2 as trivial upper bound. In our example Z = 8 and upper bound = 16.
Production Management 237
237
Akers Method
S2 S = (S1,S2) The method of Akers finds a shortest
M4 i=4 path in the operations field from the
Origin Q und the point S under the
following conditions:
M3 i=3 The route consists of
-horizontal
-vertical
-diagonal
M2 i=2 sections.
The yello conflict fields are not
M1 i=1 crossed.
Q= M1 M2 M3 M4
(0,0)
S1
Z = 11 Z = 11 Z = 10
Production Management 238
238
Method of Akers II
The length of a path from Q to S results that each movement to the right or to the left
means that one time unit is consumed.
different ways are possible (in our example 3). The two ways of the length Z=11
are permutation plans (order 1 is always processed before order 2 or order 2 is
always processed before order 1 on the different machines). The optimal plan with
Z=10 is not a so called permutation plan, as an overtaking of the orders take
placewhat is also visible in the Gantt-chart.
Order Machine
time
It is necessary, that all the different paths between Q and S are checked
systematically. Therefore a directed graph G = (V, e, c) is constructed. The node
set V includes the start node Q and the termination node S and for each machine the
north-west corner point and the south-east corner point of the conflict field. The set
of arcs E, the costs c for each arc, and the shortest distance from Q to S are
calculated simultenously.
Example: Job Shop-Problem [J5n = 2Z]. The processing times and the machine
ordering are given as follows.
i 1 2 3 4 5
h 1 2 3 4 5
t1i 3 5 3 2 4
1i 4 1 3 2 5
t2i 4 3 3 3 2
2i 1 2 3 4 5
The sums of the processing times are the following S = (17, 15).
The conflict fields of the machines concerning the job ordering are drawn.
When we have Job Shop problems the conflict fields are not drawn
diagonally.
Production Management 242
242
Method of Akers VI
15 S
M5 G
13
F
M4
E
10
M3
D
7
M2
B C
4
M1
A
Q M4 2 M1 5 M3 8 M2 13 M5 17
11
C Solution:
8
A
5 9
F 2
7
Q D S
6 G
8 4
4
B
6 E 12
244
Method of Akers VIII
Order
2 4 7 10 13 15 18 21 Zeit
Machine
5 j=1 j=2
4 j=1 D j=2 F
3 B j=1 j=2
2 j=2 j=1
1 j=2 j=1 Zeit
2 4 7 10 13 15 18 21
Production Management 245
245
Method of Akers IX
15 S The method of
M5 G Akers can also be
13 applied when
F release dates are
M4 used aj 0 (move
E
conflicts towards
10
North-East).
M3 It can also be used
D when other
7
objective functions
M2 are used.
B C
4
M1
A
Q M4 2 M1 5 M3 8 M2 13 M5 17
Initialization: n = 0:
2
A 7 8
2
24 D 5
O 5 4 13
Lsung: O A B D T
B T
1
4 1 3
7
C E
4
4 7
A A
2 2
2 D 5 2 D 5
O O 4
T T
B 1 B
3
E
Mark the node in the next iteration step with the shortest
distance from the source.
1 O A 2 A 2 O
2 O C 4 C 4 O
3 A B 4 B 4 A
4 A D 9
B E 7 E 7 B
C E 8
5 A D 9
B D 8 D 8 B
E D 8
6 D T 13 T 13 D
E T 14
Production Management 253
253
Verfahren von Bellmann III
2
A 7
2 8
2 D 5
O 5 4 4 13
B T
1
4 1 3
7
C E
4
4 7
1. Lsung: O-ABDT
2. Lsung: O-ABEDT
Production Management 254
254
Operations Scheduling
1 3 3 2
2 3 2 3
3 3 4 1
Machine-Flow-Graph:
Job 1 1 2 3
Job 2
q 2 3 1 s
Job 3
2 1 3
M3:
1 2 3
rj 6 2 7
pj 2 3 1
nj 0 3 0
Machine-flow-graph: 1 2 3
q 2 3 1 s
2 1 3
Updated machine-flow-graph:
1 2 3
q 2 3 1 s
2 1 3
update relase time and tails and apply Schrage to M3. This gives
Maschine
3 A22 A13 A33
2 A21 A31 A12
1 A11 A23 A32
Zeit
0 2 3 4 5 6 7 8 9 10 11 12
with Cmax=12 Production Management 262
262
Operations Scheduling
Work to do: 8.3abcde, 8.4, 8.5, 8.6, 8.10, 8.14, 8.16, 8.18 (with
the following due dates: 42, 50, 12, 63, 23, 34, 36, 42, 54, 32)
8.30ab, 8.32abc, 8.36ab, 8.43, 8.44, 8.49ab, 8.51ab, 8.56, 8.57
(apply shifting bottleneck procedure)
Initialization:
set of neighborhood structures
initial solution
stopping condition
Shaking
generate x1 at random from the kth neighborhood of x:
x1 Nk(x)
Local Search
apply local search to x1 local optimum x2
Move or not
if x2 is better than x, move to new optimum:
x x2 and k 1
otherwise k k + 1
Ants:
social insects
self organized collective behavior
emergence of complex dynamics
Interesting phenomena:
division of labor
task allocation
cementary organization
Ant Foraging:
Many species (e.g. Lasius niger) show trail laying trail following
behavior
Solution construction
a number of decisions are taken probabilistically
e.g.: TSP
C1
first application
Solution construction C7 C2
mechanism:
Nearest Neighbor
C6 Depot
heuristic
C3
C5
C4
Production Management 294
294
Ant Colony Optimization ACO
???
h
i j
Production Management 295
295
Ant Colony Optimization ACO
visibility
pheromone probability
??? !
trail h
Solution construction
Decision making is based on both,
[ sij ] [ ij ]
if h i
ij ih
[ s ] [ ih ]
hi
0 otherwise
Move from 1 to 3
is selected Randomly generated number = 0,21
Pheromone update
all edges are updated at the end of each iteration
ij (1 ) ij m
ij ,
mM
m
ij
mM
where
is the amount of reinforcement an element receives
1
, if (i , j ) T m
ij
m
Lm
0,
Production otherwise
Management 299
299
Rank based Ant System
k 1
ij : * ij (k s) k s
ij
*
ij
s 1
ijs 1 / Ls
ij* 1 / L
Project definition:
Construction
Production
Management
Research
Maintenance
Installation, implementation
Strategic
Strategic
resource
planning
Rough-cut Rough-cut
Tactical process capacity
planning planning
Operational Detailed
scheduling
Production Management 305
305
Project scheduling topics
1 2 4 6
job on arc-
representation: 3 7
5
Production Management 308
308
Project representation example 2
job on node-representation:
Job p(j) Predecessors
1
1 2 -
2 3 -
3 1 - 2 4 6
4 4 1,2
5 2 2,3 3 5
6 1 4 job on arc-representation:
1 6
4
2 5
3
Production Management 309
309
Project scheduling
1 4
Jobs 1 2 3 4 5 Resource R1 R2
p(j) 8 4 6 4 4 Available 4 8 2 5
R(1,j) 2 1 3 1 2
R(2,j) 3 0 4 0 3 3
Production Management 310
310
Project scheduling without resource constraints:
critical path method (CPM)
0 3 4 1 0
S 2 4 6 T
Source 1 2
3 5
(project start) Production Management 314
314
Critical path method example
(cont.)
1 2 3 4 5 6 7 8
Production Management 316
316
Resource constraints (cont.)
Suppose :
R1 4
6
5
4
2
3
2
1 5 6
1 3 4
1 2 3 4 5 6 7 8 9 10
Cmax increases by 2
Production Management 317
317
Resource-Constrained Project
Scheduling Problem (RCPSP)
n jobs j=1,,n
N resources i=1,,N
Rk: availability of resource k
pj: duration of job j
Rkj: requirement of resource k for job j
Pj: (immediate) predecessors of job j
2
R1 4 2
1 6 5
3 4
0 2 4 6 8 10 12
2
3
R2 2 1 5
2
Production Management
4 6 320
0 2 4 6 8 10 12 320
Disjunctive arcs
Suppose R1=4. These jobs
cannot be performed
simultaneously: Job p(j) Predecessors S' C'' R(1,j)
job 1 & 3 1 2 - 0 3 3
job 3 & 6 2 3 - 0 3 1
job 4 & 5 3 1 - 0 6 2
4 4 1,2 3 7 2
job 5 & 6
5 2 2,3 3 8 3
1 6 1 4 7 8 3
2 4 6
disjunctive arcs
3 5
Production Management 321
321
Priority-rule-based scheduling
Generation scheme
serial
parallel
Priority rule
latest finish time
minimum slack
Sampling procedure
2 1 3
R1 2
2
0 2 4 6 8
Production Management 324
324
Serial scheduling method example (2)
2 1 3
R1 2
1 2
0 2 4 6 8
Production Management 325
325
Serial scheduling method example (3)
2 1 3
R1 2 3
1 2
0 2 4 6 8
Production Management 326
326
Serial scheduling method example (4)
2 1 3
R1 2 3
1 2 2
0 2 4 6 8
Production Management 327
327
Parallel scheduling method
At most n stages
Each stage n represents:
1. partial schedule
2. schedule time tn
3. four disjoint sets of jobs:
completed set: scheduled jobs, completed at tn
active set: scheduled jobs, not completed yet
decision set: all unscheduled jobs, that could be scheduled
remaining set: all unscheduled jobs, that cannot be scheduled
procedure:
1. Start with an empty schedule.
2. Let T be the first time in which an unscheduled job may start. Let
D be the collection of jobs that may be started on T, and of which
all predecessors are scheduled
3. Select the job from D with the highest priority, and schedule it
from time T
4. Repeat step 2 if there remain jobs to be scheduled
2 1 3
R1 2
2
0 2 4 6 8
Production Management 330
330
Parallel scheduling method example (2)
2 1 3
R1 2
1 2
0 2 4 6 8
Production Management 331
331
Parallel scheduling method example (3)
2 1 3
2
R1 2 3
1 2
0 2 4 6 8
Production Management 333
333
Priority-rule-based scheduling
Generation scheme
serial
parallel
Priority rule
latest finish time
minimum slack
Sampling procedure
v j C ''j
Minimum slack (MS) priority rule
'' '*
v j (C p j S )
j j
2 1 3
R1 2
1 2
0 2 4 6 8
Production Management 336
336
MS priority rule example (2)
2 1 3
R1 2 3
1 2
0 2 4 6 8
Production Management 337
337
MS priority rule example (3)
2 1 3
R1 2 3
1 2 2
0 2 4 6 8
Production Management 338
338
Priority-rule-based scheduling
Generation scheme
serial
parallel
Priority rule
latest finish time
minimum slack
Sampling procedure
Random sampling 1
all jobs have the same probability: j D : vj
Biased random sampling
D
job with highest priority has highest probability, however not proportionally
Regret-based random sampling
job with highest priority proportionally has the highest probability
j
Pj C ,
1 Pj 1 n
where : C
i
i
1: random sampling
0: deterministic
0 1 (bias factor)
P1 C 0.5 0.5 C
1
Pj C j ,
P2 C 0.5 0.125 C
3
1
where : C
P3 C 0.5 0.25 C
2
i
i
P1 P2 P3 1 C 8 0 1 (bias factor)
7
Pj C w j 1 ( Pj 0)
1
where : C , bias factor ( 0)
wi 1
i
min v i v 2 1
iD
0.5
w1 v1 min v i 2 1 1 P1 C (w1 1) C 2
iD
w 2 v 2 min v i 1 1 0 P2 C (w 2 1)0.5 C
iD
P1 P2 1 C 1 0.41
( 2 1)
P1 0.59 and P2 0.41
Production Management 345
345
Time/costs trade-off
Assumptions:
by allocating money (for additional resources) to jobs their processing time
(pj) can be reduced
linear relation between allocated money and pj
minimum and maximum processing time pmin
j , p max
j
cj = marginal costs of reducing pj: min max
c j c j
max min
p j p j
min
c j
max max
costs(p j ) c j c j (p j pj)
Definitions:
source and sink in precedence graph
critical path: longest path from source to sink
Gcp = sub-graph of critical path(s)
cut set: set of nodes in sub-graph Gcp whose removal results in
disconnecting the source from the sink in the precedence graph
minimal cut set: if putting back 1 node in the graph connects the
source to the sink
Jobs 1 2 3 4 5 6 7 8 9 10 11 12 13 14
p_j- 5 6 9 12 7 12 10 6 10 9 7 8 7 5
max
p_j- 3 5 7 9 5 9 8 3 7 6 4 5 5 2
min
c_j 7 2 4 3 4 3 4 4 4 5 2 2 4 8
6 12 10 9 processing time
2 4 7 10 8
5 12 5
12 10
S 1 14 T
6 9
9 7 7
3 11 13
7 6
5 8
longest path 56 1 3 6 9 11 12 14
c 0 fixed overhead costs per time unit 6
minimum cut sets : 1, 3, 6, 9, 11, 12, 14
minimum cut sets with lowest costs : 11 and 12
c12 2 c 0 6 net savings of 4 p12 : 7
Production Management 350
350
Time/costs trade-off heuristic example 4.4.1
6 12 10 9 processing time
2 4 7 10 7
5 12 5
12 10
S 1 14 T
6 9
9 7 7
3 11 13
7 6
5 8
longest path 55 : 1 3 6 9 11 12,13 14
minimum cut sets : 1, 3, 6, 9, 11, 12,13, 14
minimum cut set with lowest costs : 11
c11 2 c 0 6 net savings of 4
p11 : 6
Production Management 351
351
Time/costs trade-off heuristic example 4.4.1
6 12 10 9 processing time
2 4 7 10 7
5 12 5
12 10
S 1 14 T
6 9
9 6 7
3 11 13
7 6
5 8
longest path 54 : 1 3 6 9 11 12,13 14
or : 1 2 4 7 10 12 14
minimum cut sets :
1, i, j: i 2,4,7,10,12 j {3,6,9,11}, 12,13, 14
minimum cut set with lowest costs : 2,11
c 2 c11 4 c 0 6 net savings
Production of 2 p2 : 5*, p11 :352
Management 5
352
Time/costs trade-off heuristic example 4.4.1