Abstract

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.

1. 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 [1217]. 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.

2. 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.

3. Mathematical Formulation

3.1. Classical Data
(i)𝑚: number of machines,(ii)𝑀={𝑀1,𝑀2,,𝑀𝑚}: set of machines,(iii)𝑛: number of jobs,(iv)𝐽={𝐽1,𝐽2,,𝐽𝑛}: set of jobs,(v)𝑂𝑖𝜎𝑖𝑘: the 𝑘th task of the job 𝑖,(vi)𝜎𝑖𝑘: the machine required by the task 𝑂𝑖𝜎𝑖𝑘,(vii)𝐽𝑖={𝑂𝑖𝜎𝑖1,𝑂𝑖𝜎𝑖2,,𝑂𝑖𝜎𝑖𝑖𝑛}: technological Sequence associated with the job 𝑖, with 𝑛𝑖, the number of operations of the job 𝑖,(viii)𝑃𝜎𝑖𝑘𝑖: processing time of the operation 𝑂𝑖𝜎𝑖𝑘,(ix)𝑟𝜎𝑖𝑘𝑖: earliest starting time of the operation 𝑂𝑖𝜎𝑖𝑘,(x)𝑑𝜎𝑖𝑘𝑖: due date of the operation 𝑂𝑖𝜎𝑖𝑘,(xi)𝛼𝑘𝑖: earliness Penalty of the task with regard to its delivery deadline,(xii)𝛽𝑘𝑖: tardiness Penalty of the task with regard to its delivery deadline.
3.2. Classical Decision Variables
(i)𝐶𝑈𝑖: actual finish date of job 𝑖 on machine 𝑈, with 𝐶𝜎𝑖𝑘𝑖 the date of last operation 𝑂𝑖𝜎𝑖𝑘 on the required machine 𝜎𝑖𝑘,(ii)𝜆𝑘𝑖=1,if𝐶𝜎𝑖𝑘𝑖𝑑𝜎𝑖𝑘𝑖,0,otherwise,(3.1) The previous equation is the binary variable to record the earliness or lateness associated with delivery delay of operation 𝑂𝑖𝜎𝑖𝑘.
3.3. Classical Constraints

The first constraint ensures that the first operations of the jobs must be processed respecting their corresponding earliest starting times𝐶𝜎𝑖1𝑖𝑃𝜎𝑖1𝑖𝑟𝜎𝑖1𝑖,𝑖=1,,𝑛.(3.2) The second constraint guarantees the respects of the precedence sequences constraints predefined between the tasks of the same job𝐶𝜎𝑖𝑘𝑖𝐶𝜎𝑖𝑘+1𝑖𝑃𝜎𝑖𝑘+1𝑖𝑛,𝑖=1,,𝑛,𝑘=1,,𝑖1.(3.3) The disjunction at the level of machines is specified in the third constraint𝐶𝑈𝐸𝑖𝑗𝑃𝑈𝐸𝑖𝑗𝐶𝑈𝑖+𝑗𝐸𝑖𝑗,𝑖<𝑗𝑂𝑈,𝑈𝑀,(3.4) with 𝐸𝑖𝑗=𝑂𝑗,ifjob𝑖precedes𝑗,𝑖,otherwise,𝑢={setofjobsrequiringthemachine𝑈}.(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: 𝐶𝑈𝑗𝐶𝑈𝑖+𝐻1𝑎𝑖𝑗𝑈𝑃𝑈𝑗,𝑖,𝑗=1,,𝑛,𝑈𝑀,(3bis) with 𝑎𝑖𝑗𝑈=1,ifjob𝑖precedes𝑗onthemachine𝑈,0,otherwise,𝐻abigvalue.(3.6)

3.4. 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.

3.4.1. Additional Data
(1)𝑅: number of transporter vehicles in the workshop (assuming more than one),(2)𝑆={𝑆1,𝑆2,,𝑆𝑚}: set of stations,(3)𝐶𝑟: capacity of the transporter vehicle 𝑟 (in terms of numbers of tasks to carry),(4)𝜀𝑐: loading time of one or several tasks on the input of a station,(5)𝜀𝑑: unloading time of one or several tasks from the output of a station,(6)Cout(𝑈): output Capacity of the machine 𝑈,(7)Cin(𝑈): input Capacity of the machine 𝑈,(8)𝑇: big value representing an upper bound for the production horizon,(9)𝛿𝑠𝑑: transportation time from a station 𝑠 to a station 𝑑,(10)𝛿𝑠𝑑: empty movement activity from a station 𝑠 to a station 𝑑.
3.4.2. 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𝑡𝑖𝜎𝑖𝑘:startingtransportationtimeoftask𝑂𝑖𝜎𝑖𝑘,𝑥𝑟𝑖𝜎𝑖𝑘=1,ifthetask𝑂𝑖𝜎𝑖𝑘𝑆istransportedbythetransportervehicle𝑟,0,otherwise,𝑡𝑖𝜎𝑖𝑘=1,ifthetask𝑂𝑖𝜎𝑖𝑘𝑉istransportedintime𝑡,0,otherwise,𝑎𝑟=1,ifthetransportervehicleisin``emptymovementactivity,0,ifthetransportervehicleisin``transportactivity.(3.7)

3.4.3. Additional Constraints

A task can be handled by only one transporter vehicle at a time𝑅𝑟=1𝑥𝑟𝑖𝜎𝑖𝑘=1,𝑖=1,,𝑛,𝑘=1,,𝑛𝑖.(3.8) Each job requires 𝑛𝑖+1 tasks of transport𝑅𝑛𝑟=1𝑖+1𝑘=0𝑥𝑟𝑖𝜎𝑖𝑘=𝑛𝑖+1,𝑖=1,,𝑛,(3.9)𝜎𝑖0 and 𝜎𝑖(𝑛𝑖+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 𝐶𝜎𝑖𝑘+1𝑖𝑃𝜎𝑖𝑘+1𝑖𝑡𝑖𝜎𝑖𝑘+𝛿𝑆(𝜎𝑖𝑘)𝑆(𝜎𝑖𝑘+1)+𝜀𝑑,𝑖=1,,𝑛,𝑘=1,,𝑛𝑖,(3.10) where 𝑆(𝜎𝑖𝑘) is the station associated with the machine 𝜎𝑖𝑘

Each task can be transported only after its completion𝑡𝑖𝜎𝑖𝑘𝐶𝜎𝑖𝑘𝑖+𝜀𝑐,𝑖=1,,𝑛,𝑘=1,,𝑛𝑖.(3.11) The current capacity of the transporter vehicle 𝑟 at time 𝑡 (noted 𝐶𝑡𝑟) must not exceed its capacity𝐶𝑡𝑟=𝑛𝑛𝑖=1𝑖𝑘=1𝑆𝑡𝜎𝑖𝑘𝑥𝑟𝑖𝜎𝑖𝑘𝐶𝑟,𝑟=1,,𝑅,𝑡=0,,𝑇.(3.12) The load of a transporter vehicle at each time 𝑡 must not exceed its current available capacity (𝐶𝑟𝐶𝑡𝑟),𝑛𝑛𝑖=1𝑖𝑘=1out𝑡𝜎𝑖𝑘𝑥𝑟𝑖𝜎𝑖𝑘𝐶𝑟𝐶𝑡𝑟,𝑟=1,..,𝑅,𝑡=0,,𝑇(3.13) such asout𝑡𝜎𝑖𝑘=1,if𝐶𝜎𝑖𝑘𝑖𝑡<𝑡𝑖𝜎𝑖𝑘+1,0,otherwise.(3.14) The limited capacity of the outputs of machines is respected at every time 𝑡𝑛𝑛𝑖=1𝑖𝑘=1/𝜎𝑖𝑘=𝑢out𝑡𝜎𝑖𝑘𝐶out(𝑢),𝑢𝑀,𝑡=0,,𝑇.(3.15) The limited capacity of the inputs of machines is respected at every time 𝑡𝐶𝑡𝑖𝑛(𝑢)=𝑛𝑛𝑖=1𝑖𝑘=1𝜎𝑖𝑘=𝑢int𝑡𝜎𝑖𝑘𝐶𝑖𝑛(𝑢)𝑢𝑀𝑡=0,,𝑇,(3.16) withint𝑡𝜎𝑖𝑘=1,if𝑡𝑖𝜎𝑖𝑘+𝛿𝑆(𝜎𝑖(𝑘1))𝑆(𝜎𝑖𝑘)+𝜀𝑑𝑡<𝐶𝜎𝑖𝑘𝑖𝑃𝑖𝜎𝑖𝑘,0,otherwise,(3.17) where 𝐶𝑡𝑖𝑛(𝑢) is the current capacity of the input associated with the machine 𝑢.

At every moment, the transporter vehicles should serve only the available inputs of the machines 𝑅𝑛𝑟=1𝑛𝑖=1𝑖𝑘=1/𝜎𝑖𝑘=𝑢𝑆𝑡𝑖𝜎𝑖𝑘𝑥𝑟𝑖𝜎𝑖𝑘𝐶𝑖𝑛(𝑢)𝐶𝑡𝑖𝑛(𝑢),𝑢𝑀,𝑡=0,,𝑇.(3.18) The following recurrent formula computes the completion time of service of transporter vehicles on every machine which they serve, noted by 𝐹𝑠𝑟,𝐹𝑠𝑟=𝐹𝑟𝑠1+𝑣𝑟𝑎𝛿(𝑠1)𝑠+𝜀𝑐+1𝑣𝑟𝑎𝛿(𝑠1)𝑠+𝜀𝑑+𝑓𝑠𝑟𝜀𝑐,𝑟=1,,𝑅,𝑠𝑆,(3.19) with 𝑓𝑠𝑟=1,ifthetransportervehicleunloadsthestation𝑠,0,otherwise.(3.20) Finally, we express the separation time restrictions due to the type of transporter vehicle activities, “transport activity” (transportation time 𝛿𝑠𝑑) or “empty movement activity” (time of empty travel time 𝛿𝑠𝑑)𝑣𝑟𝑎𝐹𝑠𝑟+𝛿𝑠𝑑𝐹𝑑𝑟+1𝑣𝑟𝑎𝐹𝑠𝑟+𝛿𝑠𝑑+𝜀𝑑𝐹𝑑𝑟0,𝑟=1,,𝑅,𝑠,𝑑𝑆,𝑎Activities.(3.21)

3.5. 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 vehiclesMin𝑛𝑛𝑖=1𝑖𝑘=1𝛼𝑘𝑖𝜆𝑘𝑖𝛽𝑘𝑖(1𝜆𝑘𝑖)𝑐𝜎𝑖𝑘𝑖𝑑𝜎𝑖𝑘𝑖+𝑅𝑟=1𝑎Activities𝑚𝑟𝑎𝑣𝑟𝑎(3.22) such as 𝛼𝑘𝑖: earliness penalty on the task 𝑂𝑖𝜎𝑖𝑘,𝛽𝑘𝑖: tardiness penalty on the task 𝑂𝑖𝜎𝑖𝑘,𝑚𝑟𝑎: penalty on an “empty movement activity".

4. Ant Colony Algorithm

According to our previous work [2325], 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 Sk which is composed of the machine Mk and its input Ik and output Ok. 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 𝜏𝑆𝑘𝑆 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 𝑂𝑖𝜎𝑖𝑘 to be executed whenever its required machine 𝜎𝑖𝑘 is available. The choice of this task is based on a priority rule favoring the task with the maximum ratio rap𝑖𝑘(𝑡) in 𝜎𝑖𝑘:𝑂𝑖𝜎𝑖𝑘=argmax𝑂𝑗𝜎𝑗Input𝑡𝜎𝑖𝑘(𝑗=1,,𝑛,=1,,𝑛𝑗)rap𝑗(𝑡),(4.1) where rap𝑖𝑘𝑝(𝑡)=𝜎𝑖𝑘𝑖𝑛𝑖=1𝑝𝜎𝑖𝑖,𝑂𝑖𝜎𝑖𝑘Input𝑡𝑟,(4.2)Input𝑡𝜎𝑖𝑘 = {tasks belonging in input of machine𝜎𝑖𝑘at the moment 𝑡}.

(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: 𝑑(𝑡)=argmax𝑠Chario(𝑟)𝜏𝑠𝛼𝑞1(𝛽,𝛾)𝑞2(𝜃,𝜓)𝑞3.(4.3)(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: 𝑑(𝑡)=argmax𝑠𝑆𝜏𝑠𝛼𝑞1(𝛽,𝛾)𝑞2(𝜃,𝜓)𝑞3,(4.4) with: 𝑞11(𝛽,𝛾)=1Cin(𝑠)Cin𝑡(𝑠)+1𝛽1Cou(𝑠)Cou𝑡(𝑠)+1𝛾,𝑞21(𝜃,𝜓)=𝛿𝑐𝑠+1𝜃1𝛿𝑐𝑠+1𝜓,𝑞31=(𝑐𝑎𝑟𝑑_𝑏𝑙𝑜𝑐(𝑟,𝑠))(𝑡𝑚𝑎𝑐𝑖𝑛𝑒(𝑠)).𝐹𝑠(𝑠)(4.5)𝑐𝑎𝑟𝑑_𝑏𝑙𝑜𝑐(𝑟,𝑠): number of tasks transported by the transporter vehicle 𝑟 towards the station 𝑠𝑡𝑚𝑎𝑐𝑖𝑛𝑒(𝑠): Total duration of activities of the station 𝑠 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 𝑐 to a destination one 𝑑, according to the following formula: 𝜏𝑐𝑑(𝑘+1)=𝜏𝑐𝑑(𝑘)+𝜏01𝜌0.(4.6)(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: 𝜏𝑚(𝑖)𝑚(𝑖+1)(𝑘+1)=𝜏𝑚(𝑖)𝑚(𝑖+1)(𝑘)+𝜏01𝜌0(foreachpairofsuccessiveoperationofthebestsolution),(4.7)

with: (a)𝑚(𝑖): request machine of the task number 𝑖,(b)𝜏𝑠1𝑠2(𝑘): quantity of pheromone in the arc connecting the two stations 𝑠1 and 𝑠2, in the cycle 𝑘 of the algorithm,(c)𝜏𝑠1𝑠2(𝑘+1): quantity of pheromone in the arc connecting the two stations 𝑠1 and 𝑠2, in the current iteration, after update,(d)𝜏0: initial quantity of pheromone,(e)𝜌0: rate of evaporation.

4.1. Algorithm Description

In Algorithm 1, we summarize the different steps of our ant colony algorithm with: (i)𝑚(𝑖): the request machine of the task 𝑖,(ii)initial_deposit: initial deposit of the workshop,(iii)𝐶𝑎𝑟𝑖𝑜(𝑟): set of tasks transported by the transporter vehicle number 𝑟,(iv)𝑐(𝑟,𝑡): current position,(v)𝑑(𝑟,𝑡): destination position of the transporter vehicle number 𝑟 at the moment 𝑡,(vi)𝑁1max and 𝑁2max: stop tests,(vii)𝜏0: initial quantity of pheromone,(viii)𝜌0: rate of evaporation,(ix)𝜏𝑐𝑑: quantity of the pheromone in the arc connecting the two stations 𝑐 and 𝑑,(x)𝑆: number of stations,(xi)𝑅: number of robots.

initialization step
𝐷 𝑒 𝑝 𝑜 𝑡 _ 𝑖 𝑛 𝑖 𝑡 𝑖 𝑎 𝑙 { 𝑓 𝑖 𝑟 𝑠 𝑡 𝑜 𝑝 𝑒 𝑟 𝑎 𝑡 𝑖 𝑜 𝑛 𝑠 𝑜 𝑓 𝑗 𝑜 𝑏 𝑠 }
𝐶 𝑎 𝑟 𝑖 𝑜 ( 𝑟 ) 𝑂 𝑟 , 𝑟 = 1 , , 𝑅 ( 𝑂 𝑟 𝑖 𝑛 𝑖 𝑡 𝑖 𝑎 𝑙 _ 𝑑 𝑒 𝑝 𝑜 𝑠 𝑖 𝑡 )
𝑑 ( 𝑟 , 0 ) 𝑑 𝑒 𝑝 𝑙 𝑎 𝑐 𝑒 𝑟 _ 𝑟 𝑜 𝑏 𝑜 𝑡 ( 𝑟 ) , 𝑟 = 1 , , 𝑅 / / 𝑒 𝑢 𝑟 𝑖 𝑠 𝑡 𝑖 𝑐 𝑡 𝑜 𝑚 𝑜 𝑣 𝑒 𝑡 𝑒 𝑡 𝑟 𝑎 𝑛 𝑠 𝑝 𝑜 𝑟 𝑡 𝑒 𝑟 𝑣 𝑒 𝑖 𝑐 𝑙 𝑒
𝑐 ( 𝑟 , 0 ) = 𝑑 ( 𝑟 , 0 ) , 𝑟 = 1 , , 𝑅
𝐹 𝑜 𝑟 ( 𝑖 𝑡 1 = 1 , , 𝑁 1 m a x ) 𝑑 𝑜
𝐹 𝑜 𝑟 ( 𝑖 𝑡 = 1 , , 𝑁 2 m a x ) 𝑑 𝑜
   / / 𝑔 𝑒 𝑛 𝑒 𝑟 𝑎 𝑡 𝑒 𝑜 𝑛 𝑒 𝑠 𝑜 𝑙 𝑢 𝑡 𝑖 𝑜 𝑛
   𝐹 𝑜 𝑟 ( 𝑡 = 1 , , 𝑜 𝑟 𝑖 𝑧 𝑜 𝑛 ) 𝑑 𝑜
     / / 𝑐 𝑦 𝑐 𝑙 𝑒 𝑜 𝑓 𝑝 𝑟 𝑜 𝑑 𝑢 𝑐 𝑡 𝑖 𝑜 𝑛
     𝐹 𝑜 𝑟 ( 𝑠 = 1 , , 𝑆 ) 𝑑 𝑜
        𝑇 𝑟 𝑎 𝑖 𝑡 𝑒 𝑟 _ 𝑠 𝑡 𝑎 𝑡 𝑖 𝑜 𝑛 ( 𝑠 ) / / 𝑡 𝑟 𝑒 𝑎 𝑡 𝑚 𝑒 𝑛 𝑡 𝑜 𝑓 𝑠 𝑡 𝑎 𝑡 𝑖 𝑜 𝑛 𝑠
     𝐸 𝑛 𝑑 𝐹 𝑜 𝑟
     𝐹 𝑜 𝑟 ( 𝑟 = 1 , , 𝑅 ) 𝑑 𝑜
       𝑑 ( 𝑟 , 𝑡 ) 𝑡 𝑟 𝑎 𝑖 𝑡 𝑒 𝑟 _ 𝑟 𝑜 𝑏 𝑜 𝑡 ( 𝑟 ) / / 𝑡 𝑟 𝑒 𝑎 𝑡 𝑚 𝑒 𝑛 𝑡 𝑜 𝑓 𝑡 𝑟 𝑎 𝑛 𝑠 𝑝 𝑜 𝑟 𝑡 𝑒 𝑟 𝑣 𝑒 𝑖 𝑐 𝑙 𝑒 𝑠
       𝑐 ( 𝑟 , 𝑡 ) 𝑑 ( 𝑟 , 𝑡 )
       / / 𝑙 𝑜 𝑐 𝑎 𝑙 𝑢 𝑝 𝑑 𝑎 𝑡 𝑒 𝑜 𝑓 𝑝 𝑒 𝑟 𝑜 𝑚 𝑜 𝑛 𝑒
       𝜏 𝑐 𝑑 = 𝜏 𝑐 𝑑 + 𝜏 0 ( 1 𝜌 0 )
       𝐸 𝑛 𝑑 𝐹 𝑜 𝑟
       𝐹 𝑜 𝑟 ( 𝑠 = 1 , , 𝑆 ) 𝑑 𝑜
         𝑀 𝑖 𝑠 𝑒 _ 𝑎 𝑗 𝑜 𝑢 𝑟 _ 𝑠 𝑡 𝑎 𝑡 𝑖 𝑜 𝑛 ( 𝑠 ) / / 𝑢 𝑝 𝑑 𝑎 𝑡 𝑒 𝑜 𝑓 𝑠 𝑡 𝑎 𝑡 𝑖 𝑜 𝑛 𝑠
       𝐸 𝑛 𝑑 𝐹 𝑜 𝑟
   𝐸 𝑛 𝑑 𝐹 𝑜 𝑟
𝐸 𝑛 𝑑 𝐹 𝑜 𝑟
𝑆 𝑜 𝑙 𝑐 𝑜 𝑖 𝑠 𝑖 𝑟 _ 𝑚 𝑒 𝑖 𝑙 𝑙 𝑒 𝑢 𝑟 𝑒 ( ) / / 𝑐 𝑜 𝑠 𝑒 𝑜 𝑓 𝑡 𝑒 𝑏 𝑒 𝑠 𝑡 𝑠 𝑜 𝑙 𝑢 𝑡 𝑖 𝑜 𝑛
/ / 𝐺 𝑙 𝑜 𝑏 𝑎 𝑙 𝑢 𝑝 𝑑 𝑎 𝑡 𝑒 𝑜 𝑓 𝑝 𝑒 𝑟 𝑜 𝑚 𝑜 𝑛 𝑒 .
𝜏 𝑚 ( 𝑖 ) 𝑚 ( 𝑖 + 1 ) = 𝜏 𝑚 ( 𝑖 ) 𝑚 ( 𝑖 + 1 ) + 𝜏 0 ( 1 𝜌 0 ) ,for each pair of successive operation of sol
𝐸 𝑛 𝑑 𝐹 𝑜 𝑟
𝐸 𝑛 𝑑 𝑎 𝑙 𝑔 𝑜 𝑟 𝑖 𝑡 𝑚

5. 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/Job_Shop_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.

5.1. Transporter Vehicles with a Capacity Equal to 1
5.1.1. 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.

5.1.2. 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.

5.2. 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.

6. 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.