Available online at www.sciencedirect.com
Omega 32 (2004) 145 – 153 www.elsevier.com/locate/dsw
Job scheduling with dual criteria and sequence-dependent setups: mathematical versus genetic programming Sang M. Leea;∗ , Arben A. Asllanib a Department
b Department
of Management, University of Nebraska-Lincoln, Lincoln, NE 68588, USA of Management, University of Tennessee-Chattanooga, Chattanooga, TN 37403-2598, USA Received 14 October 2002; accepted 3 October 2003
Abstract Flexibility, speed, and e.ciency are major challenges for operations managers in today’s knowledge-intensive organizations. Such requirements are converted into three production scheduling criteria: (a) minimize the impact of setup times in 4exible production lines when moving from one product to another, (b) minimize number of tardy jobs, and (c) minimize overall production time, or makespan, for a given set of products or services. There is a wide range of solution methodologies for such NP-hard scheduling problems. While mathematical programming models provide optimal solutions, they become too complex to model for large scheduling problems. Simultaneously, heuristic approaches are simpler and very often independent of the problem size, but provide “good” rather than optimal solutions. This paper proposes and compares two alternative solutions: 0-1 mixed integer linear programming and genetic programming. It also provides guidelines that can be used by practitioners in the process of selecting the appropriate scheduling methodology. ? 2003 Elsevier Ltd. All rights reserved. Keywords: Dual criteria scheduling; Sequence dependent setup times; 0-1 mathematical programming; Genetic algorithm
1. Introduction Improving scheduling systems for greater customer satisfaction and operations e.ciency requires an optimization criterion that incorporates both meeting due times and minimizing the makespan. Simultaneously, the sequence-dependent setup time environment with dual criteria is a very common scheduling problem in both manufacturing and service organizations [1]. This paper deals with a single-server-scheduling problem with dual criteria: minimizing the number of tardy jobs and makespan, while considering the impact of setup times between jobs. Following the three-Aeld notation provided by Pinedo [2], such a problem is denoted as 1|sjk | Uj; Cmax . This dual criteria problem is an NP-hard problem since its simpler case of
∗ Corresponding author. Tel.: +1-402-472-3915; fax: +1-402472-5855. E-mail address:
[email protected] (S.M. Lee).
0305-0483/$ - see front matter ? 2003 Elsevier Ltd. All rights reserved. doi:10.1016/j.omega.2003.10.001
the single criterion problem, 1|sjk |Cmax is an NP-hard problem [2]. Consequently, this scheduling situation provides an appropriate case study for the comparison of mathematical programming and heuristic programming, two viable alternative solution methodologies. In general, mathematical programming models ensure the best possible solution for a given scheduling problem. However, due to the complex nature of the problem, such models can not always be implemented to solve large-scale scheduling problems. On the other hand, heuristic approaches can be used to address combinatorial complexity of NP-hard scheduling problems. The purpose of this paper is to (1) propose two alternative solution methodologies for 1|sjk | Uj; Cmax scheduling problem and (2) compare these two distinct approaches in terms of the appropriateness of each approach under diIerent conditions. The paper is structured as follows: First, a brief literature review of solution methodologies for bi-criteria, sequence-dependent setup times scheduling is provided.
146
S.M. Lee, A.A. Asllani / Omega 32 (2004) 145 – 153
Then, a 0-1 mixed integer programming model is formulated to solve such a scheduling problem. In Section 4, a genetic algorithm (GA) is proposed to solve the same scheduling problem. In Section 5, we compare two methods and provide guidelines that can be used by practitioners in the process of solving dual criteria scheduling problems with sequence dependent setup times. 2. Literature review Most of the studies dealing with scheduling have been conAned to optimization of a single criterion. Many researchers have considered a variety of scheduling problems with a single performance measure such as the average 4ow time, maximum completion time, or tardiness [3]. Baker and Scudder [4] classiAed scheduling problems according to the number of due dates, tightness of due dates and types of penalties involved. The distinct due dates problem without inserted idle time was considered by Abdul-Razaq and Potts [5] and Ow and Morton [6]. Abdul-Razaq and Potts [5] proposed a lower bound scheme based on the branch and bound algorithm. Ow and Morton [6] considered a beam search method in which a limited number of solution paths are investigated in parallel. The intent of the search technique is to search quickly with no backtracking. Thus, the optimal solution is not guaranteed by the method. Fry et al. [7] and Yano and Kim [8] presented algorithms for optimal timing of a given sequence. Scheduling decisions frequently involve consideration of more than one criterion [9–13]. The bi-criteria scheduling problems are generally divided into two classes. In the Arst class, the problem involves minimizing one criterion subject to the constraint that the other criterion has to be optimized. The pioneering work in this class can be attributed to Smith [14] who considered the single-machine problem with the maximum tardiness as the primary criterion and mean 4ow time as the secondary criterion. Extensions of Smith’s work with the consideration of different primary and secondary criterion have been studied by Heck and Roberts [15], Emmons [16], Miyazaki [17], Bianco and Ricciardelli [18], Shanthikumar [19], Chand and Schneeberger [20], and Chen and BulAn [21]. The problem considered in this paper belongs to this class. We solved it lexicographically by treating the minimization of the number of tardy jobs as the primary objective, and minimization of the makespan as the secondary objective. In the second class of problems, both criteria are considered equally important and the problem involves Anding e.cient (non-dominated) schedules. Van Wassenhove and Gelders [22] extended the problem solved by Smith [14], and developed an algorithm which provides an e.cient solution for the criteria of mean 4ow time and maximum tardiness. Several extensions of the single-machine schedul-
ing problem with the consideration of diIerent criteria have been reported [21,23–29]. Since the 1960s, there has been an increasing interest in heuristic techniques, such as simulated annealing, tabu search, and GAs in Anding optimal or good solutions to large problems. The term used to refer to such techniques is “evolutionary computation.” The best known algorithms in this class include GAs [30], evolution strategies [31], evolutionary programming [32], and genetic programming [33]. GA has demonstrated their potential for solving di.cult intractable optimization problems. GA is proven to be e.cient and adaptive even for complex constrained optimization problems. Thus GAs may well be suitable to handle the complexity of multi-criteria scheduling problems [13,34]. Other works in this area include Lee and Choi [35] who considered a job-scheduling problem with distinct due dates in a single machine and Liu and Tang [36] who proposed a modiAed GA for the single machine-scheduling problem with ready times. Portman et al. [37] discussed optimal methods for solving k-stage hybrid 4owshop scheduling problems and Figielska [38] considered the problem of scheduling preemptive jobs on unrelated parallel machines. The general conceptual design of the GA that we propose in this paper is based on the guidelines provided by Houpt and Houpt [39]. SpeciAc details, such as, incorporating setups, designing crossover operator, and retaining the best solution using “elitism” are based on the work of Rubin and Ragatz [40], Poon and Carter [41], Murata et al. [11], and Neppalli et al. [42]. As noted above, there is a wide range of solution methodologies for solving NP-hard scheduling problems. Recently, there has been an increased interest in comparing the performance of such methodologies under particular scheduling constraints [43–48]. For large and complex scheduling problems, GAs are found to provide optimal or near optimal solutions in a reasonable amount of time [49]. Simultaneously, it is observed that GAs perform less e.ciently than integer programming for small to medium sized problems [50]. Continuing this stream of research, we compare our proposed optimal and heuristic solutions with respect to ease of use and quality of the solution. 3. Mathematical formulation for 1|sjk |
Uj ; Cmax
In this section, we Arst provide a 0-1 mixed integer linear programming formulation of the dual criteria scheduling with sequence dependent setup times. The objective function includes tardiness and makespan. There is a large number of software designed to solve linear programming models. Considering the availability of the software to scheduling practitioners, we selected Microsoft Excel’s Solver Add-in as a tool to solve and analyze the problem.
S.M. Lee, A.A. Asllani / Omega 32 (2004) 145 – 153
3.1. Notations Indices:
i or j = 1; : : : ; n job index used as a unique identiAer for each job; k = 1; : : : ; n job index used to identify the position of a job in a given sequence;
Parameters pj Processing time for job j; dj Due time for job j; S0j Setup time of job j in the Arst sequence position (initial set up time); Sij Incremental setup time of switching from job i to job j; M A very large number; 1 if job j is assigned to the kth position in the sequence; 0, otherwise; 1 if job j is assigned in the kth position and is preceded by job i; 0, otherwise; 1 if job in the kth position is tardy; 0, otherwise; Completion time for the job in the kth position in the sequence; Setup time for the job in the kth position in the sequence; Processing time for the job in the kth position in the sequence; and Due time for the job in the kth position in the sequence.
xijk U (k) C(k) S(k) P(k) d(k)
3.2. Formulation Using the above notations, a 0-1 mixed integer LP formulation is presented: n Minimize Z1 = U (k) (1) k=1
Z2 = C(n)
Minimize
(2)
subject to xjk = 1;
j=1 n
xjk = 1;
k=1 n n
k = 1; : : : ; n
(3)
j = 1; : : : ; n
xijk = 1;
(4)
k = 1; : : : ; n
(5)
i=1 j=1
xjk + xik−1 − 1 6 xijk ; j = 1; : : : ; n; S(1) =
n j=1
P(k) =
n n
S0j xj1 ;
and
i = 1; : : : ; n; k = 2; : : : ; n
(6) (7)
Sij xijk ;
j=1 i=1 n
xjk pj ;
k = 2; : : : ; n
(8)
k = 1; : : : ; n
(9)
j=1
C(k) = C(k − 1) + S(k) + P(k); d(k) =
n
xjk dj ;
k = 1; : : : ; n
k = 1; : : : ; n
(10) (11)
j=1
− C(k) + d(k) 6 M (1 − U (k)); C(k) − d(k) 6 MU (k);
and
k = 1; : : : ; n
k = 1; : : : ; n
U (k); xjk ; xijk = {0; 1}; j = 1; : : : ; n;
Variables xjk
n
S(k) =
147
(12) (13)
i = 1; : : : ; n; k = 1; : : : ; n
C(k); S(k); P(k); d(k) ¿ 0;
k = 1; : : : ; n
(14) (15)
Eqs. (1) and (2) are the objective functions. Eq. (1) minimizes the number of tardy jobs and Eq. (2) minimizes the makespan. Eqs. (3) and (4) assure that only one job is assigned to each sequence position and a job is assigned to only one sequence location, respectively. Eqs. (5) and (6) assure that only one job, job j, is assigned to follow job i. Eq. (7) determines the setup time of the Arst sequence position while Eq. (8) determines the setup time of the kth (k ¿ 1) sequence position. Eq. (9) determines the processing time, and Eq. (10) determines the completion time of the kth sequence position. Eq. (11) identiAes the due date of the job in the kth sequence position. Eqs. (12) and (13) identify the tardy positions of the job sequence, where M is a very large positive integer. Finally, Eqs. (14) and (15) represent the integrality and non-negativity constraints. 3.3. Results From the practitioner perspective, a major concern for the mathematical formulation of this class of scheduling problems would be the number of constraints and decision variables. The model presented above has n3 + n2 + 5n variables and n3 +9n constraints, where n is the number of jobs which must be sequenced. Fig. 1 graphically represents the change in the number of decision variables and the number of problem constraints when the number of jobs to be scheduled increases. As shown above, when the number of jobs increases, the number of constraints and decision variables will increase signiAcantly. For example, a Ave-job scheduling problem requires 175 decision variables and 170 constraints. A 10-job scheduling problem requires 1150 decision variables and 1090 constraints. When more than 20 jobs are considered, the number of decision variables and constraints can become well above ten thousands. Such large models make the formulation and implementation of the proposed mathematical model time consuming and impractical.
148
S.M. Lee, A.A. Asllani / Omega 32 (2004) 145 – 153
9000 8000 Decision Variables
Constraints
7000 6000 5000 4000 3000 2000 1000 0 0
5
10
15
20
25
Number of Jobs
Fig. 1. Required number of decision variables and constraints vs. number of jobs.
However, since the solution derived by such models is optimal, operations schedulers should consider the use of such models when the number of jobs is relatively small. Scheduling complexity in such cases can also be avoided by preparing a user-friendly interface for the purpose of data entering and solution interpretations.
The above problem was solved for 24 diIerent sets of simulated data using Microsoft Excel’s Solver Add-in. We kept the number of jobs relatively small: from 5 to 8 and data about processing times were normally distributed with an arbitrarily chosen mean of 100 units. As shown in Table 1, due and setup times were randomly generated by using an integer which represents an overall ratio between due (setup) time and processing time for each job. The larger the value of this integer, the more likely the due (setup) time is signiAcantly greater than processing time. As mentioned earlier, we solved this problem by Arst ignoring the secondary objective. Then the problem is resolved for the secondary objective while the primary objective with its optimal value is treated as a constraint. The same set of data was used to validate the performance of GA as proposed in the following section. 4. GA for 1|sjk |
Uj ; Cmax
GAs, when applied to scheduling, view sequences or schedules as individuals, which are members of a population. Each individual is characterized by its Atness value. The Atness of an individual is measured by the associated value of the objective function. The procedure works iteratively and each iteration is referred to as a new generation. The proposed algorithm is shown in Fig. 2.
Table 1 Main parameters of GA Parameter
Notation
Description
Variable
Number of Jobs Population Size Weight in the objective function
JOBS POPSIZE W1
Independent Independent Independent
Mutation rate
W2 = 1 − W1 MUTRATE
Number of jobs to be sequenced Number of sequences in each generation A value between 0 and 1 used to ponder the value of makespan into the objective function. Since W 2 (the weight for tardiness) is a function of W 1, the weight for tardiness is omitted from the analysis
Independent
Crossover rate
CROSRATE
Due time ratio
DUERATIO
Setup time ratio
SETRATIO
Population Vs. jobs Mutation Vs. crossover Number of generations
POPJOB MUTCROS GEN
A value between 0 and 1 which represent the portion of new members in each generation generated using the mutation function A value between 0 and 1 which represent the portion of new members in each generation generated using the crossover function A random integer (¿ 1) which represents an overall ratio between due time and processing time for each job. The larger the value the more likely the due time is signiAcantly greater than processing time A random integer (¿ 1) which represents an overall ratio between setup times and processing time for each job. The larger the values the more likely the setup times are signiAcantly greater than processing time Ratio between population size and number of jobs Ratio between mutation and crossover rate Number of generations needed to achieve an optimal solution. The maximum value of this parameter was arbitrary chosen as1500, i.e. the algorithm was allowed to search for an optimal solution for no more than 1500 generations
Independent Independent
Independent
Independent Independent Dependent
S.M. Lee, A.A. Asllani / Omega 32 (2004) 145 – 153
149
this matrix represents the setup time between job i and j, if job i precedes job j. Whenever a new permutation is achieved, the setup time matrix must be adjusted accordingly. This is handled by creating a speciAc adjust setup time function. This function uses the list of jobs in a given sequence as a parameter and is called upon every time a crossover or a permutation occurs. • De:ne population structure. Each generation consist of a vector of sequences of POPSIZE, the population size. For the Arst generation, applying a mutation operator to the initial sequence creates the initial population. (See details for the mutation operator in Step 3). Subsequent generations are created as described in Step 3 of the algorithm. Step 2: Evaluate cost. The Atness value or cost of each sequence is used as an optimization objective function for the algorithm. The values of makespan and tardiness are normalized and then factored with respective weights to compute the overall objective function. Using diIerent weights, one may expand the dimensions of the objective function and provide solutions that incorporate multiple objective criteria. The following inductive deAnitions are used to compute makespan and tardiness for each sequence: • Makespan is the time when the last job in the sequence leaves the system. Makespan can be computed as the completion time of the nth job in the sequence. C(k) = C(k − 1) + S(k) + P(k); Fig. 2. GA for 1|sjk|
Uj; Cmax scheduling problem.
A generation of individuals consists of surviving individuals of the previous generation and new solutions or oIsprings. The population size usually remains constant from one generation to the next. The oIspring is generated through reproduction and mutation of individuals (parents) from the previous generation. Individuals at times are referred to as chromosomes. A chromosome may consist of sub-chromosomes, each one containing the information regarding the job sequence on a machine. A mutation in a parent chromosome may be equivalent to a pair-wise interchange in the corresponding sequence. In each generation, the Attest individuals reproduce and the least At die. As described in the Agure, the proposed GA consists of several steps. Step 1: Create population • De:ne job structure. Each job consists of several members, such as job name, processing time, due date, and initial setup time. • De:ne sequence structure. Each sequence consists of two members: (1) an N -dimensional array of job structures, and (2) an N × N setup matrix. Each element of
where ◦ C(k) is completion time of the kth job in the sequence ◦ S(k) is the setup time between the (k − 1)th and the kth job in the sequence ◦ P(k) is the processing time of the kth job in the sequence • Tardiness for each job is computed by comparing the completion time for each job with the due date. For a given job in the sequence, if the due date is greater than the completion time, then the job is considered as tardy. Step 3: Create new generation. After sorting the population members of the previous generation in an ascending order based on the cost, the process of creating a new generation consist of three main steps: • Keep best members. The process of assigning the Arst few best members from the old generation to the new generation will ensure a gradual improvement of the solution. The algorithm also saves the best sequence as a candidate optimal solution. • Crossover operator. The following crossover operator code is suggested. This operator generates new sequences and ensures the feasibility of the algorithm.
150
S.M. Lee, A.A. Asllani / Omega 32 (2004) 145 – 153
◦ Step a: Select sequences PARENT 1 and PARENT 2 as two sequences from the old generation. ◦ Step b: Generate k as a random number between 0 and N , where N is number of jobs in the sequence. ◦ Step c: Select the Arst k members of PARENT 1 and save them in the new OFFSPRING. ◦ Step d: Complete the rest (N − k) members of the OFFSPRING by following the following rules: If the rest of the members from PARENT 1 appear in the MOTHER sequence, add the appearing member to the OFFSPRING following the same order they appear in the PARENT 2 sequence. ◦ Step e: Adjust setup matrix for the OFFSPRING sequence. • Mutation operator. The crossover operator is focused on creating alternative solutions around the best solutions achieved so far. In order to avoid the risk of remaining in the local optima, a mutation operator is suggested. For sequencing problems, mutation can be achieved by swapping two random jobs in a given sequence. The algorithm for this process consists of the following steps: ◦ Step a: Randomly generate two integers k and s between 0 and N , where N is number of jobs in the sequence. ◦ Step b: Swap jobs that are in the kth and sth position in a given SEQUENCE. ◦ Step c: Adjust the setup matrix for the new SEQUENCE. The process of creating new generations continues until a given number of generations is achieved or the cost of a given solution achieves an acceptable level. The genetic program was allowed to run for about 100 generations for the 24 four problems previously solved via mathematical programming. For 21 of such scheduling problems GA achieved the optimal solution within relatively short number of generations. In three cases, the optimal solution was not achieved even after the algorithm exceeded 100 generations. 5. Results of GA In addition to the above 24 randomly generated problems, we also generated 100 problems for each of the following group of problems: small problems with an average number of jobs of 10 units, problems with an average number of jobs of 15 units, problems with an average number of jobs of 20 units, and lastly large problems with an average number of jobs of 25 units. The standard deviation in all cases was set at 5 units. Again, processing time was generated using a normal distribution with a mean of 100 units. Also, due and setup times were generated using the criteria explained in Table 1. As a result, the total number of cases solved by the GA program was 424 (4 ∗ 100 + 24) with a good representation of small, medium and large scheduling problems.
Table 1 also lists other dependent variables which were included in our analysis for the purpose of Ane tuning the proposed algorithm. The dependent variable is represented by the number of generations (GEN) needed to achieve an optimal solution. The maximum value of this parameter was arbitrary chosen as 1500. First the algorithm was allowed to search for an optimal solution for up to 1000 generations. This solution was monitored during the next 500 generations and if no improvements were recorded, then we considered that the algorithm has achieved an optimal solution. Otherwise, the problem was disregarded, reducing the total number of cases that were used for further statistical analysis to 204. This approach accentuates GEN as a stronger representation of solution quality and is consistent with the study of Tan et al. [46]. The only diIerence is that the above mentioned research used computer run time instead of the number of generations (iterations). Pearson correlation coe.cients were calculated to see if there is a linear association between independent variables and number of generations. Table 2 shows the results of this analysis. There are two important Andings to mention by analyzing this table. First, there is no signiAcant correlation between the number of jobs to be sequenced and the number of generations required to derive a solution. Thus, contrary to the mathematical formulation, we can conclude that the number of jobs does not aIect the performance of the algorithm. This is a signiAcant advantage of the proposed GA algorithm as compared to the previous mathematical programming model used to solve this sequencing problem. Second, there is a signiAcant indirect correlation between setup time and the number of generations. The algorithm tends to perform better when setup times between consecutive jobs increase for the same processing times. In order to increase the reliability of our analysis, we performed a discriminant analysis. In addition, we added other dependent variables in our analysis, as shown in Table 3. This table shows signiAcance tests for equality of group means for three parameters of the algorithm. The algorithm shows signiAcantly better performance when the population size selected increases over the same number of jobs (0:007 ¡ 0:01). The same can be concluded for the crossover rate, where the observed signiAcance level is 0.05. 6. Conclusions and recommendations This paper provides two alternative solution methodologies for an NP hard scheduling problem: single machine, sequence dependent-setup time, and dual criteria. The two alternative methodologies are a 0-1 mixed integer-programming and a genetic search algorithm. Due to increasing computer presence and its processing power in today’s workplace, operation schedulers’ concern is not the time that a computer takes to generate a solution. Instead,
S.M. Lee, A.A. Asllani / Omega 32 (2004) 145 – 153
151
Table 2 Pearson correlation coe.cients for GA
GEN
Coe.cient SigniAcance
JOBS
POPSIZE
W1
MUTRATE
CROSRATE
DUERATIO
SETRATIO
0.063 0.370
0.075 0.284
0.104 0.137
0.030 0.670
0.031 0.066
−0:028 0.694
−0:142∗ 0.043
Table 3 Tests of equality of group means
POPJOB MUTRATE CROSRATE
Wilks’ lambda
F
df1
df2
Sig.
0.925 0.969 0.944
7.688 3.043 5.644
1 1 1
95 95 95
0.007 0.084 0.020
Table 4 Uj ; Cmax scheduling problem Practical recommendations for 1|sjk | IF goal is Anding a(n):
AND IF number of jobs ranges:
AND IF ratio between setup and processing times is:
THEN solution methodology suggested is:
Optimal solution
Less than 5
High Low High Low High Low
0-1 mathematical programming 0-1 mathematical programming Genetic algorithm 0-1 mathematical programming Genetic algorithm Genetic algorithm
High Low High Low High Low
0-1 mathematical programming 0-1 mathematical programming Genetic algorithm Genetic algorithm Genetic algorithm Genetic algorithm
From 6 to 10 Above 11 Practical solution
Less than 5 From 6 to 10 Above 11
more practical goals would be to improve user interface and to achieve the best possible solution. Table 4 provides some practical recommendations that can be used to select one of the above two solution methods. For the 1|sjk | Uj ; Cmax scheduling problem, our Andings suggest that when the major concern of the operations scheduler is the quality of the output, and when the number of jobs to be sequenced is relatively small, then mathematical programming is an appropriate methodology. While mathematical programming generally ensures an optimal solution, genetic algorithms do not always guarantee an optimal solution. If the number of jobs to be sequenced is relatively large or when achieving a “good” solution is acceptable, then genetic algorithms (GAs) can be used. The number of jobs that need to be sequenced does not aIect the GA performance. In contrast, mathematical programming model becomes very complex and even unmanageable when the number of jobs is more than ten. In addition, our analysis shows that the proposed GA per-
forms better when the ratio between sequence-dependent setup times and processing times for each job is relatively large.
References [1] Cheng ETC, Gupta JND, Wang G. A review of 4owshop scheduling research with setup times. Production and Operations Management 2000;9(3):262–82. [2] Pinedo M. Scheduling: theory, algorithms, and systems. Englewood CliIs, NJ: Prentice-Hall, Inc.; 1995. [3] Tzafestas S, Triantafyllakis A. Deterministic scheduling in computing and manufacturing systems: a survey of models and algorithms. Mathematics and Computers in Simulation 1993;35(5):397–434. [4] Baker KR, Scudder GD. Sequencing with earliness and tardiness penalties: a review. Operations Research 1990;38(1):22–36.
152
S.M. Lee, A.A. Asllani / Omega 32 (2004) 145 – 153
[5] Abdul-Razaq TS, Potts CN. Dynamic programming state-space relaxation for single-machine scheduling. Journal of Operations Research Society 1988;39(2):141–52. [6] Ow PS, Morton TE. The single machine early/tardy problem. Management Science 1989;35(2):177–91. [7] Fry TD, Armstrong RD, Blackstone JH. Minimizing weighted absolute deviation in single machine scheduling. IIE Transactions 1987;19(4):445–50. [8] Yano CA, Kim YD. Algorithms for a class of single-machine weighted tardiness and earliness problems. European Journal of Operational Research 1991;52(2):167–78. [9] Ruiz-Diaz F, French S. A survey of multi-objective combinatorial scheduling. In: French S, Thomas LC, Hartkey R, White DJ, editors. Multi-objective decision making. New York, NY: Academic Press; 1983. p. 59–77. [10] Dileepan P, Sen T. Bicriteria state scheduling research for a single machine. Omega 2000;16:53–9. [11] Murata T, Ishibuchi H, Tanaka H. Multi-objective genetic algorithm and its applications to 4owshop scheduling. Computer and Industrial Engineering 1996;30(4):957–69. [12] Allahverdi A. The two- and m-machine 4owshop scheduling problems with bicriteria of makespan and mean 4ow time. European Journal of Operational Research 2003;147(2): 373–96. [13] Koksalan M, Keha AB. Using genetic algorithm for single-machine bicriteria scheduling problems. European Journal of Operational Research 2003;145(3):543–56. [14] Smith WE. Various optimizers for single state production. Naval Research Logistics Quarterly 1957;3:56–66. [15] Heck H, Roberts S. A note on the extension of a result on scheduling with secondary criteria. Naval Research Logistics Quarterly 1972;19:403–5. [16] Emmons H. One machine sequencing to minimize mean 4ow time with minimum number of tardy. Naval Research Logistics Quarterly 1975;22:585–92. [17] Miyazaki S. One machine scheduling problem with dual criteria. Journal of Operations Research Society of Japan 1981;24(1):37–51. [18] Bianco L, Ricciardelli S. Scheduling of a single machine to minimize total weighted completion time subject to release dates. Naval Research Logistics Quarterly 1982;29:151–67. [19] Shanthikumar JG. Scheduling n jobs on one machine to minimize the maximum tardiness with minimum number of tardy. Computers & Operations Research 1983;10(3):255–66. [20] Chand S, Schneeberger H. A note on the single machine scheduling problem with weighted completion time and maximum allowable tardiness. Naval Research Logistics Quarterly 1986;33:551–7. [21] Chen CL, BulAn RL. Complexity of single machine, multi-criteria scheduling problem. European Journal of Operational Research 1993;70(1):115–25. [22] Van Wassenhove LN, Gelders LF. Solving a bicriterion scheduling problem. European Journal of Operational Research 1980;4(1):42–8. [23] Vickson RG. Choosing the job sequence and processing times to minimize total processing plus 4ow cost on a single machine. Operations Research 1980;28(5):1155–67. [24] Barnes JW, Vanston LK. Scheduling jobs with linear delay penalties and sequence dependent setup costs. Operations Research 1981;29(1):146–60.
[25] Van Wassenhove LN, Baker KR. A bicriterion approach to time/cost trade-oIs in sequencing. European Journal of Operational Research 1982;11(1):48–54. [26] Sen T, Gupta SK. A branch-and-bound procedure to solve a bicriterion scheduling problem. IIE Transactions 1983;15(1):84–8. [27] Nelson RT, Sarin RK, Daniels RL. Scheduling with multiple performance measures: the one machine case. Management Science 1986;32(4):464–79. [28] Bagchi U. Simultaneous minimization of mean and variation of 4ow time and waiting time in single machine systems. Operations Research 1989;37(1):118–25. [29] Cenna AA, Tabucanon MT. Bicriteria scheduling problem in a job shop with parallel processors. International Journal of Production Economics 1991;25(1):95–101. [30] Holland J. Adaptation in natural and artiAcial systems. Cambridge, MA: University of Michigan Press, Ann Arbor, MI, 1975; Cambridge, MA: MIT Press, 1992. [31] Rechenberg I. Evolution strategie: optimieriung technischer systems nach prinzipien der bilologischen evolution. Stuttgart, Germany: Formmann-Holzboog; 1973. [32] Fogel L, Owens A, Walsh M. ArtiAcial intelligence through simulated evolution. New York, NY: Wiley; 1966. [33] Koza JR. Genetic programming. Cambridge, MA: MIT Press; 1992. [34] Gen M, Cheng R. Genetic algorithm and engineering optimization. New York, NY: Wiley; 2000. [35] Lee CY, Choi JY. A genetic algorithm for job sequencing problems with distinct due dates and general early-tardy penalty weights. Computers & Operations Research 1995;22(8):857–69. [36] Liu J, Tang L. A modiAed genetic algorithm for single machine scheduling. Computers & Industrial Engineering 1999;37(1):43–6. [37] Portmann MC, Vignier A, Dardilhac D, Dezalay D. Branch and bound crossed with GA to solve hybrid 4owshops. European Journal of Operational Research 1998;107(2): 389–400. [38] Figielska E. Preemptive scheduling with changeovers: using column generation technique and genetic algorithm. Computers Industrial Engineering 1999;37(1):81–4. [39] Houpt RL, Houpt SE. Practical genetic algorithms. New York, NY: Wiley; 1998. [40] Rubin PA, Ragatz GL. Scheduling in a sequence dependent setup environment with genetic search. Computers & Operations Research 1995;221(1):85–99. [41] Poon PW, Carter JN. Genetic algorithm crossover operators for ordering applications. Computers & Operations Research 1995;22(1):135–47. [42] Neppalli VR, Chen CL, Gupta JN. Genetic algorithms for the two stage bicriteria 4ow shop problem. European Journal of Operational Research 1996;95(2):356–73. [43] Masatoshi S, Kosuke K, Hideaki S, Toshihiro S. Fuzzy programming for multiobjective 0 –1 programming problems through revised genetic algorithms. European Journal of Operational Research 1997;97(1):149–58. [44] Masatoshi S, Toshihiro S. An interactive fuzzy satisAcing method for multiobjective 0 –1 programming with fuzzy numbers through genetic algorithms with double strings. European Journal of Operational Research 1998;107(3): 564–74.
S.M. Lee, A.A. Asllani / Omega 32 (2004) 145 – 153 [45] Masatoshi S, Ichiro N, Masatoshi H. Interactive fuzzy programming for multi-level 0 –1 programming problems through genetic algorithms. European Journal of Operational Research 1999;114(3):580–8. [46] Tan KC, Narasimhan R, Rubin PA, Ragatz GL. A comparison of four methods for minimizing total tardiness on a single processor with sequence dependent setup times. Omega 2000;28:313–26. [47] Roslof J, Harjunkoski I, Westerlund T, Isaksson J. Solving a large-scale industrial scheduling problem using MILP combined with heuristic procedure. European Journal of Operational Research 2002;138(1):29–42.
153
[48] Yoon SH, Ventura JA. An application of genetic algorithms to lot-streaming 4ow shop scheduling. IIE Transactions 2002;34(9):779–87. [49] Aytug H, Saydam C. Solving large-scale maximum expected covering location problems by genetic algorithms: a comparative study. European Journal of Operational Research 2002;141(3):480–94. [50] Mirrazavi SK, Jones DF, Tamiz M. A comparison of genetic and conventional methods for the solution of integer goal programmes. European Journal of Operational Research 1999;132(3):594–602.