European Journal of Operational Research 45 (1990) 177-190 North-Holland
177
Modelling and scheduling of a Flexible Manufacturing System Tadeusz S A W I K
University of Mining and Metallurgy, Department of Mechanical Engineering and Robotics, 30-059 Cracow, Poland Abstract: Production scheduling of an FMS is formulated as a multi-level integer program. The hierarchical decision structure is proposed which includes the following problems: (i) part type selection determining a subset of part types for simultaneous processing; (ii) machine loading - the allocation of operations and required tools among the machines; (iii) part input sequencing - determining the sequence and timing of release of parts to the system; (iv) operation scheduling - determining the detailed schedule for processing the parts in the system. The integer programming formulations for all these problems are presented as well as the solution algorithms for part sequencing and operation scheduling. A simple numerical example illustrates the approach proposed, and some computational results are reported. Keywords: Scheduling, manufacturing industries, multilevel programming, heuristics
1. Introduction Operational research problems in flexible manufacturing systems have attracted many researchers and practitioners over the recent years. In particular, the FMS production scheduling problems have received considerable attention. (See review papers by Buzacott and Yao [3], Rachamadugu and Stecke [7], Sawik [9], Van Looveren et al. [17].) In view of the scheduling theory a general FMS can be considered to be a job shop with parallel machines and additional limited resources. There are, however, substantial differences between a conventional job shop and an FMS (see, for example [7]), where one should additionally consider such FMS features as alternate routings, pallet and fixture limitations, finite in-process buffers. Furthermore, the computer control of the entire FMS enables the detailed operation decisions to be made in the real-time depending on the FMS status. Therefore, computationally time consuming optimal scheduling procedures for job shops are no longer applicable. There is a growing literature on FMS scheduling [7]. Many papers are based on integer programming methods, e.g., Berrada and Stecke [2], Escudero [4], Stecke [14]. The computational effort required makes such an approach impractical for real-time control in most applications. The integer programming formulations however, may be used as a basis for the development of scheduling heuristics. Another important class of problem formulations is that of a hierarchical structure, e.g., Akella et al. [1], Escudero [4], Gershwin et al. [5]. These methods are often used and hierarchical scheduling algorithms are practical and quite successful. The purpose of this paper is to present an integer programming formulation of production scheduling in FMS that can be used for detailed decision making within a hierarchical decision structure. The problem of an FMS operation is decomposed into four interconnected subproblems each of which can be solved relatively independently: part type selection, machine loading, part input sequencing, and detailed operation scheduling. The paper addresses all of these problems, however, the emphasis is on the detailed Received June 1989 0377-2217/90/$3.50 © 1990 - Elsevier Science Publishers B.V. (North-Holland)
178
T. Sawik / Modelling and scheduling of an FMS
operation scheduling. The approximation scheduling algorithms are provided based on the integer programming models and the critical path method presented in Sawik [10,11]. Given the production requirements for a variety of part types to be met by their due dates, first the part types are selected for simultaneous processing and the machine workloads are determined. Then using a period-by-period heuristic the detailed machine assignments and part inputs are chosen for every period of a scheduling horizon to complete the requirements of the selected part types with the maximum lateness minimized. The approach proposed is illustrated with a simple numerical example.
2. Description of an F M S
Consider an FMS made up of m different manufacturing machines (machine tools) i ~ {1 . . . . . m } plus one loading (i --- 0) and one unloading (i = m + 1) stations. In the system a set of different part types can be manufactured. Manufacture of part type j requires nj operations k = 1 . . . . . nj in that order plus the beginning loading operation k = 0, and the final unloading operation k = nj + 1. Operation k of part type j can be performed on several different machines. Let Pijk be the processing time on machine i of operation k for part type j (if operation k of part type j cannot be performed by machine i, then Puk = oo), and let Po be the loading or unloading time identical for all part types, that is, P0j0 =Pm + Xjnj+l =P0 for all j. Each operation requires one or more cutting tools from among G different types of tools. The part type requirements for tools are described by zero-one coefficients CgUk, where Cguk = 1 if too1 g is required to perform on machine i operation k for part type j; otherwise Cguk = O. The tools for all operations that can be performed by machine i are stored in its limited capacity tool magazine containing S~ tool slots. The tool requirements for storage space in tool magazines are described by coefficients sg,, where sg~ denotes number of slots required in tool magazine of machine i for holding cutting tool type g. The maximum number of parts of all types that can be processed in the system simultaneously is limited. Let Pj be the maximum number of pallets available for part type j, and denote by P the maximum number of pallets (parts) to be allowed in the system simultaneously. Finally, let bj be the production requirement for part type j (in number of parts to be produced), and dj the associated due date. The scheduling objective is to determine an assignment of operations to machines over the planning horizon so as to complete the production requirements with the maximum lateness minimized.
3. Production scheduling in an F M S
The production scheduling of an FMS is decomposed into four subproblems which can be solved according to the hierarchical decision structure shown in Figure 1. The subproblems are: (1) P a r t t y p e selection - partition of a set of part types that have production requirements into subsets (batches) for simultaneous processing. (2) M a c h i n e l o a d i n g - allocation of the operations and required tools of the selected part types among the machines with limited capacity tool magazines. (3) P a r t i n p u t s e q u e n c i n g - determination of the sequence and timing of the release of parts to the system. (4) O p e r a t i o n s c h e d u l i n g - scheduling of the operations for each part in the system and sequencing the operations assigned to each machine. The first two problems should be solved each time before an FMS can start production of the selected part types. The solution to these problems results in determining the detailed machine workloads and the types of cutting tools required for processing the selected part types to be loaded into tool magazines on the appropriate machines. After the required tools have been loaded the production can start up. Then, the
72 Sawik / Modelling and scheduling of an FMS
179
selected part types are scheduled through the system according to the operating decisions determined by solving problems (3) and (4) of the detailed operation scheduling. The processing of each batch terminates when the requirements for all part types selected in that batch are completed. Then, completion of the next batch begins after all the required tools have been loaded into tool magazines on the appropriate machines. This procedure continues until the requirements for all part types are completed.
4. Part type selection The part type selection problem consists in splitting up the production requirements for a set of part types into a number of subsets (batches) of part types for simultaneous manufacturing. Each batch is completed in a distinct machining horizon and requires a distinct set of cutting tools for processing. The tools required for all operations of the selected part types in a particular batch must be loaded into the limited capacity tool magazines on the appropriate machines before an FMS can start to produce that batch. When a batch is completed all of the cutting tools that are no longer required are unloaded and replaced with new tools to perform the operations of all parts of the next batch. Such a change of all tools in between batches, called a total and major tool changeover, can take time compared with a shift. Therefore, a commonly used criterion of the above batching approach to part type selection problem is to minimize the number of tool changeovers, or equivalently, the number of batches. (See Hwang [6], Rajagopalan [8], Whitney and Gaul [18].) Using the above batching approach and the extension of Hwang's formulation proposed by Stecke and Kim [16], the part type selection problem can be written as follows:
(1)
E cgbksg, z.j
E
maximize
j~J
g=l k=l
G
~_, sg, eg, <~S i,
subject to
i = 1 . . . . . m,
(2)
g=l
cgijkzj<~egi,
g = l . . . . . G,
i = 1 . . . . . m,
e g i ~ { O , 1 },
g = l . . . . . G,
i = 1 . . . . . m,
(o, 1}, j s,
j~J,
k = l . . . . . nj,
(3) (4)
(5)
where J: f
:
the set of the part types remaining for production, the machine with the largest ratio of tool slots required for the part types remaining for production to its tool magazine capacity, G
i = arg max( E i
nj
~'~ ~ cgij, Sg,/S,).
j~J g=l k=l
In the above formulation two types of decision variables were introduced: * the part type selection variables zj ~ (0, 1}, where zj = 1 if part type j ~ J is selected in the batch; otherwise zj = 0, * the tool loading variables egi e {0, 1}, where e~i = 1 if cutting tool type g is loaded on machine i; otherwise e g~ = O. The objective function (_1) tends to select part types with the largest number of required tool slots in tool magazine of machine i, and by this aims at minimizing the number of tool changeovers. The cutting tools required for the selected part types to be loaded to tool magazines on the appropriate machines must be chosen in such a way that the following constraints are satisfied: * the limited capacity of tool magazine on each machine is not overfilled,
T. Sawik /Modelling and scheduling of an FMS
180
* for each operation of each part type selected, all cutting tools required for its processing are assigned to each machine capable of performing it. The last condition enables all the operations and the required tools of the selected part types to be flexibly allocated among the machines in order to balance the machine workloads at the machine loading level. The part type selection problem can also be solved by using a flexible approach proposed by Stecke and Kim [15,16], where both the part type selection and their mix ratios are simultaneously determined to balance aggregate machine workloads. Unlike in the batching approach, where major changeovers of all tools occur in periods between batches, in the flexible approach minor tool changeovers are allowed to occur more frequently while some parts are still processed. Suppose that the solution of the part type selection problem (1)-(5) results in determining n part types j = 1. . . . . n, for simultaneous processing over the upcoming scheduling horizon, with the production requirements bj. It should be pointed out that model (1)-(5) does not consider due dates dj associated with the part types selected. The due dates could be considered, for example, by introducing additional weights in the objective function (1) connected with variables z.
5. Machine loading The purpose of the machine loading problem is to allocate all operations and the required tools of the selected part types j = 1. . . . . n among the machines in such a way that their requirements bj are completed and, in addition, some loading objective is reached. A typical loading objective for both conventional and flexible manufacturing systems is to balance the assigned workloads on each machine, that is, to equalize the total processing time of the operations assigned to each machine. However, the flexibility and capabilities of an FMS indicate that another objective can also be used. For instance, if transportation time from machine to machine is large relative to average processing time, then the more appropriate objective seems to be the maximization of the number of consecutive operations on each machine (e.g., Stecke [14]) or the minimization of the total processing and transportation time (e.g., Sawik [12]). The versatility of each machine and its capability of performing many different operations enable several operation assignments to be duplicated to produce alternative routes. This increases machine utilization and production, and decreases in-process inventory. The solution of the machine loading problem determines the values of both the tool loading variables eg i ( g = 1 . . . . . G; i = 1 . . . . . m ) and the operation assignment variables zij k (i = 1. . . . . m; j = 1 . . . . . n; k = 1. . . . . n j), where an integer zij, denotes the number of units of part type j assigned to machine i to perform operation k. The workload w~ of machine i is the total processing time of the operations assigned to this machine: n)
wi = ~ j=l
(6)
~ , PijkZijk. k=l
Given the selected part types and their requirements to be completed during the upcoming scheduling horizon, the machine loading problem in its simplest form can be written as follows: minimize
max (w~)
(7)
i m
subject to
~.,zij k=bj,
j=l
..... n,
k=l
(8)
..... n j,
i~l
zijk>/0
and integer,
i = l . . . . . m,
j=l
. . . . . n,
k = l . . . . . n j,
(9)
G
~_, sg, eg, <~ S i, g=l
i = 1..... m,
(10)
T. Sawik / Modelling and scheduling of an FMS
Y'~ cg;jkzij k <~ j=l
k=l
nj \j=l
e x i t ( 0 , 1 },
g = l . . . . . G,
e~i,
g = 1 . . . . . G,
181
i= 1 ..... m,
(11)
}
i = 1 . . . . . m.
(12)
In the above formulation the objective function (7) is a measure of system imbalance. Constraint (8) requires that the production requirements of the selected part types be completed, and (9) that the assignments be feasible. The capacity of tool magazine on each machine is taken into account in (10). Finally, constraint (11) ensures that if an operation is assigned to machine i, all of its required tools are loaded in that machine's tool magazine. This constraint also considers tool duplication to ensure that if several operations require some of the same tools, those common tools are loaded only once into the appropriate tool magazine. If the selected part types were determined according to model (1)-(5), then the tool loading constraints (10) and (11) can be omitted. The loading variables egi (g = 1 . . . . . G; i = 1 . . . . . m) satisfying (2) and (3) ensure that each operation of the selected part types can be performed by every machine capable of doing it, and hence they satisfy (10) and (11) as well. On the other hand tool loading that satisfies (11) enables some space in tool magazines to be saved, and perhaps more part types to be selected for simultaneous processing. The formulation presented in this paper however, does not address this issue. In order to achieve both the minimum number of tool changeovers and good machine workloads, the part types selection and machine loading problems should be solved together, either iteratively (e.g., Whitney and Gaul [18]), or by using the flexible approach (Stecke and Kim [16]) for those FMS types for which the latter procedure is applicable.
6. Operation scheduling Let us assume that the scheduling horizon is made up to T periods ( T is an unknown integer) during each of which the assignment of operations to machines is considered fixed. Two types of the control variables are introduced: * Boolean decision variables u,jk, ~ (0, 1}, where uuk , = 1 if operation k of part type j is performed on machine i in period t; otherwise Uijk, -~- O; * integer control variables h t >~ 1, where h t denotes duration of period t (t = 1 . . . . . T). The presentation of the problem formulation and the scheduling algorithm can be notationally and conceptually simplified by introducing state and output variables of the production process. Let the state variable x u k t ( i = O . . . . . r e + l ; j = l . . . . ,n; k = 0 . . . . . n j + l ; t = l . . . . . T ) be the cumulative machining time of performing operation k for part type j on machine i during the first t periods, that is, within a time interval [0, Ets= l hs]. Accordingly, let the output variable Yjkt ( J = 1 . . . . . n; k = 0 . . . . . ny; t = 1 . . . . . T ) be the inventory (number of units in stock) of semi-manufactured parts of type j waiting for operation k + 1 at the beginning of period t + 1. The state equations, the boundary conditions, and the output equations are: Xijkt = Xijkt_ 1 "4-htUijkt , XijkO = O,
(14)
V i , j , k,
XijkT=PijkZijk,
£ yjk,=yjko +
Vi,
j, k,
(15)
° [Xuk,/pUk ] -- Y'. [ X u k + , , / p U k + l ],
i=1
t=l,...,T,
(13)
V i , j , k , t,
j = 1 . . . . . n,
k = 0,..., nj,
i=1
(16)
T. Sawik / Modelling and scheduling of an FMS
182
where la], [a] : the greatest integer not greater than a, respectively, the smallest integer not less than a, Yjk0 • the beginning inventory of parts of type j waiting for operation k + 1. The first sum in the fight hand side of (16) represents the cumulative production of the semi-manufactured parts j with the first k operations completed, and the second sum, the cumulative direct usage of such parts for performing the next operation k + 1.
6.1. Problem formulation Now, the operation scheduling problem can be formulated as follows: minimize
Lmax = max (Cj - dj)
(17)
J
subject to n n)+ 1
E j=l
E Uijk, <~1, Vi, t,
uijk,~{O,l},
uuk,_ 1 - u,jk, <~1 -f~jk,-l, m+l
E
W, j, k, t,
(19)
m+l
Uijkt~Yjk-lt--I + E
i=1
[fijkt-1]'
j=l
.....
k=l,...,nj+l,
n,
t = l . . . . . T,
(20)
i=1
Euj,
j=l
k=O
nj Ujt o~
(18)
Vi, j , k , t ,
k=0
~
p j _ E Yjk,-1 k=O
E
fijk,-I
,
/ = 1 , . . ", T,
(21)
k=O
n3
[Ljkt--1], J =
•
--
1 ..... rl,
t= 1 ..... T,
(22)
i=0 k=O
hto <~h t <~rain{ ha, ht2, ht3 } Cj= }--~h,,
E i=0 j=l
htuj'~+l=po
t j = m i n s:
t=l
and h, integer, ,
t = 1 . . . . . T, j=l
. . . . . n,
(23) (24)
t=l
where Ljkt
: E [0, 1) the fraction of operation k for part type j performed on machine i by the end of period t, = x.k,/P,jk
c,
: the completion time for part type j, : period number during which the production requirement for part type j is completed, : simplified notation of the decision variables uijkt associated with loading (Uojo,) and unloading (u,,+ljnj+u) operation, respectively.
tj 0 U~.t+ 1 Ujr,
--
(25)
fijkt
In the above formulation the objective function Lma x denotes the maximum lateness of completion of the production batch. Constraint (18) requires that each machine be assigned to at most one part and one operation in every period. Inequality (19) is the nonpreemptibility constraint, and (20) defines the constraint on admissible allocation of the beginning inventory of semi-manufactured parts among the machines in every period. Constraints (21) and (22) insure against loading of new parts to the system whenever the total number of pallets in the system is at feasible maximum. Inequalities (23) define constraints on admissible durations of each period. The auxiliary variables hto , htl , ht2 and ht3 are
183
T. Sawik / Modelling and scheduling of an F M S
determined as functions of the state XUk,_ 1 and output Yjk,-1 variables of the manufacturing process at the beginning of period t (see also Sawik [10,11]), and are defined below: h,0 is the time required for completion of at least one single operation; h,o=
min
{ ( i , j , k ) : U,jkt= 1 }
( pu,(1--fuk,_l)}.
(26)
h a is the shortest time required to run out of stock of a semi-manufactured part (j, k) such for which the usage rate in period t, 5k+1, =F~iUok+l,/P, jk+~ is greater than the production rate rjk , = EiUijkt//Pijk in that period;
[(
rain
h tl =
{(j,k) : 5k+ It > r~kt }
m
Yjk,-, +
E {i: f, jk+lt 1>0}
(1 - f / j k + , , - , ) + E f, jk,-, i=l
-- rjkt m a x ( p i Jk + l U i jk + lt ) ) / ( rjk + l' - rJkt )
(27)
h,2 is the time required for completion the shortest of the remaining tasks defined by the boundary conditions (15);
hi2 =
rain
{ ( i , j , k ) : uijkt= 1 }
( pij, Zijk -- Xijk,_ 1 }.
(28)
hi3 is the time required for completion the loading operation performed in period t; min
ht3 =
( P0( 1 - f0j0/-l)} •
(29)
Finally, (24) requires that the production batch be completed.
7. Algorithm for operation scheduling In this section an approximation algorithm is presented for scheduling the operations of the parts released to the system. The algorithm is based on the model (13)-(29) and the method described in [10] and [11]. The scheduling algorithm is a period-by-period heuristic in which each scheduling period is considered once. In every period t, first the assignment of operations to machines Uijk, is determined, then the duration h, of period t is chosen, and finally the terminal conditions (15) are checked. In every period t the assignment of operations to each machine i is made in the order of nonincreasing P, jk/dj, taking into account the constraints (18)-(22) for that t. PUk denotes the longest remaining processing time for part type j waiting for operation k on machine i, nj
Puk = PUk +
~-, s=k+l
max
(Pus)"
(30)
{i:z'J s>0}
The duration h t of each period t is determined to be as long as possible if all the machines with uncompleted production tasks perform the assigned operations and in the system there is sufficient in-process inventory. If a machine is idle however, due to the lack of the required semi-manufactured part, then h, takes on the least admissible value hi0: The scheduling Algorithm A1 is described below (Jb is the set of part types with completed production requirements).
184
T. Sawik /Modelling and schedufing of an F M S
Aigorltlun A1 Step O. Set f,Vk0=0'
UUk0 = 0 ,
XUko=0,
Vi, j , k,
Jb=~J,
t=l.
Step 1. Determine the assignment of machines in period t. For the part types j ~ Jb with uncompleted production requirements: PijkZijk- Xijkt_ ! • O, assign the operations to machines in the order of nonincreasing Puk/dj, taking into account the constraints (18)-(22). Step 2. Determine the duration of period t. If there exists an idle machine with an uncompleted task, then set h t = hto. Otherwise set h t = max{ht0, min(hn, ht2, ht3)}. Step 3. Determine the state of production and in-process stocks at the end of period t. For J ~ J b if X,jkt =pUkzijk, Vi, k, then set tj = t, ~ = E~=lht, Jb =Jb U ( j } . If Jh = ( 1 , . . . , n }, then set Lmax = maxj(Cj - dj), T = t, and terminate. Otherwise calculate the in-process inventory Yjk, ((16)) and fukt ((25)) at the end of period t; set t = t + 1 and go to Step 1.
In the algorithm the state XUkt_ 1 of completing the production requirements at the beginning of each period t is used as a feedback for scheduling (see, Figure 1) so that the assignment of operations to machines in period t, and the duration of that period are determined as functions of xijkt_ ~. Hence, the algorithm can also be applied for on-line scheduling, where the assignment of machines is determined period-by-period in real-time. In Step 1 of the algorithm preference is given to such parts waiting for their next operations which require the highest production rate (Puk/dj) to be completed by time dj.
I Production requirements I
PART TYPE I SELECTION :j=1,..,n) Productionbatch MACHINE LOADING [
Ix uO~
~
X
OPERATION I SCHEDULING
W
PART INPUT SEQUENCING
machine workloads y - in-process inventory
w
-
u - operation schedule u° - input schedule x - state of completing the production batch
Figure 1. A hierarchicalschedulingin an FMS
7". Sawik / Modelling and scheduling of an FMS
(1)
185
The production rate required however, can be estimated more precisely by the ratio
aj-
(31)
hs ,
s=l
where
P,Mt) is the longest remaining processing time for part type j waiting for operation k on machine i at the beginning of period t, n)
Puk(l)=Pijk +
Y'.
max
(Pi,,).
(32)
s = k + l { i: xus ,_l
The formula (32) accounts for the current state XUk t_ 1 of completion of the production batch, and hence may lead to more precise estimation of the production rate required. The computational requirements for the algorithm are predominated by the computations required to determine the longest remaining processing times for all parts and then to order the operations subject to chain-type precedence constraints according to those times. The assignment of each operation to machines is considered at most once during T periods. Therefore, the computational complexity of the Algorithm A1 is O ( N ( m T + log N)), where N = F_,ibjnj is the total number of all operations required for completion of the production batch. If Puk (30) is replaced with P u k ( t ) (32), and the required production rate is determined using (31), then the computational effort required in Step 1 grows, since all operations should now be ordered according to nondecreasing ratio
(,) dj -
Y" h s / P , jk ( t )
s=l
in every period t. In such a case the computational complexity of the algorithm is O ( N T log N), and is approximately T times higher.
8. Part input sequencing The input schedule u ° = ( uj°: 1 ~
using the feedback information on the current state of the manufacturing process (see Figure 1). The scheduling algorithm presented in Section 7 (Step 1) is capable of simultaneously determining both u and u °, where loading station is considered additional machine i = 0. However, the algorithm tends to load all bj parts of each type j one after the other, since each part type j is associated with the same longest total processing time P0j0, (30). In order to more highly utilize the FMS capabilities there should be a diversity of part types in the system. To better achieve such a diversity the parts should be loaded into the system taking into account the total processing time associated with each processing route r. Notice that all processing routes selected for each part type j at the machine loading level are determined with the solution { ZUk } of the machine loading problem. Let Pj, be the total processing time for part type j and processing route r (Pj, is a lower bound on the flow time for that part and route). Now, an independent algorithm can be presented to determine the input schedule u °. The algorithm assumes that an FMS is a closed system in which the total number of pallets (parts) is constant. Hence, the following additional assumptions must hold: * at the beginning there is some initial inventory Yjoo > 0 ( j = 1 . . . . . n) of parts waiting in the system for their first operations;
T. Sawik / Modelling and scheduling of an F M S
186
* loading of a new part into the system for which free pallet is available begins simultaneously with unloading of a finished part. The last assumption requires that the total number of available pallets of all types in greater than the total number of pallets allowed in the system simultaneously, that is, EjPj >/P + 1.
Algorithm A2 Step O. Order all F.gbj parts according to nonincreasing Pjr/dj. Step 1. Choose first P parts for initial loading to the system from the list of ordered parts taking into account numbers ~ of pallets available for each part type j. Step 2. Each time when unloading of a finished part begins, choose the first part from the list for loading to the system such for which free pallet is available and the machine for its first operation is idle. The above procedure gives preference to such parts which require the highest production rate to be completed by time dg. In order to better achieve machine workloads determined at the machine loading level and by this utilize the machines more efficiently, Step 2 of Algorithm A2 can be replaced with:
Step 2'. Each time when unloading of a finished part begins, a new part j for loading and the corresponding processing route r is chosen by solving mi n m a x j,r
wi-
~_, xijk,_lj=l
k=l
~
pijk ,
(33)
k~Kij r
where K~jr is the set of operations assigned to machine i for part type j manufactured according to processing route r. In any case the input schedule should be determined along with the operation schedule using the feedback information on the current state of the manufacturing process (see Figure 1).
9. Example In this section a simple numerical example is presented to illustrate how the proposed approach can be applied for detailed operation scheduling in FMS. The production batch to be completed during the scheduling horizon consists of n = 4 selected part types, and the number of required operations for each part type j ( j = 1, 2, 3, 4) is n 1 = 2, n 2 = 3 , n 3 = 5 , n 4 = 2 , respectively. A graph of precedence relations is shown in Figure 2, where all operations including loading/unloading are numbered from 1 to 20. The production requirements bg (in number of parts) and the corresponding due dates dg for each of the selected part types are also indicated in Figure 2. The set of machine tools consists of m = 6 nonidentical machines of three types: two machines (i = 1, 2) of type I, one (i = 3) of type II, and three (i = 4, 5,6) of type III. The processing times Pijk are shown in Table 1, where no entry at some position indicates that a particular machine is incapable of performing the corresponding operation. The loading-unloading time is Po = 2 for all part types. The total number of types of the cutting tools required by all four part types is G = 9. Each cutting tool occupies 1 or 3 slots, i.e., sgi = 1, g = 1, 2, 3, 4, 5, 6, and Sg~= 3, g = 7, 8, 9 for all i. Each operation requires between 1 to 3 different cutting tools (between 1 to 9 tool slots) on each machine capable of performing that operation. The types of cutting tools required for each operation are
187
T. Sawik / Modelling and scheduling of an FMS
d.=74
/21-2
d==70
bj=5
~--65
b =6
F,~ L/UL Figure 2. Graph of precedenceconstraints and production batch
shown in the last row of Table 1, and the capacities St of tool magazines in the last column of that table. The input data includes also the initial inventories of parts loaded into the system at the beginning and waiting for their first operations: Yt0o= 1, Y20o= 2, Y300= 2, Y4o0= 2. Finally, the pallet limitations are Pi = P 2 = P 3 = P4= 5, P = 1 0 . For the above data, first the machine loading problem (7)-(12) has been solved using an IP procedure on a C D C Cyber 72. The solution of the machine loading has determined the allocation of all operations of the selected part types among the machines. The values of the nonzero operation assignment variables z~jk are shown in Table 1 at the corresponding processing time Pijk. (For example, the entry 4 / 2 for machine 2, part type 1 and operation 2 means that the corresponding Pijk = 4 and z~jk = 2.) The solution of the machine loading problem leads to the following lower bounds on the schedule length Cmax and the maximum lateness L . . . . LBCmax = max(wi) + p 0 = 62,
tBLmax = LBCmax - m a x ( d j ) = - 1 2 .
i
j
The input and the operation schedule for the example have been obtained by using the Algorithm A1, in which the assignment %t0 of loading station has been determined according to formula (33). The solution results are shown in Figure 3, where machines i = 0 and i = 7 represent the loading and unloading station, respectively. The production schedule is made up to T = 36 machine assignments each of duration h t between 1 to 8 time units. The assignment of operations to machines in every period t is described by numbers indicating the operations assigned to each machine in that period. The completion time of the production batch is Cma~ = 86, and the maximum lateness Lmax - 23.
Table 1 Processing times: Pijk /Zijk: Operation assignments i
Part type/Operation 1
2
2
3
11
12
2
2
2/5
4
2 3 4 5 6
4/2 4
3/2 5
3 5
2/5 3
3,4
5,6
7
5 5 3/4
2 4 1/4
1,2
5
8
12/1 12 6/1 12/2 7,8,9
1
Si
4
1
Tools required
6
3
2
13
14 8
12 8 12 4/5 3,4
10 8 10 8/5 10 6,7,8
15
18
19
4 2/6 5
48 36/1 24/2 20/'3 36 36
10/5 10 20
7,8,9
1
7,8,9
15 15 10 15 15 15
T. S a w i k
188
/ Modelling and schedufing of an F M S
t 1 2 3 4 5
(L)
0 I
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 21.25 2~ 27 28 29 30 3132 33 34 35 36
,ob,l ,
b° 11
11 12 I
2
19
19
3 4
3
8
19
5 ,
6
1.3
7 ~//-////////~Y/////////~~9 ~ 16
(UL}
2222282/,
22222411
2211
2 2 2 2 2 1 2 1 2 2 2 6 2 2 8 2
ht Figure 3. The solution results
To evaluate an average performance of Algorithm A1 applied to simultaneously determine the input and operation schedule, 50 test problems have been solved with basic parameters bounded as follows:
5~
0.2<~P/]~_,bj~0.8, J
1 ~
2po+ ~_,max(puk)<~dj<~bj(2Po+ )-~.n~i'n(p~j,) )k
k
As a performance measure of the algorithm the relative errors
ec-- (Cmax - LBCmax)/LBCmax and
eL = I(Lmax - LBLmax)/LBLmax I
have been used. The lower bounds LBCmax and LBLmax were determined by using the solution of the machine loading problem (7)-(12) for the input data of each test problem. The results of the computational experiments are summarized in Table 2. For each set of 10 test problems the average values kc, ~., the maximum values eCmax, eLmax, and the standard deviations Oc, oL of the relative errors are shown in the last 6 columns of Table 2.
Table 2 Computational results
m
n
F.jnj
~,jb.jnj
ec
ec max
°c
~t,
eL max
°L
5 5 6 8 10
3 4 6 10 10
10 15 20 25 30
10- 20 20- 40 40- 60 60- 80 80-100
0.18 0.16 0.11 0.21 0.12
0.31 0.37 0.19 0.48 0.27
0.08 0.12 0.10 0.13 0.09
0.63 0.82 1.06 0.94 0.88
0.94 1.12 2.96 1.84 1.23
0.12 0.14 0.26 0.18 0.14
T. Sawik / Modelling and scheduling of an FMS
189
As Table 2 shows, the average errors ~c and ~L never exceeded respectively 21% and 106% of the lower bound used, and the maximum errors were not greater than respectively 48% and 296%. The computation time to determine the production schedules for the test problems, given the machine workloads, has ranged from 0.45 to 217.67 CPU seconds on a CDC Cyber 72.
I0. Conclusion The decomposition of production scheduling in an FMS presented in the paper and the hierarchical decision structure may support the decision making at the operational level. However, each of the subproblems obtained is an NP-hard optimization problem. The algorithms proposed construct the production schedule period-by-period using the feedback information on the manufacturing process, and therefore can be applied for on-line as well as off-line scheduling. The performance of the heuristics presented, however, needs further verification both theoretically and, if possible, practically in industry. Finally, it should be pointed out that the model proposed allows for the inclusion of the other characteristics of FMSs, such as transportation time and capacity, buffer limitations, etc., to be more realistic for practical purposes (e.g., [12]).
Acknowledgement The work was partially supported by a research grant from the scientific programme RP.I.02.5.6.
References [1] Akella, R., Choong, Y., and Gershwin, S.B., "Performance of hierarchical production scheduling policy", 1EEE Trans. on Compon. Hybr. and Manuf Techn. CHMT-7 (1984) 225-240. [2] Berrada, M., and Steeke, K.E., "A branch and bound approach for machine load balancing in flexible manufacturing systems", Management Science 32 (1986) 1316-1335. [3] Buzacott, J.A, and Yao, D.D., "Flexible manufacturing systems--A review of analytical models", Management Science 32 (1986) 890-905. [4] Escudero, L.F., "A mathematical formulation of a hierarchical approach for production planning in FMS", in: A. Kusiak (ed.), Modern Production Management Systems, Elsevier, 1987, 231-245. [5] Gershwin, S.B., AkeUa, R., and Choong, Y.F., "Short-term production scheduling of an automated manufacturing facility", I B M Journal of Research and Development 29 (1985) 392-400. [6] Hwang, S., "Part selection problems in flexible manufacturing systems planning stage", in: K.E. Stecke and R. Suri (eds.), Proceedings of the Second O R S A / T I M S Conference on Flexible Manufacturing Systems: Operations Research Models and Applications, Elsevier, 1986, 297-309. [7] Rachamadugu, R., and Stecke, K.E., "Classification and review of FMS scheduling procedures", WP 481 R, Graduate School of Business Administration, University of Michigan, Ann Arbor, 1987. [8] Rajagopalan, S., "'Formulation and heuristic solutions for parts grouping and tool loading in flexible manufacturing systems", in: K.E. Stecke and R. Suri (eds.), Proceedings of the Second O R S A / T I M S Conference on Flexible Manufacturing Systems: Operations Research Models and Applications, Elsevier, 1986, 311-320. [9] Sawik, T., "Production planning and scheduling in flexible manufacturing systems" (in Polish), UMM Scientific Bulletins, Automatics 42 (1987) 129-152. [10] Sawik, T., "A critical path algorithm for scheduling a batch-type production on nonidentical machines", Foundations of Control Engineering 12 (1987) 31-44. [11] Sawik, T., "Modelling and scheduling a batch-type production on identical machines", European Journal of Operational Research 35 (1988) 393-400. [12] Sawik, T., "Modelling of a hierarchical approach to production scheduling in FMS", to appear in the International Journal of Flexible Manufacturing Systems. [13] Stecke, K.E., and Solberg, J.J., "Loading and control policies for a flexible manufacturing system", International Journal of Production Research 19 (1981) 481-490. [14] Stecke, K.E., "Formulation and solution of nonlinear integer production planning problems for flexible manufacturing systems", Management Science 29 (1983) 273-288.
190
T. Sawik / Modelling and scheduling of an FMS
[15] Stecke, K.E., and Kim, I., "A flexible approach to implementing the short-term FMS planning function", in: K.E. Stecke and R. Suri (eds.), Proceedings of the Second ORSA / T I M S Conference on Flexible Manufacturing Systems: Operations Research Models and Applications, Elsevier, 1986, 283-295. [16] Stecke, K.E., and Kim, I., "A study of FMS part type selection approaches for short-term production planning", International Journal of Flexible Manufacturing Systems 1/1 (1988). [17] Van Looveren, A.J., Gelders, L.F., and Van Wassenhove, L.N., "A review of FMS planning models", in: A. Kusiak (ed.), Modelling and Design of Flexible Manufacturing Systems, Elsevier, 1986, 3-31. [18] Whitney, C.K., and Gaul, T.S., "Sequential decision procedures for batching and balancing in FMSs", in: K.E. Stecke and R. Suri (eds.), Proceedings of the First ORSA / T I M S Conference on Flexible Manufacturing Systems: Operations Research Models and Applications, Elsevier, 1984, 243-248.