Back-End SLIM-O Capacitated Loading LP Formulation

advertisement
Back-End SLIM-O Capacitated Loading LP Formulation
Indices
r demand class, r=1,…,R. r is the number of demand classes. Note that demands are cumulative over demand
classes, i.e., demand input of demand class r includes all demands of demand classes r-1,r-2,…,1.
g
finished goods (FG) type, g  Gr. Gr is the set of all finished goods types which appear in demand class r.
i
route ID, i Ir. Ir is the set of all routes associated with the FG demands of demand class r.
l
step of a route. li is the last step number of route i.
k
resource (machine or labor) type, k Kr. Kr is the set of all resources required to carry out the production
associated with demand class r.
t
planning period, t=1,...,T. T is the last period of the planning horizon.
y
index of epoch when mass conservation is checked. yg is the last checking epoch of FG type g in the planning
horizon. yi is the last checking epoch of Route i in the planning horizon.
c
index of combo type, a combo type represents a set of resources which are required to perform at a step together.
Note: i  g denotes the set of all routes that process (only) FG type g. i k denotes the set of all routes that consume
resource k. k  (i,l) denotes the set of all machines able to perform step l on route i; a  k denotes the set of DUV
groups which includes resource k. XALL denotes the set of all types of routes; AS denotes assembly route; BI denotes
burn-in route; TE denotes test route; BN denotes bin route; PA denotes package route.
Parameters
ailkt average machine-hours of machine type k used to process one unit at step l of route i in period t.
bit
average out (yield rate) on route i in period t per unit of route start, where “start” and “out” are defined
according to its following variable, e.g., in the expression of bit Iatiit-L, bit is the yield rate from start of AS (a) route i to
the output of TE (t) route i.
biy
average out (yield rate) on route i at epoch y per unit of route start, where “start” and “out” are defined
according to its following variable, e.g., in the expression of biy Iatiiy-L, biy is the yield rate from start of AS (a) route i to
the output of TE (t) route i.
bilt
yield rate from start to step l for a unit processed at step l in period t, where “start” and “step l” are defined
according to its following variable, e.g., in the expression of bilt Iatiit-L, bilt is the yield rate from start of AS (a) route i
to step l of TE (t) route i.
billy yield rate from step l to step l for a unit processed at step l in period t, where “step l” and “step l” are defined
according to its following variable, e.g., in the expression of billy Watiil,y-L, biloy is the yield rate from step l of AS (a)
route i to step l of TE (t) route i.
biloy yield rate from step l to out for a unit of output in period t, where “step l” and “output” are defined according to
its following variable, e.g., in the expression of biloy Watiil,y-L, biloy is the yield rate from step l of AS (a) route i to output
of TE (t) route i.
XQtil total number of WIP arriving at step l on X route i in period t which are from initial WIP at minor steps between
major step l-1 and l (including step l), where X = AS: AS routes; X = BI: BI routes; X = TE: TE routes; X = BN: BN
routes; X = PA: PA routes.
BSQi
initial inventory of bin store i.
r
d gy net demand for FG type g in demand class r between epoch y-1 and y.
cit
material cost per unit of start of AS route i in period t.
ckt
estimated hours of resource type k available in period t.
egy backorder cost per unit of FG type g in demand class r at epoch y.
hgy holding cost per unit of FG type g in demand class r at epoch y.
PXilt credit added to the objective function for each unit of initial WIP released from step l on X route i in period t,
where X = AS: AS routes; X = BI: BI routes; X = TE: TE routes; X = BN: BN routes; X = PA: PA routes.
Pasit credit added to the objective function for each unit of output on AS route i in period t.
Ppaiy credit added to the objective function for each unit of output on PA route i between epoch y-1 and epoch y.
wit
number of working days for route i in period t. Working calendars may vary from route to route.
Wit cumulative number of working days for route i from time 0 to end of period t.
Wy cumulative number of calendar days from time 0 to epoch y.
ddr daily discount rate
GRDi
grade of bin store I, e.g., grade 1 is superior to grade 2, grade 2 is superior to grade 3, etc.
GRD yi  GRD i /(1  ddr )
Lit
Wy
expected number of working days from start to out for a unit of output on route i at working time epoch Wit. (Lit
is the "cycle time" for route i.), where “start” and “out” are defined according to its variable, e.g., in the expression of
Iatiit-L, Lit is the cycle time from start of AS (a) route i to output of TE (t) route i.
Liy expected number of working days from start to out for a unit of output on route i at time epoch Wy . (Liy is the
"cycle time" for route i.), where “start” and “out” are defined according to its variable, e.g., in the expression of Iatiiy-L,
Liy is the cycle time from start of AS (a) route i to output of TE (t) route i.
Lilt
expected number of working days from route start to step l on route i for a unit processed at step l at working
time epoch Wit. (the "cycle time" for route i up to step l.) where “start” and “step l” are defined according to its
variable, e.g., in the expression of Iatiit-L, Lilt is the cycle time from start of AS (a) route i to step l of TE (t) route i.
Lillt expected number of working days from start of step l to start of step l on route i for a unit processed at step l at
working time epoch Wit. (the "cycle time" for route i from step l to step l. l = o means the end of the route), where
“step l” and “step l” are defined according to its variable, e.g., in the expression of Watiil,t-L, Lillt is the cycle time from
step l of AS (a) route i to step l of TE (t) route i.
Liloy expected number of working days from step l to out on route i for a unit of output at working time epoch Wiy.
(the "cycle time" for route i from step l to out.), where “step l” and “out” are defined according to its variable, e.g., in
the expression of Watiil,y-L, Liloy is the cycle time from step l of AS (a) route i to out of TE (t) route i.
Brgy upper bound on backorder level of FG type g at epoch y in the LP for demand class r, defined for each r =
2,3,...,R; its value is the optimal value of Bgy (see below) of the LP for demand class r - 1 plus the quantity
y
d
t 1
y
 d gtr 1
r
gt
t 1
LAit
lateness cost for each unit under the pre-specified lower bound on AS starts of route i in period t.
ASIit
pre-specified lower bound on starts of AS route i in period t
ASIit
pre-specified upper bound on starts of AS route i in period t
ABNiiy* the optimal value of ABNiiy in the LP for the last demand class R
Iabiit*
the optimal solution of Iabiit in the LP for the WIP-flush class
ASOit*
the optimal solution of ASOit in the LP for the WIP-flush class
PAOiy*
the optimal solution of PAOiy in the LP for the WIP-flush class
Variables
IXYiit
number of starts of X route i in period t, which is allocated to Y route i, where (X,Y) =(a,b): AS route to BI
route; (X,Y) = (a,t): AS route to TE route; (X,Y) = (b,p): BN route to PA route.
WXYiijt
number of initial WIP released from step j on X route i in period t, which is allocated to Y route i, where
(X,Y) =(a,b): AS route to BI route; (X,Y) = (a,t): AS route to TE route; (X,Y) = (b,p): BN route to PA route.
WXijt
number of initial WIP released from step j on X route i in period t, where X = tt: TE routes; X = pp: PA
routes.
XOiy
total number of outs from X route i between epoch y-1 and y, X = BI: BI routes; X = TE: TE routes; X = BN:
BN routes; X = PA: PA routes.
ASOit
XIit
total number of outs from AS route i in period t
total number of starts from X route i in peiord t, where X = AS: AS routes; X = BI: BI routes; X = TE: TE
routes; X = BN: BN routes; X = PA: PA routes.
LDXilct
number of starts of x route i, step l on combo c in period t, where X = as: AS routes; X = bi: BI routes; X =
te: TE routes; X = bn: BN routes; X = pa: PA routes.
BSIiiy
number of TE outs on route i which are allocated to BS store i between epoch y-1 and epoch y.
Aasiit
number of dies type i which are allocated to AS route i in period t.
ii
Abn
y
AFGigy
Igy
Bgy
ASPit
number of BS outs on store i which are allocated to BN route i between epoch y-1 and epoch y.
number of PA outs on route i which are allocated to FG type g between epoch y-1 and epoch y.
inventory of wafer from wafer type g at epoch y.
backorder level of wafer from wafer type g at epoch y.
difference between the actual starts and the lower bound on starts on AS route i in period t.
Expression for Xit-Lt
Let []+i denote the smallest index t such that Wit > .
Case 1:
[ Wit-1 – Lt-1 , Wit – Lt ] is contained in some open interval between two consecutive time grid points. Let
+
t = [ Wit – Lt ] +i. Then
X ti Lt 
(Wt i  Lt )  (Wt i1  Lt 1 ) i
Xt
Wt i  Wt i 1
Case 2:
[ Wit-1 – Lt-1 , Wit – Lt ] contains one or more epochs defining the boundaries of planning periods. Let
t+ = [ Wit – Lt ] +i and let t- = [ Wit-1 – Lt -1 ] +i.. Then
X
Wt i  (Wt i1  Lt 1 )

i
t  Lt
Wt   Wt  1
i
i
X
i
t
t  1

 X 
i
(Wt i  Lt )  Wt i 1
Wt   Wt  1
i
 t  1
i
X ti
Note:
To simplify the LP formulation, The following model does not consider AS inventory. For the case with AS inventory,
readers can easily add inventory release variables (similar to AS WIP start variables) into the formulation.
Formulation (for each demand class, starting from r = 1)
Objective (To Be Maximized)
Phase 1: Forecast or Orderboard Demand Class
yg
T
  cit ASI 
 h
i
t
iI r t 1
gG r y 1
I
gy gy

yg
 e
gG r y 1
T
gy
Bgy   LAit ASPit
iI r t 1
Phase 2: WIP-Flush Class
T
T
T
T
 Pas Wab  Pbi Wbt  Pte Wtt    Pbn Wbp
ii
lt
il
t
t 1 iI r ii li
t 1 iI r ii li
il
t
ii
lt
t 1 iI r li
T
  PpatilWpplti
t 1 iI r li
Phase 3: BS WIP Releases based on BS grades (Optional)
yi
 GRD
i
y 1
i
y
BSO yi
Phase 4: Area Capacity (Optional)
yg
T
P
t 1 iI
t
r
as
ASO    Pypa PAOyi
i
t
y 1 iI r
Constraints
(1) Bounds on WIP Start at Each Step
il
t
i
lt
t 1 iI r ii
li
il
t
ii
lt

t
t
Wablii   ASQil , (i, l )  I r , t  1,..., T
 1 ii
 1
t
t
Wbt lii   BIQil , (i, l )  I r , t  1,..., T
 1 ii
 1
t
t
Wttlii   TEQil , (i, l )  I r , t  1,..., T
 1 ii
 1
t
t
Wbplii   BNQil , (i, l )  I r , t  1,..., T
 1 ii
 1
t
t
Wpplii   PAQil , (i, l )  I r , t  1,..., T
 1 ii
 1
(2) Allocation Constraints on AS WIP Start Variables
Wablti i   Wat lti i , (i, l )  I r , t  1,..., T
ii
(3) Allocation Constraints on AS New Start Variables
Iabti i   Iat ti i ,  i  I r , t  1,..., T
ii
(4) Resource Allocation Constraints

c( i ,l )
 LDbi
c( i ,l )
l
LDas   bilt Iab
il
ct
ii
t  Lilt
ii
  bi llt  Wabli,it  Li , (i, l )  I r , t  1,..., T
l 1
llt
ii
l
  bilt Iabtii Li   bi lltWablii,t  Li   bi llt  Wbt li,it  Li , (i, l )  I r , t  1,..., T
il
ct
lt
ii
llt
ii li
l 1
llt
ii
l

LDtectil   bilt Iat tii Li   bi lltWat lii,t  Li   bi lltWbt lii,t  Li   bi llt  Wtt li,it  Li , (i, l )  I r , t  1,..., T

LDbn ctil   bilt Ibp tii Li   bi llt  Wbp li,it  Li , (i, l )  I r , t  1,..., T
c( i ,l )
c( i ,l )
lt
ii
llt
ii li
llt
ii li
l 1
ii
llt
l
lt
ii
 LDpa
c( i , l )
il
ct
  bilt Ibp
ii
t  Lilt
ii
l 1
llt
ii
  bi lltWbp
ii
l , t  Lillt
ii li
l
  bi llt Wppli,it  Li , (i, l )  I r , t  1,..., T
l 1
ii
(5) Resource Capacity Constraints
 a
X ALL ( i ,l ,c )k
ilkt
LDX ctil  c kt , k  K r , t  1,..., T
(6) Output
ASOti   bit Iabtii Li   bilotWabli,it  Li , i  I r , t  1,..., T
ii
t
ii l i
lot
llt
li
TEO yi   biy Iat iyi Li   biloyWat lii, y  Li   biloyWbt lii, y  Li   bi loyWtt li, y  Li , i  I r , y  1,..., y g
y
ii
y
 BSO
k 1
ii li
loy
ii li
loy
l 1
loy
y
 BSQ   BSI kii , i  I r , y  1,..., y i
i
k
i
ii k 1
li
PAOyi   biy Ibp iyi  Li   biloyWbp lii, y  Li   bi loyWpp li, y  Li , i  I r , y  1,..., y g
y
ii
ii li
loy
l 1
loy
(7) Die Allocation Constraints
Aastii   Iabti i , (i, i)  I r , t  1,..., T
ii
(8) Test-out Allocation Constraints
TEO yi   BSI yi i , (i, i)  I r , y  1,..., y i
ii
(9) Bin-Store Allocation Constraints
BSO yi   ABN yi i ,  i  I r , y  1,..., y i
ii
(10) BN starts
 ABN
  Ibp iyi ,  i  I r , y  1,..., y i
ii
y
ii
ii
(11) PA Outs Allocation Constraints
PAOyi   AFGyig ,  i  I r , y  1,..., y i
gi
(12) FG Inventory Balance Equations
 AFG
ig
ig
y
r
 B g , y 1  B gy  I g , y 1  I gy  d gy
, g  G r , y  1,..., y g
(13) Upper Bounds on Back Orders of Wafers
Bgy  B gy , g  G r , y  1,..., y g (r  2)
r
(14) Pre-specified Upper Bounds on AS Starts
 Iab
ii
ii
t
 ASI it , i  I r , t  1,..., T
(15) Pre-specified Lower Bounds on AS Starts
 Iab
ii
t
ii
 ASPit  ASI it , i  I r , t  1,..., T
(16) Upper Bounds on BN Ins
(Only for Phase 2: WIP-Flush Class with the option of allowing BS inventory and Phase 3)
 ABN
i i
ii
y
  ABN yi i *,  i  I R , y  1,..., y i
i i
(17) Upper Bounds on AS Ins (Only for Phase 3)
Iabti i  Iabti i *,  i  I R , i  i , t  1,..., T
(18) Lower Bounds on AS and PA outputs (Only for Phase 4)
ASOti  ASOti *, i  I R , t  1,..., T
PAOyi  PAOyi *, i  I R , y  1,..., y g
(19) Fixed Product Output Mix (Only for Phase 4)
T
T
 ASO
0. 9
t 1
T
i
t
 ASO
t 1
R
i
t
*
*
T
T
 ASO   ASO
t 1
i
t
t 1
i
t
 1.1
 ASO
t 1
T
i
t
*
 ASO
t 1
i
t
T
 ASO , i  I
*
t 1
i
t
R
and i  i,
i  I is the first index of AS route with positive output in Phase 3
yg
 PAO
0.9
y 1
i
y
yg
*
yg
 PAO
y 1
R
i
y
*
yg
yg
 PAO   PAO
y 1
i
y
y 1
i
y
 1.1
 PAO
y 1
i
y
*
yg
 PAO
y 1
i
y
*
yg
 PAO , i  I
y 1
i
y
i  I is the first index of PA route with positive output in Phase 3
R
and i  i,
Download