CrossMark

Available online at www.sciencedirect.com

ScienceDirect

Procedía Computer Science 60 (2015) 83 - 92

19th International Conference on Knowledge Based and Intelligent Information and Engineering

Systems

Hybrid metaheuristics within a holonic multiagent model for the

flexible job shop problem

Houssem Eddine Nouria*, Olfa Belkahla Drissab, Khaled Ghediraa

a Stratégies d'Optimisation et Informatique intelligentE, Higher Institute of Management of Tunis, Bardo, Tunis, Tunisia bHigher Business School of Tunis, University ofManouba, Tunisia

Abstract

The Flexible Job Shop scheduling Problem (FJSP) is an extension of the classical Job Shop scheduling Problem (JSP) that allows to process operations on one machine out of a set of alternative machines. It is an NP-hard problem consisting of two sub-problems which are the assignment and the scheduling problems. This paper proposes a hybridization of two metaheuristics within a holonic multiagent model for the FJSP. Firstly, a scheduler agent applies a Neighborhood-based Genetic Algorithm (NGA) for a global exploration of the search space. Secondly, a cluster agents set uses a local search technique to guide the research in promising regions. Numerical tests are made to evaluate our approach, based on two sets of benchmark instances from the literature of the FJSP, which are the Brandimarte and Hurink data. The experimental results show the efficiency of our approach in comparison to other approaches.

© 2015TheAuthors.Published by ElsevierB.V.This is an open access article under the CC BY-NC-ND license

(http://creativecommons.org/licenses/by-nc-nd/4.0/).

Peer-review under responsibility of KES International

Keywords: Scheduling, Flexible job shop, Genetic algorithm, Clustering, Local search, Holonic multiagent

1. Introduction

The Job Shop scheduling Problem (JSP), which is among the hardest combinatorial optimization problems1, is a branch of the industrial production scheduling problems. The Flexible Job Shop scheduling Problem (FJSP) is an extension of the classical JSP, allowing to process operations on one machine out of a set of alternative machines. Hence, the FJSP is more computationally difficult than the JSP. Furthermore the operation scheduling problem, the FJSP presents an additional difficulty caused by the operation assignment problem to a set of available machines. This problem is known to be strongly NP-Hard even if each job has at most three operations and there are two machines2.

To solve this problem, researchers used the metaheuristics to find near-optimal solutions for the FJSP with acceptable computational time. Brandimarte3 proposed a hierarchical algorithm based on Tabu Search metaheuristic for routing and scheduling with some known dispatching rules to solve the FJSP. Hurink4 developed a Tabu Search procedure for the job shop problem with multi-purpose machines. Mastrolilli5 used Tabu Search techniques and

* Corresponding author. Tel.: +216-23-755275. E-mail address: houssemeddine.nouri@gmail.com, olfa.belkahla@isg.rnu.tn, khaled.ghedira@isg.rnu.tn

1877-0509 © 2015 The Authors. Published by Elsevier B.V. This is an open access article under the CC BY-NC-ND license

(http://creativecommons.Org/licenses/by-nc-nd/4.0/).

Peer-review under responsibility of KES International

doi:10.1016/j.procs.2015.08.107

presented two neighborhood functions allowing an approximate resolution for the FJSP. Bozejko6 presented a Tabu Search approach based on a new golf neighborhood for the FJSP. For the Genetic Algorithm, it was adopted by7, where their chromosome representation of solutions for the problem was divided into two parts. The first part defined the routing policy and the second part took the sequence of operations on each machine. Gao8 adapted a hybrid Genetic Algorithm (GA) and a Variable Neighborhood Descent (VND) for FJSP. The GA used two vectors to represent a solution and the disjunctive graph to calculate it. Then, a VND was applied to improve the G.A final individuals. Zhang9 presented a model of low-carbon scheduling in the FJSP considering three factors, the makespan, the machine workload for production and the carbon emission for the environmental influence. A metaheuristic hybridization algorithm was proposed combining the original Non-dominated Sorting Genetic Algorithm II (NSGA-II) with a Local Search algorithm based on a neighborhood search technique. In addition, a new heuristic was developed by10 for the FJSP. This heuristic is based on a constructive procedure considering simultaneously many factors having a great effect on the solution quality. Furthermore, distributed artificial intelligence techniques were used for this problem, such as the multiagent model proposed by11 composed by three classes of agents, job agents, resource agents and an interface agent. This model is based on a local search method which is the tabu search to solve the FJSP. Also, this model was improved in12 where the optimization role of the interface agent was distributed among the resource agents. Henchiri13 proposed a multiagent model based on a hybridization of two metaheuristics, a local optimization process using the tabu search to get a good exploitation of the good areas and a global optimization process integrating the Particle Swarm Optimization (PSO) to diversify the search towards unexplored areas.

In this paper, we propose a hybrid two metaheuristics based within a holonic multiagent model for the flexible job shop scheduling problem. This new approach follows two principal hierarchical steps, where a genetic algorithm is applied by a scheduler agent for a global exploration of the search space. Then, a local search technique is used by a set of cluster agents to guide the research in promising regions. Numerical tests were made to evaluate the performance of our approach based on two data sets of3 and4 for the FJSP, completed by comparisons with other approaches.

The rest of the paper is organized as follows. In section 2, we define the formulation of the FJSP with its objective function and a simple problem instance. Then, in section 3, we detail the proposed hybrid approach with its holonic multiagent levels. The experimental and comparison results are provided in section 4. Finally, section 5 ends the paper with a conclusion.

2. Problem formulation

The flexible job shop scheduling problem (FJSP) could be formulated as follows. There is a set of n jobs J = {J1,..., Jn} to be processed on a set of m machines M = {M1,..., Mm}. Each job Ji is formed by a sequence of ni operations {Oi,1, Oi2,..., Oini} to be performed successively according to the given sequence. For each operation O^ j, there is a set of alternative machines M(Oi, j) capable of performing it. The main objective of this problem is to find a schedule minimizing the end date of the last operation of the jobs set which is the makespan. The makespan is defined by Cmax in Equation (1), where Ci is the completion time of a job Ji.

Cmax = max1<i<„(Ci) (1)

To explain the FJSP, a sample problem of three jobs and five machines is shown in Table 1, where the numbers present the processing times and the tags "-" mean that the operation cannot be executed on the corresponding machine.

3. Hybrid metaheuristics within a holonic multiagent model

Glover14 elaborated a study about the nature of connections between the genetic algorithm and tabu search metaheuristics, searching to show the existing opportunities for creating a hybrid approach with these two standard methods to take advantage of their complementary features and to solve difficult optimization problems. After this pertinent study, the combination of these two metaheuristics has become more well-known in the literature, which has motivated many researchers to try the hybridization of these two methods for the resolution of different complex problems in several areas. Ferber15 defined a multiagent system as an artificial system composed of a population of autonomous

Table 1. A simple instance of the FJSP

Job Operation M1 M2 M3 M4 M5

01.2 02,1

agents, which cooperate with each other to reach common objectives, while simultaneously each agent pursues individual objectives. Furthermore, a multiagent system is a computational system where two or more agents interact (cooperate or compete, or a combination of them) to achieve some individual or collective goals. The achievement of these goals is beyond the individual capabilities and individual knowledge of each agent16. Koestler17 gave the first definition of the term "holon" in the literature, by combining the two Greek words "hol" meaning whole and "on" meaning particle or part. He said that almost everything is both a whole and a part at the same time. In fact, a holon is recursively decomposed at a lower granularity level into a community of other holons to produce a holarchy18. Moreover, a holon may be viewed as a sort of recursive agent, which is a super-agent composed by a sub-agents set, where each sub-agent has its own behavior as a complementary part of the whole behaviour of the super-agent. Holons are agents able to show an architectural recursiveness19.

Fig. 1. Hybrid metaheuristics within aholonic multiagent model

In this work, we propose a hybrid metaheuristic approach processing two general steps: a first step of global exploration using a genetic algorithm to find promising areas in the search space and a clustering operator allowing to regroup them in a set of clusters. In the second step, a tabu search algorithm is applied to find the best individual solution for each cluster. The global process of the proposed approach is implemented in two hierarchical holonic levels adopted by a recursive multiagent model, named hybrid Genetic Algorithm with Tabu Search within a Holonic Multiagent model (GATS+HM), see Figure 1. The first holonic level is composed by a Scheduler Agent which is the Master/Super-agent, preparing the best promising regions of the search space, and the second holonic level containing a set of Cluster Agents which are the Workers/Sub-agents, guiding the search to the global optimum solution of the

problem. Each holonic level of this model is responsible to process a step of the hybrid metaheuristic algorithm and to cooperate between them to attain the global solution of the problem.

In fact, the choice of this new metaheuristic hybridization is justified by that the standard metaheuristic methods use generally the diversification techniques to generate and to improve many different solutions distributed in the search space, or by using local search techniques to generate a more improved set of neighbourhood solutions from an initial solution. But they did not guarantee to attain promising areas with good fitness converging to the global optimum despite the repetition of many iterations, that is why they need to be more optimized. So, the novelty of our approach is to launch a genetic algorithm based on a diversification technique to only explore the search space and to select the best promising regions by the clustering operator. Then, applying the intensification technique of the tabu search allowing to relaunch the search from an elite solution of each cluster autonomously to attain more dominant solutions of the search space. Also, the use of a multiagent system gives the opportunity for distributed and parallel treatments which are very complimentary for the second step of the proposed approach. Indeed, our combined metaheuristic approach follows the paradigm of "Master" and "Workers" which are two recursive hierarchical levels adaptable for a holonic multiagent model, where the Scheduler Agent is the Master/Super-agent of its society and the Cluster Agents are its Workers/Sub-agents.

3.1. Scheduler Agent

The Scheduler Agent (SA) is responsible to process the first step of the hybrid algorithm by using a genetic algorithm called NGA (Neighborhood-based Genetic Algorithm) to identify areas with high average fitness in the search space during a fixed number of iterations Maxlter. In fact, the goal of using the NGA is only to explore the search space, but not to find the global solution of the problem. Then, a clustering operator is integrated to divide the best identified areas by the NGA in the search space to different parts where each part is a cluster CLi e CL the set of clusters, where CL = {CL1, CL2,..., CLN}. In addition, this agent plays the role of an interface between the user and the system (initial parameter inputs and final result outputs). According to the number of clusters N obtained after the integration of the clustering operator, the SA creates N Cluster Agents (CAs) preparing the passage to the next step of the global algorithm. After that, the SA remains in a waiting state until the reception of the best solutions found by the CA for each cluster. Finally, it finishes the process by displaying the final solution of the problem.

The vector Vi

The vector V2

5 4 1 3 2 3 1

0i,i 0l,2 02,1 02,2 02,3 03,1 03,2

1 2 3 4 5 6 7

1 2 1 3 2 3 2

Ol,l 02,1 01,2 03,1 02,2 03,2 02,3 Fig. 2. The chromosome representation of a scheduling solution

3.1.1. Individual 's solution presentation

The flexible job shop problem is composed by two sub-problems: the machine assignment problem and the operation scheduling problem, that is why the chromosome representation is encoded in two parts: Machine Assignment part (MA) and Operation Sequence part (OS). The first part MA is a vector V1 with a length L equal to the total number of operation and where each index represents the selected machine to process an operation indicated at position p, see Figure 2 (a). For example p = 2, V1(2) is the selected machine M4 for the operation O1?2. The second part OS is a vector V2 having the same length of V1 and where each index represents an operation O, j according to the predefined operations of the job set, see Figure 2 (b). For example the operation sequence 1 - 2 - 1 - 3 - 2 - 3 - 2 can be translated to: (O1,1, M5) ^ (O2,1, M1) ^ (O12, M4) ^ (03,1, M3) ^ (O2,2, M3) ^ (O3 2, M1) ^ (O2,3, M2).

To convert the chromosome values to an active schedule, we used the priority-based decoding of8. This method considers the idle time which may exist between operations on a machine m, and which is caused by the precedence

constraints of operations belonging to the same job i. Let Si, j is the starting time of an operation Oi,j (which can only be started after processing its precedent operation Oi (j-1)) with its completion time Q,j. In addition, we have an execution time interval [tS m, tEm] starts form tS m and ends at tEm on a machine m to allocate an operation Oi,j. So, if j = 1, j takes tS m, else if j > 2, it takes max{tS m, Ci,(j-1)}. In fact, the availability of the time interval [tS m, tEm] for an operation Oi, j is validated by verifying if there is a sufficient time period to complete the execution time pijm of this operation, see Equation (2):

ifj = 1, tS (2) ifj > 2, max{tSm, Ci,(j-i)} + pj < tE

The used priority-based decoding method allows in each case to assign each operation to its reserved machine following the presented execution order of the operation sequence vector V2. Also, to schedule an operation Oi, j on a machine m, the fixed idle time intervals of the selected machine are verified to find an allowed available period to its execution. So, if a period is found, the operation Oi, j is executed there, else it is moved to be executed at the end of the machine m. Noting that the chromosome fitness is calculated by Fitness(i) which is the fitness function of each chromosome i and Cmax(i) is its makespan value, where i e {1,..., P} and P is the total population size, see Equation (3).

Fitness(i) = 1 (3)

Cmax(i)

3.1.2. Population initialization

The initial population is generated randomly following a uniform law and based on a neighborhood parameter to make the individual solutions more diversified and distributed in the search space. In fact, each new solution should have a predefined distance with all the other solutions to be considered as a new member of the initial solution. The used method to determinate the neighborhood parameter is inspired from6, which is based on the permutation level of operations to obtain the dissimilarity distance between two solutions. Let Chrom1(MA1, OS 1) and Chrom2(MA2, OS2) two chromosomes of two different scheduling solutions, M(Oi,j) the alternative number of machines of each operation Oi,j, L is the total number of operations of all jobs and Dist is the dissimilarity distance. The distance is calculated firstly by measuring the difference between the machine assignment vectors MA1 and MA2 which is in order of O(n). So, if there is a difference, Dist is incremented by M(Oi,j) (is the number of possible n placement for each operation on its machine set, which is the alternative machine number of each operation O^ j) because it is in the order of O(n). Then, secondly, by verifying the execution order difference of the operation sequence vectors OS 1 and OS 2 which is in order of O(1). So, if there is a difference, Dist is incremented by 1 because it is in the order of O(1). We give here how to proceed in Algorithm 1 :

Algorithm 1 How to calculate the dissimilarity distance between two solutions

1: procedure 2: Dist ^ 0, k ^ 1 3: for k from 1 to L do

4: if Chrom1(MAi(k)) + Chrom2(MA2(k)) then

5: Dist ^ Dist + M(Oi,j)

6: end if

7: if Chrom1(OS 1(k)) + Chrom2(OS2(k)) then

8: Dist ^ Dist + 1

9: end if

10: end for 11: return Dist 12: end procedure

Noting that Distmax is the maximal dissimilarity distance and it is calculated by Equation (4), representing 100% of difference between two chromosomes.

Distmax = ^ [M(Oi, j)] + L (4)

3.1.3. Selection operator

The selection operator is used to select the best parent individuals to prepare them to the crossover step. This operator is based on a fitness parameter allowing to analyze the quality of each selected solution. But progressively the fitness values will be similar for the most individuals. That is why, we integrate the neighborhoodparameter, where we propose a new combined parent selection operator named Fitness-Neighborhood Selection Operator (FNSO) allowing to add the dissimilarity distance criteria to the fitness parameter to select the best parents for the crossover step. The FNSO chooses in each iteration two parent individuals until engaging all the population to create the next generation. The first parent takes successively in each case a solution i, where i e {1,..., P} and P is the total population size. The second parent obtains its solution j randomly by the roulette wheel selection method based on the two Fitness and Neighborhood parameters relative to the selected first parent, where j e {1,..., P} \ {i} in the P population and where j ^ i. In fact, to use this random method, we should calculate the Fitness-Neighborhood total FN for the population, see Equation (5), the selection probability spk for each individual Ik, see Equation (6), and the cumulative probability cpk, see Equation (7). After that, a random number r will be generated from the uniform range [0,1]. If r < cp1 then the second parent takes the first individual I1, else it gets the kth individual Ik e {I2,..., IP}\ {Ii} and where cpk-1 < r < cpk. For Equations (5), (6) and (7), k = {1, 2,..., P}\ {i}.

The Fitness-Neighborhood total for the population:

FN = ^[1/(Cmax[k] X Neighborhood[i][k])] (5)

• The selection probability spk for each individual Ik:

1/(Cmax[k] X Neighborhood[i][k])

*Pk =-pfi--(6)

• The cumulative probability cpk for each individual Ik:

cpk = J] sph (7)

3.1.4. Crossover operator

The crossover operator has an important role in the global process, allowing to combine in each case the chromosomes of two parents in order to obtain new individuals and to attain new better parts in the search space. In this work, this operator is applied with two different techniques successively for the parent's chromosome vectors MA and OS. For the machine vector crossover, a uniform crossover is used to generate in each case a mixed vector between two machine vector parents, Parent1-MA1 and Parent2-MA2, allowing to obtain two new children, Child1-MA1' and Child2-MA2'. This uniform crossover is based on two assignment cases, if the generated number is less than 0.5, the first child gets the current machine value of parent1 and the second child takes the current machine value of parent2. Else, the two children change their assignment direction, first child to parent2 and the second child to parent1. For the operation vector crossover, an improved precedence preserving order-based on crossover (iPOX), inspired from20, is adapted for the parent operation vector OS. This iPOX operator is applied following four steps, a first step is selecting two parent operation vectors (OS 1 and OS 2) and generating randomly two job sub-sets Js1/Js2 from all jobs. A second step is allowing to copy any element in OS 1/OS 2 that belong to Js1/Js2 into child individual OS 'JOS 2 and retain them in the same position. Then the third step deletes the elements that are already in the sub-set Js1/Js2 from

OS 1/OS 2. Finally, fill orderly the empty position in OS 'JOS 2 with the reminder elements of OS2/OS1 in the fourth

3.1.5. Mutation operator

The mutation operator is integrated to promote the children generation diversity. In fact, this operator is applied on the chromosome of the new children generated by the crossover operation. Also, each part of a child chromosome MA and OS has separately its own mutation technique. The machine mutation operator uses a random selection of an index from the machine vector MA. Then, it replaces the machine number in the selected index by another belonging to the same alternative machine set. The operation mutation operator selects randomly two indexes index1 and index2 from the operation vector OS. Next, it changes the position of the job number in the index1 to the second index2 and inversely.

3.1.6. Replacement operator

The replacement operator has an important role to prepare the remaining surviving population to be considered for the next iterations. This operator replaces in each case a parent by one of its children which has the best fitness in its current family.

3.1.7. Clustering operator

By finishing the maximum iteration number MaxIter of the genetic algorithm, the Scheduler Agent applies a clustering operator using the hierarchical clustering algorithm of21 to divide the final population into N Clusters to be treated by the Cluster Agents in the second step of the global process. The clustering operator is based on the neighbourhood parameter which is the dissimilarity distance between individuals. The clustering operator starts by assigning each individual Indiv(i) to a cluster CLi, so if we have P individuals, we have now P clusters containing just one individual in each of them. For each case, we fixe an individual Indiv(i) and we verify successively for each next individual Indiv( j) from the remaining population (where i and j e {1,..., P}, i + j) if the dissimilarity distance Dist between Indiv(i) and Indiv(j) is less than or equal to a fixed threshold Distfix (representing a percentage of difference X% relatively to Distmax, see Equation (8)) and where Cluster(Indiv(i)) + Cluster(Indiv(j)). If it is the case, Merge(Cluster(Indiv(i)), Cluster(Indiv(j))), else continue the search for new combination with the remaining individuals. The stopping condition is by browsing all the population individuals, where we obtained at the end N Clusters.

Distfix = Distmax X X% (8)

3.2. Cluster Agents

Each Cluster Agent CAi is responsible to apply successively to each cluster CLi a local search technique which is the Tabu Search algorithm to guide the research in promising regions of the search space and to improve the quality of the final population of the genetic algorithm. In fact, this local search is executed simultaneously by the set of the CAs agents, where each CA starts the research from an elite solution of its cluster searching to attain new more dominant individual solutions separately in its assigned cluster CLi. The used Tabu Search algorithm is based on an intensification technique allowing to start the research from an elite solution in a cluster CLi (a promising part in the search space) in order to collect new scheduling sequence minimizing the makespan. Let E the elite solution of a cluster CLi, E' e N(E) is a neighbor of the elite solution E, GLi is the Global List of each CAi to receive new found elite solutions by the remaining CAs, each CLi plays the role of the tabu list with a dynamic length and Cmax is the makespan of the obtained solution. So, the search process of this local search starts from an elite solution E using the move and insert method of5, where each Cluster Agent CAi changes the position of an operation Oi,j from a machine m to another machine n belonging to the same alternative machine set of this selected operation Oi,j, searching to generate new scheduling combination E' e N(E). After that, verifying if the makespan value of this new generated solution Cmax(E') dominates Cmax(E) (Cmax(E') < Cmax(E)), and if it is the case CAi saves E' in its tabu list (which is CLi) and sends it to all the other CAs agents to be placed in their Global Lists GLs(E', CAi), to ensure that it will not be used again by them as a search point. Else continues the neighborhood search from the

current solution E. The stopping condition is by attaining the maximum allowed number of neighbors for a solution E without improvement. We give here how to proceed in Algorithm 2 :

Algorithm 2 The local search process 1: procedure 2: E ^ Elite(CL) 3: while N(E) + 0 do

4: E ^ Move-and-insert(E) | E e N(E) | E GLi

5: if Cmax(E') < Cmax(E) and E' GLi then

6: E ^ E

7: GLi ^ E

8: Send-to-all(E', CAi)

9: end if

10: end while 11: return E 12: end procedure

By finishing this local search step, the CAs agents terminate the process by sending their last best solutions to the SA agent, which considers the best one of them the global solution for the FJSP.

4. Experimental results

4.1. Experimental setup

The proposed GATS+HM is implemented in java language on a 2.10 GHz Intel Core 2 Duo processor and 3 Gb of

RAM memory, where we use the Integrated Development Environment (IDE) eclipse to code the algorithm and the

multiagent platform Jade22 to create the different agents of our holonic model. To evaluate its efficiency, numerical tests are made based on two sets of well known benchmark instances in the literature of the FJSP: the Brandimarte data3 consisting of 10 problems considering a number of jobs ranging from 10 to 20, which will be processed on a number of machines ranging from 4 to 15. The Hurink edata4 consisting of 40 problems (la01-la40) inspired from the classical job shop instances of23, where three test problems are generated: rdata, vdata and edata which is used in this paper.

Due to the non-deterministic nature of the proposed algorithm, we run it five independent times for each one of the two instances3 and4 in order to obtain significant results. The computational results are presented by five metrics such as the best makespan (Best), the average of makespan (Avg Cmax), the average of CPU time in seconds (Avg CPU), and the standard deviation of makespan (Dev %) which is calculated by Equation (9). The Mko is the makespan obtained by Our algorithm and Mkc is the makespan of an algorithm that we chose to Compare to.

Dev = [(Mkc - Mko)/Mkc] X 100% (9)

The used parameter settings for our approach are adjusted experimentally and presented as follow: the crossover probability = 1.0, the mutation probability = 1.0 and the maximum number of iterations = 1000. The population size ranged from 15 to 400 depending on the complexity of the problem.

4.2. Experimental comparisons

To show the efficiency of our GATS+HM algorithm, we compare its obtained results from the two previously cited data sets with other well known algorithms in the literature of the FJSP. The chosen algorithms are the TS of3, the N1-1000 of4 (with their literature lower bound LB), the MATSLO+ of12 and the MATSPSO of13. The different comparative results are displayed in the Tables 2 and 3, where the first column takes the name of each instance, the second column gives the size each instance, with n the number of jobs and m the number of machines (n X m), and the

Table 2. Results of the Brandimarte instances_

Problem

Instance n x m TS MATSLO+ MATSPSO GATS+HM

Avg Avg CPU

Best Dev (%) Best Dev (%) Best Dev (%) Best Cmax (in seconds)

MK01 10x6 42 4,761 40 0 39 -2,564 40 40,80 0,93

MK02 10x6 32 15,625 32 15,625 27 0 27 27,80 1,18

MK03 15x8 211 3,317 207 1,449 207 1,449 204 204,00 1,55

MK04 15x8 81 20,987 67 4,477 65 1,538 64 65,60 4,36

MK05 15x4 186 6,989 188 7,978 174 0,574 173 174,80 8,02

MK06 10x15 86 24,418 85 23,529 72 9,722 65 67,00 110,01

MK07 20x5 157 8,280 154 6,493 154 6,493 144 144,00 19,73

MK08 20x10 523 0 523 0 523 0 523 523,00 11,50

MK09 20x10 369 15,718 437 28,832 340 8,529 311 311,80 79,68

MK10 20x15 296 25 380 41,578 299 25,752 222 224,80 185,64

Table 3. Results of the Hurink edata instances

Problem

Instance n x m LB N1- ■1000 MATSLO+ GATS+HM

Avg Avg CPU

Best Dev (%) Best Dev (%) Best Dev (%) Best Cmax (in seconds)

la01 10x5 609 0 611 0,327 609 0 609 609,00 24,64

la02 10x5 655 0 655 0 655 0 655 655,00 4,65

la03 10x5 550 -3,091 573 1,047 575 1,391 567 567,40 10,67

la04 10x5 568 0 578 1,730 579 1,900 568 569,60 22,13

la05 10x5 503 0 503 0 503 0 503 503,00 10,22

la16 10x10 892 0 924 3,463 896 0,446 892 909,60 73,14

la17 10x10 707 0 757 6,605 708 0,141 707 709,60 116,58

la18 10x10 842 -0,119 864 2,431 845 0,237 843 848,60 34,98

la19 10x10 796 -1,005 850 5,412 813 1,107 804 813,40 36,88

la20 10x10 857 0 919 6,746 863 0,695 857 859,80 70,36

remaining columns detail the experimental results of the different chosen approaches in terms of the best Cmax (Best) and the standard deviation (Dev %). The bold values in the tables signify the best obtained results.

4.2.1. Analysis of the comparative results

By analyzing the Table 2, it can be seen that the GATS+HM obtains nine out of ten best results for the Brandimarte instances. In fact, our approach outperforms the TS in nine out of ten instances. Moreover, for the comparison with MATSLO+, our GATS+HM outperforms it in eight out of ten instances. Furthermore, the MATSPSO attained the best result for the MK01 instance, but our approach obtains a set of solutions better than it for the remaining instances. By solving this first data set, our GATS+HM attains the same results obtained by some approaches such as the MK01 for MATSLO+, the MK02 for MATSPSO and the MK08 for all methods. From Table 3, the obtained results show that the GATS+HM obtains seven out of ten best results for the Hurink edata instances (la01-la05) and (la16-la20). Indeed, our approach outperforms the N1-1000 in eight out of ten instances. Moreover, our GATS+HM outperforms the MATSLO+ in seven out of ten instances. For the comparison with the literature lower bound LB, the GATS+HM attains the same results for the la01, la02, la04, la05, la16, la17 and la20 instances, but it gets slightly worse result for the la03, la18 and la19 instances. Furthermore, by solving this second data set, our GATS+HM attains the same results obtained by the chosen approaches such as in the la01 for the MATSLO+; in the la02 for the N1-1000 and the MATSLO+; in the la05 for the N1-1000 and the MATSLO+.

By analyzing the computational time in seconds and the comparison results of our algorithm in term of makespan, we can distinguish the efficiency of the new proposed GATS+HM relatively to the literature of the FJSP. This effi-

ciency is explained by the flexible selection of the promising parts of the search space by the clustering operator after the genetic algorithm process and by applying the intensification technique of the tabu search allowing to start from an elite solution to attain new more dominant solutions.

5. Conclusion

In this paper, we present a new metaheuristic hybridization within a holonic multiagent model, called GATS+HM, for the flexible job shop scheduling problem (FJSP). In this approach, a Neighborhood-based Genetic Algorithm is adapted by a Scheduler Agent (SA) for a global exploration of the search space. Then, a local search technique is applied by a set of Cluster Agents (CAs) to guide the research in promising regions of the search space and to improve the quality of the final population. To measure its performance, numerical tests are made using two well known data sets in the literature of the FJSP. The experimental results show that the proposed approach is efficient in comparison to others approaches. In the future work, we will search to treat other extensions of the FJSP, such as by integrating new transportation resources constraints in the shop process. So, we will make improvements to our approach to adapt it to this new transformation and study its effects on the makespan.

References

1. Sonmez, A.I., Baykasoglu, A.. Anew dynamic programming formulation of (nm) flow shop sequencing problems with due dates. International Journal of Production Research 1998;36(8):2269-2283.

2. Garey, M.R., Johnson, D.S., Sethi, R.. The complexity of flow shop and job shop scheduling. Mathematics of Operations Research 1976; 1(2):117-129.

3. Brandimarte, P.. Routing and scheduling in a flexible job shop by tabu search. Annals of Operations Research 1993;41(3):157-183.

4. Hurink, J., Jurisch, B., Thole, M.. Tabu search for the job-shop scheduling problem with multi-purpose machines. Operations Research Spektrum 1994;15(4):205-215.

5. Mastrolilli, M., Gambardella, L.. Effective neighbourhood functions for the flexible job shop problem. Journal of Scheduling 2000; 3(1):3-20.

6. Bozejko, W., Uchronski, M., Wodecki, M.. The new golf neighborhood for the flexible job shop problem. In: In Proceedings of the International Conference on Computational Science. 2010, p. 289-296.

7. Chen, H., Ihlow, J., Lehmann, C.. A genetic algorithm for flexible job-shop scheduling. In: In Proceedings of the IEEE International Conference on Robotics and Automation. 1999, p. 1120-1125.

8. Gao, J., Sun, L., Gen, M.. A hybrid genetic and variable neighborhood descent algorithm for flexible job shop scheduling problems. Computers and Operations Research 2008;35(9):2892-2907.

9. Zhang, C., Gu, P., Jiang, P.. Low-carbon scheduling and estimating for a flexible job shop based on carbon footprint and carbon efficiency of multi-job processing. Journal of Engineering Manufacture 2014;39(32):1-15.

10. Ziaee, M.. A heuristic algorithm for solving flexible job shop scheduling problem. The International Journal of Advanced Manufacturing Technology 2014;71(1-4):519-528.

11. Ennigrou, M., Ghédira, K.. Approche multi-agents basée sur la recherche tabou pour le job shop flexible. In: In 14eme Congres Francophone AFRIF-AFIA de Reconnaissance des Formes et Intelligence Artificielle RFIA. 2004, p. 28-30.

12. Ennigrou, M., Ghedira, K.. New local diversification techniques for the flexible job shop problem with a multi-agent approach. Autonomous Agents and Multi-Agent Systems 2008;17(2):270-287.

13. Henchiri, A., Ennigrou, M.. Particle swarm optimization combined with tabu search in a multi-agent model for flexible job shop problem. In: In Proceedings of the 4th International Conference on Swarm Intelligence, Advances in Swarm Intelligence. 2013, p. 385-394.

14. Glover, F., Kelly, J.P., Laguna, M.. Genetic algorithms and tabu search: Hybrids for optimization. Computers & Operations Research 1995;22(1):111-134.

15. Ferber, J.. Multi-Agent Systems: An Introduction to Distributed Artificial Intelligence. Boston, MA, USA: Addison-Wesley Longman Publishing Co., Inc.; 1sted.; 1999. ISBN 0201360489.

16. Botti, V., Giret, A.. ANEMONA: A Multi-agent Methodology for Holonic Manufacturing Systems. Springer Series in Advanced Manufacturing. Springer-Verlag;2008. ISBN 978-1-84800-310-1.

17. Koestler, A.. The Ghost in the Machine. London, United Kingdom: Hutchinson;1st ed.; 1967. ISBN 0090838807.

18. Calabrese, M.. Hierarchical-granularity holonic modelling. Doctoral thesis;Universita degli Studi di Milano;Milano, Italy;2011.

19. Giret, A., Botti, V.. Holons and agents. Journal of Intelligent Manufacturing 2004;15(5):645-659.

20. Lee, K., Yamakawa, T., Lee, K.M.. A genetic algorithm for general machine scheduling problems. In: In Proceedings of the second IEEE international Conference on Knowledge-Based Intelligent Electronic Systems. 1998, p. 60-66.

21. Johnson, S.C.. Hierarchical clustering schemes. Psychometrika 1967;32(3):241-254.

22. Bellifemine, F., Poggi, A., Rimassa, G.. Jade - a fipa-compliant agent framework. In: In Proceedings of the fourth International Conference and Exhibition on The Practical Application of Intelligent Agents and Multi-Agent Technology. 1999, p. 97-108.

23. Lawrence, S.. Supplement to resource constrained project scheduling: an experimental investigation of heuristic scheduling techniques. Tech. Rep.; Graduate School of Industrial Administration, Carnegie-Mellon University;Pittsburgh, Pennsylvania;1984.