Flexible job-shop scheduling with routing flexibility and separable setup times using ant colony optimisation method

Flexible job-shop scheduling with routing flexibility and separable setup times using ant colony optimisation method

ARTICLE IN PRESS Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516 www.elsevier.com/locate/rcim Flexible job-shop scheduling with rou...

536KB Sizes 0 Downloads 74 Views

ARTICLE IN PRESS

Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516 www.elsevier.com/locate/rcim

Flexible job-shop scheduling with routing flexibility and separable setup times using ant colony optimisation method Andrea Rossi, Gino Dini Department of Mechanical, Nuclear and Production Engineering, University of Pisa, Via Bonanno Pisano 25/B, 56126 Pisa, Italy

Abstract This paper proposes an ant colony optimisation-based software system for solving FMS scheduling in a job-shop environment with routing flexibility, sequence-dependent setup and transportation time. In particular, the optimisation problem for a real environment, including parallel machines and operation lag times, has been approached by means of an effective pheromone trail coding and tailored ant colony operators for improving solution quality. The method used to tune the system parameters is also described. The algorithm has been tested by using standard benchmarks and problems, properly designed for a typical FMS layout. The effectiveness of the proposed system has been verified in comparison with alternative approaches. r 2006 Elsevier Ltd. All rights reserved. Keywords: Job-shop scheduling; Ant colony optimisation; Flexible manufacturing systems

1. Introduction A basic production planning behaviour desired in an FMS is to support routing flexibility and operation lag times. In this context, the following features are considered:

 

routing flexibility: alternative paths can be followed through the system for a given process plan [1]; separable setup: each operation is subjected to a setup; the setup period is split in the following two independent activities to be performed in parallel: (i) the setup depending on the previous processed operation on the machine (sequence-dependent setup); (ii) the setup depending on the previous operation in the job routing (sequence-independent setup) [2].

Routing flexibility leads to the problem of flexible (or multiprocessor) job-shop scheduling (FJS) which extends the classic problem of job-shop scheduling where no alternative machine is present for processing an operation [3]. The FJS problem concerns two sub-problems: (i) assignment of each operation to one of the alternative Corresponding author. Tel.: +39 50 913032; fax: +39 50 913040.

E-mail address: [email protected] (A. Rossi). 0736-5845/$ - see front matter r 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.rcim.2006.06.004

machines (assignment sub-problem); (ii) ordering of the operations on each assigned machine (sequencing subproblem), with the aim of optimising an objective function. In a very large number of practical industrial applications, routing flexibility is combined with the total grouping model of an FMS, which consists of a partition of available machines into groups of identical machine tools [1,4]. The related job-shop scheduling problem is identified by FJS with parallel (or replicated) machines (FJS-PM). Pools of identical machines are dedicated to process a quite large number of operations and, therefore, to give parallel processing capabilities to each operation in the process plan. The routing flexibility is also used to tackle production stops, if busy or inoperative machines occur. It replaces and often outperforms the availability of alternative process plans for a given part (operation flexibility). Each group accomplishes a desired amount of automation, productivity and machine flexibility [5]. The possibility of using anticipatory setups and overlapping of transportation and processing times increases machine flexibility and reduces costs. An anticipatory setup allows the part to be not necessarily available on the machine during the setup period. Overlapping of transportation activities and processing times allows the part to

ARTICLE IN PRESS 504

A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

move to the next machine when the previous operation on the machine is not necessarily completed. New solution techniques to tackle stops of workstations caused by waiting for material-handling system (material-handling interference (MHI), [6]) allow to reduce the elapsed time spent to serve parts on the next machine (i.e., sequenceindependent setup times). Job-shop scheduling, which only deals with the sequencing sub-problem, is strongly NP-hard [7]; only few special cases can be optimally solved with acceptable computing times. As it is an extension of job-shop scheduling, FJS with routing flexibility and separate setup is NP-hard as well, justifying the use of heuristics or approximation algorithms to approach the problem [8,9]. The majority of scheduling researches in literature assumes the setup time as negligible or a part of the processing time. While these assumptions simplify the analysis in certain applications, they adversely affect the solution quality. On the other hand, when these concepts are considered, there is a lack of investigation on FMS scheduling system that supports routing flexibility for practical industrial applications. For a very special case of job-shop scheduling, the two-machine flow-shop, separate activities of machine setup and job transportation are considered by Nabeshima and Maruyama [10] and, more recently, by Yang and Chern [11]. This problem has been generalised to n machines by means of a shifting bottleneck procedure by Ivens and Lambrecht in the case of flow-shop with parallel machines [12]. The knowledge is based on the disjunctive graph (digraph) model, which extends that one originally proposed by Roy and Sussman [13]. The disjunctive graph representation is becoming the standard model for scheduling applications. In fact, these graphs are more efficient, than Gantt diagrams, to describe the knowledge for optimisation search techniques [9]. In job-shop scheduling, some approaches with sequence-dependent setup times assume the material-handling systems as a further machine, where travelling operations involve non-negligible transportation times [14,15]. Thus, the material-handling system is considered as an additional machine type, which can be scheduled together to the other machines in order to transform the general problem into the job-shop scheduling with sequence-dependent setup times. Nevertheless, in such approaches, the scheduling algorithm works on twice the number of operations and one (or more) further machines included in the material-handling system. Ref. [16] deals with the FJS-PM where separable setup and transportation times are related to a single operation setup phase. This approach reduces the number of operations in the system because no additional machine is used to model transportation times. Nevertheless, in this reference, the problem knowledge for an evolutionary approach is still modelled by a Gantt diagram. This paper describes a new methodology to support routing flexibility and separate setups. It is based on the disjunctive graph representational model of the FJS problem with separable transportation and sequence-

dependent setup times. A fast algorithm with minimum computational complexity on the digraph is developed in order to build a feasible solution including the value of its objective function. Here, the aim is to minimize the makespan, although an amount of results is independent of the selected objective function. The graph representation of the problem makes possible a more direct visit by means of a promising metaheuristic search routine: ant colony optimisation (ACO, [17]). ACO is an emerging class of research, dealing with swarm intelligence, a set of artificial life methods that exploit the experience of an ant colony as a model of self-organisation in co-operative food retrieval by means of a proper pheromone trail model. In particular, the algorithm that builds a feasible solution on the digraph, is used by an artificial ant to generate its nestfood path. 2. FJS with routing flexibility and setup constraints Formally in FJS-PM, n jobs have to be scheduled on m pools of machines each including mj (j ¼ 1; . . . ; m) identical (or parallel) machines, so that the quantity k ¼ minj ¼ 1,y,m mj represents the degree of parallelization capability of the system. The problem with equal-size pools, i.e. mj ¼ k for each pool j, is also referred as the FJS-kPM problem. Each job i must be processed in accordance with its linear routing represented by a sequence of lipm operations, Oijr, each of these has to be processed as the rth operation on a single machine among that ones belonging to the jth pool, with a processing time tijr and a setup activity fij, which takes the time t(fi,j); st(Oijr) and t(Oijr) denote, respectively the starting and the completion time of the operation. No machine can process more than one operation at a time; no operation Oijr can start until Oij,r1 is completed or can stop after it starts; finally, an operation must be processed by one, and only one, machine. In order to process the entire set of planned operations, the system includes F dedicated setup activities, grouped per pool of machines, F 1 ; . . . ; F m . A machine of the pool j includes all the machine equipment capable of performing the setup activity fij of the set Fj (i.e. no sharing of tools, jigs, fixtures, etc. is allowed among machines). Each job i and each machine h are subjected to a release date, Di and dh, respectively. Finally, a material-handling system is able to offer the required flexibility in order to move a part through the system. A transportation time matrix d includes the times to move a job among the stations; tA is the instant of availability of the material-handling system. Job-shop scheduling is a particular case of FJS-PM where the number of machines in each pool is mj ¼ 1. The assignment of operations to a machine of a pool gives a sort of further flexibility, and hence an increase of complexity, in addition to the flexibility represented by the possibility of sequencing operations on the machines. In opposite to the classic problem, the FJS has been only treated in the recent literature (see for example [2,18–20]). Although a number of flexible job-shop methods could

ARTICLE IN PRESS A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

approach the FJS with replicated machines, only Barnes and Chambers adapt their tabu search to accomplish the problem [18]. Nevertheless, the level of parallelization capability is quite low. In [16,21] parallelization approaches are proposed. The authors use an evolutionary approach which improves dispatching rules and a standard genetic algorithm upon, respectively, random problem generation and benchmarks derived from that ones of the standard job-shop scheduling. Nevertheless, already for minimum degree of parallelization capability, the achieved results are susceptible of considerable improvement. The starting time of an operation is evaluated by considering: (i) anticipatory (sequence-dependent) setup and overlapping of processing and transportation times; (ii) the semi-active schedule, where operations are processed as early as possible. This necessarily means that the starting time of an operation depends on the longest time among the following times: (a) the instant in which the related job arrives at the machine (the related activity is termed setup-independent, SI); (b) the instant in which the machine completes its sequence-dependent setup (the related activity is termed setup-dependent, SD). Considering separable setup, SI and SD can be performed in parallel. Hence, setting Oi0 jr0 the previous operation in the queue of machine h of pool j, the starting time of the current operation is the maximum completion times between SI and SD sub-phases according to the following expression: stðOijr Þ ¼ maxftðSDÞ; tðSIÞg ¼ maxftðOi0 jr0 Þ þ tðf i;j Þ, tA þ dðh; h1 Þg,

ð1Þ

where t(fi,j) and d(h, h1) are the lag times for, respectively, SD and SI. The first setup on every machine starts from the machine release date (i.e., t(Oi0 jr0 ) ¼ dh). By expression (1), SI activity depends on the availability and the time of the material-handling system (i.e., tA XtðOij;r1 Þ if r41, tAXDj, otherwise). An amount of complexity is introduced by the exactly evaluation of this condition because of the MHI problem. Classical job-shop scheduling overcomes MHI problem supposing that unlimited buffers are present for each machine and the material-handling system is always available when a part completes an operation. At the other hand, MHI is considered in practical applications and solution techniques; a possible solution can be derived by the discrete material-handling device [6,22]. The materialhandling system is subdivided in two sub-systems, the job transportation device and the machine loading/unloading device, which cooperate in parallel with a negligible synchronization time, avoiding blocking of stations. 2.1. Disjunctive graph representation Disjunctive graph representation offers a scheme for sequence-dependent setup times [23] and FJS [19]. A disjunctive graph is represented by DG ¼ ðN; A; E jh Þ,

(2)

505

where N is the set of operations plus the dummy start and finishing operations (represented by the symbols 0 and *); A is the set of conjunctive arcs between every pair of operations on a job routing, between 0 and every first operation on a routing, and between every last operation on a routing and *; Ejh is the set of disjunctive arcs between pairs of operations, O*j* , that have to be processed on the same machine h (h ¼ 1; . . . ; mj ) of the pool j (j ¼ 1; . . . ; m); it also includes disjunctive arcs between 0 and O*j*, between O*j* and * and between 0 and * for all Ejh. Fig. 1 shows an example of digraph for job-shop scheduling (Fig. 1(a)). Each operation O*j* is connected with disjunctive arcs of Ej only because the related operation can be processed by one and only one machine j. Fig. 1(b) shows an example for FJS with replicates machines. Each arc, connecting a pair of operations to be process on the same pool j, is replicated mj times (as many times as the number of machines of pool j). In general, a FJS-kPM problem is represented by m  n operations and an operation is connected with k(n+1) disjunctive arcs. A finite sequence of conjunctive (directed) arcs between two operations is called a path. The length of an arc is equal to the processing time of the operation at which it ends. The path length is equal to the sum of the lengths of its arcs. A path which starts from 0 and ends at * is the loading sequence on a machine. A cycle is a path that starts and ends at the same operation. If no cycle is present in a conjunctive graph achieved by directing some disjunctive arcs and including all the operations, the conjunctive graph is acyclic and the related loading sequences on the machines are a feasible schedule. In an acyclic conjunctive graph the makespan of the feasible schedule S is the length of the critical path (i.e., the longest path between the dummy start and finishing operations) and it is indicated as makespan(S). Finally, the length of the longest path between the dummy start operation and a given operation is its completion time. Fig. 1(c) shows the acyclic conjunctive graph achieved by directing arcs of the DG and the related Gantt chart (Fig. 1(d)). The weighted path is achieved by moving the weights from an operation to the two arcs that end at it. In the acyclic graph of Fig. 1(c) the critical path is showed; the sum of the lengths of its arcs, equal to 347 s, is the makespan. 2.2. Integrating sequence-dependent and independent setup times The digraph used to approach the problem with a given number of lag times, includes different kinds of nodes and further weights on the operations. This graph is represented by WDG ¼ ðN F ; A; E jh ; W N Þ,

(3)

where the new component WN is the weight on the nodes, represented by the four-dimensional array W N ðOijr Þ ¼ ðtij ; tðf i;j Þ; dðh; h1 Þ; Di Þ, which includes, respectively, processing

ARTICLE IN PRESS A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

506

arcs of E11 arcs of E12 arcs of E21 arcs of E22 arcs of E31 arcs of E32 46

job arcs of E1 arcs of E2 arcs of E3

71

46

0

66

50

O231

O212

94

*

O322

O212

O223

39

O333

91

94

50

O231

0

57

O311

O133

66

0

O223

O311

(b)

82

O122

O111

O133

39 (a)

71

82

O122

O111

O322

O333

91

*

57

critical path

46

O111

71

0

66

39

46 O231 50

(c)

O212

O223

*

O322

O223 O333

O231

Machine 3

O133

time

O333

57

O122

Machine 2

94

57 O322

91

94

O111 O311 O212

Machine 1

O133

82

91

39 50

O311

82

O122

0

(d)

50

100 150 200

250 300

347

Fig. 1. Example of digraph models and schedule representations: (a) and (b) digraph models for, respectively, classic job-shop scheduling and FJS with replicates machines; (c) and (b) feasible schedule and critical path representation by means of, respectively, acyclic conjunctive graph and Gantt diagram.

33

54 5 12 7 O111 5 0

0 0 5

31 15 6 O231 11 19 16 17 74

0 O311 (a) 5 17

55

O122 6 7

O133

8 19

26

79

O212

O223

14 10

9 6

*

O333

6 11

,

}

F2={

,

}

F3={

,

,

71 }

62

Legend:

34

34

bold font: release dates

105

299 74

O122

26

O133

74

85

62 62 O 231

O311

(b)

39 39

71

0

italic font: setup times 8 27

110

71 O111

normal font: processing times

22

O322

F1={

131 O212

30

79

274 79 O223

*

26 85

O322

195

30

O333

225

bold-italic: transportation times O311 O212 O111

machine 1 machine 2

O122

O322

O231

machine 3

O223 O333 O133

transp. syst.

(c)

time 0

50

100

150

200

250

301

347

Fig. 2. Representation of job-shop scheduling with separable transportation and sequence-dependent setup times: (a) digraph model; (b) and (c) feasible schedule and critical path representation by means of, respectively, acyclic conjunctive graph and Gantt diagram.

time, lag times for SI and SD and release date of the related job; NF is the set of nodes; it is subdivided into F subsets where the operations which have the same setup are included in the same subset of dedicated setup activities (i.e., they are associated to the same kind of node as proposed by Brucker and Thiele [23]). Fig. 2 shows these aspects on the digraph where the sum of the weights on the node is equal to the processing times of the example in Fig. 1. The possibility of overlapping the two-setup activities SI and SD entails that the makespan is somewhat less than the

previous example where no overlapping is allowed. The first and the second pools of machines perform two setup activities: F1 ¼ {f11, f21 ¼ f31}, F2 ¼ {f12, f22 ¼ f32}; they are represented by two kinds of nodes. The third pool has one setup activity for each job; this is represented by three kinds of nodes. The release date of the machines is represented by the further weight on the arcs connected to the dummy operation 0; the release date of the jobs is represented by the further weight on the first operation on the routing.

ARTICLE IN PRESS A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

2.3. Finding a feasible schedule The proposed system uses a list scheduler (LS) algorithm to generate a feasible schedule on the digraph by visiting every operation once and only once. The LS algorithm was originally proposed by Giffler and Thompson [24] for classic job-shop scheduling. The proposed LS algorithm, described in the Appendix A, is supplied with the required skills to generate a feasible schedule S with completion times placed on the related nodes and weights on the conjunctive arcs in accordance with expression (1). A basic property of the LS algorithm is that the two sequencing and assigning decisional points are considered at the same time in the selection of a feasible move, i.e. a disjunctive arc which connects a candidate operation to a last operation of the loading sequence. Each candidate node is associated with k feasible moves, one for each alternative machine, in order to approach the assigning problem; on the other hand, each last operation in the loading sequence is associated with at most (n1) feasible moves, one for each alternative job, in order to approach the sequencing problem. This behaviour seems to be more effective with respect to the approaches where assigning and sequencing problems are considered separately [19]. Fig. 3 shows an example of this concept on the digraph which represents a FJS-PM problem with n ¼ 4, m ¼ 2 and k ¼ 2 (Fig. 3(a)): two feasible moves, represented by disjunctive arcs, are associated to a candidate operation showed in grey scale; two feasible moves are associated to a last operation in a loading sequence. The selection of arc (1,6) automatically chooses the machine M12 for processing operation 6 and generates the loading sequence 1,6 on this machine; it automatically removes the disjunctive arcs (1,2) of M12 and (3,6) of M11. Fig. 3(b) also shows that, after the selection of (1,6)AM12, on the two directed arcs which end to 6 is placed the equal length t(SI)+t6 ¼ 28 s because st(6) ¼ max{t(1)+t(setup), t(5)+d (M32, M12)} ¼ t(5)+d (M32, M12) ¼ 69 s; as a consequence, the considered lag time is the transportation time d (M32, M12) from machine M32 to machine M12. It can be noted that the algorithm has a minimal complexity because finds a feasible schedule in a time 55

55

M11

1

2

M12

3

4

5

6

M11

1

M12

3

2 28

M32

21

62

7 10

M31

(a)

7

8

M32

4

62 5

28

6

M31 7

8

507

proportional to the number of disjunctive arcs. In fact, the main loop is performed n  m times and the most time consuming step is the Removal step where at most O(k1)(n1) arcs are removed. Hence the worst case complexity is O(kmn2). 3. Ant colony optimisation approaches It is well known that a real ant leaves a substance, called pheromone, in the nest-food path; the ants can smell the pheromone and hence this substance drives and speeds up the other ants of the colony in the food search; furthermore, the pheromone slowly evaporates, thus indicating that a path rarely used probably does not lead to the food or preventing that all the ants will end up doing the same path (stagnation). The pheromone trail is the basic mechanism of communication among real ants; it is mimicked by ACO by an iterative method able of finding the shortest path connecting source and destination on a weighted graph that represents the optimisation problem. Path generation is a stochastic process where an artificial ant selects probabilistically the next node (move selection) according to the amount of pheromone and the heuristic function of distance on the connecting arc (visibility function). As soon as a path is generated, the artificial ant deposits on its arcs a further amount of pheromone proportional to the path length (pheromone updating); finally, at the end of an epoch, a pheromone decay routine is performed to prevent stagnation. ACO is a heuristic search method for general optimisation problem. With exception of the pheromone trail coding that is strictly problem dependent, all the components of ACO are easy adapted to the specific optimisation problem. All the pheromone trail models for job-shop scheduling applications are represented by a graph where the nodes represent the operations and an arc connecting two nodes represents the possibility that these nodes can be successively visited by the ants; examples of precedence order are: (i) operations to be processed in sequence on a machine tool; (ii) operations having sub-sequential finishing times. The relation-learning model of the pheromone trail uses the precedence order (i) previously mentioned and hence it can be represented by a digraph [25]. This representation overcomes the complexity that arises in the previous models of pheromone, in which every operation is connected to the others [26,27]. In the relation-learning model, an amount of pheromone is deposited on the arcs of WDG. In particular, two values of pheromone amount, related to the two possible directions in which the ant proceeds, are associated with a disjunctive arc. As a consequence, each disjunctive arc (Oi0 jr0 , Oijr) of Ehj supports:

(b)

Fig. 3. A step of the list scheduler algorithm for FJS problem with n ¼ 4, m ¼ 2 and k ¼ 2: (a) set of the feasible moves before the selection; (b) lengths of the conjunctive arcs that end to the node 6 after the selection of the feasible move (1,6).



an amount of pheromone t[Oi0 jr0 , Oijr] which represents the desirability of including the conjunctive (directed) arc [Oi0 jr0 , Oijr] in the ant path (i.e., the desirability of processing the loading sequence Oi0 jr0 , Oijr to machine h);

ARTICLE IN PRESS 508



A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

an amount of pheromone t[Oijr, Oi0 jr0 ] which represents the desirability of including the conjunctive arc [Oijr, Oi0 jr0 ] in the ant path.

An ant produce a path which starts from dummy operation and ends at dummy operation * for each set Ehj. The length of the critical path is equal to the makespan(Sa) of the schedule Sa generated by an ant a. Two basic mechanisms drive ants in the path generation: the intensification and the diversification mechanisms. The intensification mechanism leads ants to select arcs in the vicinity of the current best path. On the other hand, the diversification mechanism is related to the capability of the colony to produce promising alternative paths. A proper integration of these mechanisms offers to the ants the capability to improve the current best solution. ACO implements the intensification and the diversification mechanisms by means of two main features: (i) move selection; (ii) pheromone updating. In a precursor ACO system, the so-called ant system (AS), the ant randomly selects the next arc in proportion to its desirability and updates the pheromone trail on the selected path in proportion to the path length. Recently, this random proportional rule has been improved by two main classes of ACO systems that offer further skills of intensification and diversification mechanisms: the Ant Colony System (ACS, [28]) and the MinMax Ant System (MMAS, [29]). An ACS allows the selection by means of a transition probability rule where a new parameter, termed cutting exploration, improves the intensification mechanism. After the selection of an arc, the ant deposit a negative amount of pheromone in order to favour the exploration of non visited arcs by the other ants of the colony (diversification mechanism). When a path is generated, the solution is taken to its local optimum by a local search routine. Hence, one ant only performs an off-line update rule of pheromone at the end of the epoch; generally this ant is that one which detects the best path. This intensification skills make more direct the exploration of the best nestfood path by the entire colony and the probability to select advantageous nodes to be visited increases. 4. The proposed ACS for FJS This section describes an ACS for FJS with routing flexibility and setup constraints. A number of original components of ACS are also proposed and a fine-tuning of some critical system parameters is performed. In all the experiments, the number of the ants of the colony is evaluated by means of placing each ant at each operation in the candidate list (i.e., ps ¼ n). A stop condition represented by the number ne of allowed epochs without improvement of the best solution is adopted (stability condition). Also, the adaptive parameter of cutting exploration proposed by Kumar et al. [27] is used. A complete description of the proposed system is reported in Appendix B.

4.1. Digraph representational model The digraph model is represented by the weighted disjunctive graph WDG [WE, where WDG ¼ ðN F ; A; E hj ; W N Þ (see Section 2.2) and WE are the weights on the disjunctive arcs. The weight on the disjunctive arcs (Oi0 j0 r0 , Oijr) of Ehj is represented by the two-dimensional array of n components each, WE(Oi0 j0 r0 , Oijr) ¼ (tp[Oi0 j0 r0 , Oijr], tp[Oijr, Oi0 j0 r0 ]), which includes the pheromone amount for selecting the feasible moves, respectively, [Oi0 j0 r0 , Oijr] or [Oijr, Oi0 j0 r0 ] in the position p of the loading sequence. 4.2. Path generation Path generation is achieved by the LS algorithm that drives an ant to visit the digraph model. In this way the ant is able to find the length of the critical path proceeds by the ant in O(kmn2) time. In order to support ACS, in move selection step of the LS procedure is used a transition probability rule and a local updating rule (see Appendix B). 4.3. Local search The proposed system adopts a state-of-art local search for job-shop scheduling, i.e. the neighbourhood structure proposed by Nowicki and Smutnicki [30]. This procedure is applied to the current best solution and consists into replace it with an improving solution found by Nowicki and Smutnicki algorithm. 4.4. Candidate list construction The allowed list includes all the operations that can be selected at a given construction step in order to achieve a feasible schedule. It can be restricted by considering an important class of active schedules (this class includes the optimal schedule): the non-delay schedules (i.e., schedules in which no machine is kept idle when it could start processing some operations). As not all optimal schedules are non-delay, the concept of parameterised non-delay (PND) schedules is used. PND consists of schedules in which no machine is kept idle for more than a predefined value d if it could start processing some operations O*; i.e. the starting time of a candidate operation O* verifies the following expression: stðO ÞpminOijr 2ALw stðOijr Þ þ d;

O 2 ALw .

(4)

In this paper, the following parametric value d(rf) is used dðrf Þ ¼

maxOijr 2ALw stðOijr Þ  minOijr 2ALw stðOijr Þ , rf

(5)

where rf is the restricted factor. If the restriction is maximum, i.e. rf ! þ1, the predefined value dðrf Þ tends to zero and it is obtain a non-delay schedule; on the

ARTICLE IN PRESS A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

4.5. Novel visibility function description The visibility function represents one of the two components that, together with the pheromone amount, guides move selection and hence it represents a critical component that influences system performance. Preliminary tests on the proposed system confirm that the earliest starting time (EST) dispatching performs better than the other classic dispatching rules [25]. Nevertheless, a promising heuristic which drastically differs from a classic dispatching rule is used in this paper: the precedenceordering average starting time (PAST) heuristic [21]. It is represented by a loss function obtained by comparing the starting times of a candidate operation and its lower bound obtained with a heuristic reasoning upon the routingprecedence-based schedule. In the routing-precedencebased schedule, all the operations which may be processed on the same pool are grouped on the basis of the related precedence constraint in the job-routing. The loading sequences on the machines of the same pool are achieved by the subsets of operations with balanced processing times. The lower bound for the starting time stj(r) of the rth operation in the job routing which must be processed on a machine of pool j, can be evaluated by the maximum stj(r1) by means of the following expression: Pn tij0 stj ð0Þ ¼ i¼1 , mj Pn   Pn tijr tizr ð7Þ stj ðrÞ ¼ maxz¼1;...;m stz ðr  1Þ þ i¼1 þ i¼1 . mz mj As a consequence, the visibility function for an operation Oijr can be defined by means of the following loss function:   tðOijr Þ  stj ðrÞ 2 f ¼ 1 , (8) lb

Performance comparison among different values of rf is accomplished by the following loss function: P ðmakespanrf ðS Þ  lbi Þ , (10) Lf ðrf Þ ¼ i2BV 13 where BV is the set which includes the 13 most difficult instances of job-shop scheduling according to Balas and Vazacopoulos [31]; makespanrf ðS  Þ is the makespan of the best solution achieved by using the parameter value rf ¼ rf0 . To test the restricted factor are used rf0 ¼ 2x, x ¼ 0; 1; 2; . . . ; 12. The other parameters are set as follows: b ¼ 2, r ¼ 0.1 and ne ¼ 2000. Fig. 4 shows the performance comparison achieved implementing the visibility function with EST and PAST heuristics. Fig. 4(a) shows that for each value of rf, PAST heuristic performs better than the alternative heuristic. It also shows that the values of rf higher than 1 and lower than 11 are better than the others. The performance of a visibility function also depends on its amplitude b. First, each heuristic is tested for the optimal value of rf; latter, the optimal configuration of each heuristic is compared with the alternative; seven 125

124.2 PAST visibility

110



103

EST visibility

95 85

Lf

(6)

4.6. Visibility functions comparison

76.4

80

70.6

73.4

72.1

ZðOijr Þ ¼

2 1  lb  tðOijr Þ þ stj ðrÞ . 3 lb

(9)

67 68.7

66.3

67.3

64.8

74.4

69.9 68.1 68.8 68

72.2

74.2

11

12

50 1

2

3

4

5

6

7

(a)

8

9

10

rf 12

11.2

11 10.75 7.7

8 6.2

5.8

6

5.1 4.7

5

9.25

8.95

8.75

9

6

6.05

4.75 4.85

5.15

6.65

8.2

6.9

5.4

6.25

6.55

5.85 4.65

4.55

3 1

2

3

4

5

(b)

6

7

8

9

10

11

12

rf 124.8

125 110 Lf

where lb is a lower bound for the minimum makespan (if the optimal value is unknown, lb can be evaluated, for example, as the maximum stj(m+1), j ¼ 1,y,m). The loss function f ranges in [0,1] and it presents a maximum when an operation is selected and the difference from its lower bound is the lowest. The PAST visibility function is achieved by normalising function (8) with respect to the pheromone amount, which ranges in [t0, lb1]. Thereby, the following PAST visibility function is adopted:

71.3

66.8

66.8 64.1 64.9

65

average Lf rank for benchmark

contrary, if rf is set to more than 0, the property of the nondelay schedule is relaxed; finally, if rf ¼ 0 the candidate list does not differ from the allowed list, i.e. no restriction is achieved (CLw ¼ ALw). To sum up, the following candidate list is used:   CLW ¼ O 2 ALjstðO ÞpminOijr 2ALw stðOijr Þ þ dðrf Þ .

509

95 82.6

80 65

73.8 61.1

63.6 56.4

66.5 61.9

71.1 69.5

69.2

59.7

58.8

50 0 (c)

0.25

0.5

1

2

4

8

β

Fig. 4. Comparison of PAST and EST visibility functions: (a) loss function Lf vs. rf; (b) average of Lf ranks vs. rf; (c) loss function Lf vs. b.

ARTICLE IN PRESS 510

A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

values of amplitude of the visibility function are tested: b0 ¼ 0 and b0 ¼ 2x2, x ¼ 1,y,6. The first step is accomplished by means of the ranks of the values returned by the loss function (10). Fig. 4(b) shows the diagram of the average rank of Lf vs. rf achieved by using EST and PAST. The ranks are achieved per problem instance for each rf value. The minimum of the loss function is achieved for rf ¼ 6, in the case of EST, and rf ¼ 3, in the case of PAST. Thereby these two alternative configurations are compared vs. b. Fig. 4(c) shows that PAST heuristic performs better than the alternative heuristic again. Better values of the amplitude of the visibility function range between 0.25 and 1. Further experiments were performed to fine-tune the parameters b and r. In general, values of b and r, respectively, greater than 0.3 and ranging between 0.1 and 0.2 are preferable; the proposed system uses b ¼ 0.4 and r ¼ 0.12.

equipments per machine type, Fj ¼ z, j ¼ 1,y,5, z ¼ 1, 2, 5, 10 with fij ¼ i module z. The processing times are achieved by reducing of 10%, 20%, 30% and 40% the original times of la03; this reduction in time is applied to the lag time (lag_times_rate). SI activity includes maximum transportation times (SI_rate) equal to 10% and 25% of the lag_times_rate. The results obtained with the proposed procedure are subsequently compared with the results obtained with the most considerable procedures found in literature. The following heuristics for FJS are considered:

  

5. Computational experiments, results and applications The performance of the proposed system is compared through standard benchmarks for FJS with:

 

(a) other ACO systems; (b) heuristics for FJS performed in the case of routing flexibility; (c) lower bound of benchmark problems, considering the general problem with both routing flexibility and separable setup. In the cases (a) and (b), the stability condition of ne ¼ 2  104 epochs is used. The problem instances belong to the following datasets: (i) Colorni, Dorigo, Maniezzo and Trubian (CDMT dataset): 4 job-shop scheduling problems which include the well-known 10  10 (ft10) and 10  15 (la21) problems; the other problems are orb1 and orb4 (10  10) from Applegate and Cook [32]; (ii) Replicate Lawrence (RL dataset): 110 problems which include the first 35 classic problems from Lawrence dataset; the other 70 problems are achieved by duplicating the 35 classic problem (FJS-2RR), tripling (FJS-3RR) and quadruplicating (FJS-4RR) the first 15 problems from Lawrence dataset; each replication FJS-kRR of Lawrence instances entails k replications of each original machine and k replications of each original job [16] (each problem can be seen as a batch of k products each consisting of n parts to process on k parallel machines of m types; batch or system decomposition is not allowed). (iii) General Problem (GP dataset): 64 instances related to a challenging problem of the RL dataset: la03 with its triplicate version (n ¼ 10, m ¼ 5, k ¼ 3). For each la03 and its triplication, 4 scenarios are proposed; they are related to the following 4 groups of dedicated



CDMT-AS: the precursor algorithm for job-shop scheduling by Colorni et al. [26]; KTS-AS+: the ant system improved with adaptative cutting exploration for FMS scheduling with sequencedependent setup times by Kumar et al. [27]; BS-MMAS*: the MMAS for shop scheduling problem by Blum and Sampels [25] (no hybridisation with tabu search is considered); RD-GA: the genetic algorithm for FJS-kRR proposed by the authors [16,21]; GT-BDDR: LS algorithm with the best dynamic dispatching rule used for move selection among the following: SPT, LPT, FIFO, LIFO, EST, EFT, MWR (Most Work Remaining) and Random; RD-ACS: the ant colony system proposed in this paper.

The CDMT dataset was proposed to test the performance of the precursor CDMT-AS and it is taken for intraACO comparison. The RL dataset is used for heuristic comparison only in the case of routing flexibility. Finally, the GP dataset is generated to compare the performance of the proposed system upon the general problem. The difficulty to optimally solving GP instances is progressively enhanced by increasing k and by introducing increasing rates of sequence-dependent setup times (z ¼ 2, 5). The results of CDMT-AS are taken in reference [26] whilst all the others systems are implemented in Visual C++ and run on an AMD Athlon XP 2800 with 512 MB of memory. 5.1. Performance comparison by means of CDMT dataset Table 1 shows the results concerning average makespan and CPU time (s) of five runs. The mean relative error (MRE%) is also reported. CDMT-AS proves to be 1015 and 1177 for the 10  10 and 10  15 problems with MRE of about 10%. The KTS-AS+ improves only the solution of one problem with respect CDMT-AS. The BS-MMAS* increases in performance with respect to the aforementioned ant systems and obtains an average relative error of 6.3%. The proposed system achieves an MRE of 3.7% improving by about 3% the performance of BS-MMAS*; it achieves a makespan of 954 for ft10 and 1088 for la21. The CPU time is quite similar to BS-MMAS* and

ARTICLE IN PRESS A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

511

Table 1 Results of the compared ACO systems using the CDMT dataset Instances

ft10 orb1 orb4 la21 MRE

opt

n

930 1059 1005 1046 0

m

10 10 10 15

10 10 10 10

CDMT-AS

KTS-AS+

1015 1166 1077 1177 9.8

BS-MMAS*

RD-ACS

Makespan

Time (s)

Makespan

Time (s)

Makespan

Time (s)

1029 1160 1127 1182 11.3

2226 2880 2124 18690 6480

976 1147 1052 1118 6.3

408 360 558 2436 940.5

954 1111 1036 1088 3.7

630 1524 468 2028 1162.5

Table 2 Results of the compared FJS-PM systems using the RL dataset Instances

n

m

la01–la05

10

5

la06–la10

15

5

la11–la15

20

5

la16–la20

10

10

la21–la25

15

10

la26–la30

20

10

la31–la35

30

10

Average

k

1 2 3 4 1 2 3 4 1 2 3 4 1 2 1 2 1 2 1 2

GT-BDDR

RD-GA

RD-ACS

MRE

Time (s)

MRE

Time (s)

MRE

Time (s)

14.9 13.2 14.9 13.6 12.4 22.8 24.9 25.4 7.5 17.6 20.2 20.3 18.8 20.2 32.4 33.9 32.9 31.2 20.0 19.6

0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

2.3 11.4 14.8 15.4 1.2 2.5 7.2 10.8 2.1 2.8 9.6 11.0 10.6 15.3 18.4 24.5 17.9 24.5 10.3 12.4

18 132 264 572 0 137 358 599 6 158 421 922 79 247 130 512 202 587 281 1094

0.6 3.1 5.1 6.4 0.0 0.1 1.1 2.2 0.0 0.4 1.6 2.2 0.8 1.7 3.3 5.7 4.2 7.6 0.0 0.8

43 582 929 2495 0 860 2479 5799 2 1320 3718 7684 194 1396 804 5012 2475 11731 1274 23577

20.8

0

11.3

improves by about 6 times the result obtained by KTSAS+. Thus, the superiority of the proposed approach in comparison with other ACO approaches for job-shop scheduling is proved. 5.2. Performance comparison by means of RL dataset Table 2 shows the results related to the RL dataset concerning MRE and the average CPU times. In this table the results are grouped according to the problem size (n, m and k). The dispatching rules-based approach, GT-BDDR, offers a real-time response but, in general, produces high errors that range between 12% and 34%. Generally, this approach offers a similar performance with respect to the number of multi-identical machines. The genetic algorithm RD-GA shows an increase in performance with respect to the dispatching rules based approach, obtaining an MRE which ranges between 1% and 20%. The proposed system obtains a maximum MRE which is lower than 8% and

336.0

2.34

3618.7

optimally solves 3 groups of instances (i.e., MRE ¼ 0). The following considerations are supported by the results of Table 2: (i) MRE is 10 times lower than that one achieved by GTBDDR and 5 times with respect RD-GA; (ii) the proposed system achieves the lowest MRE in all the groups; (iii) CPU time is 10 times upper than that achieves by RDGA. Table 3 shows the complete results obtained by the proposed system in all the instances of RL dataset after 2  103, 104 and 5  104 epochs. The proposed system is able to solve 20 of the 40 classic Lawrence instances. The number of instances solved increases with the number of epochs (respectively, 14, 19 and 20). Also, the proposed system is able to solve to the optimality 10 instances for k ¼ 2 and one instance for k ¼ 3. The returned results after

ARTICLE IN PRESS A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

512

Table 3 Complete results obtained by the proposed system using: (i) Lawrence dataset after 2  103, 104 and 5  104 epochs; (ii) RL dataset after 5  104 epochs Instances

la01 la02 la03 la04 la05 la06 la07 la08 la09 la10 la11 la12 la13 la14 la15 la16 la17 la18 la19 la20 la21 la22 la23 la24 la25 la26 la27 la28 la29 la30 la31 la32 la33 la34 la35 la36 la37 la38 la39 la40

opt

666 655 597 590 593 926 890 863 951 958 1222 1039 1150 1292 1207 945 784 848 842 902 1046 927 1032 935 977 1218 1235 1216 1153 1355 1784 1850 1719 1721 1888 1268 1397 1196 1233 1222

n

10 10 10 10 10 15 15 15 15 15 15 15 15 15 15 10 10 10 10 10 15 15 15 15 15 20 20 20 20 20 30 30 30 30 30 15 15 15 15 15

m

5 5 5 5 5 5 5 5 5 5 5 5 5 5 5 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 10 15 15 15 15 5

k¼1

K

Epochs number

Epochs number ¼ 5  104

2  103

104

5  104

2

3

4

666 665 604 611 593 926 890 863 951 958 1222 1039 1150 1292 1212 978 792 861 862 907 1134 992 1032 988 1042 1281 1324 1308 1301 1405 1784 1853 1719 1751 1891 1349 1481 1307 1304 1296

666 665 603 601 593 926 890 863 951 958 1222 1039 1150 1292 1207 974 787 848 852 907 1091 986 1032 976 1036 1267 1318 1290 1259 1377 1784 1850 1719 1721 1888 1321 1466 1289 1291 1273

666 665 597 598 593 926 890 863 951 958 1222 1039 1150 1292 1207 961 787 848 852 907 1088 986 1032 970 1003 1252 1299 1289 1241 1358 1784 1850 1719 1721 1888 1314 1466 1289 1291 1273

666 689 633 616 593 926 895 863 951 958 1222 1039 1150 1292 1230 973 794 865 850 912 1122 1004 1033 990 1050 1268 1338 1323 1317 1400 1787 1855 1725 1765 1901 1390 1479 1284 1318 1279

683 695 655 629 596 930 920 871 956 960 1224 1068 1154 1292 1263 — — — — — — — — — — — — — — — — — — — — — — — — —

694 704 658 643 599 947 926 872 966 976 1239 1069 1173 1293 1267 — — — — — — — — — — — — — — — — — — — — — — — — —

Optimal results are typed in bold.

5  104 epochs are equal to that one obtained with the stability condition ne ¼ 2  104. Finally, a more accurate analysis of data of Tables 2 and 3 shows that, already after 2  103 epochs, the proposed system finds solutions better than RD-GA with ne ¼ 2  104. As a consequence the proposed approach improves both makespan and CPU time (see point (iii)) with respect RD-GA.

with routing flexibility (k ¼ 3). The FMS is made up of the following elements:

5.3. Performance comparison by means of GP dataset



Fig. 5 shows an example of FMS layout. It is an openring FMS layout to support la03 instance (n ¼ 10, m ¼ 5)

Although MHS can have a variable speed in order to assume transportation times as a part of the processing

   

buffers of inputs to the system (IB); material handing system (MHS); inter-operational storages for each machine types (IS); k ¼ 3 parallel workstations of m different types (G,I, H,L,M) equipped with input and output buffers and loading/unloading device; buffers of outputs from the system (OB).

ARTICLE IN PRESS A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

H1

H2

513

H3

ISH MHS

ISM

ISI

M1

I1

M2

I2

M3

I3

ISG ISL

L1

G1

L2

G2

L3

G3

OB

IB

G, I, H,L, M = Machines types; MHS

= Material Handling System

IS

= Interoperational Storage

IB,OB

= Input and Output Buffers

Fig. 5. An open-ring FMS layout for the triplicate la03 instance (n ¼ 10, m ¼ 5, k ¼ 3).

time (i.e., independent from the FMS layout), the transportation times usually depend on the distance among IS, IB and OB. In this section, an equal distance between these elements is assumed. The maximum transportation time (route IB-G or M-OB) is evaluated by means of the operation of la03 with the maximum SI-rate. In order to

compare the performance, it is possible to show that the lower bound for the minimum makespan is achieved by means of the following expression: F X lb ¼ 597ð1  lag_times_rateÞ þ minOij ;f ij ¼z tðzÞ, (11) z¼1

ARTICLE IN PRESS A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

514

where the number 597 represents the optimal solution of la03. Initially, the system performance without routing flexibility (k ¼ 1) is considered. The stability condition of ne ¼ 5  104 used by the proposed system to optimally solve la03 (see Table 3) is also used in this experiments. Table 4 shows the results for k ¼ 1. When only the transportation times are introduced in the system (Fj ¼ 1, j ¼ 1; . . . ; 5), the MRE is lower than 6% for all the benchmarks. Introducing low (Fj ¼ 2) and high (Fj ¼ 5) rates of sequence-dependent setup times, the MRE becomes about, respectively, 2.5 and 5 time higher. This fact is due to the exponentially increasing of the setup sequences within a loading sequence. When only sequenceindependent setup times are present (Fj ¼ 10), the MRE is similar to that of the low rate of sequence-dependent setup times. In all the benchmarks the MRE increases when the lag time rate increases. No substantially difference in performance is present among the considered values of transportation time rate within the lag time rate. Furthermore, the system performance for the problem with routing flexibility (k ¼ 3) and separable setup times is evaluated. Tables 5 and 6 show, respectively, results and MRE. When the transportation times are only introduced

in the system, the MRE is close to 15%. Introducing low and high rates of sequence-dependent setup times and the MRE become about, respectively, 2 and 3 time higher. When the sequence-independent setup times are only present, the MRE achieves a slight increase in performance with respect to Fj ¼ 5. A minor difference in performances is present among the different values of transportation time rate for the cases of sequence-dependent setup: the system

Table 6 Relative error of the proposed method for the open-ring FMS layout to support la03 instance with both routing flexibility (k ¼ 3) and separable transportation and sequence-dependent setup times k¼3

Fj (number of setup) 1

2

5

10

SI_rate (rate of transportation time within lag time) Lag time rate 10

25

10

25

10

25

10

25

10 20 30 40

0.135 0.145 0.153 0.167

0.162 0.199 0.274 0.353

0.151 0.203 0.248 0.334

0.179 0.234 0.317 0.434

0.173 0.225 0.298 0.385

0.164 0.216 0.265 0.379

0.162 0.217 0.267 0.351

0.128 0.133 0.143 0.146

Table 4 Results of the proposed system in comparison with the lower bound evaluated by the expression (11) considering the open-ring FMS layout to support la03 instance (n ¼ 10, m ¼ 5, k ¼ 1) with separable transportation and sequence-dependent setup times k¼1

Fj (number of setup) 1

2

5

10

SI_rate (rate of transportation time within lag time) Lag time rate

10

10 20 30 40

541.2 493.3 442.1 382.9

25 (539.2) (481.4) (423.6) (365.8)

550.5 498.0 437.1 384.4

10 (538.9) (480.8) (422.6) (364.5)

561.7 524.3 462.9 412.2

25 (540.6) (483.0) (426.0) (369.0)

560.4 521.1 437.1 420.3

10 (539.5) (482.1) (424.6) (367.2)

584.0 571.1 570.1 529.3

25 (544.6) (492.2) (439.7) (387.4)

577.1 563.8 546.8 517.5

10 (543.4) (489.8) (436.1) (373.5)

591.0 586.9 609.7 595.3

25 (550.4) (513.4) (471.6) (429.8)

583.2 574.0 557.6 552.2

(552.2) (507.5) (462.7) (417.9)

Table 5 Results of the proposed system in comparison with the lower bound evaluated by the expression (11) considering the open-ring FMS layout to support la03 instance with both routing flexibility (k ¼ 3) and separable transportation and sequence-dependent setup times k¼3

Fj (number of setup) 1

2

5

10

SI_rate (rate of transportation time within lag time) Lag time rate

10

10 20 30 40

608.2 545.3 484.2 419.4

25 (539.2) (481.4) (423.6) (365.8)

611.5 550.6 487.3 425.8

10 (538.9) (480.8) (422.6) (364.9)

627.5 579.0 542.7 499.3

25 (540.0) (483.0) (426.0) (369.0)

621.2 579.8 529.8 490.5

10 (539.5) (482.1) (424.6) (367.8)

642.3 607.4 579.2 555.7

25 (544.6) (492.2) (439.7) (387.4)

637.6 600.0 566.2 517.5

10 (543.4) (489.8) (436.1) (373.5)

644.0 619.5 589.2 581.7

25 (553.2) (509.5) (465.7) (421.9)

639.9 613.3 579.7 555.8

(550.6) (504.1) (457.7) (411.3)

ARTICLE IN PRESS A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

tends to performs better in high rates. This could be achieved by the skill of the system of effective overlap a large amount of transportation and setup times. As a consequence, the proposed scheduling system is effective for the policy to reduce setup costs. In order to better analyse the results, it has to be noted that the triplicate la03 problem is solved by the proposed system with MRE ¼ 0.097 (655 has been found). Hence, it is expected that in the case of routing flexibility the MRE increases of about 10% with respect to that one achieved in the case of k ¼ 1. Nevertheless, in the critical cases of high rate of sequence-dependent setup times and high lag time rates, the system performance is very close to that one achieved without routing flexibility. 6. Conclusions This paper proposes an ant colony optimisation which represents a challenging approach to the scheduling of FMSs including alternative machine tools, setup and transportation times. A number of innovative skills are present in the paper. The first is an approach based on the disjunctive graph model and a LS algorithm. They are able to support jobshop scheduling with transportation and setup times and integrate them with the selection of alternative machine tools per operation. The second feature is the pheromone trail structure that is based on the aforementioned disjunctive graph model. Finally, two original components, the routing-precedence-based visibility function and the method to approximate non-delay schedules are introduced to improve the performance when compared with other systems. The system is very effective to solve the FMS scheduling with a high variety of parts and products which generally include a high number of sequence-dependent setup activities. Moreover, it is more able to tackle stagnation and to offer a real-time performance with respect to the compared GA-based system. The system is able to support a wide range of FMS layouts and material-handling systems, although the proposed application is related to the discrete material-handling device. Future work will be directed along two main directions: (i) allowing the system to support operation flexibility (FMS planning and scheduling integration); (ii) increasing computing speed for real-time response behaviour in dynamic scheduling applications. Appendix A. List Scheduler algorithm for FJS-kPM with separate setup times Input: WDG for each w ¼ 1 to n  m do 1. Inizialization of Candidate Nodes: build the allowed list ALw for the current step w; ALw includes the first unscheduled operation of each job routing;

515

2. Restriction: restriction of the allowed list by means of optimality criteria (i.e. active or non-delay schedule); let the candidate list CLw be the restricted allowed list; 3. Inizialization of Feasible Moves: mark as feasible move each disjunctive arc which connects a candidate operation to the last operation of the loading sequence denoted by the same kind of arc (it makes the possibility that the candidate operation becomes the new last operation of that loading sequence); 4. Move Selection: select a feasible move by means of directing the related disjunctive arc; the candidate operation connects to this arc becomes scheduled; i.e. the new last operation of that loading sequence; analogously, the related machine is termed scheduled machine; 5. Arc Removing: let O be the node where the selected move starts from; remove all the remaining disjunctive arcs connected to O (i.e. no other operation can be immediately subsequent to O in the loading sequence); remove all the remaining disjunctive arcs of unscheduled machines connected to the scheduled operation (i.e. no other loading sequence can include the operation); 6. Computing length: the length of the directed arc is evaluated as the sum of processing and lag times of the scheduled operation by means of expression (1) where tA ¼ tðOij;r1 Þ; also, this length is placed on the arc of the job routing (arc of A) which end to the scheduled operation; 7. Completion time evaluation: the completion time is evaluated by means of the longest path between that one connected to the directed arc and that one connected to the arc of the job routing; the completion time is placed as a mark of the scheduled operation; end for 8. Directing the remaining disjunctive arcs (this arcs are connected to the dummy operation *). Output: the schedule S (i.e. CG with the completion times of the operations). Appendix B. Transition probability function and local updating rule At each construction step w, an ant selects the next move Z from the set of the feasible moves, by means of the transition probability which is a function of both the visibility function Z and the amount of pheromone tp on the related arc (in order to insert it in the current location p of the loading sequence): (   arg maxOijr 2CL tp ðOi0 jr0 ; Oijr ÞZðOi0 jr0 ; Oijr Þ if qpq0 ; Z¼ J if q4q0 ; (B.1) where q is a random number which ranges in [0,1] and q0 is the cutting exploration parameter (0pq0 p1). If q is higher than q0, the feasible move J is selected according to the

ARTICLE IN PRESS 516

A. Rossi, G. Dini / Robotics and Computer-Integrated Manufacturing 23 (2007) 503–516

random proportional rule of AS: Pa ðJÞ ¼ P

tp ðJÞa ZðJÞb 0 a 0 b O0 2CLw tp ðOijr ; O Þ ZðOijr ; O Þ

;

where a ¼ 1. (B.2)

The role of cutting exploration is to find a compromise between the random proportional rule and a mechanism of exploring near the best path. Cutting exploration by tuning the parameter q0 near 1 allows the activity of the system to concentrate on the best solutions (exploitation activity), whereas, when q0 is close to 0, all the solutions are examined (exploration activity). After selecting the move M, the ant applies the local updating rule which imposes of laying on the arc the following negative amount of pheromone: tp ðMÞ ¼ ð1  rÞtp ðMÞ þ rt0 ,

(B.3)

where the parameter r is the evaporation coefficient, 0prp1, and t0 is a small positive constant which is initially deposited on all the arc of the digraph. The amount of pheromone which remains on a selected edge decreases because the expression (c) is a convex combination of the points, tp(M) and t0. The off-line pheromone update rule determines the amount of pheromone deposits by the best ant Sb at the end of each epoch. The amount of pheromone deposited is proportional to the path length, by means of the following convex combination of parameter r: tp ðMÞ ¼ ð1  rÞtp ðMÞ þ r makespanðS b Þ1 ;

M 2 Sb . (B.4)

The expression (d) plays the role of pheromone decay in the path related to the poor best-epoch solutions. On the contrary, when makespanðSb Þ1 4tp ðMÞ, a positive amount of pheromone is laid. References [1] Stecke KE, Raman N. FMS planning decision, operating flexibilities and system performance. IEEE Trans Eng Manage 1995;42:82–90. [2] Allahverdi A, Guptab JND, Aldowaisan T. A review of scheduling research involving setup considerations. Omega-Int J Manage S 1999;27:219–39. [3] Brucker P, Schlie R. Job-shop scheduling with multi-purpose machines. Computing 1990;45:369–75. [4] Blazewicz J, Finke G, Haupt R, Schmidt G. New trend in machine scheduling. Eur J Op Res 1988;37:303–17. [5] Grieco A, Semeraro Q, Tolio T. A review of different approaches to the FMS loading problem. Int J Flex Manuf Sys 2001;13:361–84. [6] Suri R, Desiraju R. Performance analysis of flexible manufacturing systems with a single discrete material-handling device. Int J Flex Manuf Sys 1997;9:223–49. [7] Garey MR, Johnson DS, Sethi R. The complexity of the flowshop and jobshop scheduling. Math Oper Res 1976;1:117–29.

[8] Jain AS, Meeran S. Deterministic Job shop scheduling; past, present and future. Eur J Op Res 1999;113:390–434. [9] Blazewicz J, Domschke W, Pesch E. The job shop scheduling problem: conventional and new solution techniques. Eur J Op Res 1996;93:1–33. [10] Nabeshima I, Maruyama S. Two- and three-machine flowshop makespan scheduling problems with additional times separated from processing times. J Oper Res Soc Japan 1984;27:348–66. [11] Yang DL, Chern MS. Two-machine flowshop group scheduling problem. Comput Oper Res 2000;27:975–85. [12] Ivens P, Lambrecht M. Extending the shifting bottleneck procedure to real-life applications. Eur J Op Res 1996;90:252–68. [13] Roy B, Sussmann B. Les Proble`mes d’Ordonnancement Avec Contraintes Disjonctives. Note DS No. 9 bis, SEMA, Montrouge, 1964. [14] Artigues C, Roubellat F. A Petri net model and a general method for on and off-line multi-resource shop floor scheduling with setup times. Int J Prod Econ 2001;74:63–75. [15] Hurink J, Knust S. Tabu search algorithms for job-shop problems with a single transport robot. Eur J Op Res 2005;162:99–111. [16] Rossi A, Dini G. An evolutionary approach to complex job-shop scheduling and flexible manufacturing system scheduling. J Eng Manuf—Part B 2001;215:233–45. [17] Bonabeau E, Dorigo M, Theraulaz G. Inspiration for optimization from social insect behaviour. Nature 2000;406:39–42. [18] Barnes JW, Chambers JB. Flexible job shop scheduling by Tabu search. Technical report series ORP 96-09. Department of Mechanical Engineering, University of Texas at Austin, 1996. [19] Dauze`re-Pe´re`s S, Paulli J. An integrated approach for modelling and solving the general multiprocessor job-shop scheduling problem using Tabu search. Ann Oper Res 1997;70:281–306. [20] Mastrolilli M, Gambardella LM. Effective neighborhood functions for the flexible job shop problem. J Sched 2000;3:3–20. [21] Rossi A, Dini G. Dynamic scheduling of FMS using a real-time genetic algorithm. Int J Prod Res 2000;38:1–20. [22] De Almeida D, Kellert P. An analytical queueing network model for flexible manufacturing systems with a discrete handling device and transfer blockings. Int J Flex Manuf Sys 2000;12:25–57. [23] Brucker P, Thiele O. A branch & bound method for the general-shop problem with sequence dependent setup-times. OR Spektrum 1996; 18:145–61. [24] Giffler D, Thompson GL. Algorithms for solving production scheduling problems. Oper Res 1960;8:487–503. [25] Blum C, Sampels M. An ant colony optimization algorithm for shop scheduling problem. J Math Model Algorithm 2004;3:285–308. [26] Colorni A, Dorigo M, Maniezzo V, Trubian M. Ant system for job-shop scheduling. Belg J Oper Res, Stat Comput Soc 1994;34: 39–53. [27] Kumar R, Tiwari MK, Shankar R. Scheduling of flexible manufacturing system: an ant colony optimization approach. J Eng Manuf— Part B 2003;217:1443–53. [28] Dorigo M, Gambardella LM. Ant colony system: a cooperative learning approach to the traveling salesman problem. IEEE T Evolut Comput 1997;1:53–66. [29] Stutzle T, Hoos HH. MAX-MIN ant system. Future Gener Comp Sys 2000;16:889–914. [30] Nowicki E, Smutnicki C. A fast Taboo search algorithm for the job shop problem. Manage Sci 1996;42:797–813. [31] Balas E, Vazacopoulos A. Guided local search with shifting bottleneck for job shop scheduling. Manage Sci 1998;44:262–75. [32] Applegate D, Cook W. A computational study of the job-shop scheduling problem. ORSA-J Comput 1991;3:149–56.