0% found this document useful (0 votes)
38 views

Minimizing The Makespan and The System Unavailability

This paper is devoted to ponder a joint production and maintenance problem. A genetic algorithm named similarity-based subpopulation genetic algorithm (SBSPGA) is introduced. The aim of this paper was to optimize two objectives: minimization of the makespan for the production part and minimization of system unavailability for the maintenance part.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

Minimizing The Makespan and The System Unavailability

This paper is devoted to ponder a joint production and maintenance problem. A genetic algorithm named similarity-based subpopulation genetic algorithm (SBSPGA) is introduced. The aim of this paper was to optimize two objectives: minimization of the makespan for the production part and minimization of system unavailability for the maintenance part.
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 12

Int J Adv Manuf Technol (2010) 51:829840 DOI 10.

1007/s00170-010-2666-7

ORIGINAL ARTICLE

Minimizing the makespan and the system unavailability in parallel machine scheduling problem: a similarity-based genetic algorithm
E. Moradi & M. Zandieh

Received: 10 September 2009 / Accepted: 8 April 2010 / Published online: 4 June 2010 # Springer-Verlag London Limited 2010

Abstract This paper is devoted to ponder a joint production and maintenance problem. For solving the problem, a genetic algorithm named similarity-based subpopulation genetic algorithm (SBSPGA) is introduced. SBSPGA is presented based on a well-known evolutionary algorithm, the subpopulation genetic algorithm II (SPGA-II). Compared with the SPGA-II, the innovation of the SBSPGA could be divided into two parts: (1) using a similarity model for the elitism strategy and (2) performing the algorithm in just one stage. To tackle the maintenance aspect, reliability models are employed in this paper. The aim of this paper was to optimize two objectives: minimization of the makespan for the production part and minimization of the system unavailability for the maintenance part. To execute our proposed problem, two decisions must be made at the same time: achieving the best assignment of n jobs on m machines to minimize the makespan and determining the time at which the preventive maintenance activities must be performed to minimize the system unavailability. The maintenance activity numbers and the maintenance intervals are not fixed in advanced. Promising the acquired results, a benchmark with tremendous number of test instances (more than 5,000) is employed.

Keywords Bi-objective scheduling . Preventive maintenance . Reliability . Unavailability . Evolutionary algorithm

1 Introduction When it comes to manufacturing, production and maintenance are two supreme aspects which are considered by almost all industries. Finding the appropriate assignment of jobs on machines to reach the considered objective(s) is the aim of production scheduling. Most production scheduling problems are NP-hard [12]. Moreover, the most recent surveys that have examined the production scheduling problems assumed that machines are always available. However, in real manufacturing systems, there are some factors which cause some unavailability periods such as machine breakdown and maintenance [27]. For the maintenance part, the aim is to decide on maintenance plans to obtain the appropriate objective(s). Lately, numerous researchers have studied the unavailability periods like preventive maintenance. However, most of these studies have not taken the production requirement into account [5]. Despite the interdependency between production scheduling and maintenance planning, in almost all manufacturing systems, production scheduling and maintenance planning are decided and performed separately [5]. Recently, many researchers have strived to amend this misconception to consider the relationship between the production scheduling and the maintenance planning as an embedded conflict in management decisions [31]. Many of them used integrated multi-objective models and system unavailability for the preventive maintenance (PM) aspects. Indeed, the multi-objective models allow the decision

E. Moradi Department of Industrial Engineering, Amirkabir University of Technology, 424 Hafez Avenue, 1591634311 Tehran, Iran M. Zandieh (*) Department of Industrial Management, Management and Accounting Faculty, Shahid Beheshti University, G.C., Tehran, Iran e-mail: [email protected]

830 Fig. 1 Chromosome evaluation

Int J Adv Manuf Technol (2010) 51:829840

maker to obtain a solution with respect to two criteria related to PM activities and production plan. The paper is organized as follows: Section 2 presents a literature review of the problem studied. Section 3 describes the modeling of integrated parallel machine and preventive maintenance. Solving methods are proposed in Section 4. Section 5 presents the test problems and obtained results. Finally, Section 6 is devoted to conclusion and some future researches.

2 Literature review Lately, many researchers have considered production scheduling and PM. Jain and Meeran [14] and Pinedo [23, 24] have reviewed most of the studies that focus on production scheduling. Besides, McCall [20], Sherif and Smith [28], Pham and Wang [22], and Wang [30] reviewed numerous surveys related to PM planning. Aghezzaf et al. [2] considered an integrated production scheduling and periodic PM problem. Qi et al. [25] studied an integrated single-machine scheduling and PM planning where the objective is to minimize total completion time of jobs. The paper written by Lee and Chen [19] is dedicated to an integrated maintenance and parallel machine scheduling where each machine must be maintained once during the planning horizon. Furthermore, Mellouli et al. [21] studied a problem that is similar to theirs. They proposed an exact method to minimize the total completion time. Chelbi and Ait-Kadi [9] studied an assembly line operation by considering just-in-time technology. Minimization of maintenance costs, inventory holding costs, and shortage costs were obtained in their survey. Gharbi and Kenne [13] investigated the production and PM control problem for a multi-machine manufacturing system. Their objective was to find an

optimal production and PM rate where the total costs of inventory, repair, and PM planning must be minimized. Kenne et al. [17] introduced an analytical model for the joint determination of age-dependent production planning and age-dependent PM planning. They considered to minimize an overall cost function. In the survey carried out by Cassady and Kutanoglu [6], determining production scheduling and PM planning was probed simultaneously. Cassady and Kutanoglu [7] proposed an integrated model to minimize the total weighted completion time of jobs. The scheduling problem with limited machine availability for different constrains and machine environments are considered by Schmidt [27] and Lee [18]. Kaabi et al. [15, 16] studied the single-machine and permutable flow-shop problem, respectively. In their study, maintenance periods are executed during the predefined intervals. A parallel machine problem with the same idea is studied by Xu et al. [32]. Ruiz et al. [26] proposed an integrated method for permutable flow-shop problem in order to minimize the makespan. In order to determine the maintenance periods and keep the minimum level of reliability during the scheduling horizon, they have manipulated the reliability models. Berrichi et al. [5] proposed a model for integrated PM and parallel machine scheduling. The reliability models are used in their study. To minimize system productivity, the maintenance and production services must be associated with each other. Therefore, both objectives of the maintenance and production must be considered at the same time. However, objectives related to the maintenance are totally antagonist with those of the production. It means that a decrease of one objective will raise the other one and vice versa. Since there are strict trade-offs between the objectives of production and PM planning, multi-objective evolutionary methods can be very effective.

Fig. 2 Gant chart of production scheduling without PM actions

Int J Adv Manuf Technol (2010) 51:829840 Fig. 3 Gant chart of the joint production maintenance scheduling

831

3 Modeling of integrated PM and parallel machine scheduling For the production scheduling part, an identical parallel machine scheduling problem is considered in this paper. Also, the makespan is supposed as the performance measure. In this study, we assume that jobs are all available at the beginning of the time horizon and preemption is not allowed. Two decisions have to be made: assigning jobs to the machines and determining the sequence of the jobs on each machine. This problem is perceived to be NP-hard [12]. Numerous studies have been dedicated to solve this problem either by developing an exact method for moderate size problems or by developing heuristic for large size problems. For the maintenance part, systematic preventive maintenance introduced by Berrichi et al. [5] is employed in this paper. Indeed, the PM actions increase the availability of the systems and decrease the probability of unexpected failures. The decision maker has to determine the PM intervals date for each machine to maximize the system availability. The availability is defined as the probability that a system or a component is performing its required function at a given point in time or over a stated period of time when operated and maintained in a prescribed manner [10]. Therefore, the availability of machine M at a given point, t, is defined as: At PM is operating at time t : 1

constant for all machines. Moreover, we suppose that the failure and repair time for machine Mi are denoted by an exponential probability distribution. Considering these assumptions, the availability of machine Mi at time t is calculated by Eq. 3 [10, 29]: Ai t mi li expmi li t : m i li m i li 3

According to Eq. 3, the availability Ai(t) of machine Mi is a time decreasing function, so the unavailability 1 Ai(t) is a time increasing function. Therefore, if no PM action is executed on Mi, its unavailability will increase. Suppose that T is the completion time of the last PM action on the machine Mi; then, the expression of the availability function Ai(t) at time t can be stated as Eq. 4 [10, 29]: Ai t mi li Et m i li m i li 4

where Et expmi li t T . The system availability depends on the system structure (parallel, serial, or hybrid) as well as component characteristic. For m-independent parallel machines, each having an availability function Ai(t), the system availability As(t) at time t is described by [10, 29]: As t 1
Y im i1

1 Ai t:

Therefore, unavailability, which is opposite to the availability, can be stated as: At 1 At: 2

Subsequently, the system unavailability at time t is: As t 1 As t


Y im i1

1 Ai t:

As Eqs. 1 and 2 imply, the availability of machine Mi is based on its repair rate i and its failure rate li. In this paper, we assume that failure rate li and repair rate i are
Table 1 Availability of machines and system t 14 19 29 47 A1(t) 0.83337 0.86088 0.83340 0.83334 A2(t) 0.83337 0.83334 0.83470 0.83333 As(t) 0.97223 0.97681 0.97246 0.97222

The integrated model tries to minimize two objectives: the makespan for the production part and the system
Table 2 Unavailability of machines and system t 14 19 29 47

A1 t
0.16663 0.13912 0.16660 0.16666

A2 t
0.16663 0.16666 0.16530 0.16667

As t
0.02777 0.02319 0.02754 0.02778

832

Int J Adv Manuf Technol (2010) 51:829840

Chang and Chen [8]. In multi-objective optimization, if two objective functions, f1 and f2, are to be minimized, then, for any two decision vectors x and y, it is said that x dominates y (x0y) if (f1(x) f1(y) and f2(x) < f2(y)) or (f1(x) < f1(y) and f2(x) f2(y)). The non-dominated solutions are those that other solutions do not dominate them. Besides, a set of nondominated solution achieved by an evolutionary algorithm is called Pareto front. In what follows, we first illustrate the chromosome evaluation employed in this study and then describe two employed algorithms in detail.
Fig. 4 Two-point crossover

unavailability for the maintenance part. Thus, two decisions have to be made simultaneously: finding the best assignment of n jobs on m parallel machines in order to minimize the makespan and deciding when to perform the PM actions in order to minimize the system unavailability. Let Cj be the completion time of job j and Cmax denote the completion time of the last job executed (the makspan): Cmax = maxj=1,,n{Cj}. For system unavailability, let T = {0, t1, t2,, ts, Cmax}, where t1, t2,, ts are the starting time of the PM activities on all machines. Because of the increasing function of unavailability in each interval [ti, ti + 1], i=0, 1,, s with t0 =0, and ts + 1 =Cmax, the system unavailability is only calculated at the time t1, t2,, ts + 1. The processing time of a PM activity on machine Mi is considered to be the mean 1 time of preventive actions that its value is equivalent to m i [1]. Therefore, the two objective functions considered under the previous defined constrains are: F1 = {Cmax}, which is the makespan. Q F2 maxt 2 T As T im 1 Ai t , which is i1 the system unavailability.

4.1 Chromosome evaluation A solution (chromosome) selected in this paper is introduced by Berrichi et al. [5] and composed of two parts: the production and maintenance parts. In the production part, a sequence of job numbers will be stated. In the maintenance part, a set of numbers present the periods of PM actions on each machine. The maintenance periods are randomly generated for each machine i within the interval [Pi, Ci]. Pi is the processing time of the shortest job executed on machine i and Ci is the completion time of the latest job executed on machine i. For example, the series (15, 20) belongs to two machines and means that a PM action on M1 has to be done every 15 time unites on machine M1 and every 20 time unites on machine M2. The chromosome evaluation is performed according to Fig. 1. The list of production jobs is assigned on machines according to the list scheduling heuristic: Assign the next job in the list to the first idle machine [5]. The maintenance actions are inserted according to the rational strategy introduced by Berrichi et al. [5]: Let Bj and Cj be the beginning and the completion time of a production job j, respectively. Let Te be the expected time of maintenance activity performance. If Te Bj Cj Te, then the maintenance activity must be performed prior to Bj; otherwise, it is delayed until the Cj. For an example, assume a production system composed of two parallel machines on which nine jobs have to be scheduled. The properties of jobs are:
Jobs Duration 1 10 2 13 3 8 4 12 5 4 6 9 7 11 8 7 9 13

4 Solving methods As the solution methods, a new evolutionary algorithm named similarity based subpopulation genetic algorithm (SBSPGA) is introduced in this section. In addition, the results obtained from SBSPGA are compared with those obtained from a well-known evolutionary algorithm, subpopulation genetic algorithm II (SPGA-II), introduced by

Suppose that two machines have the same failure and repair rate: l1 =l2 =0.1, 1 =2 =0.5. Therefore, the duration of PM actions on both machines is equal to 2 time unites. Moreover, assume that we want to evaluate the following chromosome:
3 Fig. 5 Insertion mutation 5 1 7 9 4 6 2 8 20 15

Int J Adv Manuf Technol (2010) 51:829840 Fig. 6 SPGA-II algorithm

833

The first nine alleles determine the sequence of jobs for scheduling part. The last two alleles, (20, 15), depict the maintenance part. With respect to the chromosome evolutionary algorithm illustrated by Fig. 1, the scheduling of the defined problem before and after the insertion of PM actions are shown by Figs. 2 and 3 respectively. According to rational strategy, system unavailability is calculated at the instants: 14, 19, 29, and Cmax. Tables 1 and 2 show the system availability and system unavailability, respectively. The system unavailability is calculated according to Eq. 6; therefore, the system unavailability is equal to 0.02778, and subsequently, system availability is equal to 0.97222. To perform evolutionary algorithms in this paper, the initial population is to be randomly generated. Also, the crossover and mutation operations used in this paper are the two-point crossover and the insertion mutation, respectively. Besides, the stop point criterion is the fixed number of generation. The two-point crossover method is implemented on both the production and maintenance parts of the chromosomes. The first (resp. second) offspring is generated by holding the extremities of the first (resp. second) parent and completing it with the missed jobs according to their sequence order in the second (resp. first) parent, as depicted in Fig. 4.
Fig. 7 SPGA algorithm

In the mutation point of view, for the production part, an insert mutation is employed in this study, as illustrated in Fig. 5. For the maintenance part, an allele is selected randomly and its value is replaced with another random value. 4.2 Similarity-based subpopulation genetic algorithm Since SBSPGA is based on the concepts of SPGA-II, the detailed procedures of SPGA-II will be studied in Section 4.2.1. Moreover, the idea of the SBSPGA will be described in Section 4.2.2. 4.2.1 Subpopulation genetic algorithm II SPGA-II is developed by Chang and Chen [8] to solve the combinatorial problems. This algorithm divides the population into a predefined number of subpopulation and then develops a mechanism to exchange information during these subpopulations. The mechanism of SPGA-II is to apply the Pareto sets produced from these subpopulations and to combine these Pareto sets as a global archive. Thus, once a subpopulation obtains a superior non-dominated solution, other subpopulations are able to utilize it in their searching area. Besides, SPGA-II applies a two-stage approach. The first stage uses only a few subpopulations and focuses on the

834 Fig. 8 Procedure of InitiateSubPopulations

Int J Adv Manuf Technol (2010) 51:829840

solutions near the individual objective functions. At the second stage, the algorithm explores the solution space more extensively. The main procedure of SPGA-II, introduced by Chang and Chen [8], is illustrated by Fig. 6. The procedure initialize generates a set of solutions according to the beginning population size. The procedure DividePopulation divides the beginning population into ns subpopulations. The procedure AssignWeightToEachObjective assigns different weights to each subpopulation. The individuals in a subpopulation will share the same value of the weight. In bi-objective problems, the combination of weight vectors is formulated as follows:   1 1 ;1 wn1 ; wn2 7 n1 n1 where n is the nth subpopulation. After the weight assignment, the corresponding objective value of these two objectives (e.g., f1(x) and f2(x)) is executed as Eq. 8: Min=Max f x wn1 f1 x wn2 f2 x: 8

processing of this algorithm is hinted from SPGA-II except for similarity function and the stage of performing algorithm. Developing this algorithm, we suppose that the use of similarity function for entering some solutions from the general archive to each subpopulation as the elitism approach can improve the diversity of the solutions and therefore can improve the quality of solutions. The similarity function can be stated as follows: Suppose that there are n non-dominated solutions in the general archive; then, the similarity number for each solution is evaluated as Eq. 9: Xn S Chm1; Chm2 Op1i  Op2i 9 i1 where Chm1 and Chm2 are two chromosomes (solutions), Op1 and Op2 are the same alleles of two chromosomes, and n is the number of solutions in the general archive. The operation ` returns 0 if two values are equal and 1 if they are different. When each of the solutions in the general archive is assigned the similarity value, a predefined number (which is named NoL in this paper) of solutions with lower similarity value will be selected, and then elitism operator selects solutions from them randomly. We suppose that all solutions with less similarity in subpopulations could improve the quality of solutions. Besides, executing this function, each subpopulation has a chance to use non-dominated solutions obtained by other subpopulations. Figure 9 shows the SBSPGA algorithm.

Also, the procedures SPGA and InitiateSub-Populations used in this algorithm are elucidated in Figs. 7 and 8, respectively, which are introduced in Chang and Chen [8]. 4.2.2 Ideas of the SBSPGA The SBSPGA is an evolutionary algorithm which divides the population into predefined number of subpopulations. It is developed to solve the combinatorial problems. The

Fig. 9 SBSPGA algorithm

Int J Adv Manuf Technol (2010) 51:829840 Fig. 10 General procedure for SBSPGA

835

The procedures initialize and DividePopulation perform like the SPGA-II algorithm. Also, the procedure AssignWeightToEachObjective assigns different weights to each subpopulation. Moreover, the individuals in a subpopulation will share the same value of the weight. The combination of weight vectors for the subpopulation i (i= 1, 2,, n)is formulated as Eq. 10:
Table 3 Best, average, and worst values of the number of obtained solution over 540 solutions Test problem (m, n) (2, (2, (3, (3, (3, (5, (5, (5, (8, 10) 20) 20) 40) 60) 20) 40) 60) 40) SPGA-II Best 10 9 11 7 7 9 10 6 4 3

 wi1 ; wi2

i1 i1 ;1 n1 n1

 10

where n is the total number of the subpopulations. The weight assigned to each subpopulation will be used for crossover and mutation operations.
SBSPGA Average 4.63 4.11 3.82 3.33 2.67 2.94 2.19 2.31 1.79 1.52 Worst 1 1 2 1 1 1 2 1 1 1 Best 8 5 4 6 4 7 5 3 4 2 Average 2.68 2.05 1.94 2.12 2.11 2.74 1.49 1.73 1.58 1.21 Worst 1 1 1 1 1 1 1 1 1 1

(8, 60)

836 Table 4 Best, average, and worst values of the number of obtained solution over 540 solutions Test problem (m, n) (2, (2, (3, (3, (3, (5, (5, (5, (8, (8, 10) 20) 20) 40) 60) 20) 40) 60) 40) 60) NSGA Best 7 9 8 6 12 4 7 9 3 4 Average 5.24 3.98 4.11 2.52 5.81 1.94 3.96 4.44 2.03 1.73 Worst 1 1 1 1 1 1 1 1 1 1

Int J Adv Manuf Technol (2010) 51:829840 SBSPGA Best 8 5 4 6 4 7 5 3 4 2 Average 2.68 2.05 1.94 2.12 2.11 2.74 1.49 1.73 1.58 1.21 Worst 1 1 1 1 1 1 1 1 1 1

After weight assignment, the algorithm creates the general archive from all subpopulations and then assigns the similarity value to each solution. Then, the NoL solutions with less similarity value will be selected to choose the En solutions for each subpopulation. Figure 10 shows the general illustration for SBSPGA algorithm.

5 Tests and results 5.1 Performance measure In the multi-objective problems, it is not rational to order a set of solutions because a solution can be the best solution for some objectives, but not for others. To compare two non-dominated fronts, different aspects of non-dominated fronts cannot be taken into account by one numerical value. Therefore, several measures (or metrics) are produced to test a particular aspect of a front. Barichard [3], Basseur [4], Zitzler [33], and Zydallis

[34] presented several metrics to measure different aspects of different fronts. To compare different aspects of non-dominated fronts obtained by the algorithms, two metrics have been used in this study. The first metric is the hyper-volume (or hyperarea) metric H presented by [33]. This metric calculates an approximation of the volume under the curve formed by the Pareto front. When the number of points in two Pareto fronts is equal, smaller value of the H refers to the better quality of the front. This metric is used by several researchers to evaluate Pareto fronts (Barichard [3], Basseur [4], Fleischer [11], etc), especially since Fleischer [11] has postulated that optimization of this metric is necessary and is a sufficient condition for Pareto front optimization. In the two-dimensional (bi-objective) case, the area of the rectangle defined by points (0, 0) and (F1(Xi), F2(Xi)) for the decision vector Xi (i=1, 2,, n) is known as the metric H. The second metric used in this study is the C metric introduced also by Zitzler [33]. When other metrics give similar values, this metric can obviously show differences

Table 5 Best, average, and worst values of the C metric over 540 solutions

Test problem (m, n) (2, (2, (3, (3, (3, (5, (5, (5, (8, 10) 20) 20) 40) 60) 20) 40) 60) 40)

SPGA-II Best 1 1 1 1 1 1 1 0.75 1 1 Average 0.39 0.34 0.32 0.27 0.35 0.23 0.38 0.27 0.22 0.36 Worst 0 0 0 0 0 0 0 0 0 0

SBSPGA Best 1 1 0.83 1 1 1 1 1 1 1 Average 0.43 0.36 0.29 0.32 0.41 0.39 0.31 0.34 0.28 0.35 Worst 0 0 0 0 0 0 0 0 0 0

(8, 60)

Int J Adv Manuf Technol (2010) 51:829840 Table 6 Best, average, and worst values of the C metric over 540 solutions Test problem (m, n) (2, (2, (3, (3, (3, (5, (5, (5, (8, (8, 10) 20) 20) 40) 60) 20) 40) 60) 40) 60) NSGA Best 1 0.86 1 1 0.91 1 1 0.75 1 1 Average 0.42 0.29 0.38 0.44 0.22 0.34 0.29 0.37 0.30 0.24 Worst 0 0 0 0 0 0 0 0 0 0 SBSPGA Best 1 1 1 1 1 1 1 1 1 1 Average 0.51 0.42 0.33 0.49 0.52 0.38 0.41 0.33 0.36 0.45

837

Worst 0 0 0 0 0 0 0 0 0 0

between two Pareto fronts. The value of C(A, B) states the percentage of solution in B that are dominated by at least one solution of A. this metric can be calculated by the following equation: C A; B jfb 2 Bj9 a 2 A : a 0 bgj : j Bj 14

The value C(A, B)=1 means that all solutions in B are dominated by solutions in A. On the other hand, C(A, B)=0 shows the condition when none of the solutions in B are dominated by A. Also, in this metric C(A, B) 1 C(B, A); thus, both C(A, B) and C(B, A) must be calculated and A is better than B if C(A, B) > C(B, A). Also, promising the obtained results from the SBSPGA, the results not only compared with the SPGA-II but also compared with a well-known algorithm which is named NSGA. 5.2 Computational results To compare the two evolutionary algorithms employed in this paper, ten m-machine, n-job parallel machine problems are
Table 7 Best, average, and worst values of the H metric over 540 solutions Test problem (m, n) (2, (2, (3, (3, (3, (5, (5, (5, (8, 10) 20) 20) 40) 60) 20) 40) 60) 40) SPGA-II Best 6.5123 4.3106 11.114 3.0078 2.2541 2.1627 1.7161 0.3751 0.0162 0.0071

generated. Using the number of machines (m) and number of jobs (n), each test problem is shown by the couple (m, n). Analogous to Berrichi et al. [5], the proposed test problems are: (2, 10), (2, 20), (3, 20), (3, 40), (3, 60), (5, 20), (5, 40), (5, 60), (8, 40), and (8, 60). Besides, the processing time of each job is defined as a random integer in the interval [1, 50]. In multi-objective optimization, comparing algorithms is not an easy affair, especially when they include several parameters. Therefore, similar to Berrichi et al. [5], we examined combinations of the following parameter values: Population size (Npop): 30, 60, 120. Crossover probability (Pc): 0.6, 0.8, 1.0. Mutation probability (Pm): 0.4, 0.6, 0.8. The number of generation of 100 and the number of elite solutions of 10 (Nelite =10) are used in this study which are the same values selected by Berrichi et al. [5]. Each of the employed algorithms was applied to each test problem 20 times for all 27 combinations of the parameter values. Thus, 540 non-dominated fronts are obtained by each algorithm for each test problem. Three performance measures were manifested to compare the algorithms: the hyper-volume
SBSPGA Average 14.5219 7.1364 13.2541 4.0674 2.7134 3.2243 2.0052 0.4934 0.0216 0.0086 Worst 18.3146 9.2251 15.5143 5.8143 3.1684 4.0874 2.6413 0.5713 0.0273 0.0091 Best 5.2563 4.089 9.0941 2.5742 1.8802 3.0334 0.9175 0.5864 0.0241 0.0069 Average 14.4012 6.2561 14.9218 3.0372 2.5613 4.1140 1.7416 0.2964 0.0399 0.0073 Worst 17.8252 10.1127 15.4061 4.6153 4.0219 5.1634 2.2590 0.4927 0.0476 0.0092

(8, 60)

838 Table 8 Best, average, and worst values of the H metric over 540 solutions (0.62) Test problem (m, n) (2, (2, (3, (3, (3, (5, (5, (5, (8, (8, 10) 20) 20) 40) 60) 20) 40) 60) 40) 60) NSGA Best 4.671 5.4152 8.6972 5.1128 3.062 4.8904 2.030 1.4412 0.0824 0.0063 Average 12.0306 9.5197 14.1463 3.7316 3.0072 4.9618 3.1934 1.0059 0.1006 0.0098 Worst 16.502 11.1163 17.8104 6.2006 5.5867 7.601 4.9105 2.0008 0.2034 0.0109

Int J Adv Manuf Technol (2010) 51:829840 SBSPGA Best 5.2563 4.089 9.0941 2.5742 1.8802 3.0334 0.9175 0.5864 0.0241 0.0069 Average 14.4012 6.2561 14.9218 3.0372 2.5613 4.1140 1.7416 0.2964 0.0399 0.0073 Worst 17.8252 10.1127 15.4061 4.6153 4.0219 5.1634 2.2590 0.4927 0.0476 0.0092

Table 9 Best, average, and worst values of the C metric over 540 solutions

Test problem (m, n) (2, (2, (3, (3, (3, (5, (5, (5, (8, (8, 10) 20) 20) 40) 60) 20) 40) 60) 40) 60)

SPGA-II Best 1 1 1 1 1 1 1 1 1 1 Average 0.42 0.38 0.33 0.29 0.37 0.29 0.43 0.31 0.26 0.37 Worst 0 0 0 0 0 0 0 0 0 0

SBSPGA Best 1 1 1 1 1 1 1 1 1 1 Average 0.48 0.42 0.31 0.44 0.53 0.45 0.40 0.48 0.32 0.39 Worst 0 0 0 0 0 0 0 0 0 0

Table 10 Best, average, and worst values of the C metric over 540 solutions (99) Test problem (m, n) (2, (2, (3, (3, (3, (5, (5, (5, (8, (8, 10) 20) 20) 40) 60) 20) 40) 60) 40) 60) NSGA Best 1 1 0.85 1 1 1 0.79 1 1 1 Average 0.46 0.51 0.36 0.33 0.41 0.39 0.24 0.37 0.22 0.41 Worst 0 0 0 0 0 0 0 0 0 0 SBSPGA Best 0.83 1 1 1 1 1 1 1 1 1 Average 0.51 0.37 0.48 0.54 0.55 0.41 0.48 0.36 0.44 0.53 Worst 0 0 0 0 0 0 0 0 0 0

Int J Adv Manuf Technol (2010) 51:829840

839

metric H, the C metric, and the number of non-dominated solution. In fact, fair comparison between two sets of nondominated front with the H metric requires an equal number of solutions obtained by the two fronts. Therefore, at first, employed algorithms were only compared by the two criteria, the C metric and the number of obtained solution. Then, H and C metrics are carried out with an equal number of nondominated solutions obtained by each algorithm. Besides, we have used the MannWhitney test to examine the significant differences between the results obtained by the algorithms. The MannWhitney U test is a non-parametric test to conclude whether the results of observations come from the same distribution. Our proposed algorithms are implemented in C#.net and run on a PC with 2.00-GHz Intel dual CPU and 1.00 GB of random access memory. Tables 3 and 4 show the best, average, and worst values of the number of obtained solutions over 540 solution sets. According to these tables, the number of solutions obtained decreases as the number of machines and jobs increase. This is related to the characteristic of unavailability function and parallel machine. For this measurement, SPGA-II and NSGA outperform the SBSPGA with 99% confidence level by the MannWhitney U test. Tables 5 and 6 illustrate the best, average, and worst values of the C metric over 540 solution sets obtained by each algorithm for each test problem. For the majority of test problems, it is shown that one of the two algorithms completely dominated another algorithm at least once over the 27 combinations for each test problem. By considering the average of the C metric, Tables 5 and 6 show that the SBSPGA outperform the SPGA-II with 91% and outperform the NSGA with 99% confidence level by the Mann Whitney U test. Tables 7 and 8 show the best, average, and worst values of the H metric obtained over the 540 solution sets when the equality of the number of solutions is required. Generally, there are no significant differences between the employed algorithms in terms of the H metric. By using the MannWhitney U test, the SBSPGA outperforms the SPGA-II with 53% and outperform the NSGA with 62% confidence level. Tables 9 and 10 show the best, average, and worst values of the C metric obtained over the 540 solution sets when the equality of number of solutions is required. According to these tables, the SBSPGA outperforms the SPGA-II and the NSGA with 99% confidence level by the Mann Whitney U test.

scheduling problem in parallel machine area. Also, the results obtained from this algorithm are compared with those obtained by two well-known evolutionary algorithms (SPGA-II and NSGA). The reliability of the production system is pondered as a criterion of performance. The makespan and the system unavailability are the two objectives that are objectively optimized in this study. Subjected to the numerous non-dominated solution sets (fronts), evolutionary algorithms have been tested and compared. The Pareto solutions obtained are trade-offs between the two objectives, empowering the manager to make two types of decision at the same time: deciding on assignment jobs to machines and deciding when to carry out maintenance actions on each machine. Computational results with ten test problems and a total of 5,400 instances have elucidated that the genetic algorithm based on dominance concept provides very efficient solution than the one based on the scalar function according to two performance measures. As a direction for future study, invoking the availability methods in other environments like scheduling flexible job shop problem is our plan. Besides, other objective functions like total tardiness and PM costs will be our future studies.

References
1. Adzapka KP, Adjallah KH, Yalaoui F (2004) On-line maintenance job scheduling and assignment to resources in distributed systems by heuristic-based optimization. J Intell Manuf 15:131140 2. Aghezzaf EH, Jamali MA, Ait-Kadi D (2007) An integrated production and preventive maintenance planning model. Eur J Oper Res 181(2):679685 3. Barichard V (2005) Hybrid approaches for multiobjective problems. PhD thesis, Doctoral School of Angers, France (in French) 4. Basseur M (2005) Design of cooperative algorithms for multiobjective optimization: application to flow-shop scheduling problems. PhD thesis, University of Sciences and Technologies of Lille, France (in French) 5. Berrichi A, Amodeo L, Yalaoui F, Chtelet E, Mezghiche M (2008) Bi-objective optimization algorithms for joint production and maintenance scheduling: application to the parallel machine problem. J Intell Manuf 20:389400. doi:10.1007/s10845-0080113-5 6. Cassady CR, Kutanoglu E (2003) Minimizing job tardiness using integrated preventive maintenance planning and production scheduling. IEEE Trans 35(6):503513 7. Cassady CR, Kutanoglu E (2005) Integrating preventive maintenance planning and production scheduling for a single machine. IEEE Trans Reliab 54(2):304309 8. Chang PC, Chen SH (2009) The development of a sub-population genetic algorithm II (SPGA II) for multi-objective combinatorial problems. Applied Soft Computing 9:173181 9. Chelbi A, Ait-Kadi D (2004) Analysis of a production/inventory system with randomly failing production unit submitted to regular preventive maintenance. Eur J Oper Res 156(3):712718 10. Ebeling CE (1997) An introduction to reliability and maintainability engineering. McGraw-Hill, USA

6 Conclusion and future study In this paper, an evolutionary algorithm (SBSPGA) is employed to solve the joint production and maintenance

840 11. Fleischer M (2003) The measure of Pareto optima, applications to the multi-objective metaheuristics. Lect Notes Comput Sci, Springer (EMO03) 2632:519533 12. Garey MR, Johnson DS (1979) Computers and intractability: a guide to the theory of NP-completeness. Freeman, San Francisco 13. Gharbi A, Kenne JP (2005) Maintenance scheduling and production control of multiple-machine manufacturing systems. Comput Ind Eng 48(4):693707 14. Jain AS, Meeran S (1999) Deterministic job-shop scheduling: past, present and future. Eur J Oper Res 113(2):390434 15. Kaabi J, Varnier C, Zerhouni N (2002) Heuristics for scheduling maintenance and production on a single machine. IEEE Conference on Systems, Man and Cybernetics, October 69, Hammamet, Tunisia 16. Kaabi J, Varnier C, Zerhouni N (2003) Genetic algorithm for scheduling production and maintenance in a flow-shop. Laboratory of Automatic of Besanon, France (in French) 17. Kenne JP, Gharbi A, Beit M (2007) Age-dependent production planning and maintenance strategies in unreliable manufacturing systems with lost sale. Eur J Oper Res 178(2):408420 18. Lee C-Y (1996) Machine scheduling with an availability constraint. J Glob Optim 9:395416 19. Lee CY, Chen ZL (2000) Scheduling jobs and maintenance activities on parallel machines. Nav Res Logist 47(2):145 165 20. McCall JJ (1965) Maintenance policies for stochastically failing equipment: a survey. Manage Sci 11:493524 21. Mellouli R, Sadfi C, Kacem I, Chu C (2006) Scheduling on parallel machines with availability constraints. Sixth International Francophone Conference of Modeling and Simulation, Mosim 06, Marocco (in French)

Int J Adv Manuf Technol (2010) 51:829840 22. Pham H, Wang HZ (1996) Imperfect maintenance. Eur J Oper Res 94(3):425438 23. Pinedo M (1995) Scheduling theory, algorithms and systems, 1st edn. Prentice Hall, Englewood Cliffs 24. Pinedo M (2002) Scheduling theory, algorithms, and systems, Chapter 2. Prentice-Hall, Englewood Cliffs 25. Qi X, Chen T, Tu F (1999) Scheduling the maintenance on single machine. J Oper Res Soc 50(10):10711078 26. Ruiz R, Garca-Diaz JC, Maroto C (2007) Considering scheduling and preventive maintenance in the flow-shop sequencing problem. Comput Oper Res 34(11):33143330 27. Schmidt G (2000) Scheduling with limited machine availability. Eur J Oper Res 121:115 28. Sherif YS, Smith ML (1981) Optimal maintenance models for systems subject to failurea review. Nav Res Logist 28(1):4774 29. Villemeur A (1991) Reliability, availability, maintainability and safety assessment. Wiley, USA 30. Wang HZ (2002) A survey of maintenance policies of deteriorating systems. Eur J Oper Res 139(3):469489 31. Weinstein L, Chung CH (1999) Integrated maintenance and production decisions in hierarchical production planning environment. Comput Oper Res 26:10591074 32. Xu D, Sun K, Li H (2008) Parallel machine scheduling with almost periodic non-preemptive maintenance and jobs to minimize makespan. Comput Oper Res 35:13441349 33. Zitzler E (1999) Evolutionary algorithms for multi-objective optimization: methods and applications. PhD thesis, Swiss Federal Institute of Technology, Zurich 34. Zydallis JB (2003) Explicit building-block multi-objective genetic algorithms: theory, analysis, and development. PhD dissertation, Air Force Institute of Technology, Ohio

You might also like