A simple metaheuristic approach to the simultaneous scheduling of machines and automated guided vehicles

In this paper we address the problem of simultaneous scheduling of machines and vehicles in flexible manufacturing systems. The studied problem is a job shop where the jobs have to be transported between the machines by automatic guided vehicles. In addition to the processing of jobs, we consider the transportation aspect as an integral part of the optimization process. To deal with this problem, we propose a new solution representation based on vehicles rather than machines. Each solution can thus be evaluated using a discrete event approach. An efficient neighbouring system is then described and implemented into three different metaheuristics: iterated local search, simulated annealing and their hybridisation. Computational results are presented for a benchmark of 40 literature instances. New upper bounds are found for 11 of them, showing the effectiveness of the presented approach.


Introduction
A Flexible Manufacturing System (FMS) can be described as follows: FMS consists of several machine tools along with part and tool handling devices such as robots, arranged so that it can handle any family of parts for which it has been designed and developed. These systems require a high investment but they have a high potential. As a result, scheduling of FMS has been extensively investigated during the last three decades.
This paper is devoted to the study of the classical job shop problem where transportation times are considered. It is classified as a JRjt kl , t 0 kl jC max problem according to the jj-notation introduced by Graham et al. (1979) and extended by Knust (1999) for transportation problems. J indicates a job shop, R indicates that we have a limited number of identical vehicles (robots) and all jobs can be transported by any of the robots. t kl indicates that we have job-independent, but machinedependent loaded travel times. t 0 kl indicates that we have machine-dependent empty travel times. The objective function to minimize is the makespan C max .
Several authors note the necessity to carefully plan the interactions between process and transportation activities (Raman et al. 1986, Ü lusoy and Bilge 1993, Knust 1999. Unfortunately, the resulting problem is quite difficult to solve. We have to deal with two NP-hard problems simultaneously: the job-shop scheduling problem  and the vehicle scheduling problem, which is similar to a pick up and delivery problem (Lenstra and Rinnooy Kan 1981). Additionally, problems with transportation times are NP-hard since they are a generalization of classical NP-hard shop problems. More precisely, concerning the job shop, Knust (1999) writes: 'The classical job shop problems J2kC max and J3jp ij ¼ 1jC max are both strongly NP-hard, which implies that only very restrictive special cases with transportation times may be polynomially solved '.
As a consequence, exact methods are mainly used for the study of simple or particular FMS, with strict assumptions. Thus, Blazewicz et al. (1991) study a FMS in which identical parallel machines are laid out in loop. Raman et al. (1986) present a MIP (Mixed Integer Programming) formulation of this problem but with the unrealistic assumption that the vehicles come back to the load/unload (LU) station after each achieved transport. Bilge and Ü lusoy (1995) propose a MIP formulation raising this constraint on the vehicles. According to the authors, the resulting model is intractable in practice, because of its nonlinearity and its size.
Approximated methods are well adapted to study most of the FMS, but within an offline framework. Nevertheless, many works are dedicated to simplified forms of this problem. There are essentially two kinds of simplifications. The first ones consist in defining dispatching rules for the vehicles, for example described and studied by Egbelu and Tanchoco (1984) and Le Anh and De Koster (2005). These rules allow to determine how AGVs move for a given scheduling of machines. The second ones are the restriction of the material handling system at only one AGV. As an illustration, Soylu et al. (2000) and Hurink and Knust (2002) propose, respectively, neural networks and tabu search approaches. Finally, few works are undertaken on the job shop with transportation. Ü lusoy and Bilge (1993) and Bilge and Ü lusoy (1995) propose an iterative method based on the decomposition of the master problem into two sub-problems. Ü lusoy et al. (1997) propose a genetic algorithm for this problem. Abdelmaguid et al. (2004) describe a hybrid method composed of a genetic algorithm for the scheduling of machines and a heuristic for the scheduling of vehicles.
For online scheduling of such systems, simulation is often the only available tool. Discrete event simulation is used for various purposes: for example to improve the AGV design process (Gobal and Kasilingam 1991), to compare the vehicles' online dispatching rules (Egbelu and Tanchoco 1984) or to test the problems of collision between the vehicles (Revielotis 2000). Nuhut (1999), Qiu et al. (2002) and Le Anh and De Koster (2006) present more complete surveys of the job-shop problem with transportation.
For this problem, most of the (small) instances considered in this paper remain unsolved today. Ganesharajah et al. (1998) note that due to the intractability of the joint scheduling problem, the literature contains mainly heuristic approaches. In this paper, we propose a new effective metaheuristic approach for the offline JRjt kl , t 0 kl jC max problem. This paper is articulated as follows. In section 2 we present a problem formulation and we propose a new solution representation based on vehicles.
In section 3 we show how feasible solutions can be evaluated using a discrete event approach. Section 4 is devoted to the description of an efficient neighbouring system. The metaheuristics implemented are described in section 5 and some computational results can be found in section 6.
2. The job-shop problem with transportation: formulation and solution representation In this section we introduce the job-shop problem with transportation using the Brucker's notations (2001), we present the chosen solution representation and we discuss its advantages and its drawbacks.

Problem formulation
In a job-shop scheduling problem, we have a set J ¼ {J 1 , . . . , J n } of n independent jobs that have to be processed without pre-emption on a set M ¼ {M 0 , M 1 , . . . , M m } of m þ 1 machines (M 0 represents the load/unload or LU station from which jobs enter and leave the system). Each job J i 2 J consists of a sequence of n i operations o ij . Let us note There is a machine ij 2 M 0 , . . . , M m f g and a processing time p ij associated with each operation o ij . Additionally, a vehicle has to transport a job whenever it changes from one machine to another. We have a given set V ¼ {V 1 , . . . , V k } of k vehicles. We assume that transportation times are only machine-dependant. t(M i , M j ) and t 0 (M i , M j ) indicate, respectively, the loaded travel time and the empty travel time from machine M i to machine M j (i, j ¼ 0, . . . , m). Vehicles can handle at most one job at a time.
The objective function is the minimizing time required to complete all jobs or makespan.

Representation of the search space
It is well known that the efficiency of metaheuristics highly depends on finding a suitable representation of the search space. For that a new solution representation is introduced, based on vehicles rather than on machines. Each operation o ij 2 O requires a transportation task we will note e o ij , and we propose to schedule the set e O of transportation tasks on the material handling system. In the following sections of this paper, we will designate by operations the members of O, and by transportation tasks (or tasks) the members of e O. Let us give in more detail the link between O and e O. Each operation o ij requires the transportation of job J i from the previous machine that is defined in its sequence of operations (M 0 if j ¼ 1 or ijÀ1 if j41) to the machine ij . So a transportation task e o ij is associated with each operation o ij . Moreover, when the processing of a job is completed, a vehicle has to transport it to the unload station M 0 . So we consider an additional task e o in i þ1 for each job. To find again a link between operations and tasks, a fictitious operation o in i þ1 is added to the sequence of each job. Obviously, we have in i þ1 ¼ M 0 and p in i þ1 ¼ 0. We give in table 1 an example of a feasible representation for jobset 1 (see the appendix section for the jobsets definition).
We will indicate by vðe o ij Þ 2 V the vehicle that completes the task e o ij . ðe o ij Þ represents the position of the task e o ij in the schedule. For example, in table 1 we have vðe o 13 Þ ¼ V 2 and ðe o 13 Þ ¼ 3.

Advantages of the proposed solution representation
The proposed representation has major differences with those of the literature. (Ü lusoy et al. 1997) represent a schedule by a chromosome in which each gene has two data: the operation to be completed and the vehicle at which this operation is assigned. The solution given in table 1 is represented by the chromosome ½ð 11 , V 1 Þ, ð 21 , V 2 Þ, ð 41 , V 3 Þ, . . . , ð 52 , V 1 Þ, ð 34 , V 3 Þ, ð 53 , V 3 Þ. The tasks assigned to one vehicle (for example 11 , 31 , 22 , 14 , 23 , and 52 for vehicle 1) are transported according to the order given by the chromosome. However, the same solution can also be represented by the chromosome ½ð 11 , V 1 Þ, . . . , ð 52 , V 1 Þ, ð 21 , V 2 Þ, . . . , ð 33 , V 2 Þ, ð 41 , V 3 Þ, . . . , ð 53 , V 3 Þ, and by many others. As a consequence, one schedule can be represented by many chromosomes, which define an equivalence class. Our representation consists in working with the set of equivalence class representatives. The immediate consequence is that the search space is significantly reduced, and thus probably easier to explore. Abdelmaguid et al. (2004) get around this difficulty by using a chromosome in which only the order of the operations is mentioned. Thus, the chromosome ½ 11 , 21 , 41 , . . . , 52 , 34 , 53 indicates the order in which the operations must be treated. A heuristic assigns successively each task to the 'best' vehicle (the chosen criterion is the vehicle that will carry out this task as soon as possible). The authors came back thus to the classical job-shop problem JkC max , integrating dynamically the transportation times into the makespan evaluation. The advantage is that the number of solutions is considerably reduced. Nevertheless, we can see that vehicle assignments are locally optimal, but not necessarily globally.
The use of metaheuristics implies that many solutions must be considered. Such approach requires a makespan evaluation with a computationally fast evaluation subroutine. We present it in the next section.

Solutions evaluation
The makespan evaluation is described in algorithm 1 using a discrete event approach. Tð ij Þ (respectively Tðe ij Þ) indicates the completion time of the operation ij (respectively the transportation task e ij ). We use the notion of available task, which can be defined as follows: A transportation task is said to be available at a given time t if and only if it has not been carried out yet and it satisfies one of the two following conditions: . It is associated to the first operation of the job sequence; . the previous operation (if it exists) in the job sequence is completed at time t.
The available tasks correspond in fact to the transports that can be effectively accomplished at a given moment.
We can note the following remarks about algorithm 1: (a) At the initial state, the only available tasks e ij are those for which j ¼ 1 (corresponding to the first operation defined in the sequence of the job J i ). (b) A new event is created if the following transportation task of the vehicle V l is available (its previous corresponding operation has been already completed). (c) The task e ij has been just completed. This means that the task e ijþ1 (if it exists) becomes an available one. A vehicle waiting for this task can now accomplish it, and an event is created. Note that if tasks e ij and e ijþ1 are carried out by the same vehicle, this event has been already created in case (b).
Algorithm 1: Makespan evaluation // Initialization For each task e ij 2 e O Do

Tðe ij Þ ¼ þ1
End For // Creation of the initial events For each vehicle V l 2 V Do If the first task (a) e ij of V l is an available one Then Compute Tðe ij Þ and create event ½V l , Tðe ij Þ End If End For // Main loop While it exists some events ½V l , Tðe ij Þ with Tðe ij Þ < þ1 Do Choose the next event ½V l , Tðe ij Þ and compute Tð ij Þ If the next task e i 0 j 0 of V l exists and is available Then (b) Compute Tðe i 0 j 0 Þ and create event ½V l , Tðe i 0 j 0 Þ End If If the task e ijþ1 exists and is the next task of a vehicle V l 0 6 ¼ V l Then (c) Compute Tðe ijþ1 Þ and create event ½V l , Tðe ijþ1 Þ End If End While Completion times must satisfy the following constraints: Constraint 1 indicates that each job has to be transported from the loading station to its first machine. Constraint 2 indicates that a task cannot be completed before its previous corresponding operation has been completed plus the loaded travel time between the two machines. Constraint 3 gives the minimal time between two consecutive transportation tasks (on the same vehicle). The vehicle makes the empty travel from its last delivery destination to its next pick-up destination, plus the loaded travel from here to its next delivery destination. Constraint 4 indicates that an operation can only begin after all previous operations on the same machine have been completed. Constraint 5 indicates that an operation cannot begin before the job arrives on the machine. Also, the constraint 4 means that the order of operations on a machine is given by the order of arriving corresponding tasks on this machine. In other words, the machine's input buffer follows the FIFO rule. FIFO is a good performing rule (although nothing indicates that it exists as an optimal solution satisfying this rule) and has some practical applications. This additional assumption allows us to simplify the computation of the makespan. Only the completion time of the previous operation has to be considered.
Moreover, we assume that the task schedule follows a no-delay strategy (an event occurs as soon as possible). So, the completion times are equal to the minimal value satisfying constraints (1-5). The makespan value is equal to the latest completion time.
Some schedules can lead to situations of deadlock. Such situations are presented on figures 1(a) (deadlock with one vehicle) and (b) (deadlock with several vehicles) for jobset 1.

Vehicles
Task schedule  Deadlock situations are easily detected by our makespan evaluation. Since some tasks cannot be completed, their completion time remains infinite, and so the makespan too.
The presence of unfeasible solutions doesn't facilitate the good exploration of the search space. However it is not the case here, because it was proved that every feasible solution remains reachable from every other feasible solution into the restricted subset of feasible solutions (Deroussi 2002).

Construction of an efficient neighbouring system
A neighbouring system is an essential component of metaheuristics. The efficiency of a neighbouring system can be defined as its faculty to find near-optimal solutions in the shortest possible time. In this section, we describe first a neighbouring system composed of several basic moves. It is recognized that combining several moves permits us to improve the quality of the obtained local minima Hansen 1997, Hansen andMladenovic 2003). Then, a technique is proposed to shrink the neighbourhood size, and so to reduce its exploration at the most promising neighbours. To conclude, summarized results are reported showing the efficiency of the proposed neighbouring system. Tian et al. (1999) present some usual basic moves for scheduling problems. Amongst them, we choose exchange moves and insertion moves, because their effectiveness for shop problems has been proved.

Description of the basic moves
4.1.1 Exchange move. This move consists in permuting two beforehand selected tasks. The exchange moves thus defined can be intra-vehicles (exchanged tasks are on the same vehicle) or inter-vehicles (exchanged tasks are on different vehicles). Figure 2 shows an inter-vehicles exchange move.
The exchange move preserves the number of tasks assigned to each vehicle. It results from the fact that local search methods based on this move are strongly dependent on the structure of the initial solution.
4.1.2 Insertion move. The insertion move consists in removing a randomly chosen task from the schedule, and then inserting it at a randomly chosen location (figure 3). Like the exchange moves, the insertion moves can be intra-vehicles or inter-vehicles. However, in the case of inter-vehicles moves, the number of tasks assigned to the vehicles may vary.
The number of solutions that may be generated starting from the same schedule is given by o o À 2 þ k ð Þ .

Neighbourhood reduction
Neighbourhood reduction consists in selecting, among the set of neighbours of a given solution and according to a given criterion, a subset of neighbours containing those that are considered as the a priori most promising ones. Consequently, it is expected that reduction allows acceleration of the neighbourhood exploration. We propose to determine the most promising neighbours by considering only (exchange or insertion) moves in which the chosen tasks are completed in a close interval of time. The implemented neighbourhood reduction is described in figure 4.
Once the first operation e i 1 j 1 is chosen, the only moves considered are insertions or exchanges, for which the second operation e i 2 j 2 will satisfy T e i 1 j 1 À1 À Á Tðe i 2 j 2 Þ Tðe i 1 j 1 þ1 Þ with the following convention: .

Vehicles
Task schedule

Summary of the results
We build a neighbouring system by considering two basic moves with a reduction of the neighbourhood size. In this section, we verify the efficiency of this neighbouring system. For this, we compute the average value of 1000 executions of each of the 40 instances that compose our benchmark test. One execution consists in a local search method, starting from a randomly generated feasible solution (using the stochastic alternative of the construction heuristic described in section 5.1.). The duration of an execution is evaluated by counting the calls of the makespan evaluation. The results obtained are summarized in table 2. The column 'Average cost' indicates the average cost of the obtained local minima. The column 'Number of evaluations' gives the average number of makespan computations necessary for obtaining a local minimum. First, we can see that the neighbourhood reduction significantly improves the behaviour of local search methods. Thus, for the exchange move, a local minimum is obtained three times more quickly with the same quality of local minima. For the insertion move, time is divided by a factor of 5, while a weak loss of quality (1.2%) is noted.
Concerning the combination of reduced basic moves, the quality of the local minima is improved by 7.5% compared to the exchange move, and this in a similar duration. The improvement of quality compared to the insertion move is 4% with a time divided by 2. So, the combination of reduced moves allows us to improve the quality of local minima. Our objective is now to include this neighbouring system into several metaheuristics, and to evaluate the efficiency of their behaviour.

Description of the resolution methods
We focus in this section on the resolution methods used. We present first the construction heuristic we have developed, and then the metaheuristics according to the Blum and Roli (2003) formulation.

1.
Choose a task s i 1 j 1 .

2.
Determine T(s i 1 j 1 −1 ) and T(s i 1 j 1 +1 ) , respectively the completion times of the preceding and following tasks of s i 1 j 1 , according to the sequence of job J i .

3.
Choose the second task s i 2 j 2 among the tasks such as Figure 4. Description of the neighbourhood reduction.

Construction heuristic
This greedy heuristic uses the available tasks earlier defined. The basic principle is to successively schedule each available task by assigning it to a vehicle. When a task e ij is completed, the set of the available tasks is updated, by replacing e ij by its successor e ijþ1 , if it exists. The algorithm 2 describes the construction heuristic.
Algorithm 2: Construction heuristic Let D ¼ fe i1 , i ¼ 1, . . . , ng be the initial set of available tasks While D 6 ¼ 1 Do Choose a task e ij 2 D, Assign e ij to a vehicle k 2 K, Two alternatives are given for the choice of the task e ij and the vehicle k. The first alternative (the stochastic one) builds a random feasible solution, while the second alternative (the deterministic one) tries to build a good feasible solution.
. The task is randomly chosen in D and is accomplished by a randomly chosen vehicle; . the selected task is the one corresponding to the job having the largest remaining processing time (LPT rule) and the chosen vehicle is the one that will accomplish this task in the shortest time.

Iterated local search methods
Iterated Local Search methods (ILS) were the subject of interesting development (Lourenc¸o et al. 2003). The principle algorithm of ILS is described in algorithm 3. The method that we have implemented is one of the simplest forms of ILS. The initial solution (GenerateInitialSolution) is given by the construction heuristic (deterministic alternative) described in the previous section. The local search (LocalSearch) is a variable neighbourhood descent (VND) composed of the reduced exchange and insertion moves. To perturb a solution (perturbation), three successive exchange moves are applied, while making sure that each of them preserves the feasibility of the current solution. The acceptance criterion (ApplyAcceptanceCriterion) consists in accepting the new local minimum s Ã0 if and only if it is better or equal than s Ã (Best Walk Criterion). The stopping criterion is a maximum number of iterations arbitrarily fixed at 1000.

Simulated annealing
Simulated annealing (SA) is recognized to be one of the oldest metaheuristics (Kirkpatrick et al. 1983). Its principle algorithm is given in algorithm 4. Algorithm 4: Simulated annealing (SA) s GenerateInitialSolution() While stopping criterion is not met Do Randomly choose s 0 in the neighbourhood of s If s 0 is better than s Then s s 0 Else s s 0 according to a probability p T, s, s 0 ð Þ End If

Update(T) End While
We recall that our main goal is to verify the efficiency of the proposed neighbouring system. As a consequence, no study of the parameters space has been investigated, and we choose an empirical tuning of parameters. This choice is based on a basic cooling schedule; the temperature decreases at each iteration (as suggested first by Lundy and Mees 1986) following a geometric law. This allows us to determine the other parameters by considering some simple rules (Van Laarhoven and Aarts 1987) as indicated just below.
An initial solution is randomly generated by the construction heuristic (stochastic alternative). In order for the final solution to be independent from the starting point, the initial temperature must be hot enough. So, the parameter T that simulates the temperature is initialized with T 0 ¼ 5 (we have then a probability of 0.5 for accepting a deterioration of the current solution of T 0 Â ln(2) at the beginning of the cooling schedule). The stopping temperature is arbitrarily fixed at T a ¼ 10 À3 (cold enough to consider that the probability for accepting a worse transition is null). As mentioned above, the temperature is a geometric sequence of common ratio T f Á T f is calculated so as to make a given number of iterations, which is calculated so that the same time has passed for ILS and SA methods. The probability of accepting a worse transition is given by the Boltzmann factor exp ÀÁE=T ð Þ . Thus tuned, experimental behaviour of simulated annealing is proven to be quite good.

Hybrid method simulated annealing/local search
This hybrid method consists of applying the simulated annealing, but on the (very restricted) subspace of local minima rather than to the whole space of solutions. This technique was initially proposed by Martin and Otto (1996) and Desai and Patil (1996). By analogy with Genetic Local Search (GLS) methods, we will use the term 'Simulated Annealing Local Search' (SALS) to indicate this method. The principle algorithm of SALS is contained in algorithm 3, in which the acceptance criterion is defined by the SA rules.
The adjustments are the same ones as for simulated annealing, except for the choice of the common ratio T f , which is calculated so as to carry out 1000 iterations (the same ones as for the ILS method).

Experiments and computational results
After the description of the benchmark test, we present the results obtained by metaheuritics. A comparison with the literature results is provided in the third part of this section.

Description of the benchmark test
We use the benchmark test suggested by Bilge and Ü lusoy (1995). It is composed of 40 instances. All of them are made up of one LU station, four machines and two vehicles. The loading/unloading times are neglected compared to the transportation times. Empty moves and transportation moves are supposed to spend the same amount of time.
These instances are generated according to ten jobsets, combined with four different topologies for the workshops (see appendices A and B). Topologies are assumed to be representative of existing systems, and the jobsets include between 5 and 8 jobs, and between 13 and 21 operations to be scheduled. The name given to the instances is composed by the prefix 'Ex', followed by two numbers representing, respectively, the jobset and the topology. Thus, Ex53 indicates the instance generated by jobset 5 and topology 3.
Moreover, we will consider two criteria for the objective function: . C1: to minimize the exit time of the last job of the system; . C2: to minimize the completion time of the last job (makespan).
The C2 criterion is used in the literature and we consider it for comparison purpose. The C1 criterion takes into account, in the optimization process, the return of the vehicles to the unloading station at the end of the schedule. Let us notice that there is a close link between these two criteria. Indeed, they both seek to minimize the completion time of the last task carried out. C1 criterion consider all the tasks fe ij 2 e O, i ¼ 1, . . . , n, j ¼ 1, . . . , n i þ 1g, while C2 consider only the tasks corresponding to non-fictitious operations fe ij 2 e O, i ¼ 1, . . . , n, j ¼ 1, . . . , n i g. It will be expected that C1 would be more difficult, since it considers more tasks, and it is thus of higher combinatorial.
Although these instances are of relatively low size (13-21 tasks to be scheduled for C2 and 18-27 tasks for C1), they remain very difficult to solve. To date, few instances were solved in an exact way, and the best published lower bounds are of poor quality (Ü lusoy et al. 1997).
The best known solutions are summarised in table 3. They will be useful mainly as comparative data for the results that we present. Programs are written in language C, and tested on a Pentium 4, 3.4 GHz. CPU times are between one and four seconds per algorithm execution.

2154
L. Deroussi et al. Table 4 contains the results obtained by the deterministic construction heuristic for each instance and each criterion. Column 'res' indicates the makespan obtained, while the column '%' gives the relative gap compared to the best known upper bound (table 3).

Comparison of the studied methods
The construction heuristic provides a mean deviation from the value of the best known solution of 36% for the C1 criterion and of 28% for the C2 criterion. These results clearly show the relative weakness of the heuristic, and the necessity of improving the obtained solutions with metaheuristics.
The metaheuristics results are presented in tables 5(a) and (b) (columns 'ILS', 'SA' and 'SALS' gives the results of the corresponding method, while the column 'Time' indicates the CPU time in seconds for one algorithm execution). Table 5(a) contains results for C1 criterion and table 5(b) for C2 criterion. Values in bold type indicate that the corresponding method has found the best known upper bound. Furthermore, because SA and SALS are stochastic algorithms, 10 replications are carried out for each instance so as to limit the random influence on the results. Tables 5 give the results obtained by the best replication.
In a general way, the results obtained are homogeneous. As an example, the three methods give the same results for 34 of the 40 instances tested for the C1 criterion. In addition, ILS, SA and SALS find the best known upper bound, respectively, for 35, 37 and all instances. More scattered results are obtained for C2 criterion Values between brackets give the previously best published upper bound (C2 criterion only). The * symbol means that these upper bounds have been obtained beside the experiments described in this paper.
(the best known upper bound is reached, respectively, 22, 28 and 36 times by ILS, SA and SALS). It seems that the additional tasks make effectively the instances harder to solve.
In order to have more information about the robustness of SA and SALS, we give in table 6 the best, the worst and the average of all the replications for the two criteria.
We can see that most of the execution of SALS leads to very good solutions (on average, a replication is at 0.34% of the best obtained replication for the C2 criterion, and 0.96% for the C1 criterion), while the results of SA are more scattered (we obtain, respectively, 1.47% for C2 and 2.67% for C1). If the best replications of SALS and SA are close (respectively 108.48 against 108.63 for C2 criterion, 124.00 against 124.38 for C1), there is a significant difference about their average replication (108.85 against 110.23 for C2 criterion, 125.19 against 127.70 for C1).
So, we can conclude that SALS is an effective method for the studied problem. In the next section, we compare it with methods proposed in the literature. Table 7 summarizes the best results obtained for C2 criterion (the only one studied in the literature):

Comparison with the literature
(i) By a synthesis of three papers (Ü lusoy and Bilge 1993, Bilge and Ü lusoy 1995and Ü lusoy et al. 1997     found for 11 of the 40 instances. SALS finds better solutions than B&U for 23 instances, and than GAA for 13 instances. The improvements are sometimes significant; a solution of cost 111 is obtained against 115 for Ex71 instance, that is to say a relative gain of 3.6% (figure 5 shows, using a Gantt chart representation, the solutions obtained for Ex71 with each of the two criteria).
Still more than quality of the solutions obtained, it is the frequency of obtaining the best results which is most impressive, and this in extremely reasonable computing times for an optimisation problem (about a few seconds). The behaviour of the method suggests that the proposed solutions must be for many of the optimal ones. This remark still increases the interest of the C1 criterion, which makes the instances more difficult to solve. Even if there are only few additional transports to schedule, we notice that SALS loses in robustness for these 'new' instances (see table 6), and does not systematically find the best solutions (for at least four instances). These results might constitute a new reference for future studies, more able to measure the quality of the methods.

Conclusion and further works
In this paper, we propose a new effective representation solution for the job-shop problem with transportation. A powerful neighbouring system is described and implemented with three different metaheuristics. The results obtained clearly show the relevance of this approach. Whatever the method used, the presented results are always better or at least equal to those of the literature. One of these methods, SALS, combines robustness with quality, and is a particularly efficient method for this problem.  Figures 5(a) and 5(b). Gantt charts of the new best known solutions for Ex71 instance (C1 and C2 criteria). The two Gantt charts show the machining of the eight jobs (numbered from A to H) on the machines (numbered from M1 to M4). On figure 5(a), the unloading station LU points out, for each job, its exit date of the system. The schedule of the vehicles (AGV1 and AGV2) gives the origin machine, the destination machine, and, if not empty, the transported job.

2160
L. Deroussi et al. Also, we propose a new criterion for the solution evaluation, which allows us to extend the literature benchmark test with more challenging instances.
Many perspectives can be drawn from this work. Concerning the studied problem, the benchmark test proposed by Bilge and Ü lusoy (1995) seems out-of-date, and it would have to be extended by more difficult instances. Concurrently to this extension, and paradoxically, the exact resolution of most of these instances is still today out of reach, and constitutes an always topical orientation research.
The consideration of online dispatching rules leads to define a more difficult makespan evaluation, which can require the use of discrete event simulation. Combining simulation with optimization methods can be a very interesting perspective to our work.
Lastly, the methods used in this paper are trajectory metaheuristics. The fact of carrying out several replications, and of keeping in memory the solution obtained by the best of them, can be seen like the use of a population method, in which the individuals are private of any possibility of communicating. Restoring this possibility (by using a population method, like a genetic algorithm) may allow us to improve the results proposed in this paper.

Appendices
Appendix A: the jobsets For each job, the sequence of machines to be visited is given. The processing time is indicated in brackets.