Lotsizing and scheduling

advertisement
Lot sizing and scheduling
Continuous 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
ELSP
ELSP: Economic lot sizing and scheduling problem
• Determination of lot sizes, sequence of lots (cycle)
• Cost minimization:
setup times/costs vs. inventory costs
Standard 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:     j  1
j
m=1, n=1, s=0
• Notation: demand rate g, production rate q,
cycle length x
• inventory over time during a cycle:
t(q-g)
t
x
tq = gx  t=gx/q
1
x (t(q  g))
2
1
gx
1
g
x
Average inventory over x: 2

(q  g)  (gx 
)
x
2 q
2
q
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: I  1 (q  g) g x h
q
2
Averaged setup costs per unit of time: S  c  1
x
Optimal cycle length: d
2qc
(I  S)  0  x* 
dx
hg(q  g)
• Optimal lot size: gx*  2qcg
h(q  g)
• Idle time = cycle length - length production run = x - t =
g
g
x  x  x (1  )  x (1  ) , where  = machine utiliz.
q
q
M=1, n=1, s=0, cont.
2qc  2c
• If production rate is ‘high’, then: x  lim
hg
q   hg(q  g)
• the lot size is then: gx 
2gc
h
this is the Economic Order Quantity (EOQ)
assumption EOQ: setup cost, but no setup time
as long as s  x(1  )  EOQ-lot size is feasible
s
if s  x(1  )  increase x until s  x (1  )  x 
1
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)
cj
1
• Now: I  S   h jg j(1  ρ j)x  
2 j
j x
• Hence:
d
(I  S)  0  x* 
dx
2 c j
j
 h jg j (1   j )
j
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
800
0
cj
2000 2500
• determine machine utilization
• determine cycle time
• determine EOQ-cycle time
m=1, n>1, j once per cycle, setups>0
• Solution OK if:  s
 (1    )x * = idle time
jk
j
• 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 T
Note: there are (n-1)! different sequences (rotation!!)
• if T  min  s jk  (1    j ) x * then increase x until:
T  min  s jk  (1    j ) x
*
x 
 s jk
(1    j )
(i.e., machine is never idle)
Example 7.3.2: M=1, n>1, once per
cycle, sequence dependent setups
Items
1
2
3
4
Items
1
qj
400
400
500
400
s1k
-
gj
50
50
60
60
s2k
0.448
hj
20
20
30
70
s3k
0.043 0.234
800
0
s4k
0.145 0.148 0.255
cj
2000 2500
2
3
4
0.064 0.405 0.075
-
0.319 0.529
• how many possible sequences are there?
• when is a sequence feasible?
• determine the optimal sequence by enumeration
-
0.107
-
§7.4: m=1, n>1, general cycle,
setup times 0
• Feasible solution exists if and only if:  
(recall that: x *   s jk /(1    j ) )
• NP hard problem: no efficient algorithms
• Define sequence as:
where: jk=k-th item in the sequence
j1 ,..., jk ,..., jh (h  n)

j
j
1
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!)
= gkv
Hence:
qk t k
v
gk
m=1, n>1, general cycle, setup times 0
The highest inventory level is: (qk-gk)tk  total inventory cost
k
for k-th run: k 1 k
1
q
k
k
k
k
k
k 2
h v (q  g )t  h (q  g ) k (t )
2
2
g
ELSP formulation:
k
1 1 k k
k q
k 2
k  Ik = all positions where
  h (q  g ) k (t )   c 
min min
k is produced
k
k
S x ,t ,u x
2
g
k
 k
 Lk = all items produced
s.t.
j
q
t
 k  gk x (for k  1,..,n)
jIk
during v
Meet demand k over
cycle
k
q
j
j
j
k
(
t

s

u
)

t
(for k  1,..,h)

k
g
jL k
Meet demand k over v
j
j
j
(
t

s

u
)x

Cycle length
j
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
Computation of relative frequencies yk, tk
prod. k is run with frequency yk. Determine yk as follows:
ak x
ck yk
 sk yk

min 

  
 (1  ) 
y k ,x
yk
x
k
k
 k x

1
where : ak  hk (qk  gk )k
2
minimization gives : y k  x
ak
c k  s k
Lagrange multiplier
Choose “appropriate”
x and determine the
resulting yk’s

ak

when there is idle time,  must satisfy :   s k
c k  s k
k 
otherwise: =0
gk x
k x
determine tk: qk t k y k  gk x  t k 

qk y k
yk

 1


FFS heuristic, phase 2: frequency adjustment
Computation of adjusted relative frequencies y’k, t’k
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
k x
Hence: determine y’k and the associated t'k 
y'k
FFS heuristic, phase 3: sequencing
Computation of sequence in cycle
Sequencing problem is equivalent to scheduling
 y'
k
k
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
FFS examples
7.4.1: without setup times, x=2
7.4.2.: with setup times, x=3
1 machine, 4 items:
Items
qj
gj
hj
cj
sj
1
400
50
20
2000
0.5
2
400
50
20
2500
0.2
3
500
60
30
800
0.1
4
400
60
70
0
0.2
FFS example
schedule for y’4=4
Inventory
levels
100
Item1
80
60
Item3
Item2
Item3
40
20
0
0.5
1
Item4
1.5
2
time
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
Exercises:
• Pinedo, Chao :
– 7.1
– 7.2
– 7.3
Download