Available online at www.sciencedirect.com
Available online at www.sciencedirect.com Available online at www.sciencedirect.com
ScienceDirect Procedia Computer Science 00 (2017) 000–000 Procedia Computer Science 112 (2017) 1531–1541 Procedia Computer Science 00 (2017) 000–000
www.elsevier.com/locate/procedia www.elsevier.com/locate/procedia
International International Conference Conference on on Knowledge Knowledge Based Based and and Intelligent Intelligent Information Information and and Engineering Engineering Systems, KES2017, 6-8 September 2017, Marseille, France Systems, KES2017, 6-8 September 2017, Marseille, France
Towards Towards aa Distributed Distributed Implementation Implementation of of Chemical Chemical Reaction Reaction Optimization Optimization for for the the Multi-factory Multi-factory Permutation Permutation Flowshop Flowshop Scheduling Scheduling Problem Problem a,c* b,c a,c Hafewa Hafewa Bargaoui Bargaouia,c*,, Olfa Olfa Belkahla Belkahla Driss Drissb,c,, Khaled Khaled Gh´ Gh´eedira diraa,c a Institut Sup´ erieur de Gestion de Tunis, Universit´e de Tunis, Tunisie a Institut Sup´ erieur de Gestion de Tunis, Universit´e de Tunis, Tunisie b Ecole ´ Sup´erieure de Commerce de Tunis, Universit´e de la Manouba, Tunis, Tunisie b Ecole ´ Sup´erieure de Commerce de Tunis, Universit´e de la Manouba, Tunis, Tunisie c Complex Systems Modeling Optimization and Supervision (COSMOS) c Complex Outstanding Outstanding Systems Modeling Optimization and Supervision (COSMOS)
Abstract Abstract The Distributed Permutation Flowshop Scheduling Problem (DPFSP) is one of the most computationally complex problems. It has The Distributed Permutation Flowshop Scheduling Problem (DPFSP) is one of the most computationally complex problems. It has gained a wide attention not only in theoretical studies but also in manufacturing industry. In recent years, a lot of work has been gained a wide attention not only in theoretical studies but also in manufacturing industry. In recent years, a lot of work has been done and many heuristics and metaheuristics have been proposed to tackle the DPFSP. Unfortunately, all the existing algorithms done and many heuristics and metaheuristics have been proposed to tackle the DPFSP. Unfortunately, all the existing algorithms are centralized despite the fact that the distributed approaches are known to be more practical for the complex scheduling problems are centralized despite the fact that the distributed approaches are known to be more practical for the complex scheduling problems ones. Thus, we argue that distributed artificial intelligence techniques, namely Multi-Agent Systems (MAS), offer an appropriate ones. Thus, we argue that distributed artificial intelligence techniques, namely Multi-Agent Systems (MAS), offer an appropriate tool to tackle problems of a distributed nature when they are properly designed and implemented. Thanks to their flexibility, tool to tackle problems of a distributed nature when they are properly designed and implemented. Thanks to their flexibility, adaptively and extensibility; MAS represents a promising variant to achieve a better performance. In this study, by combining the adaptively and extensibility; MAS represents a promising variant to achieve a better performance. In this study, by combining the population-based evolutionary searching abilities of Chemical Reaction Optimization (CRO) metaheuristic with the capabilities of population-based evolutionary searching abilities of Chemical Reaction Optimization (CRO) metaheuristic with the capabilities of MAS in modeling hard combinatorial problems, we suggest an agent-based evolutionary algorithm called CROMAS to effectively MAS in modeling hard combinatorial problems, we suggest an agent-based evolutionary algorithm called CROMAS to effectively solve the DPFSP. We tested our algorithm on well-known benchmark instances and compared its performance with respect to other solve the DPFSP. We tested our algorithm on well-known benchmark instances and compared its performance with respect to other recent methods. Experiments reveal that CROMAS is very effective and able to provide competitive results. recent methods. Experiments reveal that CROMAS is very effective and able to provide competitive results. c 2017 The Authors. Published by Elsevier B.V. c 2017 2017 The TheAuthors. Authors.Published Publishedby byElsevier ElsevierB.V. B.V. © Peer-review under responsibility of KES International. Peer-review under responsibility of KES International. International Keywords: Chemical Reaction Optimization ; Distributed Permutation Flowshop ; Multi-Agent System ; Evolutionary Algorithm Keywords: Chemical Reaction Optimization ; Distributed Permutation Flowshop ; Multi-Agent System ; Evolutionary Algorithm
1. Introduction 1. Introduction Scheduling problems are ubiquitous in various areas of manufacturing industry engineering and science. They Scheduling problems are ubiquitous in various areas of manufacturing industry engineering and science. They play a significant role in enhancing the productivity, improving the utilization of resources, reducing cost and raising play a significant role in enhancing the productivity, improving the utilization of resources, reducing cost and raising customer satisfaction. The Permutation Flowshop Scheduling Problem (PFSP), which is an NP-complete problem, customer satisfaction. The Permutation Flowshop Scheduling Problem (PFSP), which is an NP-complete problem, represents one of typical scheduling problems. It can be briefly described as follows: there are n jobs to be processed represents one of typical scheduling problems. It can be briefly described as follows: there are n jobs to be processed on a set of m machines disposed in series. Each job must enter the machines in the same order. The goal is to find on a set of m machines disposed in series. Each job must enter the machines in the same order. The goal is to find E-mail address:
[email protected] E-mail address:
[email protected]
c 2017 The Authors. Published by Elsevier B.V. 1877-0509 c 2017 The Authors. Published by Elsevier B.V. 1877-0509 Peer-review under responsibility of KES International. Peer-review©under of KES International. 1877-0509 2017responsibility The Authors. Published by Elsevier B.V. Peer-review under responsibility of KES International 10.1016/j.procs.2017.08.057
1532
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
a job permutation that satisfies one or multiple objectives. Due to its so many applications in practice, considerable efforts from researchers and engineers have been devoted to solve this problem. Hence, since the seminal paper of Johnson 1 on the two-machine PFSP, the development of more effective and efficient scheduling methods have never reached an end. However, the classical PFSP is based on the assumption that products are manufactured in a single firm. Nevertheless, with the mode of today’s economical environment, single-factory production scheduling problems, are no longer useful as in the past. With the increased globalization of production systems and the extremely stiff worldwide competition, conventional single factory firms are being found to be insufficiently flexible, less responsive to emergencies, and unable to deal with changing dynamic market demands. In fact, by putting in place a well established distributed manufacturing and scheduling strategies, enterprises can maintain a competitive position in the fast changing market requirements. Furthermore, several studies have proven that distributed manufacturing allows companies to be closer to customers and, by doing so, they reinforce production flexibility, comply with local laws and adapt on demand-driven approaches. Therefore, enterprises start to shift from traditional centralized environment to multi-site production shops in order to comply with this industrial trend and profit of globalization. Under the distributed environment, Naderi and Ruiz 2 extended the regular PFSP to the Distributed Permutation Flowshop Scheduling Problem (DPFSP) where more than one factory is available to process jobs. The problem is clearly more difficult and complex than the classical PFSP. It mainly focuses on solving two related issues simultaneously: 1. Assigning the various jobs to factories, 2. Determining the production schedule at each factory. The complexity and the wide range of applications of the DPFSP have challenged us to integrate and combine different problem-solving paradigms to the attempt of improving algorithms’ ability. Proceeding from that, agent-based evolutionary computation seems to be an attractive way ready to exploit to achieve satisfactory results. In this paper, we suggest an alliance between Multi-Agent System (MAS) technology and Chemical Reaction Optimization (CRO) metaheuristic. The proposed model is called CROMAS and the studied objective is the minimization of the maximum completion time or makespan. On the first hand, agent-based software, is a rapidly developing area of research. This methodology originally came from the field of artificial intelligence where it’s considered as a credible alternative to conventional approaches. A multi-agent system could be defined as an organized set of entities called agents, with the goal of decomposing the resolution of a complex task into a set of easier local problems. They offer the advantages of cooperation and interactions between independent and intelligent entities which work towards a common objective; best system’s performance. In recent years, many attentions have been paid to model MAS, and hence, they have been successfully applied to solve a variety of difficult optimization problems such as the regular PFSP 3 and the flexible Job Shop problem 4 to name just a few. On the other hand, over the past decade the interest in evolutionary algorithms has been a hot topic. CRO, as a newly established one, has proven superior performance when compared with other powerful metaheuristics such as Genetic Algorithm, Simulated Annealing and Tabu Search. After an in depth study of the CRO algorithm, several attractive properties have been highlighted. Its high flexibility which allows the design of different operators to manipulate solutions, its good trade-off between intensification and diversification and its fairly stable convergence rate serve as a potent motivation to employ it as a solution for the DPFSP. The outline for the rest of the paper is as follows: the next section provides an overview of the Distributed Permutation Flowshop Scheduling Problem and the Chemical Reaction Optimization. In Section 3, the proposed evolutionary based Multi-Agent System is presented in detail. The computational results are given in Section 4. Section 5 summarizes our contributions and proposes some avenues for future researches. 2. Technical backgrounds 2.1. Problem description and state-of-the-art The DPFSP is a generalization of the regular PFSP. It can be formally described as follows 2 : a set J of n different jobs J = {1, 2, ..., n} have to be processed on a set G of F identical factories G = {1, ..., F} that are located in different places. Each factory contains the same set M of m machines m = {1, 2, ..., m}. Each job j, j ∈ J, consists of a sequence of m operations O j,1 , O j,2 , ..., O j,m . Each operation is associated with a processing time p j,k which is
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
1533
Table 1. Processing time matrix of an example with 2 factories, 5jobs and 2 machines Machines 1 2
1 3 11
2 8 4
Jobs 3 8 2
4 10 8
5 5 8
Fig. 1. Gantt chart of the example.
positive, deterministic, known in advance and didn’t change from factory to other one. In the DPFSP, all factories are able to process all jobs and when a job is assigned to a factory, it cannot be transferred to another one as the remaining operations must be completed in the same factory. Besides, the following assumptions for the regular PFSP are also adopted: (i) All the jobs are processed by the machines in the same order. (ii) Each job can be processed only on one machine at a time and every machine can process only one job at a time. (iii) No preemption is allowed, i.e. once an operation has started it must be completed before another operation may be started on that machine. The objective is to find a sequence of the jobs such that a given optimization criterion is optimized. In this paper, we regard the minimization of the maximum completion time or makespan, denoted as Cmax . In order to illustrate the DPFSP, we consider the following example. Given a DPFSP instance with 5 jobs, 2 machines and 2 factories. The processing time matrix is given in Table 1. A feasible Gantt chart of this problem is shown in Fig. 1. The DPFSP has been gaining an increasing popularity in the last seven years and a wealth of literature has been reported. The first attempt to solve the DPFSP was proposed by 2 . They suggested six mixed integer linear programming (MILP) models that have been implemented using the CPLEX 11.1 package. However, only small instances (16 jobs and 4 factories) can be solved within acceptable time scale. These drawbacks of exact methods (huge run-time and amount of solutions) have attracted researchers to develop heuristic and metaheuristic algorithms which are emerging as successful alternatives for solving hard combinatorial optimization problems in reasonable computation times. From this perspective, Naderi and Ruiz 2 proposed 12 simple heuristics that resulted from applying two-assignment rules to determine the factory where a job has to be assigned , i.e.: 1. locate the job j to the factory with the lowest current makespan, not including job j. 2. locate the job j to the factory that completes it at the earliest time after including the job j. The rules are applied to 6 well-known heuristics for the regular PFSP. Computational evaluation showed that the NEH heuristic 5 with the second job to factory assignment rule (NEH2), produced the best results. Later, Gao and Chen 6 presented a new version of the NEH heuristic referred to as NEHdf. They incorporate a novel dispatching rule to insert multiple jobs at a time (one to each factory). Comparisons indicated that NEHdf slightly outperforms NEH2, but obviously at the expense of much larger CPU times. However, despite the simplicity of the existing heuristics, their solution quality is usually unsatisfactory. Hence, a significant research effort has been devoted to propose different metaheuristics which represent powerful tools to address large and complex problems. These algorithms include a hybrid genetic algorithm 7 , a knowledge-based genetic algorithm 8 , a tabu search 9 , an estimation of distribution algorithm 10 , an iterated greedy algorithm 11 , a general variable neighborhood search algorithm 12 , and a recent hybrid discrete cuckoo search metaheuristic 13 .
1534
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
2.2. Chemical Reaction Optimization Chemical Reaction Optimization (CRO) is one of the latest variable population-based metaheuristic algorithms 14 . It mimics the interactions and the redistribution of energy between molecules in a chemical reaction in order reach a low energy stable state (similar to objective function in optimization problems). The CRO algorithm has two main components: a set of molecules (each of which represents a point in the search space, i.e., a feasible solution) and four different elementary reactions that are necessary to generate new molecules and efficiently navigate the solution space. Each molecule has several attributes, that is: (1) the molecular structure (ω) expressing the solution representation; (2) the potential energy (PE) corresponding to the fitness value of the solution in terms of energy (PEω = f(ω) ); and (3) the kinetic energy (KE) quantifying the tolerance of the system accepting new solutions with worse fitness (it allows the algorithm to escape from local optimum). Suppose we have a container with an attached energy buffer (i.e., environment) in which there is a set of different molecules which collide either with each other (inter-molecular collision) or with the walls of the container (unimolecular collision). These collisions are called elementary reactions and they cause structural changes, modify the attained energies and make possible a product formation. The uni-molecular collision includes on-wall ineffective collision and decomposition while the inter-molecular collision includes intermolecular ineffective collision and synthesis. Each collision performs diversification or intensification in the solution space, has its proper energy handling scheme and implement a specific molecular structure operation. Similar to other evolutionary metaheuristics, CRO is composed of three stages: initialization, evolution process, and the final stage. During the initializing phase, the CRO algorithm creates the initial population of molecules, determines their PEs and initializes the different parameters that are as follows: (1) InitialKE: the initial kinetic energy, (2) KELossRate: limits the maximum percentage of KE lost by a molecule, (3) Buffer: the initial energy in the buffer1 , (4) MoleColl: a parameter varying between 0 and 1 used to decide whether the chemical reaction to be performed is uni-molecular or inter-molecular, (5) α and β: two parameters representing the thresholds used in the criteria of uni-molecular and inter-molecular collision selections, respectively. Once the different parameters are defined, the optimization stage begins and the algorithm iteratively applies one of the four chemical reactions. At each iteration, one reaction is chosen by comparing a random value b ranging from 0 to 1 with MoleColl. If b is larger than MoleColl, it will be a uni-molecular collision. Otherwise, an inter-molecular collision will be performed. The algorithm undergoes these different collisions until the satisfaction of the stopping criterion. At this stage, it outputs the best found solution (see Algorithm 1). The interested reader could refer to 14 for a detailed description of the CRO algorithm and its parameters. 3. CROMAS: A Multi-Agent System based Chemical Reaction Optimization for the DPFSP The main goal of our work is to investigate the distribution advantages of the CRO metaheuristic in solving the DPFSP. By incorporating the MAS technology, we modify the original framework of the CRO algorithm and we create a population of agents that are able to behave independently and in a cooperative way in order to perform the different reactions simultaneously. For this purpose, two key characteristics of our model CROMAS should be defined: 1) The agents composing our CROMAS model and their behaviors: CROMAS is mainly composed of two classes of agents: one manager agent and a population of molecule agents. Manager Agent: represents the interface between the user and the system. It retrieves the different algorithm’s parameters and it orchestrates the different reactions of the CRO algorithm. It is also responsible for outputting the best found schedule and its makespan. Molecule Agent: each molecule agent represents a feasible solution (a molecule) and it implements a set of five different heuristics to obtain an optimized solution. To be specific, at the initialization stage, each molecule agent performs a modified NEH2 algorithm to generate a feasible solution. Then, iteratively and based on specific conditions, each Molecule Agent performs one of the four elementary reactions in order to explore and exploit the search space. 2) solution representation: The molecular structure is a key feature of applying CRO algorithm to solve the DPFSP. 1
Central energy buffer is implemented in CRO to support the decomposition reaction and help the molecules to escape from local optima.
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
1535
Algorithm 1 Chemical Reaction Optimization algorithm 1: Input: The objective function 2: Assign values to the algorithmic parameters: PopSize, MoleColl, InitialKE, KELossRate, buffer, α, β 3: Construct the initial population of molecules (with size equal to PopSize) 4: while the stopping criterion not met do 5: Get b randomly in interval [0, 1]; 6: if b > MoleColl then 7: Randomly select one molecule ω from population; 8: if the selected molecule has undergone α times of local search without obtaining any new local minimum solution then 9: (ω 1 , ω 2 , Success) = Decomposition(ω, Buffer); 10: if Success == True then 11: Remove ω from population; 12: Add ω 1 and ω 2 to population; 13: PopSize ← PopSize + 1; 14: end if 15: else 16: (ω ) = On-wall-ineffective-collision(ω, Buffer); 17: end if 18: else 19: Randomly select two molecules (ω1 and ω2 ) from population; 20: if (KEω1 ≤ β) & (KEω2 ≤ β) then 21: (ω , Success) = Synthesis(ω1 , ω2 ); 22: if Success == True then 23: Remove ω1 , ω2 from population; 24: Add ω to population; 25: PopSize ← PopSize - 1; 26: end if 27: else 28: (ω 1 , ω 2 ) = Inter-molecular-ineffective-collision(ω1 , ω2 ); 29: end if 30: end if 31: Check for any new minimum solution; 32: end while 33: Output:The best found solution and its objective function value The molecular structure needs to consider the two inter-dependent sub-problems: the factory assignment problem and the determination of the production sequence at each factory. Hence we adopt a representation that consists of a set of F lists (F is the number of factories), each of which represents a factory and consists of a permutation of jobs that are assigned to that factory. The demonstration of molecular structure for the DPFSP instance with 3 factories and 15 jobs is given by the following representation: 13, 3, 12, 10, 7, 2, 4, 15 ω= 9, 1, 8, 5, 14, 11, 6 The sequence of jobs for factory 1, 2 and 3 are {13, 3, 12, 10, 7}, {2, 4, 15}, and {9, 1, 8, 5, 14, 11, 6}, respectively. In the next subsections, we will present the detailed implementation of each agent. 3.1. Manager Agent The Manager Agent acts as an orchestrator with the responsibility of organizing the execution of different elementary reactions. Despite it plays no actual part in the search process, the Manager Agent intervenes at each stage of the
1536
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
CRO algorithm: Stage 1: The initialization During the initialization stage, Manager Agent, which has the initial parameters, begins to build up the evolution environment by creating a population of molecule agents, each of which represents a potential solution for the problem. Stage 2: The evolutionary process While the stopping criterion is not satisfied, the Manager Agent, iteratively, decides whether the collision is unimolecular or inter-molecular by generating a random variable b ∈ [0, 1]. In fact, if b > MoleColl, the Manager Agent sends a message to each Molecule Agent indicating that a uni-molecular collision should be activated. Otherwise, it sends a message to each Molecule Agent informing them that an inter-molecular collision should be triggered. For a uni-molecular collision, each Molecule Agent, being based on its own knowledge, checks its “inactive degree” locally. To reach this result, it calculates the number of iterations it has performed without obtaining any better solution. If the “inactive degree” > the decomposition threshold “α”, then, a decomposition reaction is performed. Otherwise, it triggers an on-wall collision. For an inter-molecular collision, each Molecule Agent checks its Kinetic Energy “KE” to decide whether the reaction is synthesis or inter-molecular ineffective collision. In other words, if the Molecule Agent has not sufficient KE, i.e., if KE < β, it will lose its flexibility to transform its molecular structure to a new one with higher makespan value. Hence, it gets stuck in a local minima. As a result, it should experience a synthesis collision for exploration. Otherwise, an inter-molecular ineffective collision will be activated. At each iteration of the evolutionary process, each Molecule Agent sends a message to the Manager Agent containing the new obtained schedule and its makespan after applying one of the four elementary reactions. This latter, records the best solution found so far. Stage 3: The final stage Once the stopping criterion is satisfied, the Manager Agent delivers the best found schedule and its makespan. 3.2. Molecule Agent In our model each Molecule Agent represents a single potential solution in the search space and it is identified by a unique name. Each Molecule Agent includes the following knowledge: the number of jobs, the number of machines, the number of factories, the molecular structure (ω), the makespan of the solution (PE), the InitialKE, the KE, the KELossRate, α and β. Each Molecule Agent is responsible for generating its own molecular structure and it possesses the ability of dynamically produce new Molecule Agents and even suicide. Furthermore, each Molecule Agent implements five different procedures that are responsible for producing initial solutions and implementing the local and global search. In what follows, we will present in a more detailed way these different procedures. 3.2.1. Population initialization As reported by many researchers, the convergence speed and the output results of evolutionary algorithms are heavily influenced by the quality of the initial population of solutions. Our main purpose is to generate a set of potentially high quality and diverse molecules which helps the algorithm to avoid poorly starting points. In order to ensure this, we adopt an improved initialization method. In fact, thanks to an in-depth exploration of the literature of the PFSP and the DPFSP we deem that the NEH2 heuristic 2 has been commonly recognized as the simplest and the best heuristic under the makespan minimization criterion. However, the NEH2 is known as a deterministic algorithm, i.e., it always produces the same solution for a given problem instance. Hence, a change in the basic algorithm would be needed in order to generate a population of diverse solutions. In the original NEH2 algorithm the first step consists in sorting the jobs by decreasing sum of processing times on machines. In our algorithm, we employ a random job sequence which is used as an initial ordering that is passed to the NEH2 heuristic. The main steps of the new randomized NEH2 heuristic could be described by the following 3 steps: first, generate a random sequence of n jobs; second, jobs are tested, one by one and according to the initial ordering into all positions of all existing factories; and third, the job is scheduled in the position of the factory resulting in the lowest partial makespan. During the initialization phase, each Molecule Agent generates its initial solution by applying the randomized NEH2 heuristic. The PE of each Molecule Agent is equal to the makespan obtained by the randomized NEH2 while its KE is initialized by InitialKE.
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
1537
Fig. 2. An example of on-wall ineffective collision operator.
Fig. 3. An example of decomposition operator.
3.2.2. Reaction operators At each iteration of the algorithm, each Molecule Agent performs one elementary reaction. These reactions as well as illustrative examples are described in what follows. A) On-wall ineffective collision operator The on-wall operator is used to generate a new molecule ω in the neighborhood of ω, i.e., ω → ω . It occurs when a molecule hits the wall of the container and then bounces away. This reaction represents the intensification, hence, the molecule undergoes a subtle change and its molecular structure does not change too rigorously. In our model, the molecule ω is generated by applying the insertion neighborhood structure which is considered as the best choice for the PFSP 15 . For this relative purpose, each concerned Molecule Agent selects randomly a job from the critical factory, i.e., the one with the largest makespan. Then, the selected job is inserted into all possible positions of all factories. The procedure is repeated until an improvement is found or all jobs of the critical factory are moved. The insertion move is performed by using the data structure proposed by Taillard 15 which accelerates the evaluation of the whole neighborhood and allows to know the best position for inserting the removed job. An example of the on-wall operator is illustrated in Fig. 2. Suppose the critical factory is the second one and the selected job is job 6. This job is removed from factory 2 and, then, inserted into all possible positions of all the factories (including the critical one). Finally, it is placed in the factory that results the lowest makespan. B) Decomposition operator Decomposition reaction occurs when a molecule hits the wall of the container and then decomposes into two new molecules, i.e., ω → ω 1 + ω 2 . This reaction helps the algorithm to escape from local optima, i.e., it implies vigorous changes on the molecular structure, and thus, the resultant molecules are in a region farther away in the search space. The main objective of decomposition is to explore other regions after enough local search by the on-wall ineffective collision. In our model, each concerned Molecule Agent uses random separation points to divide the molecular structure of ω into two pieces. ω 1 inherits the left-sided jobs of ω while ω 2 inherits the right-sided ones. Hence, we get two “incomplete molecules”. In order to yield complete solutions we use the accelerations of Taillard 15 to insert the non-scheduled jobs in the best positions. An example of decomposition operator is given in Fig. 3. The three random separation points for each factory are 1, 2 and 2 respectively. These points are used to divide job sequences of the molecule ω into two parts: ‘left’ and ‘right’. Hence, the set ‘left’ is composed of jobs 5, 10, 8, 2 and 7 while the set ‘right’ is composed of jobs 3, 6, 4, 1 and 9. The set of jobs on the left side are inherited from molecule ω to the new molecule ω 1 . In the following step, the jobs of the right side are sequentially inserted, to the best positions, into ω 1. The same steps are applied to generate the second new molecule ω 2 , but this time jobs on the right side are inherited from molecule ω to the molecule ω 2 . Accordingly, the jobs of the left side are sequentially scheduled until we obtain a complete solution. After the execution of the decomposition collision, the Molecule Agent creates two new Molecule Agents representing ω 1 and ω 2 respectively. Finally, it kills itself. C) Inter-molecular ineffective collision operator The inter-molecular ineffective collision occurs when two molecules ω1 and ω2 collide with each other and then
1538
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
Fig. 4. An example of inter-molecular ineffective collision operator.
Fig. 5. An example of synthesis operator.
separate. This reaction is very similar to the on-wall collision, i.e., the change is subtle and the number of molecules remains unchanged before and after the collision (ω1 + ω2 → ω 1 + ω 2 ). In this study, the inter-molecular ineffective collision is inspired from the well-known greedy method. It mainly consists of two phases: (1)Destruction phase: a given number ndes of jobs are randomly removed from the solution. The value of ndes is randomly chosen and included between the number of factories and the number of jobs/2. (2) Construction phase: a specific insertion heuristic is used to generate a complete scheduling. In fact, we consider a list πdis which contains the removed jobs in the order in which they were extracted. Then, these jobs are sequentially reinserted (one by one) into all possible positions in all the factories and the best partial solution (the one with the lowest makespan) is chosen for the next iteration. It is worth noting that each Molecule Agent (Molecule Agentω1 and Molecule Agentω2 ) performs the above described operator separately. Fig. 4 illustrates an example of this operator. In this latter, we only consider the changes on one molecule ω1 in order to generate a new one ω 1 (the same steps are applied to generate ω 2 ). In fact, when the molecule ω1 collides with another from the population it undergoes only subtle changes. Hence, some elements of ω1 are destructed, i.e., jobs 5, 8, 2 and 9 are sequentially removed. Then, during the construction phase the removed jobs are sequentially reinserted using the accelerations of Taillard 15 until a complete schedule of all jobs is obtained. D) Synthesis operator Synthesis reaction occurs when two molecules collide into each other and fuse together, i.e., ω1 + ω2 → ω . It gives the effect of diversification and ω is likely in a new territory of the solution space. In our model, each group of two Molecule Agents cooperates and coordinates with the others simultaneously to generate one novel molecule ω by fusing their own molecular structures. In fact, each Molecule Agent that satisfies the synthesis condition registers itself in a “synthesis box”. This box contains the list of all agents that will activate the synthesis operator. Meanwhile, the Manager Agent intervenes to randomly regroup the Molecule Agents two by two in order to perform the synthesis collision. In our model, the synthesis procedure is inspired from the well-known One-Point crossover which can be described as follows: F “cut off points” are randomly selected (one per factory) to divide the first molecule ω1 . The new molecule (ω ) inherits the left-sided set of jobs of (ω1 ), while the remaining jobs are scheduled according to their appearance in the second molecule ω2 . After performing the synthesis collision, the two Molecule Agents representing ω1 and ω2 kill themselves and a new Molecule Agent appears to correspond to ω which was firstly created. Fig. 5 outlines an example of this operator. The three random “cut off points” for each factory are 1, 2 and 2 respectively. The set of jobs in the left side of ω1 ({5-10-8-2-7}) are inherited from molecule ω1 and transferred in the exact order to the new molecule ω . The remaining jobs ({3-6-4-1-9}) are sequentially conjoined to the molecule ω in the same order of appearance as in the molecule ω2 .
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
1539
4. Performance evaluation The proposed CROMAS model is implemented using JADE 16 that we found the most suitable framework for our needs. The main reasons for this choice are that: JADE is one of the best modern framework for developing multiagent applications, it is free, open-source, flexible, runs on a variety of operating systems, and supports the FIPA specification standard for MAS messaging. CROMAS is executed on an Intel Core 2 Duo running at 2.20 GHz with 3.0 GB of RAM memory. Regarding the stopping criterion, we used a function based on the the number of jobs, the number of machines and the number of factories of each instance, i.e., stopping criteria = (n × m × F) iterations. 4.1. Benchmark problem set A set of 72 large-scaled instances 2 are used to evaluate the performance of the proposed model. The test instances2 involve five job number values (n = 20, 50, 100, 200, 500), three machine number values (m = 5, 10, 20) and six factory number values (F = 2, 3, 4, 5, 6, 7). 4.2. Parameter setting Similar to other evolutionary metaheuristics, a good parameter tuning for the CROMAS could ameliorate its performance. For the Buffer and MoleColl the values are deduced from the literature and set to 0 and 0.5, respectively. The other parameters are experimentally adjusted and set as follow: Initial PopSize = 40, InitialKE = 8, KELossRate = 0.2, α = 200 and β = 4. 4.3. Results and discussion To prove the efficiency of our CROMAS model, we compare our results against three other powerful algorithms, namely, the NEH2 heuristic 2 , the iterated greedy algorithm IG 11 , and the recent hybrid discrete cuckoo search metaheuristic 13 . The relative percentage deviation (RPD) is used for performance evaluation: RPD =
ALGa − BKS × 100 BKS
(1)
Where ALGa corresponds to the makespan obtained by a given algorithm a and BKS represents the best-known solution reported in the literature. A summary of the results is shown in Table 2. As it can be observed from Table 2, the NEH2 algorithm has a relative percentage deviation (RPD) that varies from 1.32% to 17.90%. Being just a simple constructive heuristic, the performance of NEH2 is shown to be below all the other tested metaheuristics in all the tested instances. However, NEH2 is a very fast and simple algorithm. Hence, we can confirm that it is profitable to use it as a starting point for metaheuristics. Comparing the results of CROMAS with those obtained by IG, we can see that they both show a very good performance. We can also remark that the IG clearly outperforms the HDCS metaheuristic as well as the NEH2 heuristic. However, CROMAS beats the IG in 60% of instances. Finally, let us consider the recent hybrid discrete cuckoo search metaheuristic HDCS. As can be noticed in Table 2, our model CROMAS produces significantly better PRD values than those of the HDCS. In fact CROMAS yields better results than HDCS in 87% of instances. Both algorithms obtain the same solution for 11% of instances and for only one instance HDCS gives a better result than CROMAS. It is also worth pointing out that for 72 instances considered in this experiment, our CROMAS model improves 40 current best solutions3 . Consequently, we can confirm that thanks to the cooperation between agents and the distributed implementation of the different elementary collisions, CROMAS is able to find better solutions and improve the average performance. 2 3
All the benchmark instances are available at http://soa.iti.es/problem-instances. A negative RPD value indicates that the best-known solution is updated
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
1540
Table 2. Relative percentage deviation (RPD) of the tested algorithms Problem (n×m×F) NEH2 IG HDCS CROMAS Ta001 Ta001 Ta001 Ta001 Ta001 Ta001 Ta011 Ta011 Ta011 Ta011 Ta011 Ta011 Ta021 Ta021 Ta021 Ta021 Ta021 Ta021 Ta031 Ta031 Ta031 Ta031 Ta031 Ta031 Ta041 Ta041 Ta041 Ta041 Ta041 Ta041 Ta051 Ta051 Ta051 Ta051 Ta051 Ta051
2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7
20×05×2 20×05×3 20×05×4 20×05×5 20×05×6 20×05×7 20×10×2 20×10×3 20×10×4 20×10×5 20×10×6 20×10×7 20×20×2 20×20×3 20×20×4 20×20×5 20×20×6 20×20×7 50×05×2 50×05×3 50×05×4 50×05×5 50×05×6 50×05×7 50×10×2 50×10×3 50×10×4 50×10×5 50×10×6 50×10×7 50×20×2 50×20×3 50×20×4 50×20×5 50×20×6 50×20×7
5.87 4.91 10.46 9.84 9.39 17.90 6.57 7.26 6.38 5.36 7.44 9.55 5.46 4.88 4.38 7.88 9.08 8.08 3.13 3.48 5.17 5.50 2.05 9.11 5.78 7.99 5.84 4.64 4.78 3.13 4.62 5.08 4.91 4.27 4.80 3.95
1.77 0.88 2.30 3.28 3.30 10.23 4.38 1.99 1.56 2.82 3.13 4.54 0.48 0.83 1.04 3.18 3.71 5.87 0.07 -0.20 -0.26 0.31 -0.68 0.57 0.40 0.00 -0.27 -0.69 0.22 -0.23 0.08 0.44 0.17 0.00 0.51 -0.07
2.32 1.05 2.93 3.51 4.06 9.09 4.98 1.99 1.69 2.82 3.13 4.54 1.38 0.96 1.04 3.18 3.71 5.36 0.14 0.82 1.29 1.53 0.17 1.33 2.23 2.16 2.48 1.19 1.30 0.58 2.15 1.66 1.10 1.50 1.66 1.00
1.77 0.88 2.30 3.04 3.30 9.09 4.38 1.99 1.56 2.82 3.13 4.54 0.48 0.83 1.04 3.18 3.71 5.19 0.00 0.00 -0.39 -0.15 -0.68 -0.76 0.00 -0.45 -0.71 -0.08 0.00 -0.93 -0.40 -0.73 -0.61 -0.54 -0.45 -0.74
Problem Ta061 Ta061 Ta061 Ta061 Ta061 Ta061 Ta071 Ta071 Ta071 Ta071 Ta071 Ta071 Ta081 Ta081 Ta081 Ta081 Ta081 Ta081 Ta091 Ta091 Ta091 Ta091 Ta091 Ta091 Ta101 Ta101 Ta101 Ta101 Ta101 Ta101 Ta111 Ta111 Ta111 Ta111 Ta111 Ta111
2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7 2 3 4 5 6 7
(n×m×F)
100×05×2 100×05×3 100×05×4 100×05×5 100×05×6 100×05×7 100×10×2 100×10×3 100×10×4 100×10×5 100×10×6 100×10×7 100×20×2 100×20×3 100×20×4 100×20×5 100×20×6 100×20×7 200×10×2 200× 10×3 200×10×4 200×10× 5 200×10×6 200×10×7 200×20×2 200×20×3 200×20×4 200×20×5 200×20×6 200×20×7 500×20×2 500×20×3 500×20×4 500×20×5 500×20×6 500×20×7
NEH2 1.32 3.07 2.96 4.42 3.13 4.07 3.75 5.08 5.36 5.73 4.25 4.96 5.62 4.74 2.93 3.43 2.55 2.52 2.14 3.73 2.89 2.65 3.04 3.11 3.37 3.22 3.54 3.40 2.51 3.09 2.01 2.50 1.58 1.97 2.35 1.88
IG
0.00 0.10 -0.27 0.00 -0.47 -0.11 0.75 0.13 -0.11 0.26 -0.72 -0.47 0.40 0.10 -0.24 -0.14 -0.05 -0.64 0.25 0.28 0.13 -0.08 -0.86 -0.76 -0.08 -0.39 -0.43 -0.65 0.24 0.08 0.08 -0.05 -0.37 -0.63 -0.51 -0.49
HDCS 0.07 0.21 0.13 0.41 0.19 0.54 -4.01 1.66 1.55 2.90 2.60 1.81 2.61 2.70 1.96 2.38 1.60 1.55 0.96 0.77 0.66 1.03 1.04 0.82 0.84 1.63 1.89 1.73 1.91 2.02 1.90 1.43 1.40 1.34 2.22 1.45
CROMAS 0.00 0.00 -0.27 -0.25 -0.66 -0.86 -0.36 -0.72 -0.55 -0.39 0.00 -1.73 0.00 -0.62 0.00 -0.78 -1.35 -0.32 -0.21 -0.41 0.25 -0.83 -0.91 -1.07 0.00 0.00 -0.91 -0.86 -0.03 -0.19 -1.14 0.00 -1.82 -1.56 -1.38 0.00
Table 3. Average Relative Percentage Deviation of the tested algorithms Algorithms
NEH2
IG
HDCS
CROMAS
Average RPD
4.83
0.69
1.78
0.36
Table 3 shows the average RPD of the four considered algorithms. It is evident from the results of Table 3 that our model CROMAS is the best one among all the tested algorithms, bringing down the average RPD to just 0.36% as compared to a deviation of 4.83% for NEH2 heuristic, 0.69% for the IG algorithm and 1.78% for the HDCS metaheuristic. The satisfactory results and the effectiveness of the new distributed scheme prove that a good alliance between evolutionary algorithms and Multi-Agent System technology can improve the problem solving capability, maintain the population diversity and avoid local optima. 5. Conclusions and future research paths In this paper, we have suggested a novel distributed model based on Multi-Agent System (MAS) technology and Chemical Reaction Optimization (CRO) called CROMAS to solve the DPFSP. The contributions of this work can be summarized as follows: to start with, this research is a pioneering attempt to solve the DPFSP by combining the evolutionary algorithm and the Multi-Agent System which used to be, both, independent and well-known as problemsolving paradigms. Secondly, four operators were carefully designed and implemented to illustrate the different collisions during the optimization process. Furthermore, extensive experiments were performed using instances with large problem sizes ranging from 20 jobs, 5 machines and 2 factories to 500 jobs, 20 machines and 7 factories. We, also, compared CROMAS with three powerful methods from the literature. The experimental results and comparisons
Hafewa Bargaoui et al. / Procedia Computer Science 112 (2017) 1531–1541 Hafewa Bargaoui et al. / Procedia Computer Science 00 (2017) 000–000
1541
confirmed that the proposed model has proved to be more competitive. In particular, CROMAS achieved new best makespan values for 56% of instances. In fact, the main advantage of CROMAS is the integration of four different operators that offer a reasonable combination of global and local search. Moreover, evolving all the population of molecules and applying different reactions in a distributed way make our model even more efficient and able to perform better than the other algorithms. In light of this work, several prospects for future researches have been identified. Firstly, it would be interesting to improve the efficiency of CROMAS by using more effective neighborhoods such as the variable neighborhood search in order to exploit the promising areas thoroughly. Moreover, incorporating a more elaborated strategy to regroup the molecules for the synthesis collision is also a worthy venue of research. Eventually, exploring the potential of hybridization of metaheuristics through MAS and studying more sophisticated objectives apart from makespan seems also interesting. References 1. Johnson, S.M.. Optimal two-and three-stage production schedules with setup times included. Naval Research Logistics (NRL) 1954; 1(1):61–68. 2. Naderi, B., Ruiz, R.. The distributed permutation flowshop scheduling problem. Computers & Operations Research 2010;37(4):754–768. 3. Bargaoui, H., Driss, O.B.. Multi-agent model based on tabu search for the permutation flow shop scheduling problem. In: Distributed Computing and Artificial Intelligence, 11th International Conference. Springer; 2014, p. 519–527. 4. Marzouki, B., Driss, O.B.. Multi agent model based on chemical reaction optimization for flexible job shop problem. In: Computational Collective Intelligence. Springer; 2015, p. 29–38. 5. Nawaz, M., Enscore, E.E., Ham, I.. A heuristic algorithm for the m-machine, n-job flow-shop sequencing problem. Omega 1983; 11(1):91–95. 6. Gao, J., Chen, R.. An neh-based heuristic algorithm for distributed permutation flowshop scheduling problems. Scientific Research and Essays 2011;6(14):3094–3100. 7. Gao, J., Chen, R.. A hybrid genetic algorithm for the distributed permutation flowshop scheduling problem. International Journal of Computational Intelligence Systems 2011;4(4):497–508. 8. Gao, J., Chen, R., Liu, Y.. A knowledge-based genetic algorithm for permutation flowshop scheduling problems with multiple factories. International Journal of Advancements in Computing Technology 2012;4(7):121–129. 9. Gao, J., Chen, R., Deng, W.. An efficient tabu search algorithm for the distributed permutation flowshop scheduling problem. International Journal of Production Research 2013;51(3):641–651. 10. Wang, S.Y., Wang, L., Liu, M., Xu, Y.. An effective estimation of distribution algorithm for solving the distributed permutation flow-shop scheduling problem. International Journal of Production Economics 2013;145(1):387–396. 11. Lin, S.W., Ying, K.C., Huang, C.Y.. Minimising makespan in distributed permutation flowshops using a modified iterated greedy algorithm. International Journal of Production Research 2013;51(16):5029–5038. 12. Komaki, G., Mobin, S., Teymourian, E., Sheikh, S.. A general variable neighborhood search algorithm to minimize makespan of the distributed permutation flowshop scheduling problem. World Academy of Science, Engineering and Technology, International Journal of Social, Behavioral, Educational, Economic, Business and Industrial Engineering 2015;9(8):2701–2708. 13. Wang, J., Wang, L., Shen, J.. A hybrid discrete cuckoo search for distributed permutation flowshop scheduling problem. In: Evolutionary Computation (CEC), 2016 IEEE Congress on. IEEE; 2016, p. 2240–2246. 14. Lam, A.Y., Li, V.O., James, J.. Real-coded chemical reaction optimization. IEEE Transactions on Evolutionary Computation 2012; 16(3):339–353. 15. Taillard, E.. Some efficient heuristic methods for the flow shop sequencing problem. European journal of Operational research 1990; 47(1):65–74. 16. Bellifemine, F.L., Caire, G., Greenwood, D.. Developing multi-agent systems with JADE; vol. 7. John Wiley & Sons; 2007.