You are on page 1of 9

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 6, JUNE 2011, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.

ORG

97

Flexible Job-Shop Scheduling With TRIBES-PSO Approach


S. Mekni, B. Fayech Char, and M. Ksouri
AbstractThis paper deals with the flexible job shop scheduling problem (FJSP). For solving the NP-Hard FJSP with the objective of minimizing the makespan (total duration of schedule), we suggest to use TRIBES which is a parameter free PSO algorithm that does not need any parameter tuning. TRIBES like PSO, is a computational method that mimics the behavior of flying birds and their means of information exchange. The candidate solutions in the swarm communicate and cooperate with each other, whereas individuals in an evolutionary algorithm compete for survival. The preliminary experimental results show that TRIBES is promising for solving the well-known flexible job shop scheduling problem. Index TermsArtificial intelligence, Heuristic methods, Optimization, Sequencing and Scheduling.

1 INTRODUCTION
HE FJSP is one of the hardest combinatorial optimization problems in the field of scheduling. It belongs to the NP-Hard family [1]. The FJSP presents two difficulties. The first one is to assign each operation to a machine, and the second one is to schedule these operations in order to make a predefined objective minimal. During the past two decades, the FJSP captured the interests of many researchers. One of the first papers about FJSP was proposed by Brucker and Schlie [2]. They used a polynomial algorithm for solving this problem with two jobs. To solve the realistic case with more than two jobs, many approaches in the literature have been proposed. Brandimarte [3] solved the FJSP with tabu search algorithm (TS). Dauzre-Prs and Paulli [4] defined a new model and used a TS algorithm. Mastrolilli and Gambardella [5] improved Dauzre-Prs TS techniques. Kacem et al [6][7] presented a genetic algorithm (GA) for monoobjective and multi-objective FJSP. Zhang and Gen [8] developed a multistage operation-based GA. Recently, particle swarm optimization (PSO), a population-based metaheuristic, has been attempted for solving FJSP. Xia and Wu [9] proposed an approach hybridizing particle swarm optimization and simulated annealing (SA). PSO is used to assign operations on machines and SA is used to schedule operations on each machine. Liu et al [10] solved the multi-objective FJSP with minimum makespan and flowtime by means of a variable neighbourhood PSO algorithm, which employed a variable neighbourhoudbased local search mechanism to improve the exploitation ability of the swarm. Jia et al [11] employed a chaotic local search around the gbest particle in PSO for solving FJSP.

Jia et al [12] proposed another approach using a fullyinformed pareto-based PSO algorithm to minimize the makespan and maximum lateness in a flexible job shop environment. In this paper, we aim to overcome the difficulty of parameter tuning present in all metaheuristics by proposing an adaptive algorithm for FJSP. The adaptive algorithm named TRIBES is a parameter-free PSO that does not require any parameter tuning (swarm size, sociometry). TRIBES like PSO, is a computational method mimicking the behavior of flying birds and their means of information exchange. The key elements of TRIBES, the most important issues in designing the algorithm and applying it to the wellknown FJSP, the performance results and a summary of the current work with future directions can be found in the following sections.

2 PROBLEM DESCRIPTION
The problem consists in performing a set of n jobs J= {J1, J2,, Jn} on a set of m machines M={M1, M2,,Mm} .Each machine can process only one operation at a time. Each job Ji has a linear sequence of ni operations {Oi,1, Oi,2,, Oi,ni}. There are precedence constraints among the operations of the same job. Nonetheless, there are no precedence constraints among the operations of different jobs. The realization of each operation Oi,j (the operation j of job i) requires a machine Mk and a processing time pi,j,k. Job preemption and job splitting are not allowed. The starting time of Oi,j is ti,j and the ending time is tfi,j. We can associate a table TFJSP of processing times to each flexible job shop scheduling problem such that TFJSP= {pi,j,k integer0, 1in; 1jni; 1km}. An exemple is presented in Table 1. In literature the FJSP can be classified into two sub-problems: the Total FJSP (T-FJSP) and the partial FJSP (P-FJSP). In T-FJSP, each operation can be processed on any machine of M whereas, in P-FJSP, each operation can be processed on one machine of subset of M. In our paper, the two kinds of FJSP are considered and

S. Mekni is with the National Engineering School of Tunis, Tunisia.Email: msouadpop@ yahoo.fr. B. Fayech Char is the National Engineering School of Tunis, Tunisia.Email: besma.fayechchaar@insat.rnu.tn. M. Ksouri is with the National Engineering School of Tunis, Tunisia. Email: Mekki.Ksouri@insat.rnu.tn.

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 6, JUNE 2011, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG

98

the objective is to find a schedule having a minimum makespan (or, the minimum time of the whole operations), denoted by Cmax=max1in(max1jni(tfi,j)). Moreover, we shall assume that the total number of operations to perform is greater than the number of machines, each job can start at time 0, breakdowns are not considered and machines are available at time 0. Now that the problem has been suitably described, the next step is to select an appropriate solution strategy. The selection of a suitable solution strategy should, in most cases driven by the complexity of the problem at hand. Next sections focuse on the technique chosen to solve the FJSP to minimize the makespan. TABLE 1 EXAMPLE OF A TFJSP

stants, called cognitive and social parameters and (r1, r2) are random numbers uniformaly distributed in [0,1]. Fig.1 illustrates the move of the particle and Fig.2 provides the pseudocode of PSO.

M1 O1,1 J1 O1,2 O1,3 O2,1 J2 O2,2 O2,3 J3 O3,1 O3,2 1 3 6 1 2 9 1 5

M2 9 5 7 4 8 5 8 9

M3 3 2 1 5 4 1 9 2

M4 7 6 4 3 9 2 3 4

M5 5 4 3 8 3 4 2 3

Fig.1. Particles move

(N:swarm size;f :fitness) Begin Random initialization of positions and velocities of each particle For each particle i ,pi=xi While stopping criteria not met do For i=1 N faire Update the particle position and velocity according to equations (1) and (2) Evaluation of positions If f(xi)< f(pi) pi=xi If f(pi)< f(gi) gi=pi End for End while
Fig.2. Pseudocode of PSO

3 PARTICLE SWARM OPTIMIZATION (PSO)


PSO is a stochastic population-based optimization technique, which finds its roots in the flocking behaviour of birds. Since its development in 1995 by Kennedy and Eberhart [13], PSO has gained rapid popularity as a technique of optimization easy to understand, simple to implement, reliable and fast. Application areas of PSO are diverse and range from function optimization to realworld problems. In PSO, a population of potential solution called particles is initialized randomly. Then, these particles fly through the search space with velocities which are dynamically adjusted according to their historical behaviors. In PSO, each particle i modelised in an optimization problem which dimensionality is D, by a position vector xi=(xi1, xi2,,xiD) and a velocity vi=(vi1, vi2, , viD), is influenced by both the best solution that it has discovered so far pi=(pi1, pi2, ,piD) and the best particle in its neighbors or in the entire population gi=(gi1, gi2, , giD). At time t, the position and the velocity of each particle are adjusted according to equations (1) and (2): vij(t+1)=w.vij(t)+c1.r1.(pij(t)-xij(t))+c2.r2.( pij(t)-xij(t)) (1) xij(t+1)=xij(t)+vij(t+1) ; j in {1, ...,D} (2) Where w is the inertia weight, (c1, c2) are two positive con-

The number of PSO research papers increases exponentially each year, and as the algorithm is refined, several variants of PSO have been defined. TRIBES is new variant of PSO. TRIBES is a parameter-free PSO algorithm that avoid the user to tune the algorithm-specific parameters. This self adaptive algorithm is specifically useful for minimizing the computational effort associated with the optimization of control parameters.

4 TRIBES
4.1 Description
Although metaheuristics are efficient, they suffer from a large number of algorithm-specific parameters which need to be optimized separately for each instance and problem type. To address this issue, a number of selfadaptive algorithms are developed. TRIBES, a metaphor for different sized groups of people moving in an unknown area or region, looking for a good place, is a parameter-free PSO which is defined in 2003 by clerc

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 6, JUNE 2011, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG

99

([14], [15]). TRIBES adapts the number of particles and the details of topology according to performance feedback of the swarm. The swarm in TRIBES is composed of subswarms called tribes. At the beginning, the swarm contains only one tribe containing one particle. Through generations the swarm in TRIBES evolves by structural and behavioral adaptations. Structural adaptation determines how particles are added or removed based on the behaviors of tribes and behavioral adaptation indicates how particles update their positions.

Fig.4. Deletion of a the worst particle of a good tribe

4.2 Tribal relationships


Each tribe represents a fully connected graph. Any particle in the swarm belongs to only one tribe. The set of informers of a particle forms its i-group. This i-group contains all the particles in the tribe of the considered particle and any particle of other tribes to which the particle at hand is connected. All links are symmetric. Fig.3 illustrates tribal relationships.

Intra-tribal communication Inter-tribal communication

Fig.3. Tribal relationships

4.3 Structural adaptations


As TRIBES algorithm evolves, if the performance of a particle was improved in the last iteration, the particle is labeled good. Otherwise, it is labeled bad. Relative to its tribe, the particle having the least good performance within a tribe is called the worst. Similarly, we can determine the best particle of a tribe. The tribe also is labeled good if the number of its good particles exceeds the half of tribe size. Otherwise, the tribe is labeled bad. Good tribes do not need as many particles, therefore they will remove their weakest member and any external links to the particle to be deleted will reallocated to the best performer in the tribe. Fig.4 illustrates the deletion of a worst particle in a good tribe. If a good tribe contains only one particle, this good tribe will be removed only if its particles best external informer has a better performance than its particle. In the case of removal of the whole tribe, all external links are reallocated to the best external informer of the particle to be deleted. On the other hand, bad tribes need more information, thats why each bad tribe generates one particle at random and forms a link between its best particle and the generated one. At each structural adaptation step, the set of all new particles generated creates a new tribe.

Structural adaptation should not occur after each iteration. It takes place at the beginning of the algorithm and then periodically as it progresses. In fact, some time (iterations) are indispensable for information to propagate through the whole swarm. If after one structural adaptation the number of links in the swarm is NL, the next structural adaptation will occur after (NL/2) number of iterations. The algorithm of Fig.5 outlined Structural adaptation rules [16]. tribeNB is the number of tribes in the swarm. test=0 For i=1 tribeNb do If tribe[i].status=bad Generate a particle at random test =1 End if If tribe[i].status=good Delete the worst particle of tribe[i] If tribe[i].size=1 tribeNb=tribeNb-1 redirect information links towards the best informer else redirect information links towards the best particle of the tribe end if end if end for if test=1 tribeNb=tribeNb+1 aggregate generated particles in a new tribe establish links between the best particles of the different tribes end if calculate NL (NL:number of links in the swarm)
Fig.5. Structural adaptation algorithm

4.4 Behavioral adaptations


In TRIBES, particles do not have explicit associated velocities. They update their positions according to their history. Each particle adopts a moving strategy based on its recent past. If a particle has just improved its position twice in succession, it is considered excellent and it will adopts the simple pivot method to adjust its position. Otherwise, positions of particles are updated using the noisy pivot method. In the simple pivot method, two positions are used: the best position p of the given particle and the best position g

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 6, JUNE 2011, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG

100

of its best informer. Then two hyper-spheres of radius |pg| are created around p and g. The new position is generated inside the intersection of the two hyper-spheres. In such way the newly generated point is most likely to be nearer to the best between p and g. In order to obtain such a behavior, two weights w1 and w2 proportional to the relative fitness of the considered particle and its best informer are generated and the new position is obtained by w1.hp+w2.hg, where hp and hg are two randomly generated points in the hyper-spheres surrounding p and g, respectively [17]. The noisy pivot method begins exactly like the simple pivot strategy. After having determined the new position it is again modified by adding a random noise. Confinement in TRIBES is done as in classical PSO. In fact, if a component of the position of a particle tends to go out of the search space, it is then simply brought back to nearest acceptable values. To summarize, the TRIBES flowchart is available in [18] and the TRIBES algorithm is presented in the following figure (Fig.6): pi:best position of particle i; gi:best informer of particle i; n:number of iterations done until the last structural adaptation; NL number of links Random initialization of the initial particle x0 P0= g0=x0 Evaluate the objective function While stopping criteria not met do Determine the status of each particle Choose the moving strategy Update positions Evaluate each particle Update pi and gi If ( !(n < NL/2)) Determine the status of each tribe Structural adaptation (see Fig.5) Calculate NL End if End While
Fig.6. TRIBES Algorithm

(Fig.8, Fig.9) represent operations as a repetition of operations. For example (1,1,1) represents (O1,1,O1,2,O1,3), (2,2,2) represents (O2,1,O2,2,O2,3) and so on. The second row of the particle represents particles position or the rational solution. Each dimension of the first half of the 2nd row maps one operation and each of the second half maps one machine. At this step, we use the Smallest Position Value (SPV) rule [19] to find the permutation of jobs. The smallest component of the particles position in the 2nd row of Fig.8 is -2.1 which corresponds to job number 3, thus J3 (or the first operation of J3) is scheduled first. The second smallest component of the particles position is -2 which corresponds to job number 1, therefore J1 (or the first operation of J1) is the second, etc. The 2nd row of Fig.9 contains a random number in the interval [0,m] that indicates after being rounded to its nearest integer, the machine to which an operation is assigned during the course of TRIBES. The 3rd row of Fig.8 indicates the sequence of jobs in the ordering and the 3rd row of Fig.9 indicates the corresponding machines. Finally, the last row of Fig.8 indicates operations in the order and last row of Fig.9 indicates starting times. Repitition of jobs:J1J1J2J3J3 position Sequence of Jobs Sequence of operations
Fig.7. Particle representation

Repitition of jobs:J1J1J2J3J3 position Machines Starting dates

J1 0.6 J3 O31

J1 -2 J1 O11

J1 6 J1 O12

J2 2 J2 O21

J2 6.6 J3 O32

J2 3 J2 O22

J3 2.5 J1 O13

J3 -2.1 J2 O23

Fig.8. The first half of the particle

J1 4 M5 t=0

J1 0.5 M1 t=0

J1 2 M3 t=1

J2 0.6 M1 t=1

J2 4 M5 t=2

J2 0.9 M1 t=2

J3 3 M3 t=3

J3 2 M3 t=4

Fig.9. The second half of the particle

5 APPLICATION OF TRIBES TO FJSP


5.1 Solution Representation
The original PSO design is developed to solve continuous function. But FJSP is a combinatorial problem, the solution space is discrete. Therefore, the first issue is to find a suitable representation that let us avoid a correction process which will be very expensive in term of computation time. In our case, we implement a coding that takes into account all the constraints and the specifities of the problem. For the (n jobs, m machines, O operations) FJSP each particle is represented by a matrix having 4 rows and (2*O) columns. Fig.7, Fig.8 and Fig.9 illustrate the solution representation of a particle corresponding to (3 jobs, 5 machines, 8 operations) described in table 1. The first and second halves of the first row of the particle

5.2 Computation of operations starting times


The computation of the starting times and the completion times (ti,j, tfi,j.) are obtained by applying the procedure described in Fig.10. The different steps that illustrate such a procedure are as follows (we consider the solution represented in Fig.8 and Fig.9): VJ={0,0,0}, VM={0,0,0,0,0}, 1st Step:t31 o T31=max{VJ[3],VM[5]}=max{0,0}=0,tf31 =0+2=2, o VJ={0,0,2}, o VM={0,0,0,0,2}, 1st Step:t11

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 6, JUNE 2011, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG

101

(n:number of jobs; Nt: total number of operations; pi,j,k:processing time of operation Oi,j performed on Mk;ti,j:starting time of Oi,j;tfi,j: ending time of Oi,j; VJ[i]: ending time of the last operation scheduled of job Ji; VM[k]: ending time of the last operation performed on machine Mk; VJ={0};VM={0};we treat operations in the same order of their appearance in the solution Begin For indice=1 Nt k=indice of machine that executes Oi,j max=maximum(VJ[i],VM[k]) ti,j=max tfi,j=max+pi,j,k VJ[i]=VM[k]= tfi,j End for
Fig.10. Determination of operations starting times Fig.11. Gantt Diagram

o o 1st Step:t12 o t12=max{VJ[1],VM[3]}=max{1,0}=1,tf12= 1+2=3, o VJ={3,0,2}, o VM={1,0,3,0,2}, 1st Step:t21 o t21=max{VJ[2],VM[1]}=max{0,1}=1,tf21= 1+1=2, o VJ={3,2,2}, o VM={2,0,3,0,2}, 1st Step:t32 o t32=max{VJ[3],VM[5]}=max{2,2}=2,tf32= 2+3=5, o VJ={3,2,5}, o VM={2,0,3,0,5}, 1st Step:t22 o t22=max{VJ[2],VM[1]}=max{2,2}=2,tf22= 2+2=4, o VJ={3,4,5}, o VM={4,0,3,0,5}, 1st Step:t13 o t13=max{VJ[1],VM[3]}=max{3,3}=3,tf13= 3+1=4, o VJ={4,4,5}, o VM={4,0,4,0,5}, 1st Step:t23 o t23=max{VJ[2],VM[3]}=max{4,4}=4,tf23= 4+1=5, o VJ={4,5,5}, o VM={4,0,5,0,5} The obtained schedule is described in the Gantt Diagram as shown in Fig.11.

t11=max{VJ[1],VM[1]}=max{0,0}=0,tf11 =0+1=1, VJ={1,0,2}, VM={1,0,0,0,2},

5.2 TRIBES for combinatorial problems


For combinatorial problems, we do not have a distance defined on them. Therfore, in moving strategies, we need to consider each dimension independently. For each dimension d, the new value of position component is computed as follows: (3) vd=x(t)d-x(t-1)d (4) p=pi,d-x(t)d (5) g=gi,d-x(t)d x(t+1)d=x(t)d+(vd+rand_gauss(p,|p|/2)) (6) (7) x(t+1)d=x(t)d+ (rand_gauss( g,|g|/2)) Where =(1/(-1+(2-2*)1/2)), =2/0.97225 and rand_gauss(m, s) function generates a number under the normal distribution with a mean m and a standard deviation s [14].

5.2 Local search


In order to get better solution, some local search schemes should be integrated with TRIBES. Local search employs the idea that a given solution may be improved by making small changes. A local search algorithm starts with some initial solution and then moves from neighbor to neighbor. A neighbor of a given solution is obtained by moving an operation. More precisely, an operation is chosen and is reassigned to an eligible machine (not necessary different from the previous one).After that starting times are recalculated in order to obtain a feasible schedule. In our work, local search strategies are carefully included in some segments of TRIBES [20]: after initialization, when swarm moves, during adaptation, when there is no enough improvement, and before every new iteration after adaptation.

6 RESULTS
This section described the computational tests which are used to evaluate the effectiveness and efficiency of the proposed TRIBES. Our algorithm has been implemented in C language and runs on a PC Intel Core i3 CPU

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 6, JUNE 2011, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG

102

M370@2.40GHz 909 MHz, 1.85GB of RAM. Different instances of the present problem have been chosen to test TRIBES algorithm. These instances are taken from [21] and are divided into two categories: small size flexible job shop scheduling problems (SFJS1:10), and medium and large size flexible job shop scheduling problems (MFJS1:6). The number of jobs ranges from 2 to 8, the number of machines ranges from 2 to 7, the number of operations for each job ranges from 2 to 3, and the number of operations for all jobs ranges from 4 to 24. In table 2, the problem names are listed in the first column, the second and third columns refer to the number of jobs and machines respectively.In table 3, a comparison of our approach and four approaches, namely HSA/SA, HAS/TS, HTS/TS and HTS/SA algorithms, proposed by Fattahi et al [21] is given (H: Hierarchical approach, SA: Simulated annealing and TS: Tabu search). TABLE2 INSTANCES OF FATTAHI

TABLE3 COMPARISON WITH HIERARCHICAL APPROACHES OF FATTAHI

Problem HSA/SA HSA/TS HTS/TS HTS/SA Our approach SFJS1 SFJS2 SFJS3 SFJS4 SFJS5 SFJS6 SFJS7 SFJS8 SFJS9 SFJS10 MFJS1 MFJS2 MFJS3 MFJS4 MFJS5 MFJS6 66 107 221 355 119 320 397 253 210 516 479 495 553 656 650 762 66 107 221 355 119 320 397 253 210 516 491 482 538 650 662 785 66 107 221 355 119 320 397 253 210 516 469 482 533 634 625 717 66 107 221 355 119 320 397 253 210 516 469 468 538 618 625 730 66 107 221 355 119 320 397 253 210 516 468 448 468 554 519 634

Problem n jobs m machines SFJS1 SFJS2 SFJS3 SFJS4 SFJS5 SFJS6 SFJS7 SFJS8 SFJS9 SFJS10 MFJS1 MFJS2 MFJS3 MFJS4 MFJS5 MFJS6 2 2 3 3 3 3 3 3 3 4 5 5 6 7 7 8 2 2 2 2 2 3 5 4 3 5 6 7 7 7 7 7

M 2 : 1,1 : 0 37O1,2 : 37 61 O O M 1 : 2,1 : 0 45O2,2 : 45 66


Fig.12. Scheduling obtained for problem SFJS1

M 2 : 2,1 : 0 35O2,2 : 35 78 O O M 1 : 1,1 : 0 43O1,2 : 43 107


Fig.13. Scheduling obtained for problem SFJS2

M 2 : 2,1 : 0 53O1,2 : 53 148O2,2 : 148 221 O M 1 : 1,1 : 0 43O3,1 : 43 168O3,2 : 168 211 O
Fig.14. Scheduling obtained for problem SFJS3

Results shown in table 3 confirm that the present TRIBES algorithm obtain equal or better results in comparison with the above-mentionned algorithms. Optimal scheduleing obtained from 30 runs of our TRIBES algorithm for many Fattahi instances are presented in Fig.12, Fig.13, Fig.14, Fig.15, Fig.16, Fig.17, Fig.18, Fig.19, Fig.20, Fig.21, Fig.22, Fig.23, Fig.24, Fig.25, Fig.26 and Fig.27.

M 2 : 2,1 : 0 120O1,1 : 120 183O2,2 : 183 335 O M 1 : 3,1 : 0 125O3,2 : 125 268O1,2 : 268 355 O
Fig.15. Scheduling obtained for problem SFJS4

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 6, JUNE 2011, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG

103

M 2 : 1,1 : 0 36O3,2 : 55 92O2,2 : 92 113 O M 1 : 2,1 : 0 34O3,1 : 34 55O1,2 : 55 119 O


Fig.16. Scheduling obtained for problem SFJS5

Fig.23. Scheduling obtained for problem MFJS2


M 7 3,2 : 87 232 2,3 : 253 403 O O O O M 6 4,3 : 238 374 5,3 : 374 459 O O O M 5 4,2 : 65 238 3,3 : 238 338 6,3 : 338 458 O M 4 6,1 : 0 154 2,2 : 154 253 1,3 : 318 468 O O 6,2 : 154 277 5,2 : 277 363 O O 1,1 : 65 188 1,2 : 188 318 O O 5,1 : 87 215 O O M 3 2,1 : 0 150 O M 2 4,1 : 0 65 O M 1 3,1 : 0 87

M 3 2,3 : 180 250 1,3 : 250 310 O O O M 2 3,1 : 0 60 M 1 2,1 : 0 30 O 3,2 : 60 230 3,3 : 230 320 O O 2,2 : 30 180 1,1 : 180 197 1,2 : 197 237 O O O

Fig.17. Scheduling obtained for problem SFJS6

Fig.24. Scheduling obtained for problem MFJS3


M 5 3,3 : 132 232 O O O M 4 3,2 : 62 132 1,3 : 247 397 O M 3 2,1 : 0 150 O M 2 3,1 : 0 62 O M 1 1,1 : 0 117
Fig.18. Scheduling obtained for problem SFJS7

2,2 : 150 205 2,3 : 205 270 O O 1,2 : 117 247 O

M 4 2,2 : 30 85 2,3 : 85 163 3,3 : 163 253 O O O O M 3 1,3 : 92 252 O M 2 3,1 : 0 62 O M 1 2,1 : 0 30 1,2 : 62 92 3,2 : 92 162 O O 1,1 : 30 47 O

Fig.19. Scheduling obtained for problem SFJS8


M 3 2,1 : 0 50 1,3 : 90 150 2,3 : 150 210 O O O M 2 1,1 : 0 25 3,2 : 50 120 3,3 : 120 210 O O O M 1 3,1 : 0 50 1,2 : 50 90 2,2 : 90 140 O O O

Fig.20. Scheduling obtained for problem SFJS9


M 5 4,2 : 65 238 2,3 : 238 416 3,3 : 416 516 O O O M4 1,3 : 346 496 O M 3 2,1 : 0 150 O M2 4,1 : 0 65 O M1 1,1 : 0 147 O 3,2 : 150 330 4,3 : 330 466 O O 3,1 : 65 127 2,2 : 150 216 1,2 : 216 346 O O O

Fig.21. Scheduling obtained for problem SFJS10


M 6 2,3 : 237 332 4,3 : 332 468 O O M 5 4,2 : 65 238 3,3 : 238 338 5,3 : 338 448 O O O M 4 3,2 : 87 192 5,2 : 215 280 1,3 : 318 468 O O O M 3 2,1 : 0 150 O M 2 4,1 : 0 65 O O M 1 3,1 : 0 87 2,2 : 150 237 O 1,1 : 65 188 1,2 : 188 318 O O 5,1 : 87 215 O

Fig.22. Scheduling obtained for problem MFJS1


M 7 2,3 : 237 387 O O M 6 4,3 : 238 374 O O O M 5 4,2 : 65 238 3,3 : 238 338 5,3 : 338 448 O O M 4 3,2 : 127 232 1,3 : 270 420 O M 3 2,1 : 0 150 O M 2 4,1 : 0 65 O M 1 1,1 : 0 147 2,2 : 150 237 5,2 : 250 336 O O 3,1 : 65 127 5,1 : 127 250 O O 1,2 : 147 270 O

Fig.25. Scheduling obtained for problem MFJS4

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 6, JUNE 2011, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG

104

Fig.26. Scheduling obtained for problem MFJS5

Fig.27. Scheduling obtained for problem MFJS6

CONCLUSION

Although limited, the computational tests performed have been sufficient to draw some conclusions. Our approach based on the autonomous optimization heuristic TRIBES, which adapts the number of particles and the topology of particles neighborhoods based on swarm performance, provides relevant solutions for the minimization of makespan in the flexible job shop scheduling problem. Our approach is very competitive to the state-of-the-art methods in the literature since it

JOURNAL OF COMPUTING, VOLUME 3, ISSUE 6, JUNE 2011, ISSN 2151-9617 HTTPS://SITES.GOOGLE.COM/SITE/JOURNALOFCOMPUTING/ WWW.JOURNALOFCOMPUTING.ORG

105

does not require tuning and it is able to find the optimal and best-known solutions on the instances studied. About future research direction, we should pay more attention to the multiobjective optimization. Instead of minimizing only makespan, we should consider another objective that reflects realistic cases.

[18]

[19]

REFERENCES
[1] M. Sakarovitch, Optimisation Combinatoire. Mthodes mathmatiques et algorithmiques. Hermann, Editeurs des sciences et des arts, Paris, 1984. P. Brucker and R. Schlie, Job Shop Scheduling with multipurpose machines, J. Computation, vol. 45, no. 4, pp. 369-375, 1990. P. Brandimarte, Routing and Scheduling in a Flexible Job Shop Scheduling by Tabu Search, Annals of Operations Research, vol. 22, pp. 158-183, 1993. S. Dauzre-Prs and J. Paulli, An Integrated Approach for Modeling and Solving the General Multiprocessor Job Shop Scheduling Problem using Tabu Search, Annals of Operations Research, vol. 70, no. 3, pp. 281-306, 1997. M. Mastrolilli and L.M. Gambardella, Effective Neighborhood Functions for the Flexible Job Shop Problem, J. Scheduling, vol. 3, no. 1, pp. 3-20, 2000. I. Kacem, S.Hammadi and P. Borne, Approach by Localization and Multi-Objective Evolutionary Optimization for Flexible Job Shop Scheduling Problems," IEEE Trans. Systems, Man and Cybernetics, vol. 32, no. 1, pp. 1-13, 2002. I. Kacem, S.Hammadi and P. Borne, Pareto-Optimality Approach for Flexible Job Shop Problems: Hybridization of Evolutionary Algorithms and Fuzzy Logic, Mathematics and Computers in simulation, vol. 60, pp. 245-276, 2002. H-P. Zhang and M. Gen, Multisatge-based Genetic Algorithm for Flexible Job Shop Scheduling Problem,J.Complexity International, vol. 11, pp 223-232, 2005. W. Xia and Z. Wu, An Effective Hybrid Optimization Approach for Multi-Objective Flexible Job-Shop Scheduling Problems, J.Computers and Industrial Engineering vol. 48, pp 409-425, 2005. H. Liu, A. Abraham and C.Grosan,A novel Variable Neighborhood Particle Swarm Optimization for Multi-Objective Flexible Job Shop Scheduling Problems, Proc.Second International Conference on Digital Information Management, pp 138-145, 2007. Z. Jia, H. Chen and J. Tang,An Improved Particle Swarm Optimization for Multi-Objective Flexible Job Shop Scheduling Problem, IEEE International Conference on Grey Systems and Intelligent Services, pp 1587-1592, 2007. Z. Jia, H. Chen and J. Tang,A New Multi-Objective FullyInformed Particle Swarm Algorithm for Flexible Job Shop Scheduling Problems, International Conference on Computational Intelligence and Security Workshops, pp 191-194, 2007. J. Kennedy and R.C. Eberhart,Particle Swarm Optimization, IEEE International Conference on Neural Networks (Perth, Australia), IEEE Service Center, Piscataway, NJ, pp 1942-1948, 1995. M. Clerc, TRIBES. Un exemple doptimisation par essaim particulaire sans paramtres de contrle, OEP03, October, Paris, France, 2003. M. Clerc, Loptimisation par essaims particulaires, versions paramtriques et adaptatives. Edition Herms, Lavoisier, 2005. Y. Cooren, Perfectionnement dun Algorithme Adaptatif dOptimisation par Essaim Particulaire. Applications en Gnie mdical et en lectronique, PhD dissertation, Paris 12 Val de Marne Univ., 2008. L.D.S. Coelho and P. Alotto, "Tribes Optimization Algorithm

[20]

[2]

[21]

[3]

Applied to the Loneys Solenoid," IEEE Trans. On Magnetics, vol. 45, no. 3, 2009. S. Mekni, B. Fayech Char and M. Ksouri,TRIBES Application to the Flexible Job Scheduling Problem, 10th IFAC Workshop on Intelligent Manufacturing Systems, Lisbon, Portugal, 1-2 July, 2010. M.F. Tasgetiren, M. Sevkli, Y.C. Liang and M.M. Yenisey,Particle Swarm Optimization and Differential Evolution Algorithms for Job Shop Scheduling Problem, International Journal of Operational Research vol. 3, no. 2 pp 120-135, 2006. G.C. Onwubolu,TRIBES Application to the Flow Shop Scheduling,New Optimization techniques in Engineering, G.C.Onwubolu and B.V. Babu, Eds, Berlin, Germany: Springer Verlag, pp 515-535, 2004. P. Fattahi, M. Saidi Mehrabad and F.Jolai,Mathematical Modeling and Heuristic Approaches to Flexible Job Shop Scheduling Problems, Journal of Intelligent Manufacturing vol. 18, no. 3, pp 331342, 2007.

[4]

[5]

S. Mekni received the diploma of Engineer in Computer Science from the Faculty of Science of Tunis (Tunisia) in 2003 and the Master degree in Automatic and Signal Processing from the National Engineering School of Tunis (Tunisia) in 2005. She is currently pursuing the Ph.D.degree in Electrical engineering at the National Engineering School of Tunis. Her research interests include production scheduling, genetic algorithms, particle swarm optimization, multiobjective optimization and artificial intelligence. B. Faych Char received the diploma of Engineer in Industrial Engineering from the National Engineering School of Tunis (Tunisia) in 1999, the D.E.A degree and the Ph.D degree in Automatics and Industrial Computing from the University of Lille (France), in 2000, 2003, respectively. Currently, she is a teacher assistant in the Higher School of Sciences and Techniques of Tunis (Tunisia). Her research interests include scheduling, genetic algorithms, transportation systems, multiagent systems and decision-support systems. M. Ksouri received the Maitrise in Physics from the Faculty of Science of Tunis (Tunisia) in 1971, the dipoma of Engineer from the Higher School of Electricity of Paris (France) in 1973, and the Engineering Doctorate, then the Ph.D degree from the University of P.and M. Curie (Paris), in 1975 and 1977, respectively. In 1977, he joined the Department of Electrical Engineering at Higher School of Sciences and Techniques of Tunis (Tunisia), where he contributed to the initiation of the graduate program in automatic control. Since 1990, he is professor of Electrical Engineering at the National Engineering School of Tunis (Tunisia), where he created the Research Unit ACS (Analysis and Control of Systems). His research interests include robust control, fuzzy control, GPC and computer-controlled Systems.

[6]

[7]

[8]

[9]

[10]

[11]

[12]

[13]

[14]

[15] [16]

[17]

You might also like