European Journal of Operational Research 55 (1991) 57-70 North-Holland
57
Theory and Methodology
A nonlinear mixed integer goal programming model for the two-machine closed flow shop Sherif Lashine School of Business and Engineering Administration, P.O. Box 554, Maadi, Cairo, 11431, Egypt
B. Foote and A. Ravindran School of Industrial Engineering, The University' of Oklahoma, Norman, OK 73019, USA Received February 1989; revised March 1990 Abstract: This paper presents a nonlinear mixed integer goal programming model of the deterministic, static two-machine closed flow shop (CFS) problem. The model incorporates two sets of goals that are of importance to the production manager: cost goals and production goals. The cost goals are setup costs, finished goods holding costs, machine idle costs, and work-in-process inventory costs. The production goals are makespan, mean tardiness, mean flow time, capacity between runs and end shop capacity. Keywords: Goal programming, closed flow shop sequencing, lot sizing
1. Introduction A closed flow shop is a flow shop in which production orders are released based on inventory replenishment decisions to meet a continuous demand. Therefore, the production scheduling problem deals not only with sequencing decisions, but also with lot sizing decisions associated with inventory replenishment decisions. The n-job, m-machine flow shop problem has been formulated as a multicriteria problem by Huckert et al. (1980), who presented a mixed integer linear vector minimization model. The model includes as measures of performance: makespan, total flow time, total duration and idle time, tardiness, maximum tardiness, and number of tardy jobs. Selen and Hott (1986) presented a mixed integer goal programming formulation to the permutation flow shop scheduling problem. The model incorporated makespan and flow time as goal constraints. Triesch (1987) developed an algorithm to optimize the size of lots that will be transferred to the next machine while the original batch has not yet completed on the current machine. This approach incurs an extra cost for material handling but does reduce idle time that would be incurred if flow shop assumptions are retained, i.e., batch moves as entity and is not partitioned. The criterion is to minimize makespan subject to a budget constraint on the transfer cost. 2. Problem definition This paper investigates the deterministic, static, n-job, two-machine closed flow shop (CFS) problem. In a closed flow shop, production orders are released based on inventory replenishment decisions to satisfy a 0377-2217/91/$03.50 @1991 - ElsevierScience Publishers B.V. All fights reserved
58
S. Lashine et al. / A nonlinear mixed integer goal programming model
continuous demand. Therefore, the production scheduling problem is to determine the lot sizes and the sequence of n products on the two-machine so as to optimize some measures of performance that are of interest to production managers. 2.1. Assumptions 2.1.1. Lot sizing assumptions In this model it is assumed that (1) demands are known at constant rates, (2) shortages can be allowed, (3) production rates are known and independent of the production lot size (no learning), (4) units are available for satisfying demand after their production, (5) production lot size, number of production setups, and storage space are not constrained, (6) production lot sizes, though unknown, are fixed, i.e., they will not vary from one cycle to another, (7) individual item or sub-batch movements between machines are not allowed, and (8) the scheduling period is one year. 2.1.2. Sequencing assumptions In sequencing jobs on machines it is assumed that (1) each job (lot) is an entity, i.e., although the job is composed of distinct operations, no two operations of the same job may be processed simultaneously, (2) pre-emption is not allowed, i.e., each operation, once started, must be completed before another operation may be started on that machine, (3) each job has two operations, one on each machine, (4) each job must be processed to completion, (5) the processing times are independent of the schedule, (6) setup times are sequence independent, (7) time to move jobs between machines is negligible, (8) in-process inventory is allowed, (9) one of each machine is available, (10) machines may be idle, (11) machines may process only one operation at a time, (12) each machine is available during the scheduling period, and (13) technological constraints are known in advance and are immutable. 2.2. Notation
k: R~:
r~: P~:
si: Sij:
M,: Vi: hi: Qi:
L: f*: ai:
Ai:
job (product) number, i = 1 . . . . . n; sequence position, k = 1. . . . . n; annual requirement for product i; daily consumption rate for product i; daily production rate for product i on the bottleneck machine; setup cost per run for product i; setup times per lot for product i on machine j ( j = 1, 2); material cost for product i; value added to product i; inventory holding cost for product i; lot size for product i; number of production runs for product i; maximum number of production runs, f * = max[f1, f2 . . . . . f~]; processing time per unit for product i on machine 1; processing time per lot for product i on machine 1; A i = Sil -}- aiOi;
bi: Bi:
~,I: Ci.i: Cl: Cw:
processing time per unit for product i on machine 2; processing time per lot for product i on machine 2; B i = si2 + biQi; completion time of job i on first machine in run f; completion time of job i on second machine in run f; machine idle cost; waiting cost.
S. Lashine et al. / A nonlinear mixed integer goal programming model
59
3. Criteria
A production run is completed when the last job is completed on the last machine. Since sequence positions are not known a priori, the notation [i(k), f ] is used to represent the i-th job in the k-th position of a sequence of n jobs in the f-th production run, where i = 1. . . . . n; k = 1. . . . . n; and f = 1. . . . . f * unless otherwise stated. Consider two consecutive production runs f and f + 1, Figure 1, and let: TI,~ }: actual processing time of the job in the k-th position, Tl,.{k ) = B~{k)- Si{k),2; Ik.f: machine idle time in the k-th position, time between the completion of job i( k - 1) and the start of job i(k) on the second machine, lk,f= max[Fi{k),/-- C~{k_l)./; 0]; T2,~ },/: time from the completion of job i(k) to the completion of the last job i(n), n
T2i{k},f =
T3/: T4~k}:
E Bi{u) + u=k+l
Iu,f"
time between completion time of the last job in run f and the start time of run f + 1; time from the start of the run to the k-th position on the first machine, T4,k)./= L A,{.); u=l
W~k),l:
waiting time for job i( k ), time from the completion of job i(k) on the first machine and the start of that job on the second machine,
Wi( k ),f T5,~k~,S:
=
max[ C,{ k_ u , f - F,(k }.i ; 0];
time between the completion of job i(k) on the first machine and the start of building inventory for that product, T5i{k).f = Wi(k},f-~- Si(k).2;
Run f
~- ',
I k Ik+,l M1 M2
I-,91.------
[-7]
IT 1
Fi (k), f [
k-1
Run f+l
IT--1
Fi (1), f+l [k[
------I~-IWiI ( ~ + l
V'~ Ci (k), f
i(k)/
k-1 C i (n), f
[k
[
C i (k-l), f+,
, I ...... H i (k), f
Oi 0,), t
Oi(k). f+ 1
1 Tli (k)
,,--~
I-'~
T2i (k), f
T3 f T6i (k), f
T4i (k), f
T5i (k), f ~-" ~,,
r i (k), f Figure 1. Production-Depletion cycle for the product in the k-th position
Time
60
S. Lashine et al. / A nonlinear mixed integer goal programming model
time during which inventory is depleted,
T6i(k),/:
T6i(k),/= T2/(k),/+ T3/+ T4i(k),/+ T5i(k),/; production-depletion cycle for product i(k),
T.k),/.
T/(k),f = Tli(k) + T6i(k),f ; inventory build up rate for product i(k),
IR~(k):
IR~(k) = Pi(k) -- ri(k);
amount of inventory build up during the production time for product i(k),
IBm(k):
IBi(k) = IK.(k)Tli(k) ; amount consumed from product i(k) in run f,
Ei(k),f:
E i ( k ) , / = T6i(k),/ri(k) ;
inventory level for product i(k) at the end of run f,
Oi(k).f = Hi(k)./Hi.,~,/:
Ei(k),f;
maximum inventory for product i(k) in run f, Hi(k),f = Oi(k),f_ 1 -I- I B i ( k ) ;
STOUT,-(k),/: stockout
time for product i(k) in run f, STOUTi(k),U = Ci(k),/+ Hi(k),//ri(k);
due date, time to start production for product i(k) on the second machine in run f + 1 such that there is no stockout,
DDi(k),f+ 1:
D D i ( k ) , f + 1 = S T O U T i ( k ) , f - Si(k),2 -- bi(k);
STP'~(k).y+1:
time to start run f + 1 such that the due date for product i(k) is met, k
STR,.(k),/+ 1 = DDi(k),f+l- ~ A i ( . ) - W~(k),f+l; u=l
STMINf+ 1:
latest time to start run f + 1 with no stockout, STMINf+, = min[STI~(k),/+,];
START/+ 1:
optimum time to start cycle f + 1, START/+, = max[ Ci(.).f ; STMINf+ 1], V3/= m a x [ S T M I N f + , - Ci(.),/; 0].
3.1. Makespan of the first run Z 1 = Ci(n) A ; Z 1 = Ai(1) +
• Bi + ~ i=1
k~2
Ik.l-
(1)
S. Lashine et al. / A nonlinear mixed integer goal programming model
61
3.2. Machine idle cost fl(k)
Z2 = Cl ~ ]~
max[ F,(,,,/- C.k_,),/; 0]
(2)
k=2f=~
3.3. Waiting cost Job waiting time is an important element of the work-in-process (WIP) inventory cost. The waiting time is given by Wi(k ),f = m a x [ Ci(k- l),f-- ~(k),f; 0],
" f"" Z3 = Cw E E Qick,[Mi(k) + Vi(*)] Wi(k),/. k=2 f=l
(3)
3.4. Finished goods inventory cost (a) Total setup cost. H
(4)
Z4 = E Sifi"
i=1 (b) Total inventory holding cost. The average inventory, AVINV,~k). f, for product i ( k ) in run f , is given by AVINV/(k),f = [Tli(k)Oi(,~),f_ l + 0.5 IBi(k),fTli(k),/
+ 0.5 Ei(k),fT6i(k),f + T6i( k ),fOi( k ),f ]//Ti( k ),f ; n
f~(k)
Z5 = E E hi(k)AVINVi(k),f" k=l f=l
(5)
3.5. Shop capacity Shop capacity may be defined as 'capacity between runs' or 'end shop capacity'. Each one can be measured as the available time on the first machine or the second machine or both machines simultaneously. Preference of one measure over another is purely a managerial decision. Let fmin be the minimum number of runs of the full set of products, and P be the set of products that has number of runs greater than fmin"
3.5.1. Capacity between runs The capacity between runs may be measured as the available time on machine 1 (CBRM1), or machine 2 (CBRM2), or both machines (CBRM12). In this analysis, CBRM12 is used as a measure for the capacity between runs. CBRM12 = Ci(~),/. -- fmin
Aj + Wi(.) + Bi(n) - Y'~ f~in
A,, + W,,(,,) + B,,(n ) .
(6)
S. Lashine et al. / A nonlinear mixed integer goal programming model
62
3.5.2. End shop capacity The end shop capacity may be measured as availability of machine 1 (ECM1), or machine 2 (ECM2), or both machines (ECM12). ECM12, in this analysis, is used as a measure for end shop capacity. ECM12 = D - C,(,).f.,
(7)
where D is the available capacity in the scheduling period. The total available shop capacity is given by Total shop capacity = Z 6 + Z 7.
3.6. Mean tardiness Job tardiness is defined as the difference between the desired time to start production on the second machine (due date) and the actual starting time to produce a lot on the second machine. Let TARi(k) J be the tardiness of job i(k) in run f, and let
fli(k),/=,l = 0
if product i(k) is produced in run f , otherwise;
TARi(k ),f = max[ ( Ci(k ).f - Bi(k ) ) -- DDi(k)j_I; 01. The mean tardiness, Z 8, is given by /* Z8= ~ u=l
n f* Y', (TAR,(k).~B,(k).,)/f* ~ k=l
u=l
n
Y', fl,(k).,.
(9)
k=l
3. 7. Mean flow time The flow time, for the job in the k-th position, is the time elapsed from the start of the production run on the first machine to the completion time on the second machine for that job. Let FLi(k),f be the flow time of job i(k) in run f. Then FLi(k),/= Ci(k),/-- START/,
f = 1 . . . . . f~(k),
and the mean flow time is given by Z9 =
E u=l
E (FLi(k),,fli(k),,)/f* E k=l
u=l
E fli(k).,-
(10)
k=l
3.8. Maximum completion time The maximum completion time is the completion time of the last job on the second machine in the last production run. Zlo =
Citn),f.
(11)
4. Goal programming model The flow shop has been formulated as a mixed integer linear goal programming (MILGP) model by Selen and Hott (1986). Their model is an extension of Wagner's (1959) mixed integer linear programming (MILP) formulation to the n/m/P/Cma x. The model presented here is different from Selen and Hott in
S. Lashine et al. / A nonlinear mixed integer goal programming model
63
that it determines the lot sizes and the sequence of n jobs in a two-machine CFS problem. This results in a nonlinear mixed integer goal programming model. The model is developed to achieve an ideal schedule, which has neither idle time nor waiting time. In a two-machine flow shop, when a job completes processing on the first machine it faces one of the following situations: (a) Just in time. This is the ideal situation, where the idle time and waiting time are zeros.
F.k~= C,~k-ii,
lk = W,(k~ = 0 .
(b) The second machine is idle. In this case, the waiting time is zero while the idle time is not. F/(k) > C l ( k _ l ) ,
I k = Fi(k)-- Cl(k_l) ,
Wi(k) = O.
(c) Job waiting time. The idle time is zero, while the waiting time is not. Fl(k) < C i ( k - l ) '
Wi(k) = Ct(k
1) -- Fi(k),
I k = O.
Since lot sizes are decision variables, the lot size for the product that creates idle/waiting time can be adjusted such that idle/waiting times reaches zero. Two models are presented to model the ideal (zero-idle and zero-waiting times) closed flow shop problem. The first model is a nonlinear mixed integer goal programming (NLMIGP) model for the whole scheduling period. The second model is a linear goal program (LGP) model which models the first production run.
4.1. Nonlinear mixed integer linear goal programming model Decision variables Q~ = lot size for product i, i = 1 . . . . . n;
X,k = 1 = 0
if product i is assigned to position k, otherwise,
k=l,...,n.
In an ideal CFS, the following are true:
A,~k~=B~(k_l~,
k = 2 ..... n,
Si~k).1 + ai(k)Qi(k)
= Si(k_l),2
i.e.,
-[- bi(k_l)Qi(k_ D .
Since sequence positions are unknown, all variables with the subscript i ( k ) are not known. However, with the help of the Xik'S variables, all variables can be expressed in terms of their original values. For example,
ai~k~= ~ aiXik,
k = l ..... n.
i=1
Real constraints (1) Each job is assigned to one position: ~ Xik=l,
i = 1 . . . . . n.
k~l
(12)
(2) Each position is occupied by one job:
~'~Xik=l, i~l
k = l . . . . . n.
(13)
64
S. Loshine et aL / A nonlinearmixed integergoalprogramming model (3) Finding the job with minimum processing time on position 1:
TF=[sia+aiQi]Xa>O,
i = 1 . . . . . n.
(14)
(4) Finding the job with minimum processing time on position n:
TL=[si,z+biQi]Xi,>O,
i = 1 . . . . . n.
(15)
(5) Average inventory for product i: (a) Production time,
i = l ..... n;
TPi=biQi,
(16)
(b) consumption time, k
TCk./=
~
~[si.2+biQi]Xiu+[Fl,f-Cn,f-ll
u=k+l
+ E
i=1
~[Si,l+iQi]Xiu;
(17)
u=l i=1
(c) cycle length, T,,, = TP, + TC,,/,
i = 1 ..... n;
(18)
(d) on hand inventory,
(19)
Oi.f= O,,f_, + (Pi- ri)(si,2 + biQi) - riTCi.f, i= 1,..., n; f~(u) AVINV~ = Y'~ [O,./_ITP ~ + 0 . 5 IR~(TP~) 2 + 0 . 5 r~(TC~./)2 + /=1
O~./TC~.f]/T~./
U=I,...,H. (20)
(6) Completion time: (a) first production run (k = 1 ..... n), (21)
F1,1 - TF = 0; n
C1,1 --
F,,, - ~.. [si.2 + biQilXa
(22)
= O;
i=1
FkA-
Fk-l,1-
~ i=1
[si.1 + aiQilXik=O;
Ck, 1 -- Ck_a, 1 -- ~ [Si,2 + i=l
biQilX,.k =
0;
(23) (24)
(b) determining the start of run f ( f = 2 . . . . . f * ),
YY/--Ck'/-'+(1/rk)[ Ok'f-l+II~biQ*xik ]i=1 k
- ~si,2Xik-- ~aiX, t,-- ~ Y'. i=1
i=l
(si. , + a i ) X , . _ < 0 ;
(25)
i=1 u=l
(26)
Y Y / - C../-1 < O; (c) completion time at any run ( k = 2 . . . . . n )
(27)
/71.f- Y Y / - TF = 0; n
C1,f -
F1,/- ~., [s,, 2 + biQi]Xa i=1
= O;
(28)
S. Lashine et al. / A nonlinear mixed integer goal programming model
Fk.f - rk_l./- ~ [Si.2 + biQi] Xik =
65
(29)
0;
i=1
Ck.f - Ck_l. f - ~
[si. 2 +
(30)
b,Q,]Xik = O.
i=1
(7) N u m b e r of runs (i = 1 . . . . . n): (31)
f Q , - R i = 0. (8) Maximum number of runs (i = 1 . . . . . n):
(32)
f* -L>O. (9) Job tardiness (k = 1 . . . . . n): S T O U T , . / = C,.f_, + [0,,/-1 + DD,./= STOUT/./-
IRibiQi]/ri;
(33)
si.2 - bi;
n
T A R k . I - Ck./+ ~ [s,.2 + biQ, lX,~ - DD~./>_ 0.
(34)
i=1
(10) Flow time:
(35)
FL,(k),f = C/(k),/-- START/.
Goal constraints Let N(. )'s and P(. )'s represents the negative and positive deviational variables associated with each goal constraint.
Priority
1. Eliminate idle/waiting time in position k:
~ [s~,, +aiQ, lX, k i=1
[s,,2+b~Q~lX~,~_~ + Nk - e~ = 0,
k = 2 . . . . . n.
(36)
i=1
Priority 2. Minimize processing time on first and last position:
T F + N F - PF = 0;
(37)
T L + N L - PL = 0.
(38)
Priority 3. Minimize set up and holding cost:
Sff~ + Ns- Ps=O;
(39)
i=1 n
~_. h i AVINV,
(4o)
+ N h - Ph = 0.
i=1
Priority 4. (a) minimize mean tardiness:
f*
f*
Pt = 0 -
(41)
[3i(k),u + Nm - Pm = O.
(42)
~_, ~ (TARtc,uflitk,,u)/f* ~_, ~ fli(k),u+ Ntu=l
k=l
u=l
k=l
(b) minimize mean flow time: y* n
E E (Flk,.fli(k),u)/f* u=l
k=l
f*
.
E
E
u=l
k=l
66
S. Lashine et al. / A nonfinear mixed integer goal programming model
Priority 5. Maximize shop capacity ( f = 2 . . . . . f * ): (a) capacity between runs, YYf-
(43)
C..I_ 1 + NI- Pf= M,
(b) end shop capacity,
D - C.,f. + ND- PD= M,
(44)
where, M is a very large number.
Objective function Minimize
p3(Vs + Ph), P4[ N` + Vt + Pm],
p4(Nf + No)],
all variables, P 's, and N ' s > 0; /3 's = 0 or 1.
Model implications It is clear that formulating the problem for the whole scheduling period is very complex due to the following: (1) A large number of intermediate variables is needed for each production run and for each product. (2) A large number of constraints is needed to represent each variable and to relate one variable to another. (3) The number of production runs, f,, depends on the lot sizes, Q , which are unknown decision variables. These variables represent the number of terms in some of the constraints and the number of constraints needed to represent each production run and capacity between runs. (4) The model can not be formulated completely as the number of constraints depends on the integer variable f which is a decision variable.
4.2. Solution approaches to NLMIGP model Three possible alternative approaches may be used to overcome the above difficulties. These approaches are discussed below, in a decreasing order of their complexity.
Approach I The solution procedure of this approach, as a first step, is to start with the optimum number of production runs determined by the common cycle approach, Buffa and Sarin (1987). The model is then formulated and the value of each criterion is found. It is important to point out that once production runs are known, lot sizes are no longer decision variables, and zero idle and waiting times are not guaranteed. The second step is to iterate on the number of runs for each product in an attempt to minimize idle and waiting time. The model is then reformulated to find the new criteria's values. Each time the number of runs is changed, a new formulation is needed. As a result, a new schedule will result with its associated criteria values and one of the multiple criteria methods (see Steuer, 1986) is needed to evaluate these schedules.
Approach H Instead of iterating on the number of production runs, one can assume any sequence as a first step. Then, to reach an ideal schedule, one can assume any lot size for the product in the first position, and apply the following formula, for k = 2 . . . . . n: Oi(k_l) =
[Si(k),l- Si(k_l),2 -]- ai(k)Oi(k)]/bi(k_X).
(45)
s. Lashine et al. / A nonlinearmixed integergoalprogramming model
67
Then, the number of runs, f~tk), for each product and the maximum number of runs, f *, can be found and the model can be formulated. The second approach is better than the first one as there is no iterative procedure involved, and the problem is formulated only once. Most importantly, the model becomes a linear goal programming model. However, the problem still has a large number of variables and constraints. Yet, these numbers are less than those of the first approach.
Approach III The crucial element in solving the model is the determination of the lot sizes and the sequence of jobs in the first production run. The third approach is based on the use of initial lot sizes (determined by the common cycle approach) to find Johnson's sequence. Then, for the specified sequence and the lot size of the product in the first position, a linear goal programming model is formulated for the first production run. The projected schedule for the full scheduling period is determined using the computer code developed by Lashine (1988). It is clear that the third approach reduces dramatically the dimensionality of the problem. Based on the third approach, a linear goal programming model is developed to determine the lot sizes for an ideal schedule (no idle or waiting time), given any sequence and the lot size of the product in the first position. Different alternative schedules can be obtained by changing the lot size Qm) only, or by changing the sequence and Qm). 4. 3. Linear goal programming model (LGPM) Real constraints Qm) = L,
(46)
where L is the lot size for the product in the first position.
Goal constraints Priority 1. Minimize idle or waiting time in each position k:
i=1
(si, 1 + a i Q i ) X i k - ~ (Si, 2 + biQi)Xi,k_l + N k - P k = 0 . i=1
(47)
Priority 2. Minimize the makespan of first run: Cmax - ~ (si, 1 + a i e i ) i=l
[Si(n, d- bi(n,Qi(n)] q- N c - P c = 0 .
(48)
Objective function Minimize
Z = [pl(Nk, Pk), PZ(Pc)], Q/,Cma x, Nk, P~>_0 for a l l i a n d k .
(49)
Implications: The L G P model has a tremendous saving, dimensionwise, over the N L M I G P model, in both the number of variables and the number of constraints. A comparison between the two models is presented in Table 1.
Table 1 Comparison between Model I and Model II 0-1 variables variables real constraints goal constraints
NLMIGP model n 2 + nf* n(4 + 8]"* ) + 3 9n(1 + f* ) - 1 n+ f *+5
LGP model 0 n+1 1
n-
1
S. Lashine et at.. / A nonlinearmixed integergoalprogrammingmodel
68
A simple 4-job, two-machine p r o b l e m is used to illustrate the formulation of M O D E L II.
Real constraints Qio) = L.
Goal constraints (sal + alQ1)Xa2 + (s2a + a202)X22 q- (s31 q- a3Q3)X32 + (s41-1- a4Q4)X42
-
-
(S12 @ blQ1)XN
- (s22 + b2Q2)X21 - (s32 + b3Q3)Xaa - (s42 + b4Q4)X41 + N1 - PI = 0;
(sll + alQ1)X13 + (s21 + a2Q2)X23 + (s31 + a3Q3)X32 + (s41 + a 4 Q 4 ) X 4 3 - (s12--I-b,Q~)X,2 - - ($22 -~- b202)S22
- ($32 -Jr-b303)g32
(s H + alQ1)X14 + (s21 + a2Q2)X24
( s i t -'1- alOl) - (s21 "l-
b404)g42 + N 2 - P2 = 0;
+ (S31 "[- a3Q3)X34 + (S41 -I- a4Q4)X44
- (s22 + b202)X23 - (s32 + b303)X33 Cma x -
-- ($42 d-
-
-
a2Qz) - (s31
- (s12 + blQ1)X13
(S42 + b4Q4)X43 + N3 - P3
-----0 ;
+ a303)
(si(4),2 q- bi(4)Qi(4)) + N 4
-
(s41 --]- a 4 0 4 )
-
-- P 4 = 0 .
Objective function Minimize
[pl(NI+PI+N2+P2+N3+P3), Qi, CmaxNj, Pj > 0
p2(p4)];
for all i and j .
Thus, the model has been transformed to a linear goal p r o g r a m m i n g model which can be solved by the goal p r o g r a m m i n g package ( P A G P ) developed by A r t h u r and R a v i n d r a n (1980). Numerical example. The relevant data for a 4-job p r o b l e m is given in Table 2. The initial lot sizes, determined by the c o m m o n cycle method, are Q1 = 2000, Q2 = 3750, Q3 = 1750, and Q4 = 250. The optimal sequence, found by Johnson's algorithm for the two-machine flow shop p~roblem, is (3, 2, 1, 4). Let Xi = Qi, i = 1 . . . . . 4, and X 5 = Cm~x-
Objective function Minimize
Z = [ p l ( N a + Pa + N2 + Pz + N3 + P3) + P z ( P 4 ) ] .
Real constraint X 3 = 1750.
Table 2 Example problem data Sequence 1 2 3 4
Job 3 2 1 4
ai 1 2 4 7
bi 3 3 2 5
s~l 15 10 20 10
s,~ 25 20 10 15
R 7000 15000 8000 1000
S. Lashine et al. / A nonlinear mixed integer goal programming model
69
Table 3 Optimal goal programming solution Subscript
A OPT
X OPT
POS DEV
NEG DEV
1 2 3 4 5
0.0 0.0
1974.3750 2632.5000 1750.0000 563.6875 26858.7500
0.0 0.0 0.0 0.0 0.0
0.0 0.0 0.0 0.0 0.0
Table 4 Optimal lot sizes and number of production runs for the problem
k
i(k)
Q.k)
£(k)
1 2 3 4
3 2 1 4
1750 2633 1975 563
4 6 5 2
Goal constraints
2X 2 - 3X 3
+ N 1 - P1 = 15;
4Xl - 3X a 2Xa
+ 7X 4
-4X 1 -2X X~>0;
+ N2 - e 2 =
2-
+ N3-
0; = 10;
X 3 -12X 4 + X 5 +N4 - o,=
i = 1 . . . . . 5 and Nj, P j > 0 ;
j=l
70;
. . . . . 4.
The optimal values for the decision variables and the goal achievements, obtained by the linear goal programming solution are presented in Table 3. Column 2 shows that the two priorities have been achieved optimally with zero u n d e r / o v e r achievements. The output from this stage, presented in Table 4, is the optimal solution for the first production run, which in turn will be the input to the computer program which projects the obtained schedule for the whole scheduling period.
5. Conclusion The paper demonstrates the applicability of goal programming to integrate lot sizing and sequencing decisions. The resulting N M I G P model cannot be formulated completely, as some of the constraints depend on the number of production runs which are unknown decision variables. Moreover, the model has a large number of variables and constraints. For a given sequence and the assumption of repetitive production runs, the dimensionality of the model is reduced dramatically, and the model can be represented as a linear goal programming model. Furthermore, the N M I G P model can be extended to the three-machine CFS problem. However, in this case, the goals of zero-idle and zero-waiting times can not necessarily be achieved. For CFS with more than three machines, non-permutation schedules may be optimal (French, 1982), which will increase the complexity of the problem (the number of possible schedules becomes (n!) m, where n is the number of jobs and m is the number of machines). The decision as to whether this flexibility (non-permutation schedules) is worthwhile is a matter of future research. Sub-batch transfer (Trietsch, 1987) is another way to eliminate idle and waiting times in a flow shop. If this flexibility is added to the model, then material handling cost becomes a goal. Further complexity is
70
s. Lashine et al. / A nonlinear mixed integer goal programming model
i n t r o d u c e d a n d the p r o d u c t i o n p r o b l e m of m a t i n g s u b - b a t c h e s at the e n d of p r o d u c t i o n is i m p o s e d on p r o d u c t i o n . I n theory, the a b o v e o p t i o n w o u l d d e c r e a s e cost since increasing the n u m b e r of o p t i o n s can never increase objective cost since a n o p t i o n w o u l d never b e exercised unless it was cost effective. However, allowing b a t c h size to c h a n g e b a s e d o n the structure of the flow shop (the relative s t a n d a r d times of two successive j o b s o n m a c h i n e s o n e a n d two) is r o u g h l y equivalent to the o p t i o n of s u b - b a t c h transfer a n d eliminates the p a p e r w o r k of m a t i n g s u b - b a t c h e s at the e n d of p r o d u c t i o n , a n d it also eliminates a goal.
References Arthur, J.L., and Ravindran, A. (1980), "PAGP: A partitioning algorithm for linear goal programming problems", ACM Transactions on Mathematical Software 6/3, 378-386. Buffa, E.S., and Satin, R.K. (1987), Modern Production~Operations Management, 8th Edition, Wiley, New York. Dhavale, D., and Aggarwal, S. (1978, "An investigation of multi-product, multi-machine production scheduling and inventory control of a flow shop system", International Journal on Production Research 16/6, 477-491. French, S. (1982), Sequencing and Scheduling: An Introduction to the Mathematics of the Job-Shop, Ellis Horwood Series in Mathematics and its Application, Wiley, New York. Huckert, K., Rhode, R., Roglin, O., and Weber, R. (1980), "On the interactive solution to a muliticriteria scheduling problem", Zeitschrift fur Operations Research 24, 47-60. Lashine, S. (1988), "An investigation of the interaction of lot sizes and sequencing in a two-Machine closed flow shop based on multiple Measures of performance", Unpublished Ph.D. Dissertation, The University of Oklahoma. Selen, W.J. and Hott, D.D. (1986), "A mixed integer goal programming formulation to the standard flow shop scheduling problem", Journal of the Operational Research Society 37/12, 1121-1128. Steuer, R. (1986), Multiple Criteria Optimization: Theory, Computation, and Application, Wiley, New York. Trietsch, D. (1987), "Optimal transfer lots for batch manufacturing: A basic case and extensions", Research Report, Naval Postgraduate School, Monterey, CA 93943. Wagner, H.M. (1959), "An integer programming model for machine scheduling", Naval Research Logistic Quarterly 6, 131-140.