Memetic chicken swarm algorithm for job shop scheduling problem

This paper presents a Memetic Chicken swarm optimization (MeCSO) to solve job shop scheduling problem (JSSP). The aim is to ﬁnd a better solution which minimizes the maximum of the completion time also called Makespan. In this paper, we adapt the chicken swarm algorithm which take into consideration the hierarchical order of chicken swarm while seeking for food. Moreover, we integrate 2-opt method to improve the movement of the rooster. The new algorithm is applied on some instances of OR-Library. The empirical results show the forcefulness of MeCSO comparing to other metaheuristics from literature in term of run time and quality of solution.


INTRODUCTION
The job-shop scheduling problem (JSSP) was formulated for the first time by Muth and Thompson in 1963. The JSSP is one of the NP-Hard problems [1] and the most known of the classical scheduling problems in the context of manufacturing [2], which help to improve competitiveness of many companies and organizations. The aim purpose of the job-shop scheduling problem is to find a schedule which minimizes the time required to complete a group of jobs (the makespan).

JOB-SHOP SCHEDULING PROBLEM
The JSSP can be briefly introduced [17] as a sequential allocation of a production schedule for a given set of jobs and resources that optimizes the completion time of all jobs which helps to minimize the makespan. As result, the makespan (the maximum job completion time) C max is the duration between the time of completion of last job and the starting time of the first job (1).
Where t ij is denoted as the starting time and p ij as the uninterrupted processing time. The JSSP can be formulated by assigning a set of n jobs J = {J 1 , . . . , J n } to a set of m machines M = {M 1 , . . . ., M m },each machine can process at most one operation at time.As well , each job consists of a set of O ik , which contains m operations where i denotes the job of a specific operation and k represents the current machine M k . Each operation must be processed during an uninterrupted period of time on a given machine. In the jssp, the order and the uninterrupted processing time must be take into consideration.
The schedule as a solution for the JSSP can be modeled as a vector of a seqence of operation (C 11 , , C ji , ..., C nm+1 ) then the main goal is to find the minimum time of all processes, the problem is formulated as follows: Where C kl ≤ C ji − d kl ; j = 1, . . . , n; i = 1, . . . , m; kl ∈ P ji (3) The constraint (2) minimizes the finish time of operation o nm+1 (the makespan). The constraint (3) represents the fact that between operations the precedence relations should be respected.
The constraint (4) describes that each machine can process one operation at a each time.
The constraint (5) guarantees that the finish times to be positive. The remainder of this paper is organised as follows: The section 2 represents the literature review of the problem. The Section 3 describes the proposed memetic-CSO algorithm. The Section 4 presents the results of the experimental study . The Section 5 gives a discussion of the empirical results. Finally, the Section 6 gives the conclusion and the prospects for further works.

FORMULATION OF THE PROBLEM
In the job-shop scheduling problem (JSSP),the solution can be depicted as a sequence of n × m operations,which optimizes the completion time of all jobs and then helps tp find a schedule with minimum makespan.
let's consider the following example with m = 3 machines and n = 3 jobs, where: J = {Job0, Job1, Job2} The representation of the matrix will be as bellow: The first line contains the operation number,the second line contains the job number,the third line contains the sequence number,the forth line contains the machine number and the last line contains the processing time of each operation.
As indicated in the Gantt chart representation Fig.1, the solution S = {0, 6, 3, 4, 1, 5, 2, 7} is given by a permutation of a set of operations on each machine, in this example the minimum makespan Cmax=11. In this paper, the chicken can search food in a set of solutions S defined as the search space.

CHICKEN SWARM OPTIMIZATION
The Chicken swarm optimization (CSO) was introduced by Meng, X.B. And al. [18] and inspired by the behavior of a chicken swarm while searching for food. Each swarm is divided into several groups, which comprises one rooster,hens and chicks.The hierarchical order in the swarm is established by the fitness value. We refer the number of roosters, hens, chicks and mother hens by RN, HN, CN and MN.
The position update equation of the rooster can be formulated as: where Randn(0, σ 2 ) is a Gaussian distribution σ 2 is a standard deviation The rooster index k is randomly selected from the rooster's group. f is the fitness value of the corresponding x. The position update equation of the hen can be formulated as bellow : and S1= exp( fi−fr1 |fi|+ε ) and S2= exp((f r2 − f i )) where Rand ∈ [0, 1], r 1 is the index of the rooster and r 2 is the index of a random chicken from the swarm (where r1 = r2).
Finally , the position update equation of the chick is formulated in [19] as follows : Where W is a self-learning factor for chicks, F L ∈ [0, 2] is a randomly selected parameter to refer to the relationship between the chicks and its mother with the index m where m ∈ [1, N ]. Otherwise,C is a learning-factor from the rooster with the index r . ISSN: 2088-8708

ADAPTATION OF CHICKEN SWARM ALGORITHM TO JOB SHOP SCHEDULING PROBLEM
During the discretization of the original version of the chicken swarm algorithm in order to solve the jop shop scheduling problem, the redefinition of operators is represented by the subtraction ,the multiplication ⊗ and the addition ⊕ used in the original version [19].
Furthermore, we used the uniform crossover (UX) [20] in the position update equation of hens and chicks for the movement towards the leaders of groups and the sequential constructive crossover (SCX) [21] to simulate the movement towards the neighbors. operator represents the crossover operator and ⊗ operator as applying the chosen crossover to the equation.the addition operator indicates that the randomly chosen crossover is applied to the movement. The application of UX and SCX ensure the competition between groups in the swarm.
As well, we integrate the 2-opt neighborhood operator to realize the auto-improvement mechanism in the position equation of the roosters and the chicks. In this new adaptation each schedule of a group is chosen randomly. The MeCSO in pseudo-code is represented by algorithm 1.

Default parameters
The table 1 shows the parameter values used in the new adaptation MeCSO. We execute different tests on instances Abz5 and Orb1 in order to choose the values which guarantee to obtain good results and converge towards the global optimum . We applied MeCSO on some instances of OR-library,the table 2 summarizes the obtained results of 20 runs.The first column represents different instances instance in OR-Library, the second column indicates the best Known solution (BKS) ,the third column describes the average of the best found solution δ avg , the remaining columns represent the measures use to perform the quality of the solution. The proposed algorithm MeCSO allows to find the best-known solution about 51.08 % from all tested instances.
where BKS is the best known value , δ avg the average of the best found solution. The proposed algorithm MeCSO seems to be promising to solve jssp in a reasonable time compared to GB algorithm [23] as represented in Fig.2. Furthermore, the algorithm allows to obtain good results in term of the global optimum compared to other algorithms from literature, such as [24] and [25] as represented in table 3 and GB algorithm [23] as represented in Fig.3.

CONCLUDING REMARKS
In this paper,we proposed a Memetic Chicken swarm optimization algorithm based on the original version of chicken swarm optimization (CSO) and 2-opt mechanism in order to solve the job shop scheduling problem. The empirical results show that MeCSO algorithm is efficient to solve this type of problem than the other algorithms from literature such as GB algorithm and GA in term of the quality of solutions and the computing time. In further research, we suggest to integrate the simulating annealing with the chicken swarm algorithm to ensure the redistribution of the swarm.