EUROPEAN JOURNAL OFOPERATIONAL RESEARCH ELSEVIER
European Journal of Operational Research 105 (1998) 91-99
Theory and Methodology
Capacity planningby the dynamic multi-resourcegeneralized assignment problem(DMRGAP) A v r a h a m S h t u b *, K o n s t a n t i n K o g a n Department of Industrial Engineering, Tel Aviv University, Ramat Aviv, 699 78 Tel Aviv, Israel
Received I February 1996; accepted 1 December1996
Abstract
The allocation of available capacity among competing demand and users is a problem encountered in areas such as job shop scheduling, the trucking industry and distributed computer systems. In all these areas a model known as the Multi-Resource Generalized Assignment Problem (MRGAP) has been proposed as a tool to assign available capacity among the competing applications. In this paper we extend the MRGAP model to the case where demand varies over time and capacity assignments are dynamic. We show that the extended model can be used for strategic capacity planning and we develop efficient solution procedures to solve the dynamic version of MRGAP. © 1998 Elsevier Science B.V.
1. Introduction
The Multi-Resource Generalized Assignment Problem (MRGAP) is a model used when a set of tasks (or jobs) has to be assigned to a set of agents in a way that permits assignment of multiple tasks to an agent subject to the availability of a set of multiple resources consumed by that agent (Gavish and Pirkul, 1982, 1986, 1991). MRGAP is an extension of the Generalized Assignment Problem (GAP) (Ross and Soland, 1975, 1977). The GAP considers the availability of a single resource type consumed by the agent in performing the tasks. MRGAP was used as a model for the design of distributed computer systems (Gavish and Pirkul,
* Corresponding author. Fax: + 972-03-6429540.
1986). It was also used as a model for truck routing problems (Murphy, 1986) and it is useful for problems in the areas of job shop scheduling, telecommunication network design, cargo loading, ships and warehouse design (Gavish and Pirkul, 1991). Problem MRGAP was solved using various Lagrangian relaxations, by Gavish and Pirkul (1991), who proposed heuristic solution procedures and an efficient branch and bound as well. An algorithm which incorporates a heuristic procedure along with a branch and bound was found to be capable of solving large problems in reasonable computing times. Formulation of MRGAP is suitable for situations where the number and mix of tasks (the demand) is known and constant. In case that the demand varies continuously and changes over time, the above formulation has to be modified. The modification proposed in this paper is the Dynamic Multi-Resource Generalized Assignment Problem (DMRGAP).
0377-2217/98/$19.00 © 1998 ElsevierScience B.V. All rights reserved. PII S0377-2217(97)00035-0
92
A. Shtub, K. Kogan / European Journal of Operational Research 105 (1998) 91-99
In Section 2 we formulate DMRGAP. In Sections 3-5 we discuss the analytical properties of the optimal solution and develop solution procedures for the problem. In Section 6 we present an example and discuss our computational experience with the proposed solution procedures. Implications of the model and its application to the problem of capacity planning and bottleneck scheduling conclude the paper.
2. Formulation of the dynamic multi-resource generalized assignment problem (DMRGAP)
To simplify the presentation, our formulation of DMRGAP will be in the context of a dynamic job shop, i.e. a job shop in which the demand for each job type is changing overtime. We assume that given the demand forecast for each job type j - Dr(t) the objective is to schedule jobs to the machines in the job shop so that jobs will not be completed before the promised due date (to minimize inventory costs) or after the promised due dates (to minimize shortage costs). A job can be assigned to several machines (job splitting) and be processed simultaneously on these machines, while setup times are assumed to be negligible. Each machine can process a subset of the jobs using a variety of resources (cutting tools, fixtures, human operators, etc.). The processing rate of each machine on each job type is known a priori. To formulate DMRGAP the following notation is used:
J m
k O~rnjk
13k Pmj Pmi(t )
index of jobs j = 1. . . . . J; index of machines m = 1. . . . . M; {J~m) l j(m) = 1. . . . . J(m)} is the subset of jobs that machine m can process (m = 1. . . . . M); index of resources used by the machines; amount of resource k required by machine m to process job j per time unit; capacity of resource k available per time unit; production rate of machine m performing job j; a decision variable, which takes on only two values 0 and Proj;
x j(t) xi(t)
inventory level of job j at time t; the flow of job j through the machines processing it at time t; x (o) = x o boundary conditions, the known inventory level of job j at the beginning of the planning horizon; cost of processing job j on machine m at time t (Cl( Pmj(t)) = ClmjPmj(t)); C2(Xj(t)) inventory holding (if Xi(t) > 0)/shortage (Xi(t)< 0) cost of job j at time t (C2( Xj(t)) = c~Xj(t)2). The cost coefficients c~, c~j are assumed to be constant. All fixed cost components are not taken into account, because they do not influence the optimal production regimes, which are derived in the following section.
Cl(Pmj(t))
The formulation of the dynamic multi-resource generalized assignment problem follows: man for[ m~ Y]Cl(Pmj(t))+½j
~.~C2(Xj(t))]dt,j (1)
subject to
j = 1.... J(m),
2 j ( t ) = E Pmj(t) -- Dj(t), rn
(2)
Proj(t) ~j - - < 1 , • Pmj
E m
m=l,...,M, Proj(t)
j
3 k,
k = l . . . . . K,
(3) (4)
Pmj
(5)
x (0) = x °,
=/ kO,
if machine m is processing job j at time t, otherwise.
(6) In the formulation the objective function (1) minimizes the costs of processing the jobs on the machines, along with shortage cost and inventory holding cost. The inventory flow Eq. (2) represents the dynamic changes in an inventory level due to the
A. Shrub, K. Kogan / European Journal of Operational Research 105 (1998) 91-99
difference between production and demand rates for the inventory. Eq. (3) represents the machines' capacity constraint while Eq. (4) shows the resource capacity constraint. The last two set of Eqs. (5) and (6) define the initial inventory levels of all jobs and values for the decision (control) variables respectively.
3. Analytic properties of the optimal solution Given the continuous nature of the state variables Xj(t), the control variables Pmj(t) which are measurable bounded functions, and the functions specifying the differential equations and constraints (2)-(6) which are continuous with respect to the state and control variables, the maximum principle (Hartl et al., 1995) can be applied to study the DMRGAP model. The maximum principle asserts that there exist left-continuous functions of bounded variation ~bj(t), so that the dual differential equations and transversally conditions are held
@(t) = c~Xj(t),
~bj(T) = 0;
(7)
the optimal control strategy is achieved by maximizing, for each t, the Hamiltonian
g/'= - E EClmjPmj(t) __ I I E c j X j ( t m j j + E~j(t)( j
2
m);
(iv) pray(t) ~ [O, emj], Pmj,(t) ~ [0,P,,,] if ~bj(t) I _ < _ Cm~ -- O, EmEjamjk(Pmj(t)/Pmjl __ [3k, k 1. . . . . K and ~bj(t) - c~j > ~bf(t) - Clmf, Vj(m) ~ f ( m ) (second type of chattering between processing of jobs j and f on machine m); (v) pmj(t) E [0,Pmj], Pmj,(t) = [O, Pmj ] if qtj(t) Clmj = O, EmEjOtmjk(Pm_lJ(t)/Pmj) ~ ~ k ' k = 1. . . . . K and ~b/(t) - Cmj, < O, VJ (m) 4~j(m) (chattering between processing of jobs j and no-production on machine m). Proof. The maximum principle claims that the optimal control strategy is achieved by maximizing, for each t, the Hamiltonian on the set of admissible controls pmj(t). Let us consider the respective (production rate dependent) term of the Hamiltonian:
,Tg'= - y" y ' c ~ j P m j ( t ) --½ E c 2 X j ( t ) 2 (8)
m
subject to constraints (3),(4) and (6). The latter condition resulted from the maximum principle application is the most important, because it allows the original (primal) dynamic problem to be replaced with a number of static problems having at every fixed moment of time the Hamiltonian as their objective function. Lemma 1. Given problem (1)-(6), at the optimal solution of the problem, the production rate of machines m = 1 . . . . . M on jobs j ( m ) = 1. . . . . J(m) at time t is defined as: (i) P m j ( t ) = P , j , Pmj,(t)=O, if ~bj(t)- Cmj l > O, ~m~jOtmjk(Pmj(t)//Pmj) ~ ~k,
and Pmj(qtj(t) - Clmj) > Pmj,(qt(t)y - Clmj,), VJ (m) * j(m) (production regime, i.e. job j is processed on machine m); 1 (ii) Pmj(t) = O, if ~bj(t) - Cmj < 0 Vj(m) (no-production regime, i.e. job j is not processed on machine m). (iii) Pmj(t) ~ [0,Pmj], pray(t) ~ [0,P,,j] if ggj(t) 1 < _ Cmj > O, E m E j O t m j k ( P m j ( t ) / / P m j ) __ Bk, k 1 . . . . . K and emj(~bj(t) - Clmj) > Pmj,(~bf(t) C~mj),Vj(m)~/(m) (first type of chattering between processing of jobs j and f on machine
m
EPmj(t) -Dj(t)),
k = 1. . . . .
93
K
j
j
+ E ~bj(t) E Pmj(t)" j
m
Because this term and constraint (7) are linear with respect to Pmj(t), while constraint (8) is satisfied, one can readily see that the maximum is reached in one of the five cases determined by projection of the Hamiltonian gradient on the control constraints that is stated in the lemma. [] Note that not only regular regimes (i) and (ii) can occur on the optimal trajectory. When the Hamiltonian gradient is perpendicular to some of the edges of the constraints polyhedron (7) for a machine it is optimal to produce either a number of jobs simultaneously on the machine (regime (iii)) with full loading of the capacity or at partial capacity loading (regimes (iv) and (v)). Since every machine can
94
A. Shtub, K. Kogan / European Journal of Operational Research 105 (1998) 91-99
process only one job at a time and no underloading is allowed in the system, the only way to satisfy the singular regimes on an interval of time is to reswitch uncountably fast the machine between performing the jobs. Economic interpretation of the necessary optimality conditions presented in Lemma 1 is straightforward and similar to that for the linear programming duality theory. To show this, let us consider again the control dependent term of the Hamiltonian (the dual objective) for a machine m at moment t:
g., = Ep~j( t)(¢j(t) - c',.~). J This term of the Hamiltonian evidently shows that the gradient measures the marginal value for the job production control variable, i.e. the rate at which the dual objective could be increased by processing that job on machine m with a higher production rate. At the same time, when solving the dual problem by the maximum principle, the marginal benefit (which enters the gradient as the dual variable) from a job must be equal to the marginal inventory cost for the job as defined by the dual Eq. (7). Specifically, if the gradient for a machine m takes on a negative value with respect to a job j at moment t, then the immediate solution maximizing the benefit (the Hamiltonian) and, hence, minimizing the total cost (the objective of the primal problem) is no-production of that job on the machine (regime (it)). If the latter is not the case and the control constraints are met, the maximal product of the gradient and the corresponding production rate is searched for to determine the most beneficial job to be processed on the machine (regime (i)). The singular regimes (iii), (iv) and (v), appear when there are a few jobs providing equal benefits while exceeding the benefits obtainable from all the other jobs. However, if a time decomposition approach is applied to locate the singular regimes on a grid, then they are simply replaced on the searched trajectory with a sequence of production and no-production regimes. This means, a minimal time period on which the machine is n o t allowed to be reswitched is fixed, as is often the case in industry. The relationship between singular regimes and the regular regimes replacing them is discussed in the following lemma.
Lemma 2. Given, on an interval of time 7-, a singular regime ((iii), (iv) or (v)) is realized for a number of jobs f , that is, the optimal controls p~,f(t), t = "r, take on values 0 and Pmj uncountable number of times. I f the singular regime is located on a grid with N = ( T / A t ) + 1 uniformly distributed mesh points t n, t.+ 1 - t . = At, t. = T, n = 0,1 . . . . . N - 1 then: it is replaced on the interval 7- with a sequence of production and no-production regimes pmj,(t.), t n E 7"; the shorter the distance between the consecutive mesh points A t (the greater the number of the mesh points n) the closer the sequence of the production and no-production regimes to the existing singular regime is, i.e. lim p m f ( t . ) = p , . j ( t . ) , At--*0
t. ~ 7".
Proof. Let a machine m be in chattering between a couple of jobs j] and f2 (regime (iii)) on a meaningful interval of time 7", that is the demands for these two jobs steadily exceed the machine capacity as well as all the other demands. Then, as determined in Lemma 1, the gradients projected with the aid of the maximum principle (further sub-gradients) for the jobs: Pmj,,
- c j,) and
-
increase to become greater than those for the remaining, not involved in chattering jobs. Consequently, the condition (iii) of this regime has to be satisfied at the initial moment t of the interval 7" and takes the following form: P,,,j~( ~Oj,(t) - c l j , )
VI' v~j',, j~,
(9)
that is, any of the two jobs can be chosen to identify (replace) the chattering regime as the production one. As a result of either setting: production of a chosen job will reduce the difference between its demanded and performed inventory level (see Eq. (2)); this evolution, in turn, will decrease the corresponding dual variables (calculated by the integration of Eq. (7)) and, hence, the sub-gradients.
A. Shrub, K. Kogan / European Journal of Operational Research 105 (1998) 91-99
95
Thus, while the sub-gradient for the not chosen job continues to increase, the decreasing sub-gradient for the chosen job will be now less than the former. Therefore, the equality condition (9) will no longer be valid. According to Lemma 1 (regime (i)), at the next mesh point, the same job cannot be chosen for processing and, hence, its control is reswitched from one to zero, that is a replacement of the chattering with production and no-production. The same clearly occurs if there are more than two jobs for which the chattering condition (iii) is met. Moreover, if after reswitching on a new job, the chattering time interval ~- is not over yet, then not producing that job during the minimal time interval At causes the decreased sub-gradient to increase again (as described above) which is the essence of chattering. Evidently, the shorter the distance between the consecutive mesh points At, the more reswithching between 0 and 1 for the chattered jobs pmf(t.) is, that eventually becomes uncountable, i.e. the control trajectory Pmj,(t.) transforms into pmj,(t.), t. E ";, as At tends to zero. Similar considerations can be used to show that the other singular regimes are approximated on a greed with corresponding sequences of the production and no-production regimes and that the shorter the distance between the mesh points of the greed the closer the sequences to the original chattering regime are. []
linear inventory cost function is replaced with a linear module function), only when solving small scheduling problems (Kogan and Khmelnitsky, 1996). The latter approach being much more tractable when applied to large-scale systems, is strongly dependent of the number and form of the control constraints the gradient is to be projected on (Sousa and Pereira, 1992; Khmelmitsky et al., 1995). Furthermore, due to the integer form of the control variables, the exact projection in the newly obtained problem of maximizing the Hamiltonian (8) under constraints (3), (4), (6) would require the mixed integer programming problem with controls as unknowns to be solved for every moment of time t. Although such problem is smaller (of MJ size as compared with the original DMRGAP of MJT size), the integer programming techniques provide only exponential running time for solution procedures. Thus, neither of the presented approaches leads to a procedure for solving the stated problem in satisfactory computational complexity. At the same time, important properties of the optimal solution (see Lemmas 1 and 2) obtained with the aid of the maximum principle can be utilized to suggest an efficient heuristic to guide a time-decomposition procedure to a near-optimal solution. Our heuristic for identifying the production regimes comes out of the lemmas and dictates that the determined form of the sub-gradients is the decisive factor, namely:
4. Heuristic solution of DMRGAP
the most wanted (by the maximum principle) machine m of all the machines is to perform job j (the most wanted job of all jobs j(m)) at the most wanted moment t if condition (i) for all m,j,t and k is met.
Study of the DMRGAP as an optimal control problem conducted in the previous section allows two classical approaches to be suggested for solving it (Bryson and Ho, 1969). One is to solve primal Eq. (2) with initial boundary condition (5) and constructed dual equations with terminal boundary conditions (7) simultaneously as the two-point boundary value problem of the ordinary differential equations. The other is to apply the Hamiltonian-based projected gradient approach to optimize iteratively the primal problem. The former is based on such 'hard' methods as shooting and has proved its competitiveness in comparison with, for example, mixed integer programming (to which the stated problem can be straightforwardly reduced if in the objective the non-
Unlike the linear programming, where the variables are continuous and, therefore, the simplexbased method fast gradual improvements can be identified by the largest marginal benefits, the DMRGAP is characterized by the binary production rates. As a result, to find the maximal contribution of a job to the objective, the difference between the marginal benefit and the marginal production cost (the gradient) is multiplied (projected) by the corresponding production rate (in the previous section this product is referred to as the sub-gradient) and is compared to all the other such products. In case the resource
A. Shrub, K. Kogan / European Journal of Operational Research 105 (1998) 91-99
96
constraints are met, the maximal sub-gradient for job j, machine m at moment t delivers the maximum for the Hamiltonian at that point of time that is stated in our heuristic as the condition for the job j to be performed on the machine m at the moment t. Consequently, we intend to replace the integer programming (under a nonlinear objective) as well as the straightforward time-decomposition by the gradients projected on all the constraints with a sequence of solutions. These solutions are improved iteratively from step to step by the gradients partially, but very tractably projected with the aid of the maximum principle. Clearly, such a replacement will not necessary lead to the optimal solution. Extensive experiments have shown the high quality of this maximum principle-based, heuristic and sustained that it provides solutions close to the optimal.
5. The algorithm The main idea behind the method suggested here is to locate iteratively machine regimes (i) and (ii) with the aid of the heuristic rule induced by the maximum principle and fix them on intervals of time where the objective improves. Due to the fixed number of iterations predetermined by the required accuracy, the algorithm runs in polynomial time to the number of variables involved, thus surpassing not only integer or dynamic programming approaches, but also linear programming based solutions. The proposed solution procedure follows:
Step 1. Select a feasible solution of the problem (1)-(6). For example, controls pray(t) = O,Vj, m meet all the constraints. Step 2. Integrate prime differential Eq. (2) with
Step 3. Step 4.
boundary conditions (5) as the initial-value problem (from left to the right) to determine inventory levels Xj(t) for the given controls. For the obtained inventory levels and controis calculate the objective according to (1). Integrate the dual differential equations with boundary conditions (7) as the terminalvalue problem (from fight to the left) to find dual variables ~bj(t) for the given inventory levels Xj(t).
Step 5.
With respect to Lemma (regimes (i) and (ii)) apply the heuristic to project gradients OX/Opm j = ~bj(t) - cmj ~ for every moment of time t, every job j and machine m as:
SubGradmj (t) = Pmj( ~bj(t) -- c~j). Step 6.
Set the direction of descent (j* ,t * ,m* ) as arg max SubGradmj(t). j,t,m
Step 7. Check the constraint (4), if it is not violated
Step 8.
then go to the next step. Otherwise exclude triple (j* ,t* ,m* ) and go back to Step 6. If there are no more triples (j,t,m) then stop, all the resources have been utilized and the solution has been developed. For machine m*, on a chosen interval of time e, make a step in the descent, as
Pm'j*(t)
=ernj', tE [t* - e , t * + e ]
(production ( j * , t* ) regime),
Pm.j(t) = 0 , t ~ [t* -- e , t * + ~], Vj4:j* (no-production ( j, t* ) regime). If constraint (4) is violated on the descent, then decrease e till it holds. If it holds only on a time interval e which is less than the minimally allowed one, then exclude this triple (j* ,t*,m*) and go back to Step 6. Step 9. Integrate primal differential Eq. (6) with boundary conditions (9) as the initial-value problem (from left to the right) to determine inventory levels X~(t) for the newly obtained controls. Step 10. For the obtained inventory levels and controis calculate the objective according to (5). If it is improved then go to the next step. If it is not, and ~ does not exceed the given minimal time interval, then set z = e / 2 and go back to step 8, otherwise stop, the solution has been found. Step 11. Check the standard stop condition for EmEj(O,Tt"/Opmj) 2 dt. If it is less than a given tolerance then stop, the solution has been found, otherwise proceed to step 4.
6. Example and computational experience Consider a job shop in which five machines are processing ten types of jobs. Each job has a known
97
A. Shtub, K. Kogan / European Journal of Operational Research 105 (1998) 91-99
P(t) u~
m=/
~
jo5
m=2 (,~
m=3
1
2
3
4
5
6
1
2
3
4
5
6
4-
7
8
9
1~ 11 12 13 14 15
8
g
lp
~='9~ 7
~
t
'> t
0
11 12 13 14 15
!
7--
m=4
O~
j=7
I
6-
~
: 1
2
3
4
~ 11 12' 1 8' g 1~)
5
'~t
~0
m=5
5
J 1
2
3
4
5
'
6
7
'
8
9
'
'
10 11 12 13 14 15
',~t
Fig. 1. The job shop schedule: Machineutilization. demand forecast over the planning horizon. The processing rate of each machine on each job is known. Three workers are manning the job shop and the labor rate requirement for each machine processing each job type are known. Table 1 summarizes the data for the example. Assuming that each worker is capable of operating every machine, assignment of jobs and workers to the machines is required. The schedules of machines and operator utilization calculated by the proposed procedure are depicted in Figs. 1 and 2, respectively. Extensive computations were conducted for up to 20 jobs assigned to up to 10 machines on the randomly generated demands. To estimate the quality of the solutions, the quadratic inventory cost term in the objective was replaced with module function. That allowed the same problems to be solved by the
(.q
~
,¢
0
0
0
0
~
0
c5
c~ m.
,,¢ '~
~
0
tt3
~
d-~
d - o
c,4
t¢3
'C
oo
v'~
('-4 '~"
o~
(,~ ~
v'3
c,,I u)
60% I I
,
I 2
0
,
I 4
,
I 6
,
I 8
L
l ]0
,
I 12
,
I
J
14
Fig. 2. The job shop schedule: Labor utilization.
~-t
A. Shtub, K. Kogan / European Journal of Operational Research 105 (1998) 91-99
98
Table 2 Computational results
MJ
5 10 15 20 25 30
Maximum principle based heuristic
GAMS(MIP) based optimal solution
CPU (min)
CPU (min)
0.5 1.0 1.7 3.1 4.8 7.9 9.3
0.3 1.1 2.1 3.8 8.7 18.2 39.3
suggested algorithm and straight-forward integer programming with GAMS/CPLEX(MIP-386) software. The comparison of the computation time (CPU) for the two methods and relative deviation from the optimal solution (DEV) obtained on PC 486 for the planning horizon T = 10 time units is shown in Table 2, where MJ is an integrated index (product of the machines and jobs number involved in the sample problems and T R = 1 - - ( 1 / K ) E k ( 1 / ~ k) ~,,. maxj Otmjk is the resource constraints tightness). Note that, as shown in Table 2, the accuracy of the solutions obtained is only a worst case estimate, while stricter results (lesser deviations from the optimal) are to be delivered if a nonlinear inventory cost function (as stated in the DMRGAP) is utilized. This is due to the form of the dual differential equations for the linear objective with a module function
(C2(Xj(t)) = c]lXj(t)l): r C),
(bj( t) = ~ +_cj, I - cj,
if Xj(t) > 0; if Xj(t) = 0; if Xj( t) < O.
According to the singular regime conditions (see Lemma 1) this form induces the number of such undesirable singular regimes and, hence, the points of time where the optimal regimes are approximated (see Lemma 2) to substantially increase.
Comparison of the objectives
Dev (%) TR = 12.5%
TR = 25%
7.5 7.7 7.7 7.9 7.8 8.0 8.0
8.5 8.6 8.9 9.1 9.9 10.4 10.1
7. Capacity planning and bottlenecks - S u m m a r y and conclusion
A dynamic formulation of the multi-resource generalized job assignment problem is introduced and studied with the aid of the maximum principle. Unlike the static MRGAP, the dimension of time presented in DMRGAP adds an important insight to the model: by using long range demand forecasts, future shortages can be identified and taken care of. Thus, if a future bottleneck emerges, sources of additional capacity can be evaluated and the trade-off between due date performances, inventory costs, shortage costs and the cost of additional capacity can be analyzed. In the example (see Fig. 1) machine 3 is loaded 100% of the time. Consequently any machine breakdown or a deviation of actual processing time of machine 3 from the plan will cause a deviation of actual performances of the job shop from the planned due dates. This observation would not be possible with static MRGAP and is a result of the DMRGAP model development in which the dynamic behavior of the system is examined. Another feature of DMRGAP is the ability to track resource utilization, inventories and shortages, and to trade off the costs associated with them with the cost of resources (see Fig. 2, as an example of the labor utilization). By focusing on bottlenecks and the resulting inventories and shortages the model can
A. Shtub, K. Kogan / European Journal of Operational Research 105 (1998) 91-99 support l o n g range (strategic) planning and capacity e x p a n s i o n decisions. By i m p l e m e n t i n g the schedules d e v e l o p e d by D M R G A P the user can also utilize it as a short range (operational) decision support system.
References Bryson, A.E., Ho, Y.-C., 1960. Applied Optimal Control. Ginn and Company, Waltham. Gavish, B., Pirkul, H., 1982. Allocation of databases and processors in a distributed computing system, In: Akoka, J. (Ed.), Management of Distributed Data Processing. North-Holland Publishing Company, Amsterdam. Gavish, B., Pirkul, H., 1986. Computer and database location in distributed computer systems. IEEE Transactions Computers 35 (7), 583-590. Gavish, B., Pirkul, H., 1991. Algorithms for the multi-resource generalized assignment problem. Management science 36 (6), 695-713. Hartl, R.F., Sethi, S.P., Vickson R.G., 1995. A survey of the
99
maximum principles for optimal control problems with state constraints. SIAM Review 37 (2), 191-218. Kimemia, J.G., Gershwin, S.B., 1983. An algorithm for the computer control of a flexible manufacturing system. IEEE Transactions 15 (4), 353-362. Khmelmitsky, E., Kogan, K., Maimon, O., 1995. A maximum principle based combined method for scheduling in a flexible manufacturing system. Discrete Events Dynamic Systems 5, 343-355. Kogan, K., Khmelnitsky, E., 1996. An optimal control model for continuous time production and setup scheduling. International Journal of Production Research 34 (3), 715-725. Murphy, R.A., 1986. A private fleet model with multi-stop backhaul. Working Paper, 103, Optimal Decision Systems, Green Bay, WI 54306. Ross, G.T., Soland, R.M., 1975. A branch and bound algorithm for the generalized assignment problem. Mathematical Programming 8, 91-103. Ross, G.T., Soland, R.M., 1977. Modelling facility location problems as generalized assignment problems. Management Science 24, 345-357. Sousa, J.B., Pereira, F.L., 1992. A hierarchical framework for the optimal flow control in manufacturing systems. In: Proceedings of the Third International Conference on Computer Integrated Manufacturing, Troy, pp. 278-286.