Computers & Industrial Engineering 61 (2011) 1309–1317
Contents lists available at SciVerse ScienceDirect
Computers & Industrial Engineering journal homepage: www.elsevier.com/locate/caie
Heuristic algorithms for assigning and scheduling flight missions in a military aviation unit q Bong-Kyun Kim a, Yeong-Dae Kim b,⇑ a b
Ministry of National Defense, Yongsandong 3ga, Yongsangu, Seoul 140-701, Republic of Korea Department of Industrial Engineering, Korea Advanced Institute of Science and Technology, Yusong-gu, Daejon 305-701, Republic of Korea
a r t i c l e
i n f o
Article history: Received 3 November 2010 Received in revised form 3 August 2011 Accepted 7 August 2011 Available online 12 August 2011 Keywords: Flight scheduling Military Assignment Heuristics
a b s t r a c t We consider an operations planning problem in a military aviation unit that performs a number of flight missions with multiple identical aircrafts. The problem is to assign the flight missions to the aircrafts and to schedule these assigned missions on each aircraft. Sequence-dependent setup times are required between the missions, and multiple aircrafts may be needed for a mission, but the aircrafts assigned to the same mission should start the mission simultaneously. We develop heuristic algorithms for the problem with the objective of minimizing makespan, i.e., the time by which all the missions have been completed. For evaluation of the performance of the algorithms, a series of computational tests was performed on a number of problem instances, and results show that the proposed algorithms give good or near optimal solutions in a reasonable amount of time. Ó 2011 Elsevier Ltd. All rights reserved.
1. Introduction In this paper, we consider an operations planning problem in the army aviation units of Korea. There are two types of aviation units in the army, assault units and mobility units. An assault unit performs missions of attacking enemy’s aircrafts, armors, and combat forces and protecting friendly units including mobility aviation units, while a mobility aviation unit conducts transportation missions such as moving infantry forces, ammunitions, and/or equipments to a place where they are needed. In this study, we focus on a scheduling problem in mobility aviation units. The problem considered is to assign transportation missions to each aircraft and to schedule these assigned missions on each aircraft for the objective of completing a given set of missions as early as possible. (Most, if not all, aircrafts in the aviation units are helicopters.) An aircraft has a limited capacity in terms of volume and weight that can be loaded on it. A mission is defined as a task to move combat forces or freights from one point to another point for further operations. If the capacity of an aircraft is not large enough to handle a mission, multiple aircrafts are needed to perform the mission. In this case, it is assumed that the aircrafts should start the mission simultaneously. This is because aircrafts may be easily attacked by the enemy after taking off from the starting point of the mission. Note that if multiple aircrafts perform the mission
q
This manuscript was processed by Area Editor T.C. Edwin Cheng.
⇑ Corresponding author. Tel.: +82 42 350 3120; fax: +82 42 350 3110. E-mail address:
[email protected] (Y.-D. Kim). 0360-8352/$ - see front matter Ó 2011 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2011.08.004
simultaneously they can mutually protect each other from attacks of the enemy. To perform a mission, an aircraft should move from the base to the starting point (origin) of the mission and then to the end point (destination) of the mission, and finally back to the base. The flight time from the base to the starting point of the mission can be considered as setup time and that from the end point of the mission to the base as set-down time. An aircraft may perform multiple missions consecutively before returning to the base. In this case, there should be setup time between two missions, i.e., flight time from the end point of the preceding mission to the starting point of the succeeding mission. Note that such setup times depend on the sequence of the missions. In this study, we regard the time to move from the end point of a mission to the starting point of the next mission as the setup time for the latter mission and we do not consider set-down time of the former mission or assume the set-down time is zero. This study focuses on the mission scheduling problem with the objective of minimizing makespan i.e., the time by which all the missions have been completed. This problem may be considered as a parallel-processor scheduling problem. However, while it is assumed that a task can be scheduled on only one machine in most research articles on parallel-machine scheduling problems, a task (mission) may have to be performed by multiple machines (aircrafts) in our problem if resource required for the task exceeds the capacity of the machine. The mission scheduling problem is similar to the split delivery vehicle routing problem (SDVRP) presented by Archetti and Speranza (2006) and Kang and Lee (2007), in which the demand
1310
B.-K. Kim, Y.-D. Kim / Computers & Industrial Engineering 61 (2011) 1309–1317
of a customer exceeds the capacity of a vehicle and multiple vehicles are used for the delivery of the demand. Note that aircrafts and missions in our problem may be regarded as vehicles and deliveries for the customers, respectively, in the SDVRP. The mission scheduling problem is also similar to the multi-processor task scheduling problem (MTSP), in which each task needs to be processed on a number of parallel processors simultaneously. However, in our problem, sequence-dependent setup times are required between tasks, and hence our problem can be considered as a generalized version of the SDVRP and MTSP. Since the SDVRP and MTSP are proven to be NP-hard by Archetti and Speranza _ (2006) and Błazewicz, Drabowski, and We˛glarz (1986), respectively, the mission scheduling problem considered in this paper is also NP-hard. There have been many studies on the problem of scheduling jobs on identical parallel machines with the objective of minimizing makespan, which is shown to be NP-complete even in the two-machine case (Garey & Johnson, 1979). Various heuristic algorithms have been developed for the problem including those of Blackstone and Phillips (1981), Lee and Massey (1988), França, Gendreau, Laporte, and Müller (1994), Hübscher and Glover (1994), Ho and Wong (1995), Gupta and Ruiz-Torres (2001), Mokotoff, Jimeno, and Gutiérrez (2001), Hwang and Kim (2003), Akyol and Bayhan (2006) and Kashan and Karimi (2009), while the worst-case performance is analyzed for simple heuristic algorithms in Graham (1969), and Coffman, Garey, and Johnson (1978). On the other hand, Dell’Amico and Martello (1995) propose a branch and bound algorithm, and Mokotoff (2004) presents a cutting plane method for optimal solutions. There are a number of research articles on multiple-machine scheduling problems for jobs with sequence-dependent setup times. Guinet (1993), França, Gendreau, Laporte, and Müller (1996), Gendreau, Laporte, and Guimarães (2001), Mendes, Müller, França, and Moscato (2002), and Behnamian, Zandieh, and Fatemi Ghomi (2009) develop heuristic algorithms for identical parallel machine problems with the objective of minimizing makespan, while Kurz and Askin (2001) present heuristics considering release dates of jobs. In addition, Helal, Rabadi, and Al-Salem (2006) and Rabadi, Moraga, and Al-salem (2006) present heuristic algorithms for unrelated parallel machine problems with the makespan criterion, and Das, Gupta, and Khumawala (1995), Ríos-Mercado and Bard (1998, 1999), Norman (1999), Ruiz, Maroto, and Alcaraz (2005), and Ruiz and Stützle (2008) develop heuristics for flowshop scheduling problems with the makespan criterion. See Allahverdi, Ng, Cheng, and Kovalyov (2008) for a survey on studies on multimachine scheduling problems with setups. There also have been various studies on the multi-processor task scheduling problem (MTSP), especially on the following two cases: the one in which a job (task) should be processed by a fixed (and pre-specified) number of machines that can be arbitrarily selected, and the one in which a set of machines is pre-specified for _ each job. For the first case, Błazewicz et al. (1986) show that there exists a polynomial-time algorithm for the problem with the objective of minimizing makespan when the processing times for all _ jobs are equal. Later, Błazewicz, Drozdowski, Schmidt, and Werra (1990) extend the study for a preemptive scheduling case in which each job can be processed on one of parallel processor groups, each with one or two processors. In addition, Chen and Lai (1991), Zhu and Ahuja (1993), Lin and Chen (1994), Og˘uz and Ercan (1997), Li, Cai, and Lee (1998), and Sung and Park (1998) consider the first case and give heuristic algorithms for the makespan criterion. The second case is dealt with in Bozoki and Richard (1970), Bianco, Dell’Olmo, and Speranza (1994), Krämer (1997), Bianco, Dell’Olmo, Giordani, and Speranza (1999), Chen and Lee (1999), and Caramia and Giordani (2010). See Drozdowski (1996) and Lee, Lei, and Pinedo (1997) for reviews on research papers on MTSPs.
In this study, we focus on the problem of assigning given missions to aircrafts and scheduling the assigned missions on the aircrafts while considering sequence-dependent setup times between the missions and the constraint that individual tasks for the same mission should be started simultaneously if the mission needs to be performed by more than one aircraft. We develop heuristic algorithms for the mission assignment/scheduling problem with the objective of minimizing makespan. This paper is organized as follows. In the next section, we describe the problem in more detail and present an integer programming formulation for the problem. Heuristic algorithms developed for the problem are presented in Section 3. To evaluate performance of the proposed heuristics, computational experiments are performed on randomly generated problem instances and results are reported in Section 4. Finally, Section 5 concludes the paper with a short summary and recommendations for further research.
2. Problem description There are n missions to be performed by m (6n) identical aircrafts. Each mission requires a given number of aircrafts and processing time, i.e., flight time for moving from the starting point (origin) to the end point (destination) of the mission, as well as setup time, i.e., flight time for moving from the base or the current location of the aircraft to the starting point of the mission, and set-down time, i.e., flight time for moving from the end point of the mission to the base. The flight time for moving from the end point of a mission to the starting point of another mission is regarded as the setup time of the latter mission. Note that the setup times depend on the sequence of the missions. A mission may require one or more aircrafts according to work required for the mission. A mission requiring one aircraft for its task is called a one-aircraft mission, and a mission that needs multiple aircrafts is called a multiple-aircraft mission. Each mission may be regarded as a job in typical terms of operations scheduling problems. In this study, a task to be performed by each aircraft for a multiple-aircraft mission is called a unit-job. An aircraft can perform at most one unit-job at a time, and at most one unit-job from the same job can be assigned to an aircraft. Hence, the number of unit-jobs of a job is equal to the number of aircrafts required for the job. In the mission scheduling problem considered in this study, unit-jobs of the jobs should be assigned to the aircrafts and the unit-jobs should be scheduled on each aircraft. In addition, unit-jobs of the same job should be started at the same time (because of the reason stated in Section 1). Note that setup times for a multiple-aircraft mission may be different on different aircrafts since the current locations of the aircrafts may be different. The following assumptions are made in this study. (1) The information of the missions, i.e., the number of aircrafts required for the mission, the starting and end points, and flight time between the two points, is given. Note that although the number of aircrafts required for a mission is given, aircrafts to perform unit-jobs of the mission are not specified and this should be determined by the assignment decision. (2) Setup time, the time required for moving from the end point of a mission or the base to the starting point of another mission, and set-down time, the time required for moving from the end point of a mission to the base, are known. Those times may differ depending on the pairs of origins and destinations of the missions, that is, setup (and set-down) times are sequence-dependent. (3) The number of aircrafts required for a mission is not greater than the number of aircrafts in the aviation unit.
B.-K. Kim, Y.-D. Kim / Computers & Industrial Engineering 61 (2011) 1309–1317
(4) An aircraft can perform multiple missions without refueling. That is, the fuel capacity of the aircrafts is large enough for an aircraft to handle missions assigned to it in the planning horizon, which is a day at most in most practical cases. (5) After completing all assigned missions of the planning horizon, an aircraft must return to the base (for maintenance activities and refueling). (6) Loading/unloading time at the starting/end point of a mission is not considered (it is included in the processing time).
3. Heuristic algorithms In this section, we present two-phase heuristic algorithms in which an initial feasible solution is obtained first and then it is improved next. Before we describe the algorithms in detail, we give additional notation used in the description.
r, r0 S
For a clearer description of the problem, we give a mathematical formulation for the problem. We first give notation used in the formulation (and throughout the paper).
U Aj Ki
2.1. Indices and parameters
v^ ij
i j, k sjk
pj
Rj L
index for aircrafts (i 2 I = {1, 2, . . ., m}) indices for missions (j, k 2 J = {1, 2, . . ., n}) flight time from the end point of mission j to the starting point of mission k (the index for the base is ‘‘0’’), this may be regarded as the setup and/or setdown time between (a unit-job of) mission j and (a unit-job of) mission k processing time for a unit-job of mission j, i.e., flight time from the starting point to the end point of the mission number of aircrafts required for mission j a large number
Vj
2.2. Decision variables xij yijk
vij z
=1 if a unit-job of mission j is assigned to aircraft i, and 0 otherwise =1 if a unit-job of mission j is performed after a unit-job of mission k on aircraft i, and 0 otherwise starting time of a unit-job of mission j on aircraft i makespan
Now, we give an integer programming formulation for the problem.
½P Minimize z X xij ¼ Rj subject to
ð1Þ
8j 2 J
ð2Þ
i
v ij þ pj þ sj0 6 z 8i; j 2 J v ij þ ð1 yijk ÞL P v ik þ pk þ skj 8i; j; k 2 J; xij þ xik 1 6 yijk þ yikj xij P yijk þ yikj
8i; j; k 2 J; j – k
8i; j; k 2 J; j – k
v ij v i j 6 ð2 xij xi j ÞL 8i – i0 ; v ij P s0j 8i; j 2 J 0
0
xij 2 f0; 1g 8i; j 2 J yijk 2 f0; 1g 8i; j; k 2 J; j – k
ð3Þ j – kð4Þ ð5Þ ð6Þ
j2J
ð7Þ ð8Þ ð9Þ ð10Þ
Constraint (2) ensures that all unit-jobs of each mission are assigned to the aircrafts, and (3) along with the objective function defines the makespan. Constraint set (4) is the set of disjunctive constraints that define the precedence relationships between pairs of unit-jobs assigned to the same aircraft, while (5), (6) ensure unit-jobs are scheduled on an aircraft when and only when the unit-jobs are assigned to the aircraft. Constraint (7) ensures that unit-jobs of the same mission are started simultaneously. In addition, (8) ensures that the (first) unit-job on each aircraft can only be started after a setup operation for it is completed.
1311
(partial) sequences set of missions that have been scheduled so far (in the algorithm) set of missions that have not been scheduled yet set of aircrafts which perform unit-jobs of mission j set of missions whose unit-jobs are assigned to aircraft i earliest possible start time of a unit-job of mission j on aircraft i estimated (without considering the constraint that the unit-jobs of the same mission should be started at the same time) under the assumption the unit-job of the mission is scheduled after those that have already been assigned and scheduled so far earliest possible start time of mission j, which is ^ ij for i I estimated as the Rjth smallest value of v
We consider two possible approaches to the problem: one in which missions are assigned to the aircrafts and then the assigned missions are scheduled on each aircraft, and the other in which a sequence of the missions is determined first and then the missions are assigned to the aircrafts and scheduled. In a series of preliminary tests, of which the details are not given here, it was found that the second approach worked better than the first one and the second approach is easier to implement. Note that it is not easy to find a good assignment plan in terms of the performance measure employed in this study, and that once an assignment plan is fixed, there is not much chance of finding a good overall schedule or improving a given overall schedule. Hence, in this study, the second approach is employed, and we develop heuristics based on this approach. In the heuristics proposed in this study, a solution is represented with a sequence of missions, and a complete schedule is constructed with the sequence. That is, once a sequence of missions is given, assignment of unit-jobs to the aircrafts and scheduling those unit-jobs on the aircrafts are done using the mission sequence, as follows. Note that a similar method is used for scheduling jobs on multiple machines in Cha and Kim (2010). Assignment and scheduling for the missions are done iteratively, one mission in each iteration in the order of the mission sequence. In other words, the unit-job(s) of a mission in a former poisiton of the sequence are considered for assignment/ scheduling earlier than those in latter positions. If the mission (say, mission j) currently to be considered (for assignment and scheduling) is a one-aircraft mission, it is assigned to and scheduled (after the unit-jobs assigned so far) on an aircraft that can start (the unit-job of) mission j earliest (after setup), i.e., the air^ ij . On the other hand, if the mission to be craft with minimum v considered (mission j) is a multiple-aircraft mission requiring Rj ^ ij values, i.e., aircrafts, it is assigned to Rj aircrafts with smaller v ^ ij values not greater than V j . If there are more aircrafts i with v ^ ij values are than Rj such aircrafts, the Rj aircrafts with larger v chosen. Note that unit-jobs of a multiple-aircraft mission should be scheduled to be started simultaneously. The following summarizes the above procedure of assigning unit-jobs of the missions to the aircrafts and scheduling the unitjobs on the aircrafts.
1312
B.-K. Kim, Y.-D. Kim / Computers & Industrial Engineering 61 (2011) 1309–1317
Procedure 1 (Converting a mission sequence to a schedule). Step 0. Let r be the given mission sequence, i.e., ordered set of missions. Step 1. Select the first mission in r. Let j be the index of the ^ ij for all i’s. If selected mission. Compute the values v mission j is a one-aircraft mission, go to Step 2; otherwise, go to Step 3. ^ ij value, breaking Step 2. Select an aircraft with the minimum v ties arbitrarily, and schedule the unit-job of mission j to ^ ij on the selected aircraft. Delete mission j be started at v from r. If r is empty, stop; otherwise, go back to Step 1. ^ ij values Step 3. Compute the value of V j . Among aircrafts with v that are not greater than V j , select Rj aircrafts with larger v^ ij values. Schedule the unit-jobs of mission j to be started at V j on the selected aircrafts. Delete mission j from r. If r is empty, stop; otherwise, go back to Step 1. In the two-phase algorithms suggested in this study, we find a sequence of missions that gives a good solution. A solution, i.e., assignment and scheduling result, is obtained by the above procedure. As stated earlier, in the two-phase heuristic algorithms, an initial solution is obtained in the first phase and it is improved in the second phase. In the following, we present three methods for the first phase and four methods for the second phase. 3.1. Phase 1 (Obtaining an initial solution) 3.1.1. Most Required Aircrafts heuristic (MRA) A mission sequence is obtained by sorting missions in a nonincreasing order of the number of aircrafts required for the mission. If there is a tie, a mission with longer processing time is placed in a former position than missions with shorter processing time. Based on this mission sequence, unit-jobs of the missions are assigned to the aircrafts and scheduled on the aircrafts with Procedure 1. Note that the method used for obtaining a mission sequence is similar to a method presented by Zhu and Ahuja (1993). 3.1.2. Modified NEH heuristic (MNEH) NEH is an algorithm developed by Nawaz, Enscore, and Ham (1983) for permutation flowshop scheduling problems with the objective of minimizing makespan. In NEH, jobs are sorted in a non-increasing order of the sum of the processing times on the machines. Then, a solution, i.e., a complete schedule for the jobs, is obtained by adding jobs one by one into a sequence in that order, i.e., inserting each job into the best position in the current (partial) sequence which results in the best (partial) schedule. In this study, we modify NEH for our problem. The modified NEH algorithm (MNEH) suggested in this study employs the same procedure for constructing a final complete sequence of missions as that of the original NEH algorithm but uses a different method for sorting missions or obtaining an initial sequence. In MNEH, an initial sequence is obtained by solving a single-processor scheduling problem with sequencedependent setup times that is constituted under the assumptions that there exists only one aircraft and each mission is one-aircraft mission. This single-processor problem is regarded as a traveling salesman problem (TSP) and is solved with a heuristic suggested by Karp (1979), which gives a relatively good solution in a short time. Note that we do not need an optimal solution for the initial sequence here. In the schedule construction procedure, candidates (partial sequences of missions) are evaluated by Procedure 1. The procedure of MNEH can be summarized as follows.
Procedure 2 (MNEH). Step 1. Obtain an initial sequence of missions by applying a heuristic algorithm for TSPs to the single-processor scheduling problem mentioned above. Let r denote the sequence of the missions in the solution of the problem. Let r0 be the sequence with no missions in it. Step 2. Select the first mission in r. Let j be the index of the selected mission. Step 3. Check and evaluate all possible positions of j in r0 with Procedure 1, and select the best position. Let r0 be the new (partial) sequence with mission j in its best position. Delete mission j from r. If there is no mission in r, stop (r0 is the final sequence); otherwise, go to Step 2. 3.1.3. Bottleneck-Focused heuristic (BF) This algorithm employs the basic idea used in the algorithms for multi-stage scheduling problems in Lee, Kim, and Choi (2004) and Choi, Kim, and Bang (2010). They present bottleneck-focused algorithms in which a schedule in a bottleneck workstation is determined first and then schedules for non-bottleneck workstations are constructed based on the schedule in the bottleneck workstation. In the bottleneck-focused heuristic suggested in this paper, the sequence of missions is obtained in two steps, first for missions assigned to a bottleneck aircraft and then for the other missions. First, unit-jobs of the missions are tentatively assigned to the aircrafts, and a bottleneck aircraft is identified with the assignment result. The assignment result is used only for the identification of a bottleneck aircraft but not used later on. The bottleneck aircraft is the one with the maximum sum of processing times and setup/set-down times of the unit-jobs assigned to it. Then, the sequence of the unit-jobs assigned to the bottleneck aircraft is determined. Note that the makespan of a complete schedule tends to be affected most by the schedule on the aircraft with the maximum workload. The sequence of these unit-jobs becomes the sequence of missions corresponding to the unit-jobs. The sequence of missions of which the unit-jobs are not assigned to the bottleneck aircraft is determined next, for a complete sequence of missions. For the assignment of unit-jobs to aircrafts, the concept of an estimated setup time is introduced in this study. Note that the exact (effective) setup time can be known only after unit-jobs are assigned to the aircrafts and the sequence of the unit-jobs is determined on each aircraft. The setup time for a unit-job of mission j is estimated as the sum of setup time and set-down time before and after the unit-job, as in the following three methods:
Method ð1Þ ^sj ¼
X
skj =n þ
k–j2J[f0g
X
sjk =n;
k–j2J[f0g
Method ð2Þ ^sj ¼ min fskj g þ min fsjk g; and k–j2J[f0g
k–j2J[f0g
Method ð3Þ ^sj ¼ max fskj g þ max fsjk g: k–j2J[f0g
k–j2J[f0g
In this study, the above three methods are evaluated through a (preliminary) test and the one that works best is selected and used in the bottleneck-focused heuristic (BF). (Although the result is not given in detail, Method 1, in which the average values are used, worked best in the preliminary test and it is implemented in BF.) The (sub)problem of assigning unit-jobs to the aircrafts is formulated using the estimated setup time as follows. 0
½SP Minimize z0 subject to
X j
xij pj þ
ð1 Þ X j
xij^sj 6 z0
8i
ð11Þ
1313
B.-K. Kim, Y.-D. Kim / Computers & Industrial Engineering 61 (2011) 1309–1317
X
xij ¼ Rj
8j 2 J
ð2Þ
i
xij 2 f0; 1g 8i; j 2 J
aircraft 1
s 01
p1
s 13
p3
s 34
p4
s 40
aircraft 2
s 01
p1
s 13
p3
s 34
p4
s 40
p3
s 30
ð9Þ
In [SP], an approximated value for the makespan, which is defined with (11), is to be minimized. In this study, we solve the above assignment problem with CPLEX, a commercial software for mathematical programming problems. In BF proposed in this study, an error bound of 3% or time limit of 1 minute is given as the stopping condition for CPLEX runs (to obtain a solution for a large-size problem in a reasonable amount of time). Note that an optimal solution of the above assignment problem is not sought for here. The bottleneck aircraft is the one with the maximum sum of processing times and estimated setup times of the unit-jobs assigned to it, i.e., the one of which the sum is equal to the optimal (or best, if [SP] is not solved to optimality) solution value z0 . Once a bottleneck aircraft is identified with the solution, the problem of sequencing unit-jobs on the bottleneck aircraft, which can be regarded as a traveling salesman problem, is solved with CPLEX. The sequence of the unit-jobs on the bottleneck aircraft is used as the relative sequence among the missions associated with the unit-jobs. This (partial) sequence of the missions is fixed for scheduling unit-jobs on other aircrafts. The sequence of the missions whose unit-jobs are not assigned to the bottleneck aircraft is obtained with a greedy method. That is, these missions are considered one by one in a non-increasing order of the numbers of aircrafts required for the missions. If there are ties, missions with longer processing time are considered earlier. For each mission, we consider as an alternative every possible position in the partial sequence of the missions to which the current mission can be inserted and select the one that results in the best (partial) schedule. For each partial sequence of missions associated with the alternatives, the result (makespan) is estimated (computed) with Procedure 1. The following summarizes the overall procedure of the bottleneck-focused heuristic (BF). Procedure 3 (BF). Step 0. Set U = {1, . . . , N}, S ¼ £ and K i ¼ £ for all i. Step 1. Solve [SP] (with CPLEX) and select an aircraft with the P P maximum value of j xi0 j pj þ j xi0 j^sj , breaking ties arbi trarily. Let i be the index of the selected aircraft and Ki be the set of missions whose unit-jobs are assigned to the aircraft. Delete Ki from U and add Ki to S. Step 2. Solve the TSP defined for sequencing the unit-jobs associated with Ki on aircraft i (with CPLEX) to determine the sequence of missions in Ki. Let r be the resulting mission sequence. Step 3. If U ¼ £, execute Procedure 1 to find a complete schedule using r and stop. Otherwise, go to Step 4. Step 4. Select a mission with the largest number of aircrafts required for the mission among the missions in U (breaking ties by selecting a mission with the longest processing time). Let j be the index of the selected mission. Evaluate all possible positions of j in r with Procedure 1, and select the best position. Let r be the new sequence with mission j in its best position. Step 5. Let U U {j}, S S + {j}. If U ¼ £, stop; otherwise, go to Step 4.
aircraft 3
s 02
p2
s 23
(a) Result of Procedure 1 aircraft 1
s 01
p1
s 14
p4
s 43
p3
s 30
aircraft 2
s 01
p1
s 14
p4
s 43
p3
s 30
p3
s 30
aircraft 3
s 02
p2
s 23
(b) Result of the modified method Fig. 1. Results of the two schedule conversion methods.
a solution for the problem is represented with a sequence of missions. This sequence of missions is changed through an improvement procedure. Note that once a sequence of missions is given, unit-jobs of the missions can be assigned to the aircrafts and these unit-jobs can be scheduled on each aircraft with Procedure 1. In Phase 2, the solutions are improved with a greedy local search method. Starting from an initial solution (or sequence), which is obtained in Phase 1, a set of neighborhood solutions are generated from the current solution by interchanging positions of two missions in the sequence (interchange) and/or moving a mission to another position in the sequence (insertion). All pairs of missions are considered for interchange and all possible missions and their new positions in the sequence are considered for insertion. The current solution (sequence) is replaced with the best neighborhood solution, if this is better than the current solution. This procedure for improvement is terminated when the best neighborhood solution is not better than the current solution. We will test four local search methods, in which the following four methods are used for neighborhood generation: interchange (IC); insertion (IS); interchange followed by insertion (IC + IS); and insertion followed by interchange (IS + IC). In IC + IS, the solutions are improved with IC until the solution cannot be improved any more and then IS is used for further improvement. Similarly, IS and IC are used sequentially in IS + IC. In addition to the above local search methods, we use a slightly modified method for converting a given mission sequence to a schedule. Unlike in Procedure 1, in this method, a mission currently being considered, say mission j, is scheduled at the earliest possible time (if there are idle time periods long enough for the mission on Rj aircrafts). Hence, it can be scheduled earlier than other missions that are placed earlier than it in the given mission sequence. Note that in the schedule obtained from Procedure 1, a mission is not started earlier than other missions that are placed at earlier positions than it in the mission sequence. This new conversion procedure reduces unnecessary idle times of the aircrafts. An example of the schedules obtained by the two procedures, Procedure 1 and the modified method, from the same mission sequence is shown in Fig. 1. In the example, there are three aircrafts and four missions, a one-aircraft mission (mission 2) and three multiple-aircraft missions (missions 1, 3 and 4), and the mission sequence is given as (1–2–3–4). As can be seen in the figure, by placing mission 4 in idle periods of aircrafts 1 and 2 in the modified method, one can reduce the idle times of aircrafts 1 and 2 and the makespan for the four missions.
4. Computational experiments 3.2. Phase 2 (Improving the solution) In Phase 2 of the two-phase algorithms, we improve the solution obtained in the first phase using a local search method. As in Phase 1,
To evaluate the performance of the proposed heuristics, a series of computational experiments was performed on a number of problem instances that were generated randomly but in a way that
1314
B.-K. Kim, Y.-D. Kim / Computers & Industrial Engineering 61 (2011) 1309–1317
\the resulting instances reflected real situations. That is, the instances were generated based on information including that of the numbers of aircrafts in an aviation unit, missions to be performed each day, and aircrafts required for each mission in the army aviation units of Korea. For the test, 280 problem instances were generated, ten instances for each of 28 selected combinations of four levels (5, 10, 15, 20) for m, the number of aircrafts, five levels (5, 10, 15, 20, 25) for n, the number of missions, and two levels ([1, 3], [1, 5]) for the range of the number of aircrafts required for each mission. (See Table 1 for the selected combinations.) The locations, i.e., x–y coordinates, of the starting and the end points of missions were generated randomly in a square plane (100, 100). In other words, the x- and y-coordinates of each starting/end point were independently generated from the uniform distribution with range (0, 100). The processing time for a mission was set to 200 times the Euclidian distance between the starting and end points of the mission. Also, the setup/set-down time is set to 200 times the Euclidian distance between relevant points for the corresponding missions. The coordinates of the base was set to (50, 50). We tested 15 heuristic algorithms, combinations of three methods (MRA, MNEH, BF) for the first phase and five methods (IC, IS, IC + IS, IS + IC, null) for the second phase. All algorithms were coded in C and tests were done on a personal computer with Core2 Duo processor operating at 2.66 GHz clock speed. For evaluation of the performance of the heuristics, the solutions were compared with optimal solutions or the best solutions obtained by CPLEX 12.1 within a CPU time limit of 3 h (10,800 s). Optimal (or the best) solutions were obtained by solving [P], the integer programming formulation for the problem, with CPLEX. First, we compare the performance of the heuristics and the results are given in Table 2. The table shows the number of instances (out of 280) for which each heuristic found the best solution and the relative deviation index (RDI), which is defined as B a B W C amax C Bmax = C W max C max , where C max , C max and C max denote Table 1 Composition of the selected problem sets.
a
Number of aircrafts
Number of missions
RNARa
5 10 15 20
5, 10, 15, 20, 25 10, 15, 20, 25 15, 20, 25 20, 25
[1, [1, [1, [1,
3], 3], 3], 3],
Range of the number of aircrafts required for each mission.
[1, [1, [1, [1,
5] 5] 5] 5]
the solution value of the algorithm a, the best solution value and the worst solution value among all the heuristics for each problem instance, respectively. This index has a value between 0 and 1. The table also shows the average CPU time needed for an instance of three selected instance sets of different sizes. Among the three methods for Phase 1, BF and MNEH worked better than MRA, and BF performs slightly better than MNEH in terms of solution quality. This may be because much more (partial) sequences of missions are considered in BF and MNEH than in MRA. In addition, the sequence-dependent setup/set-down times are considered in BF and MNEH when a (partial) sequence of missions is checked, while setup/set-down times are not considered in MRA. BF worked best although it required longer CPU time than the others. (BF with local search methods also worked better than MNEH and MRA with the same local search methods.) This may be because the overall performance is affected significantly by the sequence on a bottleneck aircraft. This is consistent with the findings of Lee et al. (2004) and Choi et al. (2010), which show that bottleneck-focused scheduling methods work well in multi-machine problems. As can be seen from the table, local search methods in Phase 2 significantly improved an initial solution in Phase 1. Between IC and IS, IC worked better than IS. In addition, IC + IS and IS + IC gave better solutions as expected, although they took longer time. However, the additional time needed was not very long, and these algorithms with local search procedures are fast enough to be used for the problems in a real battlefield. Note that in practice, the mission scheduling problem is to be solved once a day and it needs to be solved within 5–10 min or less. To see if there is (statistically significant) effect of the three heuristic methods of the first phase and four local search methods of the second phase on the solution quality, we performed an analysis of variance. As can be seen from Table 3, the solution quality was affected by the methods of both phases, but there was no interaction effect between these two sets of methods. In addition, results of Tukey’s multiple comparison tests showed that there are (statistically significant) differences in the performance of the three methods used in the first phase (BF MNEH MRA, where ‘‘’’ means ‘‘works better than’’). Among the local search methods, IC + IS worked best in terms of the solution quality (IC þ IS IC IS; IC þ IS ; IS þ IC, and IC ; IS þ IC, where ‘‘A ; B’’ means ‘‘there is no significant difference between A and B’’). We further analyze absolute performance of the heuristics by comparing their solutions with optimal solutions or lower bounds
Table 2 Performance of the proposed heuristics on all problem instances. Average CPU time (in seconds) Algorithms MRA MRA + IC MRA + IS MRA + IC + IS MRA + IS + IC MNEH MNEH + IC MNEH + IS MNEH + IC + IS MNEH + IS + IC BF BF + IC BF + IS BF + IC + IS BF + IS + IC a b c
NBSa 3 59 45 76 71 18 68 51 90 85 27 93 70 129 101
RDIb 0.981 (0.110) 0.164 (0.160) 0.206 (0.181) 0.126 (0.137) 0.139 (0.146) 0.376 (0.243) 0.113 (0.120) 0.164 (0.163) 0.095 (0.117) 0.110 (0.133) 0.283 (0.211) 0.082 (0.097) 0.116 (0.129) 0.063 (0.091) 0.072 (0.095)
5, 10, [1, 5]c
15, 15, [1, 5]
20, 25, [1, 5]
<0.01 0.01 <0.01 0.01 0.01 <0.01 <0.01 <0.01 0.01 <0.01 0.09 0.09 0.09 0.09 0.10
<0.01 0.14 0.14 0.17 0.24 <0.01 0.11 <0.01 0.15 0.15 6.35 6.41 6.38 6.45 6.46
<0.01 1.70 2.10 2.41 2.59 0.02 1.18 1.12 1.52 1.80 1.67 2.91 2.76 3.31 3.52
The number of problem instances (out of 280) for which each algorithm found the best solution. Average (and standard deviation of) relative deviation index. These denote the number of aircrafts, the number of missions, and the range of the number of aircrafts required for each mission, respectively, in the instances.
1315
B.-K. Kim, Y.-D. Kim / Computers & Industrial Engineering 61 (2011) 1309–1317 Table 3 Results of analysis of variance.
**
Source of variation
Degree of freedom
Sum of squares
Mean square
Methods of Phase 1 Methods of Phase 2 Interaction Error Total
2 3 6 3336 3347
3.16 2.17 0.09 59.45 64.86
1.58 0.72 0.01 0.02
F 88.67** 40.56** 0.81
There is statistically significant effect of the factor at significance level of 0.01.
that were obtained from CPLEX. In this comparison, we include only a subset of heuristic algorithms that worked better. Included are combinations of two methods (MNEH and BF) of phase 1 and two methods (IC and IC + IS) of phase 2. Note that MNEH and BF worked better than MRA and IC and IC + IS worked better than IS and IS + IC, respectively. MNEH and BF without local search methods are also included in the comparison. Results on small-size instances, those with five aircrafts, are given in Table 4, which shows the average and standard deviation of percentage gaps of the heuristic solution values from optimal solution values as well as the number of cases the heuristic algorithms found optimal solutions. As in the previous test results, heuristics with BF outperformed those with MNEH. Also, the local search methods improved
the solutions significantly. Especially, BF + IC + IS found optimal solutions in 30 (out of 40) instances. It took less than 0.5 s for the heuristics to find a solution for an instance, while it took more than 1 h on average to obtain a solution with CPLEX for an instance with 10 missions. Results of the test on larger size instances, those of practical sizes, are given in Table 5. The table shows the number of instances (out of 10, or 160 instances for overall results) for which each heuristic found solutions not worse than those of CPLEX and the percentage gap, which is defined as 100(TH TP)/TP, where TH and TP denote the solution value of each heuristic algorithm and the best solution value obtained by CPLEX within a time limit of 3 h, respectively. The table also shows the median CPU time for CPLEX and the number of problem instances for which CPLEX gave optimal solutions within the time limit. Note that the negative numbers for percentage gaps mean that the heuristic solutions were better than those of CPLEX. The table does not include results of some of the instances included in the first series of tests, i.e., instance sets of 25 missions with 5, 10, and 15 aircrafts and 20 missions with 10 aircrafts, since they could not be solved by CPLEX within a reasonable amount of time. As can be seen from the table, heuristic solutions were better than the solutions obtained from CPLEX in the majority of the problem instances. The outperformance of the heuristics over the
Table 4 Performance of the proposed heuristics on small-size problem instances. Problem instance sets Algorithms
5, 5, [1,3]a PGb
MNEH MNEH + IC MNEH + IC + IS BF BF + IC BF + IC + IS
0 0 0 0
ACPU-CP* a b c *
Overall 5, 5, [1,5]
1.0 (3.0) (0) (0) 2.0 (4.6) (0) (0)
NOc
PG
8 10 10 7 10 10
3.0 0.6 0.6 1.3 0 (0) 0 (0)
0.08
5, 10, [1,3]
(4.7) (2.0) (2.0) (3.1)
NO
PG
6 9 9 8 10 10
9.6 2.5 1.9 5.7 1.3 0.6
(6.1) (2.6) (2.4) (5.6) (2.4) (1.2)
0.12
5, 10, [1,5] NO
PG
0 2 3 2 6 7
7.8 2.6 2.2 7.7 3.9 2.1
4689.59
(4.5) (2.8) (2.6) (4.5) (3.3) (2.1)
NO
PG
0 0 1 1 1 3
5.4 1.4 1.2 4.2 1.3 0.7
NO (5.7) (2.4) (2.2) (5.1) (2.6) (1.5)
2709.41
14 21 23 18 27 30
1849.80
See the footnote in Table 2. Average (and standard deviation of) percentage gap of the heuristic solutions from optimal solutions. The number of instances out of 10 instances (40 instances for overall results) for which the algorithm found optimal solutions. Average CPU time (in seconds) required for CPLEX to solve a problem instance to optimality.
Table 5 Performance of the proposed heuristics on large-size problem instances. Instance sets (m, n, Rj)
MNEH
MNEH + IC
MNEH + IC + IS
BF
BF + IC
BF + IC + IS
NIS-CPb
MCPU-CPc
5, 15, [1,3] 5, 15, [1,5] 5, 20, [1,3] 5, 20, [1,5] 10, 10, [1,3] 10, 10, [1,5] 10, 15, [1,3] 10, 15, [1,5] 15, 15, [1,3] 15, 15, [1,5] 15, 20, [1,3] 15, 20, [1,5] 20, 20, [1,3] 20, 20, [1,5] 20, 25, [1,3] 20, 25, [1,5]
3.4/6a 2.1/6 15.7/10 7.5/10 10.1/3 13.7/1 9.3/2 8.7/7 11.4/0 4.2/6 5.5/3 25.8/10 15.8/0 15.4/9 8.5/1 32.1/10
9.4/10 5.2/8 18.4/10 11.1/10 2.8/4 2.4/5 1.5/5 19.8/10 1.7/6 12.0/9 6.5/5 33.4/10 1.5/4 24.2/10 0.1/6 37.5/10
9.9/10 5.8/8 19.1/10 12.1/10 2.5/6 2.1/6 2.1/6 20.6/10 1.7/6 13.2/9 6.6/5 34.3/10 1.3/4 24.4/10 0.4/6 38.0/10
8.0/9 1.9/4 16.1/10 10.5/10 11.6/2 7.0/3 9.5/2 15.1/8 9.4/0 4.2/5 0.4/5 29.3/10 10.2/0 19.1/8 5.8/3 32.8/10
11.0/10 5.2/9 19.1/10 11.5/10 0.6/6 0.2/5 1.6/4 20.5/10 3.3/6 12.4/9 8.7/6 33.6/10 0.1/4 26.0/10 3.7/7 39.2/10
11.8/10 6.0/9 19.3/10 13.7/10 0.6/6 0.2/5 0.5/5 20.6/10 2.2/6 12.5/9 9.2/6 34.1/10 0.1/5 26.1/10 4.0/7 39.5/10
0 0 0 0 8 1 0 0 7 0 1 0 6 0 4 0
>3 h >3 h >3 h >3 h 13.69 >3 h >3 h >3 h 39.22 >3 h >3 h >3 h 7512.53 >3 h >3 h >3 h
10.7/122
11.2/126
11.6/126
12.1/128
27
>3 h
Overall a
2.5/84
5.2/89
Average percentage gap of the heuristic solutions from the best solutions of CPLEX within 3 hours and the number of instances out of 10 instances (160 instances for overall results) for which the algorithm found solutions not worse than those of CPLEX. b The number of instances (out of 10, or out of 160 for overall results) which were solved to optimality by CPLEX within 3 h. c Median CPU time (in seconds) required for CPLEX.
1316
B.-K. Kim, Y.-D. Kim / Computers & Industrial Engineering 61 (2011) 1309–1317
commercial software (run with a CPU time limit) becomes clearer as the numbers of missions and aircrafts increase and as the ranges for the number of aircrafts required for each mission are larger, i.e., [1, 5]. This may be because CPLEX cannot handle the problems when the number of unit-jobs to be assigned to and scheduled on each aircraft is large, since it is directly related to the number of decision variables for assignment/scheduling in [P]. From the solution quality and required computation time, the suggested heuristics, especially BF with IC + IS, may be regarded as a viable tool for assigning and scheduling flight missions in the military aviation units considered in this study. 5. Concluding remarks In this paper, we proposed heuristic algorithms for a mission assignment and scheduling problem in a military aviation unit with the objective of minimizing makespan. We considered situations in which a flight mission is to be performed by one or more aircrafts and tasks for a mission should be started simultaneously if multiple aircrafts are needed for the mission. In the heuristics, solutions are represented with sequences of missions, and we presented methods to convert a (partial) sequence of missions into a solution (assignment and schedule). We proposed two-phase heuristic algorithms in which an initial solution is obtained in the first phase and it is improved in the second phase. Results of experimental tests showed that the proposed heuristics give good or near-optimal solutions within a reasonable amount of computational time. This research can be extended in several directions. For example, metaheuristics such as tabu search, simulated annealing, and genetic algorithms can be used in the second phase (if more time is allowed for mission assignment and scheduling). In this research, it is assumed that the number of aircrafts required for a mission is given and fixed. However, in many cases, where tasks for a mission can be performed sequentially (not simultaneously), the operations planning officer of an aviation unit can or may have to determine the number of aircrafts to perform each mission. In this case, an aircraft can perform multiple unit-jobs of a mission, and individual unit-jobs need to be assigned to the aircrafts. Also, one needs to consider cases in which there are different types of aircrafts and certain missions require specific and/or multiple types of aircrafts with different capacities from different aviation units. Although we focused on the aircraft mission scheduling problem in this research, the solution methods proposed in this study may be applied (after certain modifications if needed) to other practical applications, such as diagnostic test in multicomputer systems (Krawczyk & Kubale, 1985), target assignment and fire sequencing (Kwon, Lee, & Park, 1997), berth allocation in a container terminal (Guan, Xiao, Cheung, & Li, 2002), and operation of real-time machine-vision systems (Og˘uz & Ercan, 2005), where a job can be processed by a number of machines at the same time. References Akyol, D. E., & Bayhan, G. M. (2006). Minimizing makespan on identical parallel machines using neural networks. Lecture Notes in Computer Science, 4234, 553–562. Allahverdi, A., Ng, C. T., Cheng, T. C. E., & Kovalyov, M. Y. (2008). A survey of scheduling problems with setup times or costs. European Journal of Operational Research, 187, 985–1032. Archetti, C., & Speranza, M. G. (2006). An overview on the split delivery vehicle. Operations Research Proceedings, 123–127. Behnamian, J., Zandieh, M., & Fatemi Ghomi, S. M. T. (2009). Parallel-machine scheduling problems with sequence-dependent setup times using an ACO, SA and VNS hybrid algorithm. Expert Systems with Applications, 36, 9637–9644. Bianco, L., Dell’Olmo, P., Giordani, S., & Speranza, M. G. (1999). Minimizing makespan in a multimode multiprocessor shop scheduling problem. Naval Research Logistics, 46, 893–911.
Bianco, L., Dell’Olmo, P., & Speranza, M. G. (1994). Nonpreemptive scheduling of independent tasks with prespecified processor allocations. Naval Research Logistics, 41, 959–971. _ Błazewicz, J., Drabowski, M., & We˛glarz, J. (1986). Scheduling multiprocessor tasks to minimize schedule length. IEEE Transactions on Computers, 35, 389–393. _ Błazewicz, J., Drozdowski, M., Schmidt, G., & Werra, D. D. (1990). Scheduling independent two processor tasks on a uniform duo-processor system. Discrete Applied Mathematics, 28, 11–20. Blackstone, J. H., & Phillips, D. T. (1981). An improved heuristic for minimizing makespan among m identical parallel processors. Computers & Industrial Engineering, 5, 279–289. Bozoki, G., & Richard, J.-P. (1970). A branch-and-bound algorithm for the continuous-process job-shop scheduling problem. AIIE Transactions, 2, 246–252. Caramia, M., & Giordani, S. (2010). A fast metaheuristic for scheduling independent tasks with multiple modes. Computers & Industrial Engineering, 58, 64–69. Cha, Y.-H., & Kim, Y.-D. (2010). Fire scheduling for planned artillery attack operations under time-dependent destruction probabilities. Omega, 38, 383–392. Chen, G.-I., & Lai, T.-H. (1991). Scheduling independent jobs on a partitionable hypercube. Journal of Parallel and Distributed Computing, 12, 74–78. Chen, J., & Lee, C.-Y. (1999). General multiprocessor task scheduling. Naval Research Logistics, 46, 57–74. Coffman, E. G., Garey, M. R., & Johnson, D. S. (1978). An application of bin-packing to multiprocessor scheduling. SIAM Journal on Computing, 7, 1–17. Choi, Y.-C., Kim, Y.-D., & Bang, J.-Y. (2010). Scheduling algorithms for an air conditioner manufacturing system composed of multiple parallel assembly lines. The International Journal of Advanced Manufacturing Technology, 51, 1225–1241. Das, S. R., Gupta, J. N. D., & Khumawala, B. M. (1995). A savings index heuristic algorithm for flowshop scheduling with sequence dependent set-up times. Journal of the Operational Research Society, 46, 1365–1373. Dell’Amico, M., & Martello, S. (1995). Optimal scheduling of tasks on identical parallel processors. ORSA Journal on Computing, 7, 191–200. Drozdowski, M. (1996). Scheduling multiprocessor tasks – An overview. European Journal of Operational Research, 94, 215–230. França, P. M., Gendreau, M., Laporte, G., & Müller, F. M. (1994). A composite heuristic for the identical parallel machine scheduling problem with minimum makespan objective. Computers & Operations Research, 21, 205–210. França, P. M., Gendreau, M., Laporte, G., & Müller, F. M. (1996). A tabu search heuristic for the multiprocessor scheduling problem with sequence dependent setup times. International Journal of Production Economics, 43, 79–89. Garey, M. R., & Johnson, D. S. (1979). Computers and intractability: A guide to the theory of NP-completeness. San Francisco: W.H. Freeman. Gendreau, M., Laporte, G., & Guimarães, E. M. (2001). A divide and merge heuristic for the multiprocessor scheduling problem with sequence dependent setup times. European Journal of Operational Research, 133, 183–189. Graham, R. L. (1969). Bounds on multiprocessing timing anomalies. SIAM Journal on Applied Mathematics, 17, 416–429. Guan, Y., Xiao, W.-Q., Cheung, R. K., & Li, C.-L. (2002). A multiprocessor task scheduling model for berth allocation: Heuristic and worst-case analysis. Operations Research Letters, 30, 343–350. Guinet, A. (1993). Scheduling sequence-dependent jobs on identical parallel machines to minimize completion time criteria. International Journal of Production Research, 31, 1579–1594. Gupta, J. N. D., & Ruiz-Torres, J. (2001). A LISTFIT heuristic for minimizing makespan on identical parallel machines. Production Planning & Control, 12, 28–36. Helal, M., Rabadi, G., & Al-Salem, A. (2006). A tabu search algorithm to minimize the makespan for the unrelated parallel machines scheduling problem with setup times. International Journal of Operations Research, 3, 182–192. Ho, J. C., & Wong, J. S. (1995). Makespan minimization for m parallel identical processors. Naval Research Logistics, 42, 935–948. Hübscher, R., & Glover, F. (1994). Applying tabu search with influential diversification to multiprocessor scheduling. Computers & Operations Research, 21, 877–884. Hwang, H.-J., & Kim, K.-T. (2003). 2-approximation algorithm for parallel machine scheduling with consecutive eligibility. Journal of the Korean Institute of Industrial Engineers, 29, 190–196. Kang, K.-H., & Lee, Y.-H. (2007). Heuristic for vehicle routing problem with perishable product delivery. Journal of the Korean Institute of Industrial Engineers, 33, 265–272. Karp, R. M. (1979). A patching algorithm for the nonsymmetric traveling-salesman problem. SIAM Journal on Computing, 8, 561–573. Kashan, A. H., & Karimi, B. (2009). A discrete particle swarm optimization algorithm for scheduling parallel machines. Computers & Industrial Engineering, 56, 216–233. Krämer, A. (1997). Branch and bound methods for scheduling problems with multiprocessor tasks on dedicated processors. OR Spectrum, 19, 219–227. Krawczyk, H., & Kubale, M. (1985). An approximation algorithm for diagnostic test scheduling in multicomputer systems. IEEE Transactions on Computing, 34, 869–872. Kurz, M. E., & Askin, R. G. (2001). Heuristic scheduling of parallel machines with sequence-dependent set-up times. International Journal of Production Research, 39, 3747–3769. Kwon, O.-J., Lee, K.-S., & Park, S.-S. (1997). Targeting and scheduling problem for field artillery. Computers & Industrial Engineering, 33, 693–696.
B.-K. Kim, Y.-D. Kim / Computers & Industrial Engineering 61 (2011) 1309–1317 Lee, C.-Y., Lei, L., & Pinedo, M. (1997). Current trends in deterministic scheduling. Annals of Operations Research, 70, 1–41. Lee, C.-Y., & Massey, J. D. (1988). Multiprocessor scheduling: Combining LPT and MULTIFIT. Discrete Applied Mathematics, 20, 233–242. Lee, G.-C., Kim, Y.-D., & Choi, S.-W. (2004). Bottleneck-focused scheduling for a hybrid flowshop. International Journal of Production Research, 42, 165–181. Li, C.-L., Cai, X., & Lee, C.-Y. (1998). Scheduling with multiple-job-on-one-processor pattern. IIE Transactions, 30, 433–445. Lin, J.-F., & Chen, S.-J. (1994). Scheduling algorithm for nonpreemptive multiprocessor tasks. Computers & Mathematics with Applications, 28, 85–92. Mendes, A. S., Müller, F. M., França, P. M., & Moscato, P. (2002). Comparing metaheuristic approaches for parallel machine scheduling problems. Production Planning & Control, 13, 143–154. Mokotoff, E. (2004). An exact algorithm for the identical parallel machine scheduling problem. European Journal of Operational Research, 152, 758–769. Mokotoff, E., Jimeno, J. L., & Gutiérrez, A. I. (2001). List scheduling algorithms to minimize the makespan on identical parallel machines. TOP, 9, 243–269. Nawaz, M., Enscore, E. E., & Ham, I. (1983). A heuristic algorithm for the m-Machine, n-job flow-shop sequencing problem. Omega, 11, 91–95. Norman, B. A. (1999). Scheduling flowshops with finite buffers and sequencedependent setup times. Computers & Industrial Engineering, 36, 163–177. Og˘uz, C., & Ercan, M. F. (1997). Scheduling multiprocessor tasks in a two-stage flowshop environment. Computers & Industrial Engineering, 33, 269–272.
1317
Og˘uz, C., & Ercan, M. F. (2005). A genetic algorithm for hybrid flow-shop scheduling with multiprocessor tasks. Journal of Scheduling, 8, 323–351. Rabadi, G., Moraga, R. J., & Al-salem, A. (2006). Heuristics for the unrelated parallel machine scheduling problem with setup times. Journal of Intelligent Manufacturing, 17, 85–97. Ríos-Mercado, R. Z., & Bard, J. F. (1998). Heuristics for the flow line problem with setup costs. European Journal of Operational Research, 110, 76–98. Ríos-Mercado, R. Z., & Bard, J. F. (1999). An enhanced TSP-based heuristic for makespan minimization in a flow shop with setup times. Journal of Heuristics, 5, 53–70. Ruiz, R., Maroto, C., & Alcaraz, J. (2005). Solving the flowshop scheduling problem with sequence dependent setup times using advanced metaheuristics. European Journal of Operational Research, 165, 34–54. Ruiz, R., & Stützle, T. (2008). An iterated greedy heuristic for the sequence dependent setup times flowshop problem with makespan and weighted tardiness objectives. European Journal of Operational Research, 187, 1143–1159. Sung, K.-S., & Park, J.-S. (1998). A linear clustering method for the scheduling of the directed acyclic graph model with multiprocessors using genetic algorithm. Journal of the Korean Institute of Industrial Engineers, 24, 591–600. Zhu, Y., & Ahuja, M. (1993). On job scheduling on a hypercube. IEEE Transactions on Parallel and Distributed Systems, 4, 62–69.