Ann Oper Res (2015) 229:743–758 DOI 10.1007/s10479-015-1855-z
OSGA: genetic-based open-shop scheduling with consideration of machine maintenance in small and medium enterprises Shahaboddin Shamshirband1 · Mohammad Shojafar2 · A. A. Rahmani Hosseinabadi3 · Maryam Kardgar3 · M. H. N. Md. Nasir4 · Rodina Ahmad4
Published online: 9 April 2015 © Springer Science+Business Media New York 2015
Abstract The problem of open-shop scheduling includes a set of activities which must be performed on a limited set of machines. The goal of scheduling in open-shop is the presentation of a scheduled program for performance of the whole operation, so that the ending performance time of all job operations will be minimised. The open-shop scheduling problem can be solved in polynomial time when all nonzero processing times are equal, becoming equivalent to edge coloring that has the jobs and workstations as its vertices and that has an edge for every job-workstation pair with a nonzero processing time. For three or more workstations, or three or more jobs, with varying processing times, open-shop scheduling is NP-hard. Different algorithms have been presented for open-shop scheduling so far. However, most of these algorithms have not considered the machine maintenance problem. Whilst in production level, each machine needs maintenance, and this directly influences the assurance reliability of the system. In this paper, a new genetic-based algorithm to solve the open-shop scheduling problem, namely OSGA, is developed. OSGA considers machine maintenance. To confirm the performance of OSGA, it is compared with DGA, SAGA and TSGA algorithms. It is observed that OSGA performs quite well in terms of solution quality and efficiency in small and medium enterprises (SMEs). The results support the efficiency of the proposed method for solving the open-shop scheduling problem, particularly considering machine maintenance especially in SMEs’.
B
Shahaboddin Shamshirband
[email protected] Mohammad Shojafar
[email protected]
1
Department of Computer System and Technology, Faculty of Computer Science and Information Technology, University of Malaya, 50603 Kuala Lumpur, Malaysia
2
Department of Information Engineering Electronics and Telecommunications (DIET), Sapienza University of Rome, Via Eudossiana 18, 00184 Rome, Italy
3
Young Research Club, Behshahr Branch, Islamic Azad University, Behshahr, Iran
4
Department of Software Engineering, Faculty of Computer Science and Information Technology, University of Malaya (UM), 50603 Kuala Lumpur, Malaysia
123
744
Keywords
Ann Oper Res (2015) 229:743–758
Timing · Open-shop · Scheduling · Genetic Algorithm
1 Introduction Scheduling is one of the unavoidable problems in being effective in industrial and economic activities. Among the most important scheduling problems is open-shop scheduling, which is widely used in the world of industry. Car repairs, control of central quality, attribution of classes, scheduling inspection and satellite signalling are some of instances discussed by Kubiak et al. (1991), Liu and Bulfin (1987) and Prins (1994). The input to the open-shop scheduling problem consists of a set of n jobs, another set of m workstations, and a two-dimensional table of the amount of time each job should spend at each workstation (possibly zero). Each job may be processed only at one workstation at a time, and each workstation can process only one job at a time. The aim of scheduling openshop is to present a scheduled program for assigning a time for each job to be processed by each workstation, so that no two jobs are assigned to the same workstation at the same time, no job is assigned to two workstations at the same time, and every job is assigned to each workstation for the desired amount of time. The open-shop scheduling problem has a very big solving span but is more complicated in comparison to the job-shop, flow-shop and the flexible manufacturing system (FMS). The open-shop scheduling problem is part of NP-hard problems and has attracted the concern of many researchers. Different algorithms have been presented to solve the open-shop problem. Dorndorf et al. (2001) used bound branch and innovative algorithms based on adaptive algorithms and adhesive operation. Brasel et al. (1993) offered some algorithms based on heuristic algorithms, adaptation and integration of operations, with the aim of minimising the schedule length. Their computational results show that for large problems, their proposed algorithm yields excellent results. Gonzalez and Sahni (1976) presented an algorithm to solve the O2llCmax problem with a complexity of O(n) for two machines which can be solved in a finish time schedule for n machines in a Polynomial time. In Pinedo (1995), presented another simple law on distribution called Longest Alternate Processing Time (LAPT), which solves the problem for two machines in multi-nominal time. He also showed that for M ≥ 3, the open-shop scheduling problem NP is complete. Brucker et al. (1997) developed a branch and bound method for the open-shop problem based on the disjunctive graph formulation. They implemented six branch and bound algorithms, with different heuristic algorithms for the smaller instances. All versions of their algorithm find the optimal solutions. For the small instances, only one algorithm terminates within the given time limit, and for hard instances their proposed method outperforms a tabu search method. Alcaide et al. (1997) presented a tabu search algorithm to minimise the makespan of the scheduling problem in the open-shop problem by using simple list scheduling algorithms. They tested their algorithm on random instances. In Yadollahi and Rahmani (2009), proposed a mimetic algorithm for distributed FMS scheduling by considering the maintenance problem. The objective of this algorithm was a tradeoff between time and cost. Liaw (2000) presented a hybrid genetic algorithm (HGA), which is a hybrid of tabu search and the basic genetic algorithm, to solve the scheduling problem of open-shop. The proposed algorithm outperforms other existing methods in terms of solution quality. As genetic algorithms are the best tools to solve larger open-shops, in Prins (2000) presented a GA for the scheduling problem of open-shop. His GA is simple, but it has four essential features of performance, including generation of active schedules, small populations with distinct makespans, and chromosome reordering to increase the efficacy of the crossover.
123
Ann Oper Res (2015) 229:743–758
745
Taillard (1993) investigated certain problems in the field of scheduling, such as the permutations of flow-shop, job-shop and open-shop scheduling problems. None of these consider the set-up time, nor due dates, nor release dates. They also assume that processing times are fixed. Their objective is to minimise the makespan. A set of several versions of list scheduling algorithms and bipartite graphs was presented by Gueret and Prins (1998). The computational results show that these algorithms are better than the classical heuristics and can easily solve open-shop instances. In Cheng et al. (1996), conducted a survey on solving classical job-shop problems (JSP) using a genetic algorithm; the survey presents the representation schemes for JSP and various hybrid approaches of genetic algorithms. Matta (2009) studied the multiprocessor open-shop (MPOS) problem and developed two original mixed integer programming formulations for the proportionate MPOS, using the genetic algorithm to schedule all jobs with the aim of minimising the makespan. Matta and Elmaghraby (2010) considered a hospital diagnostic testing centre that schedules hundreds of patients as a multiprocessor open-shop (MPOS) problem and developed a two-phase scheduling method to solve it. Kordon and Rebaine (2010) investigated the problem of scheduling a set of n jobs with time delay considerations, and presented two approaches to solve it. The first approach included two special patterns for solvable cases and the second approach included two heuristic algorithms, including an online algorithm and a sorting algorithm. The criterion was to minimise the makespan. Some two-phase heuristic algorithms for the open-shop scheduling problem with movable dedicated machines and without time restrictions were presented by Baccarelli et al. (2012), Hosseinabadi et al. (2014a, b), Lina et al. (2008), Pooranian et al. (2011). The aim of these solutions was to reduce the social costs, such as air pollution and traffic congestion. Andresen et al. (2008) developed two algorithms, namely simulated annealing and a genetic algorithm, to minimise the completion time. They also compared their algorithms to each other; the results show that the genetic algorithm is superior to simulated annealing. Liaw (2000) combined the properties of the genetic algorithm and tabu search and proposed a hybrid algorithm, namely HGA, to solve the open-shop scheduling problem, with the aim of minimising the makespan. The simulation results show that this algorithm can produce high-quality solutions. Hybrid ant colony optimisation (HACO) Panahi and Moghaddam (2011), which is based on simulated annealing and ant colony optimisation, was developed for minimising the makespan and total tardiness in the open-shop scheduling problem. Sha and Hsu (2008), by modifying the particle position representation, presented a new particle swarm optimisation (PSO) for scheduling in open-shop and reducing the makespan. Low and Yeh proposed a genetic-based scheduling algorithm Baccarelli et al. (2012) and Low and Yeh (2009) for minimising job tardiness in open-shop. They took into account some restrictions, such as setup time and removal time. Yu et al. (2011) presented improved approximation algorithms for routing open-shop and flow shop scheduling. The aim of these algorithms was to minimise the makespan. In general, most of the presented algorithms for solving the open-shop problem do not take the problem of machine maintenance into account. While in production level, each machine needs maintenance, and this directly influences the availability of machines, the production rate and the usage rate. So, neglecting the maintenance problem reduces the assurance capability of machines and systems. This paper presents a new GA to solve the scheduling problem of open-shop. Its aim is to reduce the ending time of all jobs and it has the additional advantage that the proposed algorithm considers the problem of machine maintenance. The input of the proposed algorithm is jobs and operations, and the output is reducing the finish time of the jobs.
123
746
Ann Oper Res (2015) 229:743–758
The remainder of the paper is set out as follows. In Sect. 2, the problem is described; Sect. 3 explains the proposed algorithm; Sect. 4 gives the computational results; and Sect. 5 presents the conclusion.
2 Problem description In open-shop production there is a set of n jobs, and each job must be performed by m machine. In other words, each job consists of a set of m operations and each operation should be performed by previously defined machines in a known time span (i.e., according to a specific considered deadline). The aim of scheduling open-shop production is to reduce the ending time of the performance of all operations’ makespan. The scheduling problem of open-shop is similar to the job-shop problem; the only difference is that there is no priority for the performance of each job. In other words, the jobs can be performed in any order. Based on the mentioned problem, the following issues are notable: N: number of jobs M: number of machines T: time index i: ith job j: jth job mi : number of jobs must be performed by ith machine nj : number of operations of jth job Ti : finish time of ith job TEij : finish time of ith operation of jth job Xijtm : if the ith operation of jth job is on the ith machine on time T, the Xijtm is equal to 1; otherwise it is 0. The open-shop scheduling problem has the following restrictions: 1. Every operation must be performed on its own machine X i jtm ≥ 1 {i = 1, 2, . . . , m; j = 1, 2, 4, . . . , n; t = 1, 2, 3, . . . , T }
(1)
Tm
2. Each operation must be performed on one machine and within a specific time. X i jtm ≤ 1 {i = 1, 2, . . . , m; j = 1, 2, 4, . . . , n; t = 1, 2, 3, . . . , T }
(2)
ij
3. In each time, only one operation from one job can be performed. M
X i jtm ≥ 1 {i = 1, 2, . . . , m; j = 1, 2, 4, . . . , n; t = 1, 2, 3, . . . , T }
(3)
1
4. Preemption is not allowed. This means that when an operation is being performed on a machine, it must be performed until it is finished. T E i j − T Si j =
M
Xi jtm
(4)
1
5. There is no priority for operation selection, and the operations can be performed in different orders.
123
Ann Oper Res (2015) 229:743–758 Table 1 Characteristics of an open-shop 3 × 3
747 Problem
Machine 1
Machine 2
Machine 3
Job 1
7
12
16
Job 2
13
10
13
Job 3
18
14
2
Fig. 1 Maintenance time related to machine age Chan et al. (2006)
Fig. 2 Gant chart scheduling of a production system with regard to machine maintenance in Table 1
Table 1 shows instances of the open-shop scheduling problem with 3 jobs. Each job has 3 operations, which must be performed on 3 machines. For example, in Table 1, operation 2 from job 1 (which takes 12 time units) must be performed by machine 2. Figure 1 shows the Gant chart of the sample system of Table 1. As this Gant chart shows, J1 O1 (operation 1 from job 1) is performed by machine 1 in time 0, and J1 O3 (operation 3 from job 1) is performed on machine 3 for 16 time units and in time 23. The finish time of all jobs in this sample system is 39. In each production system, machines need time for maintenance after a period of activity. It follows that considering the maintenance problem will increase the system’s assurance capability. While a machine is being maintained, that machine is out of service (unavailable); and after the maintenance is completed, it becomes available again and is able to continue with new operations. The time needed for machine maintenance is considered by the age of the machine. The age of the machine equals the total time needed for the processing operation by the machine. Figure 1 shows the time needed for the maintenance of machines based on their ages. The maximum age of a machine is A. If the age of a machine equals A, after ending a routine (current) operation, the machine goes obligatorily to maintenance condition; and after every maintenance, the age of the machine becomes zero again. Figure 2 shows a sample scheduling considering the problem of machine maintenance for the sample production system of Table 1.
123
748
Ann Oper Res (2015) 229:743–758
3 Proposed algorithm In this paper, a new genetic-based approach is presented to solve scheduling open production systems. The proposed algorithm focuses variety in genetic operations to achieve a better search in solving the problem and to obtain better responses. The complete structure of the proposed algorithm is given below.
3.1 Chromosome display In the proposed algorithm, a one-dimensional array as long as the number of all job operations is used to display a chromosome, with each gene being formed of two fields. Field 1 is one rational number, being representative of the operation of a job; and field 2 is representative of the problem of machine maintenance, which can be equal to 1 or zero. If the maintenance field of a gene equals 1, it means that after performing the current operation the machine will be passed to maintenance condition and will be unavailable until maintenance time finishes. If the maintenance field of a gene equals zero, after performing current operations the machine will still be available and can keep on performing the next operations. As Fig. 3 shows, each gene has two fields. The first field is the operation number, and the second field is the maintenance factor. For example, the first gene includes two numbers, 7 and 0. 7 is the operation that is performed on machine 1, and 0 indicates that after operation 7 is finished, the machine will be available and can perform the next operation. Table 2 shows the method of numbering job operations for the sample system in Table 1. Figure 3 shows one sample chromosome for the sample system in Table 1. It will be noticed that in the chromosome structure in Fig. 3, each gene shows an operational number which must be processed by a considered machine. For instance, in gene 2, field 1 is 3, which based on Table 2 refers to operation 3 of job 1 and must be performed by machine 1. Also, the maintenance field of this gene equals 1, i.e., after ending performance of a current operation at a definite time, machine 1 will be passed to maintenance condition and until the end of maintenance will be unable to commence the next operation. In this way of display, each chromosome shows a complete scheduling for performance of all job operations.
7,0 3,1
5,0
4,0
9,1
2,0
6,1
1,0
8,0
Fig. 3 Structure of a sample chromosome Table 2 Marking method, job operations for the sample system in Table 1
123
Job
Machine
Operation no.
1
1
1
1
2
2
1
3
3
2
1
4
2
2
5
2
3
6
3
1
7
3
2
8
3
3
9
Ann Oper Res (2015) 229:743–758
749
Fig. 4 Crossover operation
3.2 Fitness function The fitness of chromosomes is calculated based on the time needed to finish all the jobs. In our algorithm, the fitness function is as in formula 5: Fitness = Max1 < I ≤ n {Ti}
(5)
In this formula, ‘n’ is the number of jobs and Ti is the ending time of job I in scheduling.
3.3 Parent selection We use the ranking method for selecting the parents. In the ranking method, all chromosomes are arranged according to their fitness, based on the following equation: (max − Fiti ) + 1Cri ≤ in ≤ n
(6)
Cri is the rank of the ith chromosome, ‘max’ is the highest fitness or the worst fitness, and Fiti is the fitness of the ith chromosome. The rank of the best chromosome is Max-Fiti + 1 (‘max’ is the highest fitness) and the rank of the worst chromosome is equal to 1. Therefore, in this selection method all chromosomes have the chance to be selected.
3.4 Crossover operation In the OSGA, a random number in the range of 1 to n is first chosen. The genes which exist in the range of zero to the random number are transferred from the first parent to the child, and any identical genes are omitted from the second parent. The remaining genes from the second parent are inserted in the respective empty blanks of the child. Figure 4 shows a sample transfer operation in the proposed algorithm.
3.5 Mutation operation In a mutation operation, after choosing a random chromosome of the parent, two genes are chosen randomly and their positions are changed. Then the maintenance field of these two genes is inverted, i.e., if the maintenance field of a gene is 1, it equals zero, and if the maintenance field of the gene is zero, it equals 1. This kind of mutation operation attempts
123
750
Ann Oper Res (2015) 229:743–758
Fig. 5 Chromosome mutation operation
to produce various schedules and also to improve the capability of machine maintenance. Figure 5 shows the effect of a mutation operation on a sample chromosome.
3.6 Chromosome selection In the OSGA, the selection of chromosomes for the next generation is in synthetic form. In selecting based on a synthetic approach, chromosomes are first ordered based on their fitness. Next, the repeated chromosomes are omitted. Then, 10 % of chromosomes along with higher-deserving and other chromosomes are randomly selected for the next generation. In this approach, the constant selection of variety in chromosomes is preserved and excessive homogeneity of chromosomes is prevented.
3.7 Termination condition Termination condition is the number of generations. When the number of generations reaches the desired number, the algorithm ends. In OSGA in this paper, the number of generations for small problems is 200; for large problems, it is 400. Algorithm 1. The modified GA algorithm
1. Start 2. While (termination condition is not satisfied) 3. Initial population 4. Fitness calculation 5. Crossover operation 6. Mutation operation 7. Population optimisation 8. If the termination condition is true, show the best fitness. Otherwise, go to step 3. 9. End ‘If’ 10. End ‘While’ 11. Return best solution
4 Simulation results To evaluate the performance of the proposed algorithm, several random cases with different jobs and machines were generated. We compared the performance of the proposed algorithm against recently proposed algorithms such as DGA Low and Yeh (2009), SAGA Low and Yeh (2009), and TSGA Low and Yeh (2009). Also, the performance of these heuristics was compared with the mixed integer programming model, which is able to utilise commercial
123
Ann Oper Res (2015) 229:743–758
751
software such as Lindo or Cplex, or the recently proposed scheduling methods, to generate optimised solutions. All of these methods were implemented using the C# programming language and ran on a personal computer with 2.4GHz Pentium-IV processor and 2GB RAM. Two computational experiments are investigated in this section.
4.1 Testing sets of problems To implement a comparison of the findings from the proposed hybrid heuristics, some test problems for each manufacturing environment were randomly generated. The details are as follows: (1) A manufacturing environment is defined as a set of jobs in a machines scenario in which the number of jobs can be (3, 4) or (10, 30, 50), and the number of machines can be (2, 3) or (5, 10, 15). (2) The time is a certain specific proportion ratio for each operation. It is defined as setup/processing scenario. We consider seven types of time scenarios in this research: 10:1:10, 5:1:5, 3:1:3, 1:1:1, 1:3:1, 1:5:1, and 1:10:1. The processing time for each job is an integer number in (10,100).
4.2 Adaptability verification To verify the adaptability of the proposed algorithm, we compare it with the three aforementioned methods. The main body of these methods is the genetic algorithm. The difference between the methods is in their local optimisations, which are implemented by GA, SA, and TS. The structure of TS and SA with a short memory is the same as in classical forms [(simulated annealing (SA) Laarhoven and Aarts (1987), tabu search (TS) Glover and Laguna (1997)]. The neighbour selection strategy for both TS and SA is an adjacent pair exchange. In this section the proposed algorithm (OSGA) and DGA, SAGA and TSGA are explained. Their performance was evaluated in small problems (job size n=3 or 4; machine size m=2 or 3) and then a comparison with the optimum solution was performed Low and Yeh (2009). In this paper, four test problems (denoted by k with {1, 2, 3, 4}) were generated for each manufacturing scenario, in which each test problem ran 10 times. The results are shown in Table 3. They indicate that in the first three scenarios—3 × 2, 3 × 3, 4 × 2—and in each run of test problems, the proposed algorithm and the compared algorithms could obtain an optimum solution. In scenario 4 × 3, for 50 running hours the proposed algorithm (OSGA) could obtain the best schedule (solution). Also, the computation cost of these four algorithms is less than 0.4 s.
4.3 Solution quality and efficiency of various heuristics To demonstrate the performance of the proposed algorithm (OSGA), we compared it with three hybrid algorithms: DGA, SAGA, and TSGA Low and Yeh (2009). We evaluated the performance of these algorithms in medium and large test problems suitable for industry (job size n = 10, 30, or 50; machine size m = 5, 10, or 15) in terms of solution quality and efficiency. Four random test problems were generated for each manufacturing scenario and each test problem ran 10 times. As mentioned in the previous section, the structure and
123
123
–
–
4 × 3_3
4 × 3_4 388
605
487
402
556
408
393
352
255
212
193
173
241
224
109
177
388.6
605.6
487
404.2
556
408
393
352
255
212
193
173
241
224
109
177
388
605
489
402
556
408
393
352
255
212
193
173
241
224
109
177
Best
Best
Average
SAGA
DGA
389.2
607.0
492.2
405.0
556
408
393
352
255
212
193
173
241
224
109
177
Average
“–” indicates that the optimum solutions could not be obtained by the extended Lindo within 50 running hours
–
352
4 × 2_1
4 × 3_2
255
3 × 3_4
–
212
3 × 3_3
556
193
3 × 3_2
4 × 2_4
173
3 × 3_1
4 × 3_1
241
3 × 2_4
393
224
3 × 2_3
408
109
3 × 2_2
4 × 2_2
177
3 × 2_1
4 × 2_3
Optimum solutions
Problem (n × m_k)
Table 3 Performance comparisons of the proposed algorithm and three GA-based heuristics (for small problems)
388
605
487
402
556
408
393
352
255
212
193
173
241
224
109
177
Best
TSGA
388.8
607.4
493.1
410.3
556
408
393
352
255
212
193
173
241
224
109
177
Average
382
601
483
399
556
408
393
352
255
212
193
173
241
224
109
177
Best
OSGA
382
601
484
401
556
408
393
352
255
212
193
173
241
224
109
177
Average
752 Ann Oper Res (2015) 229:743–758
4815
5284
6052
6615
5918
7422
30 × 15_3
30 × 15_4
50 × 5_1
50 × 5_2
30 × 5_3
50 × 5_4
5042
30 × 15_2
4587
30 × 5_2
6128
4523
30 × 5_1
30 × 15_1
1455
10 × 10_4
3864
1016
10 × 10_3
5137
2457
10 × 10_2
30 × 5_3
3623
10 × 10_1
30 × 5_4
3043
1965
10 × 5_3
10 × 5_4
3048
2926
10 × 5_1
7560.3
6035.1
6742.4
6140.8
5344.4
4846.2
5124
6188.8
5184.1
3880.5
4626.8
4537.4
1492.7
1056
2520.4
3650
1972.3
3061.7
2980.2
3058.4
12.04
31.26
8.86
8.2
7.45
7510
6080
6692
6150
5291
4832
5120
6212
5137
3912
4590
4523
1455
1044
2516
3705
1968
3043
2932
3048
Best
CPUs
Best
Average
SAGA
DGA
10 × 5_2
Problem (n × m_k)
7768.5
6290.2
6876.2
6318.2
5385
4920
5204.9
6280.6
5232.5
3958
5670.4
4602.7
1504.2
1092.7
2600.4
3760.8
1985.1
3084
3100.8
3098
Average
15.89
43.44
11.52
10.18
9.75
CPUs
7590
6097
6680
6208
5291
4850
5120
6216
5193
3868
4601
4582
1457
1075
2532
3696
2000
3087
2932
3050
Best
TSGA
Table 4 Performance comparisons of the proposed algorithm and three GA-based heuristics (for large problems)
7842
6298.2
6934.1
6338.4
5410.2
4950.8
5220.1
6312.8
5782.5
3984.3
4705
4652.8
1552
1121.5
2636.4
3812.6
2008.2
3114.8
3148.4
3138
Average
10.23
26.87
7.97
7.17
6.4
CPUs
7409
5906
6603
6026
5233
4804
5013
6111
5117
3835
4532
4501
1418
1007
2419
3605
1922
3014
2911
3043
Best
OSGA
7426
5945
6631
6076
5241
4832
5026
6134
5127
3842
4540
4509
1423
1014
2426
3612
1925
3019
2917
3045
Average
11.46
25.12
7.81
7.43
5.64
CPUs
Ann Oper Res (2015) 229:743–758 753
123
123
4694
4776
4159
5276
6312
5248
5024
5420
6341
30 × 5_1
30 × 5_3
30 × 5_4
30 × 15_1
30 × 15_2
30 × 15_3
30 × 15_4
50 × 5_1
1587
30 × 5_2
1173
2183
10 × 5_4
10 × 10_4
3258
10 × 5_3
10 × 10_3
3094
10 × 5_2
3802
3136
10 × 5_1
2565
7350
50 × 15_4
10 × 10_1
6624
50 × 15_3
10 × 10_2
6485
8905
50 × 15_1
6480.5
5544.7
5150
5475.2
6455.8
5360.6
4240.7
4852.3
4765
1622.5
1305.7
2654.2
3872.4
2241.6
3328.1
3245.8
3190.4
7413.6
6843.5
9015.7
6604.2
3.34
9.45
2.5
2.18
2
45.28
6372
5542
5081
5364
6401
5276
4291
4772
4712
1587
1242
2608
3812
2250
3315
3152
3136
7395
6708
8995
6540
Best
CPUs
Best
Average
SAGA
DGA
50 × 15_2
Problem (n × m_k)
Table 4 continued
6477.6
5669.3
5169.3
5516.1
6513.8
5373.8
4336.3
4860.9
4814.2
1645.9
1323.8
2761.2
3905.5
2308.2
3409.1
3286.4
3209.7
7522.6
6870
9250.3
6876.5
Average
4.08
10.21
2.94
2.75
2.44
59.62
CPUs
6390
5502
5078
5272
6428
5348
4268
4776
4740
1587
1238
2652
3850
2261
3250
3104
3138
7395
6708
9142
6605
Best
TSGA
6622
5613.3
5220.2
5513.5
6585.8
5511.3
4314.6
4963.6
4884.2
1749
1338.1
2906.9
4014.5
2337.4
3423.7
3323.6
3269.8
7560.7
6940.3
9390.8
6950.5
Average
2.57
8.51
2.16
1.76
1.86
38.84
CPUs
6319
5403
5001
5211
6283
5249
4122
4738
4659
1542
1128
2531
3793
2146
3223
3028
3109
7315
6604
8876
6419
Best
OSGA
6327
5441
5042
5236
6317
5288
4172
4764
4696
1581
1163
2574
3817
2193
3285
3077
3166
7352
6638
8895
6453
Average
2.35
8.17
2.01
2.11
2.26
38.52
CPUs
754 Ann Oper Res (2015) 229:743–758
7809
6952
9506
7040
7665
50 × 15_1
50 × 15_2
50 × 15_3
50 × 15_4
6374
50 × 5_4
7175
50 × 5_3
7740
7234.8
9760.5
7068.2
7915.8
6457
7270.4
13.4
7782
7162
9602
7048
7920
6386
7256
Best
CPUs
Best
Average
SAGA
DGA
50 × 5_2
Problem (n × m_k)
Table 4 continued
7981
7240.5
9808.7
7134.1
8010.8
6446.6
7507.4
Average
14.6
CPUs
7796
7184
9688
7120
7974
6405
7264
Best
TSGA
8148.1
7302.3
9995.9
7195
8145.9
6501.4
7711.2
Average
12.12
CPUs
7631
7007
9491
6915
7792
6342
7136
Best
OSGA
7659
7034
9517
6946
7824
6385
7165
Average
11.96
CPUs
Ann Oper Res (2015) 229:743–758 755
123
756
Ann Oper Res (2015) 229:743–758
Fig. 6 Gant chart of OSGA scheduling for data test 10 × 5_4
Fig. 7 Gant chart of OSGA scheduling for data test 30 × 15_4
Fig. 8 Gant chart of OSGA scheduling for data test 50 × 15_4
mechanisms of DGA, SAGA and TSGA are all the same. The initial solutions of SAGA and TSGA were generated randomly. The comparison results are shown in Table 4. The results in Table 4 indicate that in all test problems, the proposed algorithm (OSGA) is better than DGA, SAGA and TSGA. In terms of quality and robustness, OSGA is better than the others. This is clear in both the best and the worst cases, with the worst case being TSGA. In general, in terms of the solution quality, and if the initial solutions are not optimum, the GA-based methods are better than TS and SA. This information can be interpreted as: in a set of randomly initial solutions, the genetic algorithm does multi-dimensional searches by utilising the feasible solutions. Population-to-population methods try not to fall into local optimum, but for the point-to-point methods such as TA and SA, there is the possibility of falling into local optimum. Figures 6 and 7 show the Gant chart of OSGA for a medium data set 10 × 5_4 and for a large data set 30 × 15_4, respectively. As these figures show, the OSGA algorithm schedules
123
Ann Oper Res (2015) 229:743–758
757
the jobs even by increasing the size of the problem on corresponding machines well. For the same problem, we conclude that, by increasing three times jobs numbers and even machine numbers, makespan is increased three times, but the stopping duration for each machine is decreased enormously. This means that OSGA is adaptive in large job sizes. Figure 8 shows the Gant chart of the proposed algorithm (OSGA) for a very large data set 50 × 15_4. The OSGA algorithm is able to schedule the incoming jobs on machines properly with less loss of time. Figure 8, compared with Fig. 7, shows that it is able to manage makespan even with double times of incoming jobs with fixed machines.
5 Conclusion In this paper, a new approach called OSGA has been presented for solving the open-shop scheduling problem by using the GA. The proposed algorithm was compared with the DGA, SAGA and TSGA algorithms. One of the properties of the proposed algorithm is that it considers the machine-maintenance parameter, so enhancing the assurance capability of the open-shop system. Here, the proposed algorithm emphasises variety in genetic operations to arrive at better solutions. The experimental results show that, because of the use of transfer operation in the proposed algorithm, proper leap and the operation of synthetic choice dispersion of chromosomes are constantly preserved; and that the algorithm prevents homogeneity of chromosomes, so arriving at better solutions in a shorter time. Acknowledgments This work has been partially sponsored by University Malaya Research Grant under the grant no: RG327-15AFR and Grant (No. RG316-14AFR). We thank the reviewers and associate editor for their comments which improved this manuscript
References Alcaide, D., Sicilia, J., & Vigo, D. (1997). Atabu search algorithmfor the open-shop problem. Top, 5, 283–286. Andresen, M., Brasel, H., Morig, M., Tusch, J., Werner, F., & Willenius, P. (2008). Simulated annealing and genetic algorithms for minimizing mean flow time in an open shop. Mathematical and Computer Modelling, 48, 1279–1293. Baccarelli, E., Cordeschi, N., & Patriarca, T. (2012). QoS stochastic traffic engineering for the wireless support of real-time streaming applications. Computer Networks, 56(1), 287–302. Baccarelli, E., Cordeschi, N., & Polli, V. (2013). Optimal self-adaptive qos resource management in interference-affected multicast wireless networks. IEEE/ACM Transactions on Networking (TON), 21(6), 1750–1759. Brasel, H., Tautenhahn, T., & Werner, F. (1993). Constructive heuristic algorithms for the open-shop problem. Computing, 51, 95–110. Brucker, P., Hurink, J., Jurish, B., & Wostmann, B. (1997). A branch and bound Algorithm for the open-shop problem. Discrete Applied Mathematics, 76, 43–59. Chan, F. T. S., Chung, S. H., Chan, L. Y., Finke, G., & Tiwari, M. K. (2006). Solving distributed FMS scheduling problems subject to maintenance: Genetic algorithms approach. Robotics and Computer Integrated Manufacturing, 22, 5–6. Cheng, R., Gen, M., & Tsujimura, Y. (1996). A tutorial survey of job-shop scheduling problems using genetic algorithms-I. representation. Computers & Industrial Engineering, 30, 983–997. Dorndorf, U., Pesch, E., & Phan-Huy, T. (2001). Solving the open-shop scheduling problem. Journal of Scheduling, 4, 157–174. Glover, F., & Laguna, M. (1997). Tabu search. Norwell, MA: Kluwer Academic Publishers. Gonzalez, S., & Sahni, T. (1976). Open-shop scheduling to minimize finish time. Journal of the Assooauon for Computing Machinery, 23, 665–679. Gueret, C., & Prins, C. (1998). Classical and new heuristics for theshop problem: A computational evaluation. European Journal of Operational Research, 107, 306–314.
123
758
Ann Oper Res (2015) 229:743–758
Hosseinabadi, A. A. R., Kardgar, M., Shojafar, M., Shamshirband, S., & Abraham, A. (2014a). GELS-GA: Hybrid metaheuristic algorithm for solving multiple travelling salesman problem (pp. 76–81). 14th IEEE ISDA. Hosseinabadi, A. A. R., Siar, H., Shamshirband, S., Shojafar, M., & Nasir M. H. N. M. (2014b). Using the gravitational emulation local search algorithm to solve the multi-objective flexible dynamic job shop scheduling problem in Small and Medium Enterprises. Annals of Operations Research, 1–24. Kordon, A. M., & Rebaine, D. (2010). The two-machine open-shop problem with unit-time operations and time delays to minimize the makespan. European Journal of Operational Research, 203, 42–29. Kubiak, W., Sriskandarajah, C., & Zaras, V. (1991). A note on the complexity of open-shop scheduling problems. INFOR, 29, 284–294. Laarhoven, P. J. M., & Aarts, E. H. L. (1987). Simulated annealing: Theory and applications. Norwell, MA: Kluwer Academic Publishers. Liaw, C. F. (2000). A hybrid genetic algorithm for the open-shop scheduling problem. European Journal of Operational Research, 124, 28–42. Lina, H., Leeb, H., & Pan, W. (2008). Heuristics for scheduling in a no-wait open shop withmovable dedicated machines. International Journal of Production Economics, 111, 368–377. Liu, C. Y., & Bulfin, R. L. (1987). Scheduling ordered open-shops. Computers & Operations Research, 14, 257–264. Low, C., & Yeh, Y. (2009). Genetic algorithm-based heuristics for an open shop scheduling problem with setup, processing, and removal times separated. Robotics and Computer-Integrated Manufacturing, 25, 314–322. Matta, M. E. (2009). A genetic algorithm for the proportionate multiprocessor open shop. Computers & Operations Research, 36, 2601–2618. Matta, M. E., & Elmaghraby, S. E. (2010). Polynomial time algorithms for two special classes of the proportionate multiprocessor open shop. European Journal of Operational Research, 201, 720–728. Panahi, H., & Moghaddam, R. T. (2011). Solving a multi-objective open shop scheduling problem by a novel hybrid ant colony optimization. Expert Systems with Applications, 38, 2817–2822. Pinedo, M. (1995). Scheduling: Theory algorithms and systems. Englewood Cliffs, NJ: Prentice-Hall. Pooranian, Z., Harounabadi, A., Shojafar, M., & Hedayat, N. (2011). New hybrid algorithm for task scheduling in grid computing to decrease missed task. World Academy of Science, Engineering and Technology, 55, 924–928. Prins, C. (1994). An overview of scheduling problems arising in satellite communications. The Journal of the Operational Research Society, 45, 611–623. Prins, C. (2000). Competitive genetic algorithms for the open-shop scheduling problem. Mathematical Methods of Operations Research, 52, 389–411. Sha, D. Y., & Hsu, Ch Y. (2008). A new particle swarm optimization for the open shop scheduling problem. Computers & Operations Research, 35, 324–3261. Taillard, E. (1993). Benchmarks for basic scheduling problems. European Journal of Operational Research, 64, 278–285. Yadollahi, M., & Rahmani, A. M. (2009). Solving distributed flexible manufacturing systems scheduling problems subject to maintenance: Memetic algorithms approach. International Conference on Computer and Information Technology, 1, 36–41. Yu, W., Liu, Zh, Wang, L., & Fan, T. (2011). Routing open shop and flow shop scheduling problems. European Journal of Operational Research, 213, 24–36.
123