European Journal of Operational Research 23 (1986) 367-381 North-Holland
367
The multiperiod assignment problem: A multicommodity network flow model and specialized branch and bound algorithm Jay E. ARONSON Department of Operations Research and Engineering Management, Science, Southern Methodist University, Dallas, TX 7S275, U.S.A.
School of Engineering and Applied
Abstract: The multiperiod assignment problem, a specialization of the three dimensional assignment problem, is an optimization model that describes the situation of assigning people to activities, or jobs over time. We consider the most general case which has both a cost of assigning a person to an activity in each time period, and a cost of transferring the person from one activity in each period to another activity in the next period. In general, the number of time periods need not equal the number of persons and activities. We present a new formulation of the multiperiod assignment problem, that of an integer, multicommodity network flow model. The special structure of the model allows us to find a good feasible solution relatively quickly by a shortest path heuristic algorithm. We discuss a new branch and bound algorithm for solving this problem to optimality. The subproblems of the branch and bound tree are evaluated by solving a set of special-structured, shortest path problems all.of which can be solved in order n2T time, where n is the number of persons and activities, and T is the number of time periods. We present computational tests of the algorithm on moderately sized problems. Keywords: Integer progr amming, network programming, 1. Introduction
An important specialization of the three dimensional assignment problem is the multiperiod assignment problem. This model describes the optimization problem of assigning n people to n activities, or jobs over T discrete time periods. In our model, which is the most general case, there is both a cost of assigning a person to an activity in each time period, and a cost of transferring the person from one activity in each period to another activity in the next period. The number of time periods is not restricted to be equal to the number of persons and activities. Consider the case where there are n consultants to be assigned to n clients for a month where the cost of assigning consultant i to client j is known. Received February 1985; ,revised June 1985
0377-2217/86/$3.50
assignment programming,
planning, scheduling
This situatton is modelled by the two dimensional or classical assignment problem. We add the dimension of time to the problem. There is a known cost, cij,, of assigning consultant i to client i in each of several time periods t, for t = 1,. . . , T. The assignment costs need not be identical in each time period, because each consultant may have different skills and the requirements of the various tasks at the clients’ offices may change over time. This yields a set of. T independent two dimensional assignment problems. When we include the cost of transferring consultant i from client i in period t to client k in period t + 1 (training costs, moving Costs, resetthlg Costs, etc.), Sijk,, we link the T assignment problems together to form the multiperiod assignment problem.
Another application of the multiperiod assignment model is the situation where there are n machines with different efficiencies or costs for operating on different sets of task requirements at each
0 1986, Elsevier Science Publishers B.V. (North-Holland)
368
J.E. Aronson
/ The m&period
of n locations over several time periods. Any machine can be operated at any location to perform the required tasks. In addition, the machines can be moved, at a cost, from one location to another at the end of each time period. The cost of moving or transferring heavy equipment between locations may be substantial. Other applications of the multiperiod assignment problem occur in the scheduling of parallel activities on concurrent processor computers, the assignment of aircraft to routes, the assignment of salesmen to territories, the assignment of groups within an organization to various projects, and other problems in manpower planning. By selecting appropriate costs and using dummy persons and activities, it is also possible for the multiperiod assignment model to describe the hiring and firing of employees, the activation and deactivation of manufacturing divisions, the startup and shutdown of variable time length projects, the location of communications satellites into stationary orbits, and the facility location/ warehouse version of the three dimensional assignment problem discussed by Pierskalla (1968). The model describes many real-world decision making problems, which potentially can have substantial impact on the profitability of an organization. Because the integer programming formulation of this problem is large even for small n and T, it is important to develop efficient algorithms for solving it. The multiperiod assignment problem is related to the multidimensional assignment and transportation problems. Because the constraint matrices of all of these problems are not necessarily totally unimodular, combinatorial models and integer programming techniques have been applied to them. Schell (1955) introduced three-dimensional transportation problem, a generalization of the three-dimensional assignment problem and extension of the two-dimensional transportation problem. Work by others on this problem include Haley (1962, 1963, 1965), Vajda (1961) and Williams and Haley (1959). PierskalIa (1967a) introduced the three-dimensional assignment problem as a specialization of the three-dimensional transportation problem (&hell (1955), Haley (1965)). Other references on this and related problems include Gotlieb (1962), Corban (1964, 1966), Pierskalla (1967b, 1968), Vlach (1967), Shamma (1971), Leue (1972), Frieze (1974, 1983), Frieze
assignment
problem
and Yadegar (1981), Evans (1981), Balas and Landweer (1983), and Balas and Saltzman (1984). Charnes, Cooper, and Stedry (1969) discuss dynamic extensions of the two-dimensional assignment model where the possibility of changing activity assignments in later time periods is considered. Gunawardane (1982) describes a multiperiod assignment problem slightly less general than the model described in this paper. A form of activity transfer costs are included in his model. Evans (1981) presents a related, but different multicommodity assignment problem which requires that each person be assigned to each activity exactly once in the T = n time periods. No transfer costs are considered. In Section 2, we present a new formulation of the multiperiod assignment problem, that of an integer, multicommodity network flow model. The special structure of the model allows us to find a good feasible solution efficiently by a shortest path heuristic algorithm. The heuristic and a new branch and bound algorithm for solving the model to optimality are discussed in Section 3. The subproblems of the branch and bound tree are evaluated by solving a set of special-structured, shortest path problems all of which can be solved in order n2T time. In Section 4, we present the solution of an example problem solved by the branch and bound algorithm. We present the computational results of testing of the algorithm on moderately sized problems in Section 5. Finally, in Section 6 we offer a summary and conclusions. In the Appendix is a description of two nonnetwork models which also describe the multiperiod assignment problem. A comparison of the sizes of these problems to the integer multicommodity model is also presented in the Appendix.
2. The model
The multicommodity network flow problem describes the situation when several items (comrnodities) share arcs in a capacitated network. This model can be thought of as set of identical pure network flow problems linked by mutual capacity constraints, which often have the generalized upper bounded (GUB) structure (Dantzig and Van Slyke (1964)). See Kennington and Helgason (1980) for a thorough introduction and discussion of multicommodity network flow models and solution
J. E. Aronson
/ The multiperiod
techniques. Also see Evans (1975, 1976, 1978a, 1978b, 1981), Evans and Jarvis (1978), Evans, Jarvis and Duke (1977), Hu (1963), Kennington (1978), Kennington Kand Shalaby (1977), Rothschild and Whinston (1966a, 1966b, 1969), and Sakarovitch (1973) for material on the standard and integer multicommodity network flow problems. We now present the terminology for describing the model. Index i is reserved for persons or equivalently commodities; indices j and k for activities; and index t for time. A network [IV, A], consists of a set, N, of nodes, and a set A, of ordered pairs of nodes, (p, s), called arcs. Arcs represent an allowable directional flow of a commodity between nodes. With each node p EN is associated a requirement, rP, positive for a supply node (source); negative for a demand node (sink); and zero for a transshipment node. For the network [N, A], let Nz G N denote the set of nodes s E N for which arc (p, s) E A, i.e. the set of nodes which have arcs pointing away from node p; and Ni G N denote the set of nodes s E N for which arc (s, p) E A, i.e. the set of nodes which have arcs pointing toward node p. There are n commodities. For each commodity i, i = 1,. . . , n, with each arc (p, s) E A is associated a cost per unit flow c;,, a flow capacity z& and a lower bound Ii,, usually set to zero. In addition, there is a mutual arc flow capacity bps which imposes a limit on the flow of all of the commodities through arc (p, s). For our model, bps = 1, or infinity, in which case the mutual capacity constraint for arc (p, s) is omitted from the model. The problem, then, is to satisfy the node requirements for each commodity at a minimum cost. To define the integer muhicommodity network flow model of the multiperiod assignment problem, we define the node and arc sets, appropriate costs, requirements and capacities. When the number of persons is not equal to the number of activities, dummy persons or activities are added to balance the model. Each person is represented by a commodity. The flow capacity for ah of the arcs, z&, is infinite. For a problem having n persons, n activities, and T time periods, we define the node set to be N = (0, 1,. . . , (2T - 2)n + 1). We define the arc set to be the union of 2T - 1 disjoint sets; T sets of assignment arcs and T- 1 sets of transfer arcs. For the multiperiod assignment problem state-
assignment
problem
369
ment, let cij, be the cost of assigning person i, activity j in period t, for i = 1,. . . , n, j = 1,. . . , n and t=l,..., T. Let sijk, be the cost of transferring person i from activity j in period t to activity k in period t + 1, for i, j, k = 1,. . . , n, t = 1,. . . ,. T - 1. When we describe the multiperiod assignment problem as an integer multicommodity network flow problem, we shall use arc costs of the form cis which will be set to either cij, or sijk,. There is a set of assignment arcs A, for each of the T time periods, t = 1,. . . , T. A flow of 1 through an assignment arc represents the assignment of a person to an activity. Let A, = ((0, l), to, 21, * * *, (0, n)} be the set of assignment arcs for time period one. Arc (0, j) for commodity i has a tit cost of ckj = cijr. If the flow through arc (0, j) for commodity i is 1, then person i is assigned activity j in period 1 and the cost CL is incurred. For periods I = 2,. . . , T - 1, the assignment arc set is: A, = { (qn +il (4 + l>n +j)) I j=l ,*--, n; q=2i3). Arc (qn + j, (q + 1)n + j)) for commodity i has a tit cost of c.b,t+j,(4+l),1+j= Cij,, for q = 2t - 3. A flow of 1 through arc (qn + j, (q + 1)n + j) for commodity i and q = 2t - 3 indicates that person i is assigned activity j in period t. For t = T, the assignment arc set is: AT= {(qn+A (q+l)n+l))I j=l ,**-, n; q=2T-3
1. For q = 2T- 3, arc (qn + j, (q + 1)n + 1) for commodity i has a unit cost of c~,+~,(,,+~),,+~= cijT. There is a set of transfer arcs T, for each time period t = 1,. . . , T - 1. Flow through these arcs represent a the reassignment of a person to an activity in the next time period. The transfer arc sets are defined to be T = { (qn +j, (4 + l>n + k) I j=l ,..., n; k=l,..., n; q=2t-2}, for t = 1 , . . . , T - 1. There are no activity transfers following period T. For commodity i, transfer arc (qn + j, (q + 1)n + k) has a unit cost of where q = 2t - 2. The arc set C&+j,(q+l)n+k = Sijkr, for the multiperiod assignment problem is defined to be A=(fi14)u(&y.
-
J.E. Aranson / The multiperiod assignment problem
370
The node requirements for i = 1,. . . , n are ri = $=Oforp=1,...,(2T + 1, qL2,,,+1 = -l,and - 2)~ The mathematical program of the multiperiod assignment problem (MASP) may be stated as:
(MAW Min i i-l
c
ci,xA,,
(1)
SENp+
Person (i)
Period (t)
Assignment cost (cij,) Activity(j)
1
1 2
1 5 5
2 10 10
2
1 2
5 10
10 5
Person (i)
From activity (j)
To activity (k) 1 2
1
1 2
5 50
50 10
2
1 2
50 10
5 50
(p.s)EA
subject to c
Table 1 Cost data of the multiperiod assignment problem example 1. There are II = 2 persons and T= 2 time periods. The assignment cost, c,~,, is the cost of assigning activity j to person i in time period t. The transfer cost, s,,~., is the cost of transferring person i from activity j in period 1 to activity k in period 2. An optimal solution is shown graphically in Figure 2. In it, one half of each person is assigned to each activity in both time periods. The cost of the solution is 45.
i xP?
c
x&=ri,
PEN,
(p,s)~A,,
t=l,...,
,n,@)
i=l,
SEN;
0Qx;s integer;
(p, s)EA,
T,
i=l,...,
(3) n.
(4)
We assume that T> 1, and that n > 1. When T = 1, MASP is equivalent to the classical two dimensional assignment problem: A graphical representation of the network describing MASP is shown in Figure 1. The mutual capacity constraints (3) prohibit the assignment of an activity to more than one person in each period. The structure of the network prevents the assignPeriod
1
Period
Transfer cost ( s,,~. )
2
Period
..I
...
I
Assignment A
Al V
Transfer A
T1 V
Assignment A
A2 V
Transfer A
...
T2 \
..*
T-l
Period
T
...~.4-v~.-\
I
Transfer A
T ~-1 V
AssignmentAT A
\
..I
..m
-
Activity
n
Figure 1. Graphical representation of a single commodity of the multicommodity network model for the n person, n activity, multiperiod assignment problem. Each person is represented by a commodity. The n activities are represented by the ‘rows’ of nodes and arcs. The assignment arc sets A, for t =l,..., T and transfer arc sets T, for t =l,..., T - 1’ are shown. There are nT mutual capacity constraints which occur only on the assignment arcs. Above, L = (2T -4)n, M = (2T -3)n, and N = (2T-2)n for clarity.
J.E.
Aronson
/ The mulfiperiod
ment of a person to more than one activity in each time period. MASP may be considered to be n pure networks with nT linking side constraints (3). From the structure of MASP, it is clear that:
1
Period
I
/
2
V
Assignment A
Al V
Transfer A
371
problem
Problem 1, which has a noninteger optimal solution. There are n = 2 persons and activities, and T = 2 time periods. The network representation of an optimal solution is shown in Figure 2. All positive flows are one-half.. The optimal solution assigns one-half of each person to each of the activities in both time periods. MASP has 2n(T-1)+2 nodes, (n2+n)(T1) + n arcs, n commodities, and nT mutual capacity constraints. The constraints of MASP are mostly network in structure. The linear programming constraint matrix of MASP has n(2n(T - 1) +2)+nT rows and n((n2+n)(T-l)+n) col-
1. MASP represents the multiperiod assignment problem. 2. MASP has a feasible integer solution. 3. MASP has a finite optimal solution. 4. The constraint matrix of h&ASP is not totally unimodular. In Table 1 we give the cost data of Example
Period
assignment
T 1 V
\
Assignment A
A2 \
Activity
Supply
+ 1
1
Demand
-1
Activity
2
Person 1
Activity
SUPPlY
1
Demand
+l
Activity
-1
2
.
Person 2 Figure 2. Graphical representation of the optimd solutionto the multicommodity network model of the two person, two,activity, two period, assignment problem example 1. The assignmentand transfer costs are shown in Table 1. Arcs having positive flow are shown as solid lines; arcs having zero flow are shown as dotted lines. All positive flows are one-half. The cost of the solution is 45.
372
J. E. Aronson
/ The multiperiod
umns. All of the variables are binary. The mathematical programming model is large for even moderately sized problems, so it would be difficult to solve MASP directly. In the Appendix we describe two alternative models, the integer quadratic assignment model and the integer linear programming model. We also present a size comparison of the three models.
3. The branch and bound algorithm
assignment
problem
activity j in period 1. Next, we label the remaining nodes in order of q = 1,2,. . . ,2T - 2: Label( qn + k) = ,-yi,
,, { Label( qn -
n + j)
+SijkIt=[q/2]+1},
fork=1 ,..., n; q=1,3 ,..., 2T-3, Label( qn + j) = Label( qn - n + j) + cij,, n;wheret=q/2+1; for j=l,..., forq=2,4 ,..., 2T-4, and finally we label the last node for q = 2T - 2,
The embedded network structure of MASP allows the application of the specialized branch and bound algorithm described below. We relax MASP by eliminating the mutual capacity constraints (3) to obtain n independent pure network flow problems. Each network flow problem has a feasible, optimal integer solution. Because each network problem has a requirement of +‘l at node 0, and - 1 at node (2T- 2)n + 1, it is a shortest path problem. Because each network is acyclic, there are no restrictions on the costs, and special algorithms, see Dijkstra (1959), Aronson and Aronofsky (1985), Bellman (1958), Dial et al. (1979), Ford (1956), Glover and Klingman (1982), Lawler (1976, 1977), and Moore (1959), are applicable. Using the special structure of the network, we have developed and implemented a specialization of the Dijkstra (1959) labelling algorithm. Once we have obtained an optimal solution to each shortest path network problem, we execute a branch and bound procedure. Our branching rule is based on the infeasibility of the current assignment when one of the relaxed constraints (3) is violated. We now describe the specialized shortest path algorithm for the special-structured networks of the multicommodity problem. Consider the network associated with commodity (person) i, i = 1,..., n. We execute a specialization of the Dijkstra (1959) algorithm, which labels the nodes, in a specific order. The algorithm first labels node 0 followed by nodes 1,. . . , n. Then, the nodes are labelled in order, nodes qn +j for j= 1,. . ., n; q=l , . . . ,2T - 3. Finally, the last node, (2T - 2)n + 1 is labelled. We initialize by setting the label of node 0 to 0. Node j, for j = 1,2,. . . , n, is labelled: Label(j) = Cijl for j=l,..., n, the cost of assigning person i,
Label((2T - 2)n + 1) =jDI$in {Label(2T-2)n+j)+cijr}, ,...,,I Note that in the above, [ +] is the integer portion of the expression in the brackets. Because the network is acyclic and the nodes in each group can be reached no other way, at each step of the algorithm, they are permanently labelled. Thus, we may state the following theorem: Theorem. The labelling algorithm above fin& a shortest path in the commodity i network of MASP in (2n - l)T steps. The effort of the algorithm is on the order of n2T. Proof. That the algorithm finds a shortest path is based directly on applying the Dijkstra (1959) algorithm to the acyclic network and that when a node label is made ‘permanent’, i.e., when it is set, the node being labelled can not be reached by any node other than those which have been considered for its labelling, and each of those nodes have already been permanently labelled. There are nT nodes for which the labels are directly assigned. Of them, nk nodes are direct assignments, and (n - l)T nodes require an addition and an assignment operation. For the last node, a comparison occurs over n numbers each found by an addition plus a single assignment operation. These ‘assignment’ node labellings require an effort which is on the order of nT. For the transfer arcs, there are n (T - 1) nodes which are labelled in sets of n. Each assignment requires a comparison over n additions. So, each labelling requires n additions followed by an assignment. These ‘transfer’ labellings require an effort which
J. E. Aronson
/ The multiperiod
is on the order of n*T. Thus, the total effort of the algorithm is on the order of n*T + nT, or n*T overall. 0 The predecessors of labelled nodes are kept to identify the shortest path. Itis possible to compress the network by merging the assignment arcs of periods 1 through T - 1 with their corresponding transfer arcs. This compression eliminates n (T 2) + 1 or about one-half of the nodes from the network and simplifies the implementation of the algorithm. The compression was implemented in the code described in Section 5. With label and predecessor data, the algorithm can be implemented using a data array of (n + 2)(nT + 1) integer words for each commodity, or a total of n(n + 2)(nT + 1) integer words. A problem having n = T = 10, would require 12 120 words of storage. In order to determine a feasible solution, it is necessary to find a path through each commodity’s network. The activity assigned to person i in period t cannot be assigned to any other person in period t, i.e., the paths cannot ‘overlap’. Nonoverlapping paths can be found by the following heuristic. For the commodity 1 network, we execute the above labelling algorithm. Using the assignment found by the algorithm, we set flags to prevent the selection of the activities assigned to person 1 to the remaining n - 1 persons. We then execute the shortest path algorithm on the commodity 2 network, flag the remaining data for persons 3,. . . , n, and so on until a path is found for all of the commodities. This procedure yields a feasible integer solution to the multiperiod assignment problem, and hence, an upper bound to the optimal cost. For an introduction to branch and bound techniques, see Lawler and Wood (1966) and Garfinkel and Nemhauser (1972). For MASP, the branch and bound algorithm consists of solving subproblems, each having the network structure with the mutual capacity constraints (3) relaxed. For each subproblem, an integer solution is found by the labelling algorithm for each of the n commodities, allowing overlapping paths. At node 0 of the branch and bound tree, we execute the heuristic to obtain an upper bound. We next execute the shortest path algorithm for each commodity, allowing multiple assignments of activities. This solution yields a valid lower bound. If the solution is feasible or the lower bound is greater than or equal to the upper bound, the algorithm stops.
assignment
problem
373
Branching is performed, not on noninteger variables, but on an infeasibility of the solution. Whenever one of the mutual capacity constraints is violated, the solution has at least one activity assigned to more than one person in some time period t. We call a time period in which two persons, i and s, are assigned activity j a violated period. When there is such a period, a binary branching in the branch and bound tree occurs. Two descendant subproblems are created. The descendant node to the left has cost data identical to its parent except that person i is assigned activity j in period t by setting flags. This branch node is designated (i, j, t). The other descendant node (i, -j, t), to the right in the tree, has person i not being assigned activity j in period t. Whenever a feasible solution to MASP is found, the upper bound is updated if necessary. We use a depth first search rule, which necessitates always taking the left branch if available. As we fathom nodes and move up the tree, if a node of the form (i, -j, t) is encountered, then the right branch has already been explored and we continue moving up the tree. We only store two solutions, the one at the current node and the one which produced the current upper bound, i.e., the best feasible. solution. This strategy allows us to store the entire branch and bound tree in an array of size three times the maximum tree depth for which we allow. Let UB be the current upper bound found by the algorithm. Let BFS represent the best feasible solution found at any point during the execution of the algorithm. Let CN represent the current node of the branch and bound tree being evaluated. Let CS(CN) represent the current solution found at node CN. Let LB(CN) be the lower bound of node CN, i.e., the total cost of the solutions found by the shortest path algorithm for all n persons at node CN. Let Parent designate the parent of node CN in the tree. Let NCNT be the node number counter. We formally state the branch and bound algorithm as: Step 1. Execute the heuristic. Set UB = cost found by the heuristic algorithm. Set NCNT to 0. Let the current node CN = NCNT be the root of the tree. Save the solution in BFS. Go to Step 2. Step 2. Execute the shortest path algorithm at the root node CN. If LB(CN)a UB, then stop, the BFS is optimal. Otherwise, go to Step 3. Step 3. Find a violated period. Find a time period
314
J. E. Aronson
/ The multiperiod
in which two persons, i and s have been assigned an activity j in period I for solution CS(CN) at the root. If there are no violated periods, then set BFS = CS(CN) and stop, the BFS is optimal. Otherwise, go to Step 4. Step 4. Brunch. Go down the tree to the left. Set NCNT to NCNT + 1. Flag the data for (i, j, t), so that person i is assigned activity j in period t. Set CN to NCNT and go to Step 5. Step 5. Execute the shortest path algorithm at node CN. If the solution of any subproblem is infeasible because node (2T- 2)n + 1 cannot be labelled, then set LB(CN) to infinity. If LB(CN) 2 UB, go to Step 6 (Fathom). Otherwise, go to Step 7. Step 6. Fathom: Move up the three; and down to the right, if necessary. (a) If j < 0 for node CN, and Parent is the root node, then stop, the BFS is optimal. Otherwise, go to Step 6(b). (b) Test the Parent( If the LB(Parent(CN)) 2 UB, then set CN to be the Parent and if node CN is the root node 0, then stop, the BFS is optimal. Otherwise, if node CN is not the root node, repeat Step 6. Otherwise, if the LB(Parent(CN)) < UB, then go to Step 6(c). (c) if j > 0 for node CN, then go down the tree to the right from the Parent( Set NCNT to NCNT + 1, CN = NCNT, set j to -j and go to Step 5. If j < 0 for node CN, then go up the tree. Set CN to be the Parent and repeat Step 6. Step 7. Find a violated period. Find a time period in which two persons. i and s have been assigned an activity j in period t for solution CS(CN). If there are none, then this solution, CS(CN) is feasible. Go to Step 8. Otherwise, go to Step 4. Step 8. Test. If LB(CN) < UB, then, retain the solution as the best one. Set BFS to CS(CN), UB to LB(CN) and go to Step 6. Otherwise, go to Step 6. In Steps 3 and 7, ties can be broken arbitrarily. In our implementation, we choose the first violated period found, and within that period, the first pair of persons sharing an activity. In Step 5, it is possible to obtain an infeasible solution, in which case, the solution value is infinite and the test in Step 5 detects this situation. The branch and bound algorithm obtains an optimal solution to MASP in a finite number of steps because there are a finite number of nodes in the branch and bound tree.
assignment
problem
The application of the algorithm to an example problem is described in the next section. Computational results of a FORTRAN implementation of the algorithm are reported in Section 5.
4. Example In Table 2 we show the cost data of the multiperiod assignment problem Example 2. Here n = 3 persons and T = 2 time periods. The costs of assigning person 1 to activities 1, 2, and 3 in period 1 are 6, 3, and 8 respectively. Because there are only two time periods, the opportunity to transfer people occurs only once. The transfer costs are given in the lower half of Table 2. In Figure 3, we show the branch and bound tree explored by the algorithm.
Table 2 Cost data of the multiperiod assignment problem example 2. There are n = 3 persons and T- 2 time periods. The assignment cost, cU,, is the cost of assigning activity j to person i in time period 1. The transfer cost, qjkl, is the cost of transferring person i from activity j in period 1 to activity k in period 2. The progress of the branch and bound algorithm applied to this problem is shown in Figure 3 and Table 3. Assignment cost (cl,,) Person (i)
Period (1)
Activity (j) 1 2
3
1
1 2
6 3
3 8
8 6
2
1 2
1 1
2 4
1 5
1’ 2
4 5
9 6
7 I
3
Transfer cost (sijkl) Person (i)
From activity (j)
To activity (k) 1 2
3
1
1 2 3
8 6 2
1 3 5
5 1 I
2
1 2 3
5 1 8
5 3 9
8 I 1
3
1 2 3
5 2 8
5 4 1
1.
3 4
J. E. Aronson / The multiperiod assignment problem Table 3 Solution data of the multiperiod assignment problem example 2. There are n = 3 persons and activities, and T = 2 time periods. The solutions correspond to the nodes of the branch and bound tree shown in Figure 3. The nodes are evaluated in numerical order. A solution represents an assignment of persons to activities over the 2 time periods. The activity assignments found at each node are shown in the table. The lower bound is found by evaluating three shortest paths. The upper bound is the lowest cost of all the feasible solutions found at that stage of the algorithm. In the Fathom column, we indicate which nodes are fathomed after the node’s shortest path solution has been evaluated. The heuristic is run first at node 0 to obtain a feasible solution. The heuristic obtained a solution having a cost of 40, which is within 18% of the optimum cost, and within 29% of the lower bound obtained at node 0. The optimal solution, found at node 5, has a cost of 34. Node number
Person Solution (activity) period 1 2
Lower Upper Feasible Fathom bound bound
In Table 3 we show the detailed results of the algorithm’s progress in solving this problem. At node 0, the heuristic obtains a feasible solution having a cost of 40, the initial upper bound. The shortest path algorithm obtains a solution having a lower bound of 31. The heuristic obtained a solution having a cost within 29% of the lower bound, and within 18% of the optimal cost as we shall see momentarily. A feasible solution, having a cost of 35, is .obtained at node 2. At node 6, an optimal solution having a cost of 34 is found. The algorithm evaluates nine nodes. Of the nine solutions evaluated, only two were feasible. A maximum tree depth of 3 was attained. This problem was solved on the Southern Methodist University CDC 6600 in 0.016 seconds of CPU time.
5. Computational results
0 1 Heuristic 2 3
2 1 3
3 2 1
-
40
1 2 3
2 3 1
3 3 1
31
40
no
1 2 3
2 3 1
1 3 1
33
40
no
1 2 3
2 3 1
2 3 1
35
35
1 2 3
2 3 3
1 3 2
33
35
no
1 2 3
2 2 3
1 3 2
40
35
no
1 2 3
2 3 1
1 3 2
34 34 (optimum)
1 2 3
2 2 1
3 2 1
33
1 2 3
3 2 1
1 2 1
36
34
no
1 2 3
2 1 1
3 2 1
34
34
no
34
375
In this results of scribed in mented in Methodist The FVN
section, we report the computational the branch and bound algorithm deSection 3. The code, MAST, was impleFORTRAN and tested on the Southern University Control Data CDC 6600. FORTRAN compiler was used with the
no Figure 3. Branch and bound tree for the solution of example 2, a three person, three activity, two period assignment problem. The cost data describing this example are shown in Table 2. Detailed information concerning the shortest path solutions found to the relaxed problems at each node in the tree is shown in Table 3. The branching information is shown by the numbers in parenthesis, (i, j, I) for person i, activity j and period r. A positive value of j indicates that person i is assigned activity j in period I; a negative value indicates that person i is not assigned activity j in period f. Only the solutions found at nodes 2 and 5 are feasible. The optimal solution having cost = 34 is found at node 5.
2 3 4 5 6 7 8 9 10
2 3 4 5 6 7 8 9 10
n-2
n=3
1.00 1.00 1.06 1.02 1.04 1.08 1.13 1.07 1.06
1.00 1.24 1.20 1.03 1.15 1.04 1.05 1.07 1.05
2 2 3 4 5 3 6 7 8
0 4 4 8 .8 15 16 16 17
7 5 13 17 23 9 35 89 77
1 19 19 127 31 721 727 871 3149
time
0.003 0.044 0.063 0.459 0.128 3.341 3.782 5.018 20.025
0.007 0.009 0.025 0.032 0.052 0.023 0.095 0.262 0.247
CPU (-3
1.18 1.00 1.00 1.09 1.06 1.13 1.12 1.06 1.01
1.00 1.08 1.06 1.00 1.10 1.05 1.09 1.14 1.00
Cost ratio
Depth
Run2
Soln’s
T
Cost ratio
Run1
Table 4 Computational results of the multiperiod assignment branch gets of three problems (Run 1, Run 2 and Run 3) having n cost (Cost ratio), the number of solutions evaluated (SoIn’s) CPU seconds (CPU time) are shown for each problem. The
9 1 17 81 117 117 1069 463 389
3 17 7 9 5 43 21 31 35
Mn’s
3 0 5 9 12 12 18 15 14
1 4 3 3 2 6 4 5 6
Depth
time
0.016 0.005 0.053 0.294 0.487 0.579 5.693 2.737 2.540
0.004 0.025 0.014 0.014 0.010 0.101 0.054 0.089 0.102
CPU (=.>
1.14 1.08 1.07 1.19 1.04 1.06 1.21 1.04 1.09
1.07 1.00 1.11 1.05 1.04 1.07 1.11 1.13 1.02
Cost ratio
Run3
9 27 133 81 77 339 171 1867 697
3 1 9 27 13 9 23 23 39
Soln’s
3 6 10 8 8 10 11 16 15
1 0 3 5 4 3 5 5 6
Depth
time
0.019 0.070 0.404 0.295 0.320 1.600 0.928 10.804 4.425
0.004 0.002 0.017 0.050 0.028 0.025 0.057 0.069 0.125
CPU w.1
1.11 1.03 1.04 1.10 1.05 1.09 1.15 1.06 1.05
1.02 1.11 1.12 1.03 1.10 1.05 1.08 1.11 1.02
Cost ratio
Average
6 16 36 96 75 392 656 1067 1412
4 8 10 18 14 20 26 48 50
SOWS
2 3 6 8 9 12 155 16 15
1 2 3 4 4 4 5 6 7
Depth
time
0.013 0.040 0.173 0.349 0.312 1.840 3.468 6.186 8.997
0.030 0.050 0.069 0.140 0.158
0.005 0.012 0.019 0.032
CPU @4
and bound algorithm implementation, MMT. Testing was performed on the Southern Methodist University CDC 6600. = 2,3,. . . ,7 and T = 2,3,. . . , a maximum of 10 were generated and solved. The ratio of the heuristic cost to the optimal = the number of nodes in the branch and bound tree, the maxim um depth of the tree (Depth), and the execution time in averages of the above factors for the three problems in each set are also shown.
t 2 a P 3
2 3.
? 2 g % 5
’
2 3 4 5
Did not run in 51.2 minutes. Not enough data.
n=7
’ DNR b NED
1.22 1.16 1.14 1.23
1.16 1.16 1.16 1.24 1.06 DNR DNR
1439 4057 17487 26539
307 269 60649 42075 la621
15 19 24 30
12 12 32 28 25
0 14 17 la 22 29 26
2 3 4 5 6 7 a
1 513 1715 3015 17297 22561 22183
n=6
1.00 1.27 1.25 1.31 1.09 1.19 1.11 DNR DNR
7 3 13 12 13 la 20 19 36
2 3 4 5 6 7 a 9 10
45 9 279 181 481 4213 3003 3681 69163
Ia=5
1.12 1.27 1.31 1.02 1.19 1.10 1.06 1.08 1.16
2 3 4 5 6 7 a 9 10
n=4
13.612 56.261 319.951 617.286
2.090 2.665 762.187 655.196 347.434
0.008 3.360 14.338 30.871 211.627 317.740 357.633
0.134 0.041 1.413 1.160 3.501 35.102 28.732 39.781 802.672
69 4333 3837 78941 72191
53 415 21567 333 88693 71333
13 19 63 555 789 1955 9289 24619 10523
1.12 423 1.15 la57 1.34 36321 1.18 119225
1.48 1.30 1.30 1.21 1.04 DNR DNR
1.09 1.30 1.23 1.09 1.13 1.15 DNR’ DNR DNR
1.29 1.12 1.05 1.19 1.22 1.22 1.05 1.15 1.07
L2 la 25 33
a la 19 28 28
7 13 la 12 28 26
4 5 a 14 15 17 25 22 21
4.050 26.578 669.077 2755.082
0.460 41.264 48.941 1246.149 1380.882
0.235 2.562 17.938 3.402 1063.4Oa 986.572
0.041 0.082 0.338 3.528 5.907 16.897 89.968 262.433 124.395
1.00 1.01 1.33 DNR
1.49 1.1s 1.02 1.19 DNR DNR DNR
1.04 1.19 1.14 1.05 1.15 1.05 DNR DNR DNR
197 12179 30535
93 979 871 72361
51 1135 607 4293 6485 48579
1.09 41 1.10 125 1.18 79 1.11 3083 1.14 1403 1.14 9453 1.06 2285 1.11 5429 1.20 166965
13 22 26
10 17 20 28
7 15 16 la 21 28
6 10 11 16 16 21 17 23 32
1.894 172.132 567.156
0.619 9.351 11.416 1126.129
0.257 7.174 5.038 43.527 79.286 679.524
0.1171 0.508 0.419 19.031 10.278 79.570 22.190 58.099 1928.850
1.11 1.11 1.27 NED
1.38 1.20 1.16 1.21 NED NED NED
1.04 1.25 1.21 1.15 1.12 1.13 NED NED NED
1.17 1.16 1.18 1.11 1.18 1.15 1.06 1.11 1.14
686 6031 28114
156 1860 21786 64459
35 688 1496 2547 37492 47491 b
33 51 140 1273 a91 5207 4859 11243 a2217
13 20 25
10 16 24 28
5 14 17 16 24 28
6 6 11 14 15 19 21 21 30
518.728
6.519 84.990
1.056 17.760 274.181 1009.158
0.167 4.365 12.438 25.933 451.440 661.279
0.097 0.210 0.723 7.906 6.562 43.856 46.963 120.104 951.972
z a F 3
4
; 2.
2 3 E g. 8 3
\
b a e 8
;
318
J. E. Aronson / The multiperiod assignment problem
optimization feature (OPT = 2) enabled. Initial experimentation indicated that a 50% decrease in computational time occurred as a result. Problems having all arc costs generated from a uniform probability distribution ranging from 1 to 10 were generated. These problems were extremely difficult to solve because the paths of each network subproblem were approximately of the same length. Three problems (RUN 1, RUN 2 and RUN 3) were generated for each problem set of n = 2, 3,4, 5, 6 and 7. The number of time periods ranged from 2 through 10 when it was possible to solve a problem within the allowed maximum execution time of 3072 CPU seconds (51.2 CPU minutes). The computational results are shown in Table 4. For each test problem, we report the ratio of the heuristic cost to the optimal cost (Cost ratio), number of solutions evaluated in the tree (Soln’s), maximum depth of the tree (Depth) and solution time in CPU seconds (CPU time). The averages of the four factors for the three runs in each problem set are also reported. Of the 125 test problems solved, the heuristic obtained an optimal solution 11 times, or about 9% of the time. It was within 10% of the optimal cost 62 times, or about 50% of the time. It was within 20% of the optimal cost 103 times, or about 83% of the time. The maximum percent difference between the cost obtained by the heuristic and the cost of the optimal solution was 49%. MAST required less than 21 CPU seconds to solve all sets of the problems having n = 3. Only one of the n = 3, T = 10 problems required more than 5 CPU seconds. The average execution time for the set of 10 period problems was less than 9 CPU seconds. MAST solved all of the problems with n = 4, and T Q 6 in less than 11 CPU seconds. On the average, the cost of the solution found by the heuristic for n = 4, T = 6 was within 18% of the optimum cost. On the average, MAST evaluated 891 subproblems, each in an average solution time of about 0.007 CPU seconds, and an average maximum tree depth of 15. For the complete set of the largest problems solved, n = 7, T = 4, the average solution time was 519 CPU seconds (8.65 CPU minutes) to evaluate an average of 28114 subproblems. One problem was solved in 320 CPU seconds, the other two required more than the average of 519 CPU seconds. The trees had an average maximum depth of 25. For the average, each subproblem required
about 0.018 CPU seconds to evaluate. On average, the cost found by the heuristic was within 27% of the optimum value. The sizes of the test problems are representative of moderately sized multiperiod assignment problems and facility location problems. It is possible to obtain good solutions to extremely large problems, such as those describing the assignment of many salesmen to territories over twelve months, by the following simple procedure: Apply the heuristic, followed by evaluating the solution at node 0 of the branch and bound tree to obtain a lower bound on the solution cost. An alternative to finding an optimum would be incorporate ficticious bounds into the branch and bound algorithm (see Lawler and Wood (1966) and Bazaraa and Elshafei (1977)). This would reduce computations and guarantee a solution having a cost within a given tolerance.
6. Summary and conclusions
We have presented a new, integer, multicommodity network flow model of the multiperiod assignment problem. The subproblems of this model can be solved by a special-structured, shortest path labeling algorithm. Using this new model, we have described a heuristic, which obtains solutions having costs, for the problems tested, within an average of about 12% of the optimal cost. Further, we have discussed a new branch and bound algorithm which exploits the special structure of the model. We have also presented computational results of the implementation of the algorithm. Although the integer linear programming models are relatively large, we solved equivalent, large dimension, mostly network problems having fewer rows, in a reasonable amount of time. We have been able to develop and exploit a network substructure in the multiperiod assignment problem. Further work will focus on developing similar network based models for other combinatorial optimization problems, so that algorithms which exploit such special structures can be developed and implemented. ’
’ The author would like to thank the referees for their helpful comments which have been incorporated into the revision of this paper.
J. E. Aronson
/
The muhiperiod
Appendix. Other models for the multiperiod assignment problem
This Appendix is divided into three sections. In the first section, we state the notation necessary to define the models. In Section A2, we state the mathematical programming model of the integer quadratic multiperiod assignment problem. The integer linear multiperiod assignment model is presented in Section A3. We discuss relative problem sizes in Section A4. AI. Notation ” We adopt the following notation for the models below: n = the number of persons = number of activities. T = the number of time periods. = the cost of assigning person i, to activity j Cijr in period t, for i, j = 1,. . . , n; t = 1,. . . , T. = the cost of transferring person i having Sijk, activity j in period t, to activity k in period t + 1, for i j, k= l,..., n; t = 1 ,...,T-1. = 1 if person i is assigned activity j in Xijf period t; 0 otherwise, for i, j = 1,. . . , n; t = 1 ,--*, T. A2. Integer quadratic multiperiod assignment model The simplest of the three models is the integer quadratic multiperiod assignment model (QP). It has the structure of T independent two-dimensional assignment problems Iinked together by a nonlinear cost function. The model is stated as: (QP>
” h4in
”
T
C
C
C
i-l
j-1
r-l
n ’
isl
n kcl
,zl
Sijk,Xij,Xik(,+
1) 3
j=l,...,
n; t=l,...,
T,
i
i=l,...
;n; tcl,...,
T,
-
xij,=O,l,
i,
A3. Integer linear multiperiod assignment model To state the integer linear model, we define a variable to describe activity transfer. Let Yijk,
=
XijfXik(,+l)
fori,
j, k=l,...,
n; t=l,...,
T-l.
The variable yijk, is 1 when person i having activivity j in period t is transferred to activity k in period t + 1. This definition will be imposed by linear constraints and a 0, 1 condition. In this model, a constraint set with Yijk, h&S the T assignment problems together. For this model, we must assume that the costs, cij,k ad Sijk, are positive. The model is: w Min
i
i
t
i-=1
j=l
r-1
+
C,j,X,j,
5
f:
k
i-l
j-1
k-l
T!lsijk,~ijk(,+l)v
101
subject to i~lx,j,~l,
j=l,...,
n; t=l,...
ixij,=l,
i=l,...,
n; t=l,...,
,T, T,‘
j-1 -Yijkf
+ xij,
+
Xik(f+l)
G 1,
i, j, k=l,..., n; t=l,..., T-l xij,=O,l, i, j=l,..., n; t=l,..., i, j, k=l,...,
n; t=l,...,
T. T-l.
T-l
igixij,=l, X,i,=l,
Although this model is the simplest in structure, it is a nonlinear integer programming problem.
yijk,=O,l,
subject to
j-1
319
problem
Cij,Xijf
n ,Fl
assignment
j=l,...,
n; t-l
,..., T.
A4. Problem sizes The integer quadratic model QP has 2nT rows and n*T columns. The integer linear model has 2nT+n3(T-1) rows and n2T+n3(T1) columns. The muhicommodity model presented in Section 2 has 2 + 2n(T- 1) nodes and n + (n* + n)(T - 1) arcs, nT mutual arc capacity constraints and n commodities. The linear programming equivalent of the multicommodity model has n(2
380
J.E. Aronson
/ The multiperiod
+ 2n(Tl))+nT rows and n((n2 + n)(T- l)+ n) columns. The model MASP has as many columns as model IP, but model MASP has significantly fewer rows. The constraint matrix of MASP is mostly network. All but nT rows form a node-arc incidence matrix. For n = 6, T = 5, QP has dimension 60 by 180; IP has dimension 924 by 1044; and MASP has dimension 330 by 1044. However, of the 330 constraints in MASP, all but 30 of them, about 91%, describe a pure network flow problem. For n = 4, T = 10, QP has dimension 80 by 160; IP has dimension 656 by 736; and the constraint matrix of IvfASP has dimension 336 by 736, of which about 88% of the rows form a pure network.
References Aronson, J.E, and Aronofsky, J.S. (1985). “Model generation and network optimization in a decision support environment”, Technical report 83-OR-S, Department of Operations Research and Engineering Management, Southern Methodist University, Dallas, TX Balas, E, and Saltzman, M.J. (1984), “Some facets of the three-index assignment problem”, Working paper no. 1% 84-85, Graduate School of Industrial Administration, Carnegie-Mellon University, Pittsburgh, PA. Balas. E, and Landweer, P. (1983). “Traffic assignment in communication satellites”, Operations Research Letters 2, 141-147. Baxaraa, M.R., and Elshafei, A.N. (1977). “On the use of fictitious bounds in tree search algorithms”, Management Science 23 (8), 904-908. Bellman, R.E. (1958), “On a routing problem”, Quarterly o/ Applied Mathematics 16, 87-90. Chames, A., Cooper, W.W., and Stedry, A. (1969), “Multi-dimensional and dynamic assignment models with some remarks on organization design”, Management Science 15 (8), B-365-B-375. Corban, A. (1964), “A muhidimensional transportation problem”, Revue Roumaine des Mathematiques Pures et Appliques
9,721-735.
Corban, A. (1966). “On a three-dimensional transportation problem”, Reuue Roumaine des Mathematiques Pures et Appliques 11, 57-75. Dantzig, G.B.. and Van Slyke, R.M. (1964), “Generalized upper bounded techniques for linear programming”, ORC Reports 64-17 and 64-18, Operations Research Center, University of California, Berkeley, CA; also see “Generalii upper bounded techniques”, Journal of Computer Sysfem Science 1 (1967) 213-226. Dial. R, Glover, F., Kamey, D., and Khngman, D. (1979). “A computational analysis of alternative algorithms and labeling techniques for fiiding shortest path trees”, Networks 9, 215-248. Dijkstra, EW. (1959), “A note on two problems in connexion with graphs”, Numerische Mathematik 1.269-271.
assignment
problem
Evans, J.R. (1975) Theoretical Integer
Multicommodity
and Network
Computational Aspects of Flow Problems, Doctoral
dissertation, Department of Industrial and Systems Engineering, Georgia Institute of Technology, Atlanta, GA. Evans, J.R. (1976), “A combinatorial equivalence between a class of multicommodity flow problems and the capacitated transportation problem”, Mathematical Programming 10 (3) 401-404. Evans, J.R. (1978a). “A single commodity transformation for certain multicommodity networks”, Operations Research 26 (4), 673-681. Evans, J.R. (1978b). “The simplex method for integral multicommodity networks”, Naval Research Logistics Quarterb 25 (1). 31-38. Evans, J.R. (1981). “The multicommodity assignment problem: A network aggregation heuristic”, Computers and Mathematics with Applications 7 (2), 187-194. Evans, J.R., and Jarvis, J.J. (1978). “Network topology and integral multicommodity flow problems”, Networks 8 (2). 107-120. Evans, J.R., Jarvis. J.J., and Duke, R.A. (1977), “Graphic matroids and the multicommodity transportation problem”, Mathematical Programming 13. 323-328. Ford, L.R. Jr. (1956), “Network flow theory”, The Rand Corporation, P-923. Frieze, A.M. (1974), “A bilinear programming formulation of the 3diiensional assignment problem”, Mathematical Programming
7 (3), 376-379.
Frieze, A.M. (1983), “Complexity of a 3dirnensionaI assignment problem”, European Journal of Operational Research 13.161-164. Frieze, A.M., and Yadegar, J. (1981), “An algorithm for solving 3diiensional assignment problems with application to scheduling a teaching practice”, Journal of the Operational Research
Society
32, 989-995.
Garfinkel, R.S., and Nemhauser, G.L. (1972), Integer Programming, Wiley, New York. Glover, F., and Klingman, D. (1982), “A computer study of efficient algorithms for shortest path trees and assignment problems”, Research Report CCS 430, Center for Cybernetic Studies, The University of Texas at Austin, Austin, TX. Gottieb, C.C., (1962), “The construction of class-teacher timetables”, Proceedings of the ZFZP Congress, 73-77. Gunawardane, G. (1982), “A three-dimensional assignment problem”, presented at the ORSA/TIMS Joint National Meeting, San Diego, CA. Haley, K.B. (1962). “The solid transportation problem”, Operations Research 10, 448-463. Haley, K.B. (1963). “The multi-index problem”, Operations Research l&368-379. Haley, K.B. (1965), “The existence of a solution to the muhiindex problem”, Operational Research Quarterly 16, 471-474. Hu, T.C. (1963), “Mult.iconunodity network flows”, Operations Research 11, 344-360. Kennington, J.L. (1978), “A survey of linear cost multicommodity network flows”, Operations Research 26 (2), 209-236.
Kennington, Network
Kennington,
J.L., and Helgason, RV. (1980), Algorithms for Wiley, New York. J.L., and Shalaby, M. (1977), “An effective sub-
Programming
J.E.
Aronson
/
The muhiperiod
gradient procedure for minimal cost multicommodity flow problems”, Management Science 23 (9) 994-1004. Lawler, E.L. (1976) Combinatorial Optimization, Networks and Mafroidr. Holt, Rinehart and Winston, New York. Lawler, E.L. (1977), “Shortest path and network flow algorithms”, Proceedings of the Advanced Research Instirute on
Discrete
Optimization
and
Systems
Applications,
Vancouver, British Columbia, Canada, 251-263. Lawler, E.L. and Wood, DE. (1966). “Branch and bound algorithms: A survey”, Operations Research 14, 699-719. Leue, 0. (197211 “Methoden zur Losung Dreidiiensionaler Zuordnungsproblem”, Angewandre Zn/ormatih, 154-162. Moore, E.F. (1959). “The shortest path through a maxe”, Proceedings
of an Inremational
Symposium
on the Theory
of
Part II, April 2-5,1957,285-292, The Annals of 8’ the Computation Laboratory of Harvard University, 30, Harvard University Press, Cambridge, MA. Pierskalla, W.P. (1967a), “The t&substitution method for the three-dimensional assignment problem”, CORS Journal 5, 71-81. Pierskalla, W.P. (1967b), “The multi-dimensional assignment and quadratic assignment problems,” Technical memorandum no. 93, Case We-stem Reserve University, Operations Research Department, School of Management, Cleveland, OH. Pierskalla, W.P. (1968), “The multi-dimensional assignment problem, Operations Research 15 (2). 422-431. Switching,
assignmenr
problem
381
Rothschild, B., and Whinston, A. (1966a), “On two commodity network flows”, Operations Research 14, 377-387. Rothschild, B., and Whinston, A. (1966b), “Feasibility of two commodity network flows”, Operafions Research 14, 1121-1129. Rothschild, B., and Whinston, A. (1969), “Multicommodity network flows”, working paper, Krannert School, Purdue University, West Lafayette, IN. Sakarovitch, M. (1973). “Two commodity network flows and linear programming”, Mafhemafical Programming 4, l-20. Schell. E. (1955). “Distribution of a product by several properties”, Directorate of management analysis, in: H. Antosia wia (ed.) Proceedings o/ the Second Symposium in Linear Programming, 2, DCS/Comptroller H.Q. U.S. Air Force, Washington, DC, 615-642. Shamma, M.M. (1971), A Generalized Assignmenf Problem, Doctoral dissertation, Computer Sciefce/Operations Research Center, Southern Methodist Unfversity, Dallas, TX. Vajda, S. (1961). Mathematical Programming, Addison-Wesley, Reading, MA, p. 147. Vlach, M. (1967), “Branch and bound method for the three index assignment problem”, ElconomichoMafemafichj Obzor (Czechoslovakia) 3, 181-191. Williams, K.B., and Haley, K.B. (1959), “A practical application of linear progr amming in the mining industry”, Operational Research Quarter& 10 (3). 131-138.