Modeling and algorithmic development of a staff scheduling problem

Modeling and algorithmic development of a staff scheduling problem

European Journal of Operational Research 128 (2001) 558±569 www.elsevier.com/locate/dsw Theory and Methodology Modeling and algorithmic development...

184KB Sizes 0 Downloads 22 Views

European Journal of Operational Research 128 (2001) 558±569

www.elsevier.com/locate/dsw

Theory and Methodology

Modeling and algorithmic development of a sta€ scheduling problem Subhash C. Sarin *, Sanjay Aggarwal Department of Industrial and Systems Engineering, College of Engineering Institute, Virginia Polytechnic and State University, 250 New Engineering Building, Blacksburg, VA 24061, USA Received 30 September 1997; accepted 2 September 1999

Abstract The problem of scheduling workers at a hub of a trucking system for the stripping and loading of the trucks and the determination of the optimal number of workers is a dicult problem. The trucks arrive at the facility at di€erent (but known) times and may have their own scheduled departure times. This problem is like a set partitioning problem but with a side constraint pertaining to the dynamic arrival of the trucks. We develop a procedure to solve this problem that is based on the column generation technique, and the solution of a set covering problem to obtain the integer solution. The performance of the procedure is demonstrated by applying it to the real-life data obtained from a trucking company. Its e€ectiveness is illustrated by comparing it with a lower bound and a well-known heuristic procedure. Ó 2001 Elsevier Science B.V. All rights reserved. Keywords: Scheduling; Sta€; Mathematical programming

1. Problem statement The problem addressed in this paper is that of scheduling workers at a hub of a trucking system. The trucks from di€erent places arrive at the hub. The items on these trucks are then stripped and loaded onto the trucks going to intended destinations. The trucks arrive at the hub dynamically and information about the expected arrival time of each truck and its expected unloading and loading time is a known priori. The stripping and loading of the trucks is done manually. The problem is to schedule the trucks arrived during a shift to the minimum number of workers. Only those arrivals are considered that can be attended to within a shift.

*

Corresponding author. Tel.: +1-540-231-6656; fax: +1-540-231-3322. E-mail address: [email protected] (S.C. Sarin).

0377-2217/01/$ - see front matter Ó 2001 Elsevier Science B.V. All rights reserved. PII: S 0 3 7 7 - 2 2 1 7 ( 9 9 ) 0 0 4 2 1 - X

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

559

2. Model formulation Let there be m trucks to be stripped during a shift. Let aj be a vector of size m and be de®ned such that aij ˆ 1, if truck i is included in an assignment j (to a worker), and aij ˆ 0, otherwise. Thus, aj represents an assignment of the trucks to a worker. Let yj ˆ 1, if assignment j is selected for allocation to a worker during the shift, and yj ˆ 0, otherwise. The stang problem can thus be modelled as follows. Determine yj ; j ˆ 1; . . . ; N , so as to …P1†

N X yj Minimize jˆ1

subject to N X jˆ1

…1† aj yj ˆ e;

yj ˆ 0 or 1; j ˆ 1; . . . ; N : Here, N represents all possible assignments of trucks for allocation to workers to perform the stripping and loading operations during a shift and e is a vector of 1Õs. Note that the number of assignments selected is equal to the number of workers as each selected assignment is allocated to only one worker. The constraints in (1) represent the fact that each truck is served by only one worker. The trucks are to be assigned in such a fashion that the total number of workers is minimized. This is a set partitioning problem where the trucks have to be partitioned into mutually exclusive sets so that a truck is served only by one worker while a worker could work on several trucks during the shift, albeit one-at-a-time. A key feature of this formulation is the use of vectors aj . These can be generated taking into consideration the prevailing conditions or constraints on the assignment of the workers to the trucks. One important consideration in this respect, for the problem on hand, is the dynamic arrival of the trucks and their scheduled departure (which is typically the end of the shift for all the trucks). These constitute the feasibility requirements for the generation of aj . An arbitrary assignment of trucks to the workers need not be feasible and thus this requirement restricts the number of aj Õs to be generated. As an illustration of this formulation, consider the case where four trucks (designated 1, 2, 3 and 4) arrive at a terminal. The arrival times of these four trucks are (0, 0, 1, 1.5) while the required processing times are (4, 5, 2, 2.5), respectively. Examples of several possible aj columns are:

In a1 , trucks 1 and 3 will be assigned to a worker while under a5 , the worker will work on trucks 3 and 4. The feasibility condition pertains to the fact that the worker assigned to an aj can only process the trucks after they become available and also the total assigned work can be ®nished within the shift time. Thus in a5 , the worker can begin work only at time 1, when the third truck becomes available. Also, if the shift is 8 h long, then a9 is not feasible. In the implementation of P1, only the feasible aj 's will be generated.

560

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

The set partitioning problem has been studied in great detail since the mid 1960s. Inspite of its special form, the set partitioning problem has many applications. Some of these applications described in the literature include: airline ¯eet scheduling (Levin, 1969), truck routing (Balinski and Quandt, 1964; Clarke and Wright, 1964; Dantzig and Ramser, 1959; Gar®nkel and Nemhauser, 1969; Pierce, 1968), airline crew scheduling (Arabeyere et al., 1969; Kolner, 1966; Spitzer, 1961; Thiriez, 1969), information retrieval (Day, 1965), switching circuit design (Balinski, 1965; Cobham, 1962; Paul and Unger, 1959; Root, 1964), stock cutting (Pierce, 1970), assembly line balancing (Salveson, 1955), capital equipment decisions (Valenta, 1969), location of o€shore drilling platforms (Daly and Spierer, 1969), facilities location problems (Revelle et al., 1970), political districting (Gar®nkel and Nemhauser, 1970; Wanger, 1968), coloring problems (Busacker and Saaty, 1965), symbolic logic (Cobham et al., 1961), and PERT-CPM (Cobham, 1962). The di€erent procedures presented in the literature for the set partitioning problem include: heuristics (Cassidy and Bennett, 1975; Christo®des, 1974; Golden, 1975; Baker et al., 1979; Rubin, 1973), implicit enumeration (Balas, 1965; Pierce, 1968; Gar®nkel and Nemhauser, 1969; Pierce and Lasky, 1973; Marsten, 1974), simplex based cutting plane methods (Gomory, 1963), column generating algorithm which is different in concept from the column generation based method presented in this paper (Balas and Padberg, 1975), hybrid primal cutting plane/implicit enumeration method (Balas, 1975), set partitioning via node covering (Balas and Samuelson, 1974), and network ¯ow model (Moreland, 1966). The given problem can also be viewed as a bin packing problem in which the workers are like the bins and the trucks are like the items to be assigned to the bins. If we de®ne yj ˆ 1, if a worker j is used, and yj ˆ 0 otherwise; xij ˆ 1, if a truck i is assigned to the jth worker and xij ˆ 0, otherwise; then the bin packing formulation of the given problem is as follows: …P2†

min z ˆ

n X

yj

j

subject to m X wi xij 6 T :yj ; iˆ1 n X

xij ˆ 1;

j ˆ 1; 2; . . . ; n;

i ˆ 1; . . . ; m;

iˆ1

xij ; yj ˆ 0; 1;

i ˆ 1; . . . ; m; j ˆ 1; . . . ; n;

where n is the maximum possible number of workers, m the number of trucks, wi the time required to strip a truck i and to load its contents on another truck, and T is the total available time of a worker on a given day (same for all). In view of the example mentioned earlier, this formulation considers the available shift time a priori. However, the dynamic arrival of the trucks still must be considered during the implementation of this formulation on the problem at hand. The work on bin packing problems has been devoted mainly to the development of approximate algorithms. The most common ones are known as the next-®t (NF), ®rst-®t (FF) and best-®t (BF) algorithms. They generate solutions that are close to optimum. Worst case performance bounds for these are presented by Johnson (1974). Eilon and Christo®des (1971) presented a simple depth-®rst enumerative algorithm based on the ``best-®t decreasing'' branching strategy. On the other hand, Hung and Brown (1978) developed a branch-and-bound algorithm for the generalization of the bin packing problem in which the bins are allowed to have di€erent capacities. Martello and Toth (1989) have proposed an algorithm based on a ``®rst-®t decreasing'' branching scheme.

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

561

3. Development of a solution approach The proposed solution approach is based on the column generation method. In this method, the (0±1) requirements of the variables in P1 are relaxed and the resultant problem is solved as a linear program. The columns of this linear program are generated as and when they are needed. Recall that a column of the set partitioning problem on hand corresponds to an assignment of the trucks to a worker. If we represent the simplex multipliers of the relaxed P1 by p ˆ …p1 ; . . . ; pm †, then the column generation problem is to …P3†

maximize

m X

pi aij ÿ cj

iˆ1

subject to m X

wi aij 6 T ;

j ˆ 1; . . . ; n;

iˆ1

aij ˆ 0; 1;

i ˆ 1; . . . ; n;

where aij 's are the (0,1) entries in a column j, wi is the time required to unload and load truck i, and cj (the coecient of yj in the objective function of P1) ˆ 1. Not all trucks are assumed to be available at the start of a shift and can arrive at the hub at di€erent times during the shift. This dynamic availability of the trucks must be taken into consideration while generating columns that satisfy the time availability constraint as mentioned earlier. Note that the problem (P3) is the knapsack problem with a side constraint corresponding to the dynamic availability of the trucks. Once the optimal solution to the relaxed version of (P1) is obtained, the optimal basis is used to obtain an integer solution. This is done by setting up another problem using the columns of the ®nal basis as follows. If a^j ; j ˆ 1; . . . ; m, are the columns corresponding to the ®nal basis, then the problem can be stated as follows: …P4†

minimize

m X

yj

jˆ1

subject to m X a^j yj P e; jˆ1

yj ˆ 0; 1;

j ˆ 1; . . . ; m:

The idea of this formulation is to select the minimum integer number of columns (workers) such that every truck is attended to at least once. Note that (P4) is the set covering problem and is solved as an integer problem. It is much smaller in size as compared to (P1). The overall scheme can now be summarized and is presented in Fig. 1. A LP code was developed to solve problem (P1) that also incorporated the procedure for generating columns (problem P3). Problem (P4) was solved using CPLEX. A key step of the overall scheme is the solution of the knapsack problem (P3) with a side constraint as mentioned earlier. The branch and bound based procedure due to Martello and Toth (1988), to solve the knapsack problem, was modi®ed to incorporate the truck availability (also referred to in the discussion as feasibility) constraint. The procedure begins by building an integer solution from the greedy solution of the continuous version of the knapsack problem as follows:

562

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

Fig. 1. Solving the linear relaxation of the given problem.

0 6 aij 6 1;

i ˆ 1; . . . ; m:

If ` is the greatest index for which ai;j ˆ 1;

i ˆ 1; . . . ; `;

ai;j ˆ 0;

i ˆ ` ‡ 1; . . . ; m:

P`

iˆ1

wi 6 T then

and

This solution is tested for truck availability. If the generated column is a feasible integer solution to the knapsack problem and satis®es the side constraint corresponding to the dynamic availability of the trucks, then it is pivoted into the simplex basis. If this solution is infeasible, a depth-®rst branch and bound search is then performed. A forward move is performed where an attempt is made to introduce the largest possible set of new elements into the current solution. The solution is updated by setting to 1 the aij values of the

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

563

elements found by the forward move. The solution at this stage is tested for feasibility. If infeasible, a backtracking move is performed. This move consists of updating the current solution by setting to 0 the values of akj with k ˆ maxfqjaqj ˆ 1g. Then, if at least one of the elements following the kth element has a value of wj small enough to allow its introduction into the current solution after backtracking, the forward move is performed. The algorithm continues with feasibility checks at each stage. As soon as a column with feasible assignment is found, it is entered into the basis. A ¯ow diagram depicting the computer implementation of the proposed algorithm is shown in Fig. 2.

4. Results of implementation The algorithm presented above was coded in the C programming language and applied to the real-life data received from the hubs at two locations of a transportation company. The hub at location 1 is a small operation involving up to 25 trucks a day. The stripping and loading of the trucks is done during a single shift lasting 8±9 hours. The hub at location 2 handles on an average 200 trucks a day and works 24 hours a day divided into three shifts of 8 hours each. A sample data of one week (10/3/94±10/7/94) is presented in Table 1 for the hub at location 1. Note that the number of trucks handled in one day vary from 15 to 25 during the week. The arrival times of the trucks are given assuming the shift starting time to be time ``0''. The proposed algorithm was applied to two weeksÕ data. The results are presented in Table 2. The third column of this table presents the LP lower bound values for the number of workers, while the fourth and the ®fth columns present, respectively, the solution values obtained by the proposed method and the ®rst-®t bin packing heuristic. The proposed method obtains solutions equivalent to the lower bound in 8 out of the 10 cases. The problems were solved to optimality using an integer programming routine as well. The results are shown in column seven. The solutions obtained by the proposed method are found to be optimal in 9 out of the 10 cases. The computational times of the proposed method are presented in the sixth column. The results for the hub at location 2 are presented in Table 3. A work day at this hub is divided into three shifts of 8 hours each. The ®rst shift begins at 12:00 midnight. For the analysis, trucks to be processed during each shift are considered according to the following criteria: · trucks that arrive before the beginning of the ®rst shift are processed in the ®rst shift only, · trucks that arrive during any shift and require processing time more than the time remaining in that shift are processed in the next shift. These trucks are assumed to have arrived at time 0.00 for the next shift. Approximately three weeks of data were available for this hub. The proposed method generates solutions that are signi®cantly better than the bin packing heuristic. The integer optimal solutions were not obtained for the data from the hub at location 2 in view of the excessive computational time required. However, the percentage di€erences between the LP lower bound and the solutions obtained by the proposed method are found to be in the range of 0±22%. Given that the lower bound can be signi®cantly away from the optimal solution (33%, according to the data in Table 2), the solutions obtained by the proposed method are close to optimum. This is further illustrated by the fact that the mean deviation from the lower bound is only 8.6% with a standard deviation of 5.6%. The median is at 8.3%. The last column depicts the computational times. The computer runs were made on an IBM PS/277 486DX2 machine. The computational time requirement generally increases with the size of the problem. However, the run times for various instances of the same problem size tend to deviate due to interactions between the availabilities of trucks, loading/unloading times and the value of T. The algorithm was also run on an IBM 750-P90 machine with Pentium processor and the run times in all the instances tried were approximately 1/3 of the times presented in Table 3.

564

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

Fig. 2. Computer implementation of the algorithm.

a

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 2.42 0.00 0.00 2.42 0.00 0.00 0.00

0.75 0.75 1.17 1.42 1.75 1.08 1.17 0.75 0.83 0.58 1.58 1.50 2.08 1.17 0.67 1.92 1.75 0.92 1.42 2.17 2.00 0.67 3.00 2.17 2.25

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.93 2.43 2.43 3.06 4.15 4.42 4.67 4.35 4.67 5.75 4.07 5.75 5.00 5.50 4.15 4.35 4.42

Arrival time 0.42 0.75 1.75 0.83 1.25 2.83 0.42 1.17 0.42 1.17 0.67 1.25 0.50 1.33 0.47 0.92 1.00 0.67 1.83 1.00 0.50 0.17 1.92 1.25 0.92

Operating time

Day 2 (10/4/94)

Arrival time

Operating timea

Day 1 (10/3/94)

Operating time is given in hours.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25

Truck no.

Table 1 One weekÕs data from the hub at location 1

0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00

Arrival time 0.92 1.42 0.58 1.17 0.75 0.50 0.92 1.00 1.67 1.42 1.17 0.17 0.75 0.50 1.58

Operating time

Day 3 (10/5/94)

0.00 0.00 0.00 0.00 0.50 0.50 2.17 2.85 2.85 4.08 4.08 4.48 4.48 4.75 4.75 4.95 4.15 6.00 4.65 4.65 7.48

Arrival time 3.83 4.00 0.83 0.58 1.25 0.67 1.08 0.67 1.50 1.08 1.17 1.17 1.50 0.58 0.58 0.83 2.08 0.50 0.92 1.83 0.50

Operating time

Day 4 (10/6/94)

0.00 0.00 0.00 1.25 0.00 2.50 2.57 1.25 4.50 2.50 2.50 0.00 2.33 4.50 2.57 1.92

Arrival time

0.33 1.17 2.75 0.92 3.00 0.58 1.17 0.75 1.50 1.42 1.83 4.37 2.25 1.17 2.83 1.92

Operating time

Day 5 (10/7/94)

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569 565

566

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

Table 2 Comparison of solution values (number of workers) obtained using LP lower bound, the proposed method and a bin packing heuristic method for the data from the hub at location number 1 Date

Trucks/shift

LP lower bound

Solution by the proposed method

Solution by the bin packing heuristic

Run time (min) of the proposed method

IP optimal solution

10/3/94 10/4/94 10/5/94 10/6/94 10/7/94 10/10/94 10/12/94 10/13/94 10/14/94 10/17/94

25 25 15 21 16 26 16 19 20 24

5 4 2 4 4 5 4 3 5 6

5 4 2 4 4 5 4 4 5 7

6 5 3 6 5 6 4 5 7 7

0:43 1:45 0:25 0:76 0:28 0:42 0:55 0:43 0:60 0:35

5 4 2 4 4 5 4 4 5 6

Table 3 Comparison of solution values (number of workers) obtained using LP lower bound, the proposed method and a bin packing heuristic method for the data from the hub at location number 2 Date

Shift

Truck/shift

LP lower bound

Solution by the proposed method

Solution by the bin packing heuristic

% Di€erence between LB and the proposed method

10/1/94 10/1/94 10/1/94 10/3/94 10/3/94 10/3/94 10/4/94 10/4/94 10/4/94 10/5/94 10/5/94 10/5/94 10/6/94 10/6/94 10/6/94 10/7/94 10/7/94 10/7/94 10/8/94 10/8/94 10/8/94 10/10/94 10/10/94 10/10/94 10/11/94 10/11/94 10/11/94 10/12/94 10/12/94

a b c a b c a b c a b c a b c a b c a b c a b c a b c a b

53 72 37 26 24 42 67 90 45 80 86 51 71 91 32 77 70 37 55 57 10 32 37 48 74 84 42 91 70

18 21 14 8 9 8 22 28 13 29 28 11 23 31 8 27 26 9 18 16 4 8 10 13 9 23 24 32 25

19 24 15 8 9 9 23 33 13 30 31 13 25 32 9 27 29 9 19 18 4 9 11 14 11 24 26 34 28

26 25 16 11 10 11 32 36 13 41 32 13 29 36 10 35 36 10 24 23 5 13 13 17 11 34 26 44 28

6 14 7 0 0 13 5 18 0 3 11 18 9 3 13 0 12 0 6 13 0 13 10 8 22 4 8 6 12

Run time (min)

5:35 9:68 0:60 0:53 0:35 2:90 0:36 36:96 0:61 27:05 17:36 2:46 22:96 15:38 0:71 21:23 3:86 2:50 3:50 2:00 0:21 1:31 1:70 3:01 24:65 19:48 1:96 33:03 6:86

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

567

Table 3 (Continued) Date

Shift

Truck/shift

LP lower bound

Solution by the proposed method

Solution by the bin packing heuristic

% Di€erence between LB and the proposed method

10/12/94 10/13/94 10/13/94 10/13/94 10/14/94 10/14/94 10/14/94 10/15/94 10/15/94 10/15/94 10/17/94 10/17/94 10/17/94 10/18/94 10/18/94 10/18/94 10/19/94 10/19/94 10/19/94 10/20/94 10/20/94 10/20/94 10/21/94 10/21/94 10/21/94 10/22/94 10/22/94 10/22/94

c a b c a b c a b c a b c a b c a b c a b c a b c a b c

54 78 89 53 83 92 46 69 67 26 25 23 50 61 99 46 77 93 42 75 85 56 77 76 45 64 55 28

14 30 25 12 30 33 15 29 18 6 9 6 12 19 31 9 27 29 10 30 28 12 26 27 11 26 17 11

16 31 26 14 33 34 17 30 20 7 9 7 13 20 34 11 29 32 11 32 30 14 29 28 12 28 18 12

17 34 28 17 39 38 18 37 26 10 11 8 16 27 37 11 33 34 13 37 35 17 33 36 13 32 21 13

14 3 4 17 10 3 13 3 11 17 0 17 8 5 10 22 7 10 10 7 7 17 12 4 9 8 6 9

Run time (min)

7:83 9:30 34:13 7:83 18:10 23:56 0:83 7:86 4:91 1:03 13:43 0:41 7:16 12:33 10:00 2:23 20:13 49:66 1:28 13:90 5:93 9:60 13:53 3:78 1:28 4:01 3:83 0:38

5. Concluding remarks In this paper, we develop an algorithm to solve a sta€ scheduling problem and apply it to the real-life data obtained from a transportation company serving up to 200 trucks a day. This problem can be viewed as a set partitioning problem with a side constraint. The proposed algorithm is based on the column generation method and solution of a set covering problem de®ned over the LP optimal solution of the relaxed problem. The solutions obtained by the proposed method are compared to the LP lower bound and those obtained by a bin packing heuristic procedure, and are shown to be signi®cantly better than those obtained using the bin-packing heuristic and are close to optimum. The computational time required by the proposed procedure is also quite reasonable. The proposed solution procedure also suggests an alternate way to solve the set partitioning problem.

Acknowledgements The authors thank the referees for several insightful comments which helped in further improving the paperÕs exposition.

568

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

References Arabeyre, J.P. et al., 1969. The airline crew scheduling problem: A survey. Transportation Science 3 (2), 140±163. Baker, E.K. et al., 1979. Ecient heuristic solution to an airline crew scheduling problem. AIIE Transactions, 79±84. Balas, E., 1975. Some valid inequalities for the set partitioning problem. MSRR 368, Carnegie±Mellon University, Pittsburgh, PA. Balas, E., 1965. An additive algorithm for solving linear programs with 0±1 variables. Operations Research 13, 517±546. Balas, E., Padberg, M.W., 1975. On the set covering problem: II. An algorithm for set partitioning. Operations Research 23 (1). Balas, E., Samuelson, H., 1974. A symmetric subgradient cutting plane method for set partitioning. W.P. 5-74-75, Carnegie±Mellon University, Pittsburgh, PA. Balinski, M.L., Quandt, R., 1964. On an integer program for a delivery problem. Operations Research 12, 300±304. Balinski, M.L., 1965. Integer programming: Methods, uses, computation. Management Science 12 (3), 253±313. Busacker, R.G., Saati, T.L., 1965. Finite Graphs and Networks. McGraw-Hill, New York. Cassidy, P.J., Bennett, H.S., 1975. TRAMPS-A multi-depot vehicles scheduling system. Operational Research Quarterly 23 (2), 151± 163. Christo®des, N., 1974. The vehicle routing problem. In: NATO Conference on Combinatorial Optimization, Paris. Clarke, G., Wright, S.W., 1964. Scheduling of vehicles from a central depot to a number of delivery point. Operations Research 12 (4), 568±581. Cobham, A. et al., 1961. An application of linear programming to the minimization of Boolean functions. Research Report RC-472, IBM Research Center. Cobham, A., 1962. A statistical study of the minimization of Boolean functions using integer programming. Research Report RC-756, IBM Research Center. Daly, W.N., Spierer, S.J., 1969. Private Communication. Mobile Oil Corporation. Dantzig, G.B., Ramser, J.H., 1959. The truck dispatching problem. Management Science 6 (1), 80±91. Day, R.H., 1965. An optimal extracting from a multiple ®le data storage system: An application of integer programming. Operations Research 13 (3), 482±494. Eilon, S., Christo®des, N., 1971. The loading problem. Management Science 17, 259±267. Gar®nkel, R.S., Nemhauser, G.L., 1970. Optimal political districting by implicit enumeration techniques. Management Science 16 (8), B495±B508. Gar®nkel, R.S., Nemhauser, G.L., 1969. The set partitioning problem: Set covering with equality constraints. Operations Research 17 (5), 848±856. Golden, B.L., 1975. Vehicle routing problems: Formulations and heuristic solution techniques. Technical Report No. 113, Operations Research Center, Massachusetts Institute of Technology, Cambridge, MA. Gomory, R.E., 1963. An algorithm for integer solutions to linear programs. In: Graves, S.C., Wolfe, P.M. (Eds.), Recent Advances in Mathematical Programming. McGraw-Hill, New York. Hung, M.S., Brown, J.R., 1978. An algorithm for a class of loading problems. Naval Research Logistics Quarterly 25, 289±297. Johnson, D.S., 1974. Approximation algorithms for combinatorial problems. Journal of Computer and System Sciences 9, 256±278. Kolner, T.N., 1966. Some highlights of a scheduling matrix generator system. Presented at the Sixth AGIFORS Symposium, United Airlines. Levin, A., 1969. Fleet routing and scheduling problem for air transportation system. Ph.D. Dissertation, Massachusetts Institute of Technology, Cambridge, MA. Marsten, R.E., 1974. An algorithm for large set partitioning problems. Management Science 20 (5), 774±787. Martello, S., Toth, P., 1988. A new algorithm for the zero±one knapsack problem. Management Science 34, 633±644. Martello, S., Toth, P., 1989. An exact algorithm for the bin packing problem. Presented at EURO X, Beograd. Moreland, J.A., 1966. Scheduling of airline ¯ight crews. MasterÕs Thesis, Department of Aeronautica and Astronomics, Massachusetts Institute of Technology, Cambridge, MA. Paul, M.C., Unger, S.H., 1959. Minimizing the number of states in incompletely speci®ed sequential functions. IRE Transactions on Electronic Computers EC-8, 356±367. Pierce, J.F., Lasky, J.S., 1973. Improved combinatorial programming algorithms for a class of all-zero±one integer programming problem. Management Science 19, 528±543. Pierce, J.F., 1968. Application of combinatorial programming to a class of all-zero±one integer programming problems. Management Science 15, 191±209. Pierce, J.F., 1970. Pattern sequencing and matching in stock cutting operations. Tappi 53 (4), 668±678. Revelle, C. et al., 1970. An analysis of private and public sector location models. Management Science 16 (12), 692±707. Root, J.C., 1964. An application of symbolic logic to a selection problem. Operations Research 12 (4), 519±526. Rubin, J., 1973. A technique for the solution of massive set covering problems, with application to airline crew scheduling. Transportation Science 7 (1), 34±48. Salveson, M.E., 1955. The assembly line balancing problem. Journal of Industrial Engineering 6 (3), 18±25.

S.C. Sarin, S. Aggarwal / European Journal of Operational Research 128 (2001) 558±569

569

Spitzer, M., 1961. Solution to the crew scheduling problem. Presented at the First AGIFORS Symposium. Thiriez, H., 1969. Airline crew scheduling: A group theoretic approach. Ph.D. Dissertation, Massachusetts Institute of Technology, Cambridge, MA. Valenta, J.R., 1969. Capital equipment decisions: A model for optimal systems interfacing. M.S. Thesis, Massachusetts Institute of Technology, Cambridge, MA. Wanger, W.H., 1968. An application of integer programming to legislative redistricting. Presented at 34th National Meeting of ORSA, CROND, Inc., Philadelphia, PA.