An imperialist competitive algorithm for a bi-objective parallel machine scheduling problem with load balancing consideration

Article history: Received October252012 Received in revised format December 28 2012 Accepted February4 2013 Available online 6February2013 In this paper, we present a new Imperialist Competitive Algorithm (ICA) to solve a bi-objective unrelated parallel machine scheduling problem where setup times are sequence dependent. The objectives include mean completion time of jobs and mean squares of deviations from machines workload from their averages. The performance of the proposed ICA (PICA) method is examined using some randomly generated data and they are compared with three alternative methods including particle swarm optimization (PSO), original version of imperialist competitive algorithm (OICA) and genetic algorithm (GA) in terms of the objective function values. The preliminary results indicate that the proposed study outperforms other alternative methods. In addition, while OICA performs the worst as alternative solution strategy, PSO and GA seem to perform better. © 2013 Growing Science Ltd. All rights reserved


Introduction
In scheduling of unrelated parallel machines, there are n jobs, which are supposed to operate on m unrelated machines and processing times depend on machines.There are many real-world applications where setup times not only depends on machines but also depends on the sequence of various jobs.In other words, setup times between two jobs of j and k on machine i is different with setup time between two jobs of k and j on the same machine, i.In addition, setup times between two jobs of j and k on machine i is different with setup times of two jobs of j and k on i' (Allahverdiet al., 2008;Vallada, & Ruiz, 2011;Cossari et al., 2012).Lei (2009) provided an extensive review of the literature on the scheduling problems with multiple objectives.Rajakumar et al. (2004) presented a method where workflow and workload were assumed to have the same meaning and a machine with the lowest workflow is chosen for assignment of a new job from the list of unfinished jobs.They considered various priority strategies for the selection of jobs and three various strategies were considered, namely random (RANDOM), shortest processing time (SPT) and longest processing time (LPT) for the selection of jobs for workflow balancing.The relative percentage of imbalance (RPI) was chosen among the parallel machines to assess the performance of these strategies in a standard manufacturing environment.T'kindt et al. (2001) considered a bicriteria scheduling problem connected with the glass bottles production where the shop was made up of unrelated parallel machines and the aim was to compute a schedule of orders, which maximizes the total margin and minimizes the difference in machines workload.Rajakumar et al. (2004), in another assignment, implemented genetic algorithm (GA) to solve the parallel machine scheduling problem of the manufacturing system with the objective of workflow balancing.They compared the performance of GA with three workflow balancing strategies namely RANDOM, SPT and LPT.They adopted RPI among parallel machines for assessing the performance of these heuristics and reported that GA provided better performance for the combination of different job sizes and machines.Keskinturk et al. (2012) investigated the problem of minimizing average relative percentage of imbalance (ARPI) with sequence-dependent setup times in a parallel-machine environment.They presented a mathematical model, which minimizes ARPI, used some heuristics, and two metaheuristics, an ant colony optimization algorithm and a GA, and examined on different random data.Their method provided better results using ant colony optimization than heuristics and GA did.Ho et al. (2009) proposed another method for minimizing the normalized sum of square for workload deviations on m parallel processors called normalized sum of square for workload deviations (NSSWD).Vallada and Ruiz (2011) presented GA for the unrelated parallel machine scheduling problem where machine and job sequence dependent setup times were considered and their results seemed to provide an excellent performance overcoming the rest of the evaluated techniques in a comprehensive benchmark set of instances.Varmazyar and Salmasi (2012) considered flow shop scheduling problems with sequence-dependent setup times, minimizing the number of tardy jobs, and proposed a mixed integer programming to solve the resulted problem.They also proposed several meta-heuristic methods based on tabu search (TS) and ICA to heuristically solve the problem.They reported that the performance of ICA was worse than the other algorithms for some small and medium sized instances while the hybrid of ICA and the TS algorithm provided better performance than the other proposed algorithms for large-sized problems.Tavakkoli-Moghaddam et al. (2009) presented two-level mixed-integer programming model of scheduling N jobs on M parallel machines, which minimizes bi-objectives, namely the number of tardy jobs and the total completion time of all the jobs and with unrelated parallel machines.They used GA to solve the bi-objective parallel machine scheduling problem and the performance of the proposed model and GA was verified using various instances.Shokrollahpoura et al. (2009) considered two-stage assembly flowshop scheduling problem with minimization of weighted sum of makespan and mean completion time as the objective and used ICA to solve the resulted problem.Raghavendra et al. (2006) investigated workflow balancing in parallel machine scheduling with precedence constraints using GA.Raghavendra and Murthy (2011) studied the loading problem in flexible manufacturing systems involved the assignment of the operation or jobs to the identical parallel machine to process necessary part kinds selected to be produced, simultaneously.They used GA heuristic approach for minimizing the imbalance of workload among the identical parallel machines.Naderi-Beni et al. (2012) studied nowait flow shop problem where setup times depended on sequence of operations.Their results indicated that the proposed two-phase model of this paper performed relatively better than Zimmerman's singlephase fuzzy method.Moradinasab et al. (2011) provided a no-wait two-stage flexible flow shop scheduling problem with setup times where the objective function was to minimize the total completion time.The problem was solved using an AICA and GA.Lian (2010) presented united search particle swarm optimization algorithm for multiobjective scheduling problem while Keskinturk et al. (2012) considered an ant colony optimization algorithm for load balancing in parallel machines with sequencedependent setup times.Karimi et al. (2011) investigated group scheduling in flexible flow shops by considering a hybridized approach of ICA and electromagnetic-like mechanism and Jolai et al. (2012) studied a novel hybrid meta-heuristic algorithm for a no-wait flexible flow shop scheduling problem with sequence dependent setup times.Javadi et al. (2008) investigated no-wait flow shop scheduling using fuzzy multi-objective linear programming.
In this paper, we present an ICA to solve a bi-objective unrelated parallel machine scheduling problem where setup times are sequence dependent.The objectives include mean completion time of jobs and mean squares of deviations from machines workload from their averages.The performance of the proposed ICA (PICA) method is examined using some randomly generated data and they are compared with three alternative methods including particle swarm optimization (PSO), original version of imperialist competitive algorithm (OICA) and genetic algorithm (GA) in terms of the objective function values.

The proposed model
In this study, we consider a mathematical model for ̅ , ∑( ) , which was originally developed by Keskinturk et al. (2012), where j and k represent indexes associated with jobs, which are integer numbers between one to n+m.Without loss of generality, we assume jobs 1 to n are real and jobs n+1 to n+m are dummy ones with zero processing and setup times, where m is the number of unrelated parallel machines.In addition, the setup time of the first job processed after a dummy job is assumed to be initial setup time.Finally, there is a dummy job on each machine at the beginning of sequencing.The following summarizes the necessary notations for the proposed model of this paper, Binary variable where it is one if job j is processed on machine i and zero, otherwise, jik X Binary variable where it is one if job k is processed after job j on machine i and zero, otherwise, The proposed model of this paper is as follows, (1) Here, Eq. ( 1) and Eq. ( 2) represent mean completion time and mean squares of workloads from their average.Eq. ( 3) assigns one dummy job to each machine and guarantees that all dummy jobs are processed at the beginning of operations for each machine.According to Eq. ( 4), only one job is processed once each machine is available.Eq. ( 5) guarantees that only one real job can be processed when a machine becomes available.According to Eq. ( 6), when the processed of a particular job is completed, there is a real or dummy job before.Eq. ( 7) is used to assure that each job is assigned only to one machine, Eq. ( 8) assures that one machine cannot process more than one job at the same time, Eq. ( 9) guarantees that completion times of dummy jobs are equal to zero.In addition, Eq. ( 10) shows the relationship between two consecutive jobs, Eq. ( 11) computes the workload of each machine and Eq. ( 12) demonstrates the variable type.

Solution method
The proposed solution strategy of this paper uses two parameters of α and β to merge two objective functions, ̅ , ∑( ) , into single one ̅ + ∑( ) where α+β=1.The proposed metaheuristics uses a string with the size of n+m-1 where n represents the number of jobs, m denotes the number of machines, and the feasible solutions are integer numbers between one and n+m-1, which is design using the proposed method by Lian (2010).For instance, Fig. 1 demonstrates a sample of jobs and machines when there are three machines and ten jobs.Termination criterion is the number of function evaluation (NFE) and since we intend to compare the performance of the proposed method with other methods, we use this criterion to have a fair comparison.

Particle swarm optimization
Particle swarm optimization (PSO) has been a popular method, which uses a swarm intelligence to find best solution (Kennedy & Eberhart, 1995).For PSO implementation, we use the following notations, The following steps are used to apply PSO for the proposed method of this paper,

Initialization
Step 1. Choose initial values, Step 2. Setup initial values using some randomly generated data for all particles with zero value for velocity, Step 3. Decode the solution and compute the combined objective function based on ̅ + ∑( ) , Step 4. Choose the particles with minimum cost and store its position as GlobalBest, Step 5. Choose the best personal position Repeat steps 6 to 12 until termination criterion is met.
Step 6. Update velocity using Eq. ( 13) as follows, Step 7. Update each particle position based on Eq. ( 14) Step 8. Similar to what we have done in step 3, evaluate position of each particle, update the best position of each particle and determine the best global solution.
Step 9. Do a local search using of the three methods of Swap, Reversion and Insertion with equal probabilities as shown in Fig. 2  Step 10.If the local search yields better solution, replace it with current solution, and update the best position of each particle Step 11.Update the best global solution, Step 12. Do a local search on GlobalBest and update current solution.

Genetic algorithm
The proposed genetic algorithm (Holland, 1975;Goldberg, 1989) of this paper has the following steps, Table 2 demonstrates the GA parameters

Table 2 Description
Notation of GA

Member of population POP[i]:
Population number nPop: Portion of population used for crossover operation pCrossover: Number of parents for crossover operation nCrossover: Portion of mutation pMutation:

Number of mutation nMutation:
Mutation ratio mu: Number of genes from a chromosome for mutation nmu:

Tournament size
TournamentSize: A number between zero and one : The GA used for the proposed model of this paper is a standard method adopted from Haupt and Haupt (2004) and it is briefly described here, Step 1. Setup all input parameters, Step 2. Position all individuals, Step 3. Evaluate each position, Step 4. Order population in non-decreasing order according to their objective functions, Repeat step 5 to 7 until termination criterion is met Step 5. Perform crossover based on the following, Let X 1 and X 2 be the parents and Y 1 and Y 2 be the children.We generate X 1 and X 2 randomly in the interval of [− , 1 + ] and Y 1 and Y 2 are generated as follows, (16) = .
Step 6. Perform mutation based on nMutation The mutation operation is similar to Engelbrecht (2007), as follows Step 7. Merge the initial population with two new populations obtained from mutation and crossover and order them on non-decreasing order, (18) = ( . ) Step 8. Choose the first nPop components as new solution.

Proposed Imperialist Competitive Algorithm
In this section, we present details of the proposed imperialist competitive algorithm (PICA), which is originally presented by Atashpaz-Gargari and Lucas (2007).Table 3 demonstrates details of parameters used, Total cost of imperialist i from empire k The following summarizes the necessary steps associated with the proposed study, Step 1. Setup initial values, Step 2. Determine empires (Similar to step 2 of GA and PSO), Step 3. Order countries based on their costs in non-decreasing orders and based on nEmp and nPop-nEmp assign countries to Imperialists.The assignment of countries to Imperialists are performed based on p i calculated using Boltzmann (Engelbrecht, 2007) and roulette wheel selection strategy as follows, (21) , = .
Repeat steps 5 to 10 until termination criterion is met, Step 5. Go inside each empire, do Assimilation on all colonies and calculate new location as follows, (24) In Eq.( 24), r is a string whose elements are generated randomly between zero and one.
Step 6. Do revolution on each Empire and its colonies, To do this, we first perform a local search on each Imperialist and of the new location maintain a better objective function, replace the new position with the old one.This policy is applied to all colonies and the positions are updated, accordingly.
Step 7. If the position of colonies is better than its Empire in terms of their costs, exchange their position, Step 8. Update empire cost using Eq. ( 23), Step 9. Choose the worst Empire in terms of cost and assign its worst colony to other Empire, Step 10.Perform a local search on the best Empire.

The results
In this section, we examine the performance of the proposed method of this paper on some randomly generated data.Table 4 shows the input data,

Table 4
The way of generating input parameters We have performed different studies to find the best tuning values.The likelihood of a revolution is considered as 0.05 with the rate of 0.05.The value of NFE for problems 3, 4, 5 and 6 are 100000, 150000, 200000 and 250000, respectively.Table 5 demonstrates some other parameters,

Table 5
The values of parameters of GA, PSO and PICA PICA PSO GA nPop=150 nPop=100 nPop=100 nEmp=15 w=0.3 pCrossover=0.8 = 1 = 0.8 pMutation=0.1 = 1.7 = 1 mu=0.05= 0.1 TournamentSize=3 Each example is solved 5 times leading us to have 960 instances, we have considered various values for α, and β.Table 6, Table 7, Table 8 and Table 9 demonstrate the results of our survey.In addition, we present the results in terms of descriptive figures and Fig. 3 to Fig. 5 show the results.As we can observe from the results of Fig. 3 to Fig. 6, PICA performs better than other alternative methods including ICA, PSO and GA, especially when the sizes of instances increase.ICA performs the worst while GA and PSO come somewhere between.

Conclusion
In this paper, we have presented a new Imperialist Competitive Algorithm (ICA) to solve a bi-objective unrelated parallel machine scheduling problem where setup times are sequence dependent.The objectives include mean completion times of jobs and mean squares of deviations from machines workload from their averages.The performance of the proposed ICA (PICA) method has been examined using some randomly generated data and they have been compared with three alternative methods including particle swarm optimization (PSO), original version of imperialist competitive algorithm (OICA) and genetic algorithm (GA) in terms of the objective function values.The preliminary results have indicated that the proposed study outperforms other alternative methods.In addition, while OICA performs the worst as alternative solution strategy, PSO and GA seem to perform better.
job j on machine i jik s Setup time of machine i for processing job k after job j

Fig. 1 .
Fig.1.The method of representation, encoding and decoding

Table 1 Description
:Social learning coefficient : Random numbers generated between zero and one , :

Table 6
The average objective function values of GA, PSO, OICA and PICA while α=0.2 and β=0.8

Table 7
The average objective function values of GA, PSO, OICA and PICA while α=0.4 and β=0.6

Table 8
The average objective function values of GA, PSO, OICA and PICA while α=0.6 and β=0.4

Table 9
The average objective function values of GA, PSO, OICA and PICA while α=0.8 and β=0.2