Ant Colony Algorithm for Just-in-Time Job Shop Scheduling with Transportation Times and Multirobots

Handling rapidly evolving technology and almost daily changes in demand and customer satisfaction, while maintaining competitiveness in a highly competitive environment, requires good coordination and planning of both production and logistics activities on the shop floor, namely: machines and tools. The goal is to optimize costs and reduce delivery lead times in order to provide the customer just in time; we focus on the job shop scheduling problem JSSP , which is one of the most complex problems encountered in real shop floor. In this paper, we study a generalized JSSP including transportation times and a set of additional constraints on the number of transporter vehicles and their multiple transfer capabilities and also on the limited capacity of input/output of machines. The objective is to minimize in one hand tardiness and earliness penalties on delays and advances compared to the lead-time delivery of finished jobs and on the other hand the number of empty moves of transporter vehicles.


Introduction
Scheduling may be defined as the allocation of resources to tasks overtime to optimize a criteria.From the view point of production scheduling, the resources and tasks are commonly referred to a machines and jobs and the commonly used criteria is the completion times of jobs makespan .In this paper, we study a variant of JSSP where the jobs have to be transported between the machines by one or several transporter vehicles.At JSSP, each job has its own processing order through the machines a sequence of operations .Each operation must be processed on a fixed machine on which it has to be processed without preemption for a given duration.Each machine can process just one operation at each time and each job can be performed on one machine at each time.Additionally, transportation times are considered.
The JSSP is known to be strongly NP-hard and exists in several variants according to the additional constraints considered such as, the classical problem 1 , the flexible one 2 , the cyclic problem 3 , the dynamic job shop scheduling 4 , the stochastic case 5 , the reentrant problem 6 , the case with separable setup time 7 , the blocking job shop 8 .
The JSSP, classified NP-complete, has attracted many researchers, 1, 7, 9, 10 .Including the transportation times between different machines, gives rise to a number of variants of the classical JSSP, particularly those concerned with job shops and transportation times.According to 11 , there are two kinds of problems 1 the first one occurs in production manufacturing, when we need to transport jobs between machines and 2 the second one generally occurs at the level of delivery of products to customers.In many industries, production and delivery systems are integrated, with finished products being transferred from a manufacturing execution service to a customer delivery service.In this case, the most common form of delivery to the customer is by vehicle, with the makespan being given by the last delivery date.
In both types, the commonly used objective is to find a scheduling solution which minimizes the makespan.Related works that examine the JSSP with the transportation times either type 1 or 2 , include the works of 12-17 .Additionally, Yuan et al. 18 studied the complexity of flow shop problem with transportation times, in order to minimize the makespan.Brucker et al. 19 considered the job shop scheduling with limited capacity buffers.Finally, Caumond et al. 20 give a linear formulation taking into account the maximum number of jobs allowed in the system, limited input/output buffer capacities, empty trips and no-move-ahead trips simultaneously.
In this paper, our contribution presents one generalization version of the JSSP with transportation times, integrating the different additional constraints mentioned previously, including the existence of several transporter vehicles with multiple transfer capacity in the shop.Moreover, our model incorporates other constraints related to storage buffers associated with each machine taking into account the case of limited buffer spaces.In our case, we study specially the transportation activities, the empty or not.To achieve a just in time JIT production 21 , the goal is to minimize the earliness and tardiness penalties with regard to the delivery deadline of finished products, as well as penalties on empty activities.
The remainder of the paper is organized as follows.In Section 2, we give a formal definition of the considered scheduling problem and state some additional assumptions.Section 3 deals with the mathematical modeling of the problem and Section 4 presents our method of resolution.The computational results can be found in Section 5. Finally, a conclusion is given in Section 6.

Problem Context
In this work, we study the JSSP with transportation times taking into account the following constraints: i JIT scheduling in order to respect the delivery times latest completion time imposed by customers, ii a set of homogenous transporter vehicles, iii a transporter vehicle has a finite capacity of transfer more than one in terms of a number of tasks they can carry , iv a station {input machine output} see Figure 1 , v a station input/output buffers has a limited capacity, not necessary the same for both storage spaces, vi two deposits, the initial one for arrival jobs and the final one for finished jobs.
We show below a mathematical formulation of the problem, with all basics constraints of the classical JSSP, and additional transport constraints concerning the transporter vehicles, their transfer capacity and the limited capacity of storage buffers associated with each machine.

Classical Decision Variables
i C U i : actual finish date of job i on machine U, with C σ ik i the date of last operation O iσ ik on the required machine σ ik , ii The previous equation is the binary variable to record the earliness or lateness associated with delivery delay of operation O iσ ik .

Classical Constraints
The first constraint ensures that the first operations of the jobs must be processed respecting their corresponding earliest starting times The second constraint guarantees the respects of the precedence sequences constraints predefined between the tasks of the same job The disjunction at the level of machines is specified in the third constraint O u set of jobs requiring the machine U .

3.5
Remark 3.1.Our constraint is an improvement of the constraint of disjunction appearing in the literature see 22 taking the following general form:

Additional Data, Variables, and Constraints
In manufacturing production, a transporter vehicle undertaken to perform any or all of the following activities: loading the input of a station, unloading the output of a station and/or removing a task from one a station to another.
In general, where the transporter vehicle can carry only one task at a time, two cases are presented: i if the transporter vehicle moves from a source machine to a destination one in order to load it, then a transportation time is considered, it is a transport activity, ii if the transporter vehicle moves from a source machine to a destination one without loading it, an empty travel time is considered; it is an empty movement activity.
Here, we consider the problems that the transporter vehicles can carry more than one task at a time and for each machine there are two associated storage buffers input/output, where tasks can wait for their execution or transportation.In the remainder of this paper, we introduce the following definitions: 1 a transporter vehicle performs a "transport activity" if it moves in a direct way from a station to another one to load it, 2 a transporter vehicle performs an "empty movement activity" even it is charged , if it moves in a direct way from a source station to a destination one without loading it.

Additional Decision Variables
We use additional decision variables to express the objective function and additional constraints on the transport of tasks between machines, and the activities of transporter vehicles if the transporter vehicle is in "empty movement activity, " 0, if the transporter vehicle is in "transport activity." 3.7

Additional Constraints
A task can be handled by only one transporter vehicle at a time R r 1 x r iσ ik 1, ∀i 1, . . ., n, ∀k 1, . . ., n i .

3.8
Each job requires n i 1 tasks of transport R r 1 σ i0 and σ i n i 1 are two fictitious machines representing the initial and the final deposit of the jobs in the workshop.A task can be performed only after its transport where S σ ik is the station associated with the machine σ ik Each task can be transported only after its completion

3.11
The current capacity of the transporter vehicle r at time t noted C t r must not exceed its capacity σ ik x r iσ ik ≤ C r , ∀r 1, . . ., R, ∀t 0, . . ., T.

3.12
The load of a transporter vehicle at each time t must not exceed its current available capacity

3.14
The limited capacity of the outputs of machines is respected at every time

3.15
The limited capacity of the inputs of machines is respected at every time t

3.18
The following recurrent formula computes the completion time of service of transporter vehicles on every machine which they serve, noted by F s r ,

3.20
Finally, we express the separation time restrictions due to the type of transporter vehicle activities, "transport activity" transportation time δ sd or "empty movement activity" time of empty travel time 3.21

Objective Function
The objective function seeks to minimize the sum of earliness and tardiness penalties with regard to the delivery deadlines of the finished jobs, as well as the sum of the penalties on the empty movement activities of the transporter vehicles

Ant Colony Algorithm
According to our previous work 23-25 , we found that ant colony algorithm is better than genetic algorithm in terms of solutions even sometimes with more execution time.
For the resolution of the generalized version of the job shop with transportation times studied in this paper, we propose a resolution algorithm based on ant colony optimization that we denote by "ACOJST" ant colony optimization for job shop with transportation times , in order to generate the starting times of operations, as well as their starting transportation times.
Ants move on the problem graph see Figure 2 .Each node is associated with a station S k which is composed of the machine M k and its input I k and output O k .A dotted arc represents a connection between the deposits, respectively, initial and final towards the various stations.A continuous arc connecting two stations represents the transfer path for the transporter vehicles.Finally, a quantity of pheromone τ S k S h is associated with each arc of the proposed graph; this quantity simulates the density of transfer between the stations.
Our algorithm contains two main stages, the initial deposit stage and the production one.The first stage initializes transporter vehicles by the first operations of jobs according to a heuristic that we developed.The heuristic takes into account the number of transporter vehicles, their capacity and the total capacity of the initial deposit in terms of the number of operations to be transported .Then, the loaded transporter vehicles are directed to stations, according to a priority rule, priority is giving to the destination station for which each transporter vehicle will carry a maximum block of tasks in the minimum time.Moreover, to manage the transporter vehicles movements inside of the shop, we use a heuristic to avoid conflict that may be caused by the arrival of more than one transporter vehicle to the same station at the same time.
During the production stage, we choose a task from the inputs buffer to be executed whenever the station is free.Managing the communication with every transporter vehicle with an input to load or an output to unload, and the need to continually choose the next station to be served are all the decisions that we take by appropriate rules.During the cycle of production, there are two steps.
1 Associate with the input of every station, a fictitious immovable ant called "ant machine", is free to choose the task O iσ ik to be executed whenever its required machine σ ik is available.The choice of this task is based on a priority rule favoring the task with the maximum ratio rap ik t in σ ik : {tasks belonging in input of machine σ ik at the moment t}. 2 In addition, create a family of mobile ants called "ants' robots", which help transporter vehicles to choose the next station to be served by distinguishing two scenarios.
i If the transporter vehicle is carrying one or several finished jobs, then facilitating the movement towards the final deposit.
ii If it does not carry any finished job then, the choice of the next station is made according to a transition rule making a compromise between the fact of facilitating the least loaded input and the most loaded output to guarantee that the transporter vehicle serves at most, the chosen station .The rule, that we introduced, distinguishes between two scenarios, the quantity transported by the transporter vehicle overtake or not a threshold.
a If the capacity of a transporter vehicle exceeds this threshold, we select stations corresponding to the tasks transported by the chariot of this transporter vehicle, in which case the station to be served is chosen according to the following transition rule: b If the capacity of the studied transporter vehicle does not exceed this threshold, all the stations of the workshop are considered, in this case the station to be served is chosen according to the following transition rules: τ hs α q 1 β, γ q 2 θ, ψ q 3 , 4.4 with: card bloc r, s tmachine s 1 Fs s .

4.5
card bloc r, s : number of tasks transported by the transporter vehicle r towards the station s tmachine s : Total duration of activities of the station s during the horizon of production α, β, γ, θ, and ψ: These parameters express the compromise between the rate of pheromone, load of the input less loaded the load of the output more loaded, see saturated , the transportation times and the empty movements minimal .
The goal is to reduce the empty travel and to minimize the transportation times while taking into account the quantity of pheromone, in order to minimize the makespan.
3 Pheromone can be update locally or globally: i The local update is performed after every transfer of an "ant robot" from a source station c to a destination one d, according to the following formula: ii The global update is performed at the level of the best solution obtained after each cycle of the algorithm, according to the following formula: for each pair of successive operation of the best solution ,

Algorithm Description
In

Computational Results
We validate our approach against two types of benchmarks from literature: i 1st type instances: those of Philippe Lacomme, downloadable from the following web page: http://www.isima.fr/∼lacomme/JobShop TL.html, for the case of a single transporter vehicle with a capacity of transition equal to 1, ii 2nd type instances: we change benchmarks from instances of type 1 to have several transporter vehicles, by changing the number of transporter vehicles, their capacity of transfer and the capacity of the spaces of input/output storages.Tests were performed on a Pentium R Dual-Core CPU E5200 @ 2, 50 GHz, 1 Go RAM.The number of jobs is between three and five and the number of machines was fixed at four, to which we add two fictitious machines represent the initial and final deposits.
The results below are obtained with the capacity of the transporter vehicle between 1 and 2 and the capacity of the input and the output buffer is fixed to 2. The LB and UB present, respectively, the best known solutions BKS obtained by the branch-and-bound procedure coupled with a discrete event simulation model called B&B/simulation framework 15 and by the procedure B&B 20 , that extends the B&B/simulations.R: the number of transporter vehicles.

Use of a Single Transporter Vehicle
For the case of single transporter vehicle, the results obtained by ACOJST algorithm see Table 1 and Figure 3 show a small deviation ≤10% for the first instances LT133-LT355 , for example, for the instance LT233 and LT255, our solutions are identical or nearly identical to the corresponding LB bounds.On the other hand, the deviations increase >10% for the  large instances LT433-LT555 .This difference is justified by the fact that our algorithm is dedicated to several transporter vehicles.
To validate our input management heuristic for the case of single transporter vehicle, we compared it with the proposed Argmin heuristic and four priority rules FIFO, LIFO, SPT, and LPT.The input management heuristic gives the best solutions in most cases.
Table 2 shows the results of this comparison.

Case of Several Transporter Vehicles
In this case, we use only the input management heuristic.By comparing the results obtained by ACOJST in the case of multiple transporter vehicles with the LB given for the case of a single transporter vehicle see Table 3 and Figure 4 , we note that the numerical results show that our algorithm is powerful in the case of several transporter vehicles and especially for instances of great dimension such as LT444, LT555.

Transporter Vehicles with a Capacity Equal to 2 and 3
The Figures 5 a and 5 b , associated with Tables 4 a and 4 b , show the behavior of our approach according to the capacity of transfer of the transporter vehicle.Our study is done in the case of 3 transporter vehicles with 2 and 3 capacities.The results are less good than those obtained using 3 transporter vehicles with capacity 1 and this is due to the constraint of conflict of transporter vehicles, taking into account in the implementation.

Conclusion
In this work, we studied the general JSSP including temporal constraints related to the transportation of tasks between machines, the capacity of the transporter vehicle, and also their number and the spaces of storage input/output.In the first part of this work, we give a mathematical formulation of the problem and in the second part, we tried to adapt an ant colony algorithm with several heuristics.The work may be extended further by taking into account other real constraints like the management of the topology of stations in the shop and studying the dynamic case.

Figure 1 :
Figure 1: Station model used in this paper.

1
R: number of transporter vehicles in the workshop assuming more than one , 2 S {S 1 , S 2 , . . ., S m }: set of stations, 3 C r : capacity of the transporter vehicle r in terms of numbers of tasks to carry , 4 ε c : loading time of one or several tasks on the input of a station, 5 ε d : unloading time of one or several tasks from the output of a station, 6 Cout U : output Capacity of the machine U, 7 Cin U : input Capacity of the machine U, 8 T : big value representing an upper bound for the production horizon, 9 δ sd : transportation time from a station s to a station d, 10 δ sd : empty movement activity from a station s to a station d.
where C t in u is the current capacity of the input associated with the machine u.At every moment, the transporter vehicles should serve only the available inputs of the machines
: request machine of the task number i, b τ s 1 s 2 k : quantity of pheromone in the arc connecting the two stations s1 and s2, in the cycle k of the algorithm, c τ s 1 s 2 k 1 : quantity of pheromone in the arc connecting the two stations s1 and s2, in the current iteration, after update, d τ 0 : initial quantity of pheromone, e ρ 0 : rate of evaporation.
for each pair of successive operation of sol End For End algorithm Algorithm 1 viii ρ 0 : rate of evaporation, ix τ cd : quantity of the pheromone in the arc connecting the two stations c and d, x S: number of stations, xi R: number of robots.

Figure 3 :
Figure 3: Case of a single transporter vehicle.

Figure 4 :
Figure 4: Study of the influence of the number of transporter vehicle in a shop with transport of a set of transporter vehicles.

Figure 5 :
Figure 5: a Study the influence of transfer capacity in the case of a 3 transporter vehicles with 2 capacities.b Study the influence of transfer capacity in the case of a 3 transporter vehicles with 3 capacities.
Algorithm 1, we summarize the different steps of our ant colony algorithm with: i m i : the request machine of the task i, vi N1 max and N2 max: stop tests, vii τ 0 : initial quantity of pheromone,

Table 1 :
Case of a single transporter vehicle.

Table 2 :
The results of this comparison.

Table 3 :
Case of a set of transporter vehicles.

Table 4 :
a Case of 3 transporter vehicles with capacity equal to 2. b Case of 3 transporter vehicles with capacity equal to 3. The solution found by ACOJSP in the case of 3 transporter vehicles, capacity 1.B2: The solution found by ACOJSP in the case of 3 transporter vehicles, capacity 2. The solution found by ACOJSP in the case of 3 transporter vehicles, capacity 1. B2: The solution found by ACOJSP in the case of 3 transporter vehicles, capacity 3.
R: the number of transporter vehicles.Cap: the capacity of transfer of a transporter vehicle.Gap B2 − B1 /B1 * 100.B1: