Lot sizing and scheduling Continuous manufacturing, flow shop, make-to-stock: Longer planning...
-
date post
22-Dec-2015 -
Category
Documents
-
view
218 -
download
0
Transcript of Lot sizing and scheduling Continuous manufacturing, flow shop, make-to-stock: Longer planning...
Lot sizing and schedulingContinuous manufacturing, flow shop, make-to-
stock:
• Longer planning horizon• Long runs, large setup times: cost minimization• Usually repetitive structure: rotation schedule• Degrees of freedom: cycle length, sequencing
within cycle• Intuition: increasing lot size
– inventory costs per unit of time – setup costs per unit of time
• Examples in process industry: AKZO, Grolsch, NedCar
ELSPELSP: Economic lot sizing and scheduling problem
• Determination of lot sizes, sequence of lots (cycle)• Cost minimization:
setup times/costs vs. inventory costsStandard ELSP:
• 1 machine: produces item j with rate qj per time unit.
• n items with processing time pj qj=1/pj
• constant demand rate gj
• invent. costs hj, setup cost cjk (j k), setup time sjk
• cycle: j1, …,jh, corresponding run times: tj1, …,tjh
Feasibility check
• Feasibility q > g (demand can be met) g/q < 1 < 1 (=machine utilization)
When m>1 and n>1: 1j
j
m=1, n=1, s=0
• Notation: demand rate g, production rate q, cycle length x
• inventory over time during a cycle:
t x
t(q-g)
tq = gx t=gx/qAverage inventory over x: )
qxg
gx(21
)gq(qgx
21
x
))gq(t(21
x 2
M=1, n=1, s=0, cont.• Demand over cycle = gx• length production run to meet demand = gx/q = t• inventory growth rate = (q-g)• maximal inventory = (q-g)gx/q• Averaged inventory costs per unit of time:• Averaged setup costs per unit of time:• Optimal cycle length:
• Optimal lot size:
• Idle time = cycle length - length production run = x - t =
, where = machine utiliz.
hxqg)gq(
21I
x1cS
)gq(hgqc2*x0)SI(
dxd
)gq(hqcg2*gx
)1(x)qg
1(xxqg
x
M=1, n=1, s=0, cont.• If production rate is ‘high’, then:
• the lot size is then:
this is the Economic Order Quantity (EOQ)
assumption EOQ: setup cost, but no setup timeas long as EOQ-lot size is feasible
if increase x until
hgc2
)gq(hgqc2
qlimx
hgc2gx
)1(xs
)1(xs
1
sx)1(xs
Examples M=1, n=1, s=0• q=90, c=$2000, g=50, h=$20, no setup time
– determine cycle time– determine lot size– determine machine utilization– determine idle time– how much setup time is allowed, when cycle time remains
optimal?
• q=0.3333, c=$90, g=0.10, h=$5, no setup time– determine x, lot size – determine total cost/day
• q=0.3333, c=$90, g=0.10, h=$5 in discrete time– Find the optimal lot size by comparing total costs/day for
relevant lot sizes
M=1, n>1, once per cycle, setups=0
• demand for prod. j over cycle = gjx, length prod.run of item j = gjx/qj
• cycle consists of single runs of each item with identical cycle lengths: rotation schedule (sequence independent)
• Now:
• Hence:
j
j
jjjj x
c)xρ1(gh
21
SI
jjjj
jj
)1(gh
c2*x0)SI(
dxd
Example 7.3.1: M=1, n>1, once per cycle, setups=0
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
• determine machine utilization• determine cycle time• determine EOQ-cycle time
m=1, n>1, j once per cycle, setups>0
• Solution OK if: = idle time
• in case of sequence independent setup times: no sequencing required
• in case of sequence dependent setup times sjk minimal by solving corresponding TSP, denote minimum by TNote: there are (n-1)! different sequences (rotation!!)
• if then increase x until:
(i.e., machine is never idle)
*x)j
1(jk
s
*x)1(sminT jjk
)1(s
x
x)1(sminT
j
jk*
jjk
Example 7.3.2: M=1, n>1, once per cycle, sequence dependent setups
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
Items 1 2 3 4
s1k - 0.064 0.405 0.075
s2k 0.448 - 0.319 0.529
s3k 0.043 0.234 - 0.107
s4k 0.145 0.148 0.255 -
• how many possible sequences are there?• when is a sequence feasible?• determine the optimal sequence by enumeration
§7.4: m=1, n>1, general cycle, setup times 0
• Feasible solution exists if and only if: (recall that: )
• NP hard problem: no efficient algorithms
• Define sequence as:where: jk=k-th item in the sequence
1j
j )1/(sx jjk
*
n)(h j,...,j,...,j hk1
m=1, n>1, general cycle, setup times 0
Define: – qk = production rate of k-th item in the sequence– tk = production time of k-th item in the sequence– uk = idle time after k-th item in the sequence– x = cycle time– v = time from start of production of item i in the k-th
position until the next production of item i (in same or next cycle)
then: qktk = total production during tk
= total demand during v (demand must be met!)
= gkvHence:
k
kk
gtq
v
m=1, n>1, general cycle, setup times 0
The highest inventory level is: (qk-gk)tk total inventory cost for k-th run:
ELSP formulation:
2kk
kkkkkkkk )t(
gq
)gq(h21
t)gq(21
vh
x)ust(
h)1,..,k(for tgq
)ust(
n)1,..,k(for xgtq
.t.s
c)t(gq
)gq(h21
x1
minmin
j
jjj
kk
k
Lj
jjj
kIj
jk
k k
k2kk
kkkk
u,t,xS
k
k
kk
Meet demand k overcycle
Meet demand k over v
Cycle length
Ik = all positions where k is producedLk = all items produced during v
m=1, n>1, general cycle, setup times 0 (cont.)
• ELSP master problem: sequence determination• ELSP subproblem: determination of cycle length,
production & idle time• Frequency Fixing & Scheduling (FFS) heuristic
3 phases: 1. Computation of relative frequencies yk, tk
2. Adjustment of relative frequencies y’k, t’k
3. Sequencing
Assumption: the yk runs of item k are of equal length (tk), and evenly spaced
FFS heuristic, phase 1: frequency fixing
prod. k is run with frequency yk. Determine yk as follows:
determine tk:
1sc
as:satisfymust time, idle is there when
sca
xy:gives onminimizati
)gq(h21
a:where
)1(xys
xyc
yxa
min
k kk
kk
kk
kk
kkkkk
k
kk
k
kk
k k
k
x,yk
Computation of relative frequencies yk, tk
k
k
kk
kkkkkk y
xyqxg
txgytq
Lagrange multiplier
Choose “appropriate”x and determine the resulting yk’s
otherwise: =0
FFS heuristic, phase 2: frequency adjustment
Adjust yk and tk so that yk is integer
result from literature: when the yk’s are chosen so that they are integer, and powers of 2 solution is within 6% of optimum
Hence: determine y’k and the associated
Computation of adjusted relative frequencies y’k, t’k
k
kk 'y
x't
FFS heuristic, phase 3: sequencing
Sequencing problem is equivalent to scheduling
jobs on y’max parallel machines, minimizing the makespan
Determine y’max=max(y’1,…y’n) = number of parallel machines
For each item k, there are y’k jobs of length t’k, evenly spaced, i.e.: when m=6, and y’k=3, then there are two choices:
assign the 3 jobs to (1,3,5) or to (2,4,6)
Use variant of LPT-heuristic (longest processing time first) to assign the jobs in decreasing order of (y’k,t’k), with the additional restriction that jobs must be evenly spaced
Finally, concatenate the schedules of the y’max machines
Computation of sequence in cycle
k
k'y
FFS examples
1 machine, 4 items:
Items 1 2 3 4qj 400 400 500 400
gj 50 50 60 60
hj 20 20 30 70
cj 20002500 800 0
sj 0.5 0.2 0.1 0.2
7.4.1: without setup times, x=27.4.2.: with setup times, x=3
20
40
60
80
100
Inventorylevels
0 0.5 1 1.5 2
time
Item3Item3
Item1 Item2
Item4
FFS exampleschedule for y’4=4
More general ELSP models• m identical parallel machines, n items: each item must be
assigned to exactly one machine:– if cycle times are identical on all machines, the loads on the
respective machines must be balanced j’s added up per machine must be < 1
LPT heuristic may be applied to determine a good assignment– if cycle times are allowed to be different on the machines:
* calculate cycle time for each item, as if it were a single item model* rank items in decreasing order of the cycle times* Use sequence in ranking to fill machines as long as j<1
NOTE: may lead to infeasible solution! swapping
• m machines in series:– rotation schedules on both machines are the same– there may be waiting times on machine 2 (machine 1 may wait)– inventory costs remain the same; setup costs double