OSGA: genetic-based open-shop scheduling with ... - Springer Link

3 downloads 1047 Views 1MB Size Report
Apr 9, 2015 - production level, each machine needs maintenance, and this directly ... Department of Software Engineering, Faculty of Computer Science and ...
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