ARTICLE IN PRESS
Robotics and Computer-Integrated Manufacturing 23 (2007) 234–241 www.elsevier.com/locate/rcim
Tsp-based scheduling in a batch-wise hybrid flow-shop P. Caricato, A. Grieco, D. Serino Dipartimento di Ingegneria dell’Innovazione, Universita` di Lecce, Via Arnesano, Ed. La Stecca, 73100 Lecce, Italy Received 18 January 2005; received in revised form 11 October 2005; accepted 16 December 2005
Abstract In the past few years, flexible production systems have allowed an extensive exploitation of new technologies, but have also led to new difficulties in production planning management science. The model presented in this paper extends the traditional HFS (hybrid flowshop) scheduling problem to the case in which jobs are due to follow strict precedence constraints and batch assignment constraints and the parallel machines at a stage are served by a bottleneck machine. A variant of the well-known TSP problem is used to develop an efficient heuristic solution for the problem. The effectiveness of the proposed approach is validated through a comparison with different heuristics traditionally used in HFS scheduling problems. Furthermore, a simple insertion heuristic based on the TSP model of the problem is tested. Finally, a MIP-based approach is also explored to provide the optimum solutions within much larger times for comparison. r 2006 Elsevier Ltd. All rights reserved. Keywords: Scheduling; Flow-shop; Batch; TSP
1. Introduction The hybrid flow-shop (HFS) scheduling problem has been widely discussed in the literature and has many industrial applications: an exhaustive review can be found in [1]. An HFS scheduling problem is a classical flow-shop in which parallel machines are available to perform the same operation. It can be briefly described as follows: a set of jobs has to be processed on a set of processing centers. Each center includes a set of parallel identical machines. Each job consists of a sequence of operations processed at successive centers and all jobs pass through centers in the same order. There is no distinction between machines in a center; hence, any machine at each center may process a job. The scheduling problem that leads to the minimum makespan tends to be NP-hard in general [2], with very few notable exceptions, even when the machines at each stage are identical and there are no more than two machines in any stage. Therefore it cannot be usually solved in
Corresponding author. Tel.: +39 0832 297251; fax: +39 0832 297279.
E-mail addresses:
[email protected] (P. Caricato),
[email protected] (A. Grieco),
[email protected] (D. Serino). 0736-5845/$ - see front matter r 2006 Elsevier Ltd. All rights reserved. doi:10.1016/j.rcim.2005.12.004
reasonable times when dealing with actual production planning problems. It may be seen in the literature [3] that most of the researchers consider two-stage HFS scheduling problems. They propose heuristic approaches. Most of them consist in two phases: in the first phase, they build a sequence, often by using Johnson’s rule inside a modified classical flow-shop; in the second phase, they use this sequence to build job subsequences on the different machines of both stages. For the k-stage HFS scheduling problems, researchers use either a classical operations research approach: mixed-integerlinear-programming, branch and bound on the general problem or on a restrictive set of solutions called ‘permutation schedules’ [4], or local search methods: tabu search or simulated annealing approaches. Exact algorithms have been presented in the literature for special cases with strict limitations on the system layout such as in [5]. Similar systems have also been modeled as asymmetric polling systems, in which a machine alternatively serves different clients. Using the traditional queue theory, some interesting performance measures have been achieved from such an approach; a thorough analysis of asymmetric polling systems is conducted in [6]. However, this approach can only be applied to steady-state systems such as
ARTICLE IN PRESS P. Caricato et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 234–241
telecommunication networks, where jobs are identical, infinite and can be modeled through Poisson arrival times or similar statistical approaches. These models concentrate on studying already existing systems and are inadequate when dealing with a finite, already known and available number of jobs at system start-time. This paper focuses on a variant of the HFS problem, in which the jobs to be processed are grouped into predefined, ordered batches. A TSP-based approach is used to model the system and to obtain good solutions for the scheduling problem even in large cases that would be untractable using an exact approach. In Section 2, the considered problem is deeply analyzed. In Section 3, the TSP-based approach to the problem is introduced, along with the proposed heuristic algorithm. In Section 4, possible alternative heuristics and exact approaches are summarized. In Section 5, industrial test cases are presented and solved using the previously analyzed possible approaches, proving the effectiveness of the proposed method. Section 6 presents final conclusions and further developments. 2. Problem statement The problem presented in this paper extends the HFS scheduling problem to cover the case in which the system’s behavior is hardly influenced by a batch organization of jobs. We consider a two stage system, in which the first stage is parallel and includes two identical machines, while the second one is a bottleneck stage, including only one machine that serves jobs from the preceding stage according to a strict round-robin discipline. The presence of a shared bottleneck machine determines idle times that cannot be forecasted independently of the sequence followed by the jobs entering the system. These idle times can be thought of as setup times that depend on the particular sequence of jobs that have been processed. The objective is to minimize the makespan, i.e. the overall time needed to process all jobs on both stages. In the modeled system, each job is supposed to be assigned to a pre-defined batch and the job working sequence within each batch is known and assigned. Once the first job of a batch has been assigned to a particular machine in the first, parallel stage, the next jobs to be scheduled on that machine must be the following ones of the same batch, according to the order they have within the batch. These constraints make identical parallel machines not undistinguishable in terms of jobs scheduling. Conventional, mathematical methods based on linear programming formulations presented in HFS scheduling literature cannot be effectively applied to model the depicted system. Indeed, such an approach may be followed in theory, but a mathematical model would rapidly become untractable with growing problem dimensions. Such an approach has been adopted in [7] and its limits have been shown.
235
Other approaches used to solve similar HFS problems cannot be applied because of the pre-defined batch organization of jobs. Batch organization is indeed considered in previous works on HFS, but all previous works assume one of the following hypothesis: batches are not pre-defined: batch formation is one of the objectives to be pursued, in order to take advantage of similarities between certain jobs; jobs are grouped into pre-defined batches, made up of jobs that are identical in terms of processing times. Both assumptions cannot be held in the problem we deal with this paper. 3. A TSP approach to the problem The studied problem can be thought of as a variant of the standard HFS scheduling problem, in which history dependent setup times are to be considered. A set of n jobs are to be scheduled on a set of m machines: each job has the same routing throughout the system. All jobs are available at start time and have no due date. Jobs are grouped into ordered batches: each job has a certain position within its batch and has to be processed according to this order. Once the first job of a batch enters the system, the entire batch has to be processed on the parallel machine selected by the first job, before any other batch can use this machine. Once a job starts to be processed on the bottleneck machine, the following job within the same batch can start being processed in the first stage (no-wait, jobs availability). Job processing times are supposed to be exactly known. Hence, overall completion time depends on the idle times determined by the particular sequence followed by the batches (and hence jobs) entering the system. Idle times determined by a particular job sequence at a certain time can be thought of as a history (or sequence) dependent setup time for the next entering job. The objective is to minimize the overall completion time (makespan). Such a problem can be effectively analyzed using TSP. A thorough analysis of the TSP can be found in [8]. Shortly, it may be defined as follows: let G ¼ ðV ; AÞ be a graph, where V ¼ fv1 ; . . . ; vn g is the vertex set and A ¼ fðvi ; vj Þ : vi ; vj 2 V g is the arc set. With each arc ðvi ; vj Þ is associated a nonnegative cost cij . The TSP consists of finding the least cost circuit passing through each vertex exactly once, starting from a given start vertex. Such a circuit is said to be Hamiltonian. The problem is symmetric if and only if 8i; j : cij ¼ cji . It satisfies the triangle inequality if and only if 8i; j; k : cij þ cjk Xcik ; a particular case is that of Euclidean problems, in which arc costs correspond to Euclidean distances. Each batch can be modeled as a vertex. The sequence followed by the batches entering the system hence represents a tour among vertices. The start vertex can be
ARTICLE IN PRESS 236
P. Caricato et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 234–241
thought of as a fake vertex, not associated with any batch, directly connected to each other true vertex. Furthermore, unlike standard TSP, no pre-defined cost matrix can be provided with the graph because no cost can be uniquely associated with each arc: the cost to be associated with each arc can be evaluated only within the particular tour it is part of. In particular, in standard TSP, the cost cij of a generic arc ði; jÞ can be expressed as the difference between the cost of any tour terminating with the two nodes i and j and the cost of the same tour terminated at node i. We can use this property to define the cost associated to any arc ði; jÞ in our problem as well. However, since the cost associated with a generic tour i1 ; i2 ; . . . ; ik is the makespan provided by the modeled system when the entire batch sequence i1 ; i2 ; . . . ; ik is given to it as an input, the cost associated with any arc ði; jÞ belonging to the selected sequence will vary in dependence of the tour used to define it. Hence, in the considered problem, a cost cij , uniquely associated with an arc, cannot be defined; it can be rather defined a cost cSij that depends on the selected tour S terminating with arc ði; jÞ.
3.1. The proposed heuristic Many commonly used heuristics take advantage of the fact that most of TSPs have a Euclidean nature or satisfy the triangular inequality. They cannot guarantee good performances, and, in many cases, are not able to work at all, if such hypothesis is not satisfied. As stated before, in the considered case, not only such a property cannot be guaranteed, but even the cost of each arc cannot be known independently of the sub-tour it is part of. In general, such a behavior is to be expected any time a history-dependent scheduling problem (HDST) is modeled through TSP. The proposed heuristic addresses this kind of problem. Many heuristic approaches developed for routing problems rely on the concept of insertion. In contrast, the concept of deletion has not received much attention since it is not readily applicable to problems requiring all vertices to be visited. It has been used in traveling salesman subset-tour problem (TSSP), which differs from classic TSP in that the salesman is not required to visit every city. Many problems, such as the prize collecting TSP, the orienteering problem and the time constrained TSP, can be viewed as TSSPs with one additional constraints (TSSP+1). An interesting feature of this problems is the possibility of improving the solution by dropping a vertex out of it [9]. Mittenthal and Noon exploited this feature in a simple heuristic algorithm based on insertion and deletion [10]. They propose an interesting approach that takes advantage of the opportunity to evaluate improvements that can be obtained removing one or more vertices from a sub-tour, in order to re-insert them later during the algorithm, in a different position. Both approaches, anyway, rely on common assumptions made in TSP algorithms: a given cost matrix and Euclidean nature. As
already pointed out, this is not the case of the problem we issue. The proposed heuristics takes advantage of deletion, according to the following consideration. If the cost associated with a couple of vertices is history-dependent, it could be better to remove a vertex that has a strongly negative influence on the overall cost function and re-insert it later rather than inserting new vertices into a tour which is hardly penalized by a badly placed vertex. Let us suppose that N is the number of jobs to be processed. Let tn be the completion time of the nth job when it is scheduled as the first one in a generic sequence. Let us consider a subsequence S of jobs to be processed, and denote with C S the makespan associated with the sequence. We introduce the efficiency E S associated with the subsequence S as P tn E S ¼ n2S . CS The efficiency is related to the ability of the sequence to efficiently use the concurrent processing of jobs in the parallel stage. The objective of the proposed heuristics is to maximize this efficiency. If S includes all the N jobs to be scheduled, then the numerator used to define E S does not depend on the particular order followed by the jobs in S. Hence, maximizing the efficiency leads to the minimization of the makespan, respecting the original objective of the scheduling problem. By means of efficiency, though, intermediate subsequences are guaranteed to effectively exploit the parallelism available in the system. Under these assumptions, the proposed heuristics can be described as in Algorithm 1. Algorithm 1. The proposed heuristics if NpN 1 then for all jobs permutations do if considered permutation is better than the best one so far then store considered permutation and makespan else while not all jobs are sequenced do for all scheduled job i do delete job i ADD a new job to sequence restore initial sequence if efficiency has not improved OR sequence has no job then ADD a new job The ADD procedure is reported in Algorithm 2. Algorithm 2. The insertion procedure (ADD) for all unscheduled job j do if count (scheduled jobs) pN 2 then
ARTICLE IN PRESS P. Caricato et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 234–241
add jth job to the sequence find the best jobs permutation (3-opt) if considered permutation is better than the best one so far then store considered permutation and makespan else for all position k in the sequence do add the jth job to the sequence in position k improve the sequence efficiency (3-opt) if considered permutation is better than the best one so far then store considered permutation and makespan restore the original sequence (prior to inserting the jth job) The N 1 and N 2 parameters introduced above can be analyzed as follows: N 1 : for small-sized problems, the optimum solution can be found, in acceptable times, performing an exhaustive research of the solutions space. If NpN 1 , the heuristic procedure does not need to be performed, but the exact solution is found through complete search. N 2 : if N4N 1 , the proposed heuristics builds the nearoptimal solution sequence iteratively inserting (and deleting) jobs. Each time an insertion is performed, a post-optimization is accomplished through a set of permutations. If the number of already scheduled jobs (returned by the count(jobs) procedure) is not greater than N 2 , then all possible permutations are examined. Otherwise, a classical 3-opt sequence enhancement is performed. One of the main aspects of the proposed heuristics is its generality, allows its use for even highly complex systems, both in terms of number of machines and of functional dependencies among them. The only fundamental hypothesis needed to effectively apply the proposed method is to be able to calculate the modeled system’s makespan, given the input jobs sequence. The analyzed system verifies this property since its behavior is uniquely determined once the sequence of the jobs entering the system is given. 4. Alternative approaches The analyzed problem can be issued in several alternative manners. The following possible approaches were followed and evaluated in order to prove the better efficiency of the proposed TSP-based approach:
rule-based scheduling heuristics; TSP-based simple insert heuristics; TSP-based GENIUS procedure; MILP approach.
In this section, these approaches are introduced and briefly analyzed, while the computational results will be presented in Section 5.2.
237
4.1. Rule-based scheduling One of the most followed approaches in any scheduling problem consists in stating rules that allow some ordering of the jobs to be scheduled. The most commonly adopted sequencing rules are the following: SPT (shortest processing time); LPT (longest processing time); Johnson’s rule. In order for these techniques to be used, several conditions must be satisfied: job time (including setup and processing) must be known and constant for each job at each work center; job times must be independent of the job sequence; all jobs must follow the same two-setup work sequence; job priorities cannot be used. In the considered problem, the given job ordering within batches makes it impossible to directly apply standard sequencing rules, since they do not allow priorities among jobs. Hence, we developed variants to these techniques, in order to apply them to the batch scheduling problem we consider. All existing sequencing rules are based on a relation order between jobs to be scheduled. In particular, given a two-stage HFS problem, ordering can be made considering jobs’ processing times on the first stage, on the second one or the sum of both. Furthermore, the given batched structure of jobs hardly limits the ordering possibilities. Indeed, once the first job of a batch is scheduled, all the following jobs from that batch must be scheduled immediately after. Hence, the true items to be scheduled are batches, rather than jobs, though idle times (and makespan) cannot be calculated ignoring the single job detail. An adaptation of traditional sequencing rules to the batched jobs scheduling problem is introduced, presenting several alternative ordering relations between batches. A first approach to adapt standard sequencing rules to batches is to consider batch processing times as the sum of all contained jobs processing times: this approach clearly neglects interactions between the single jobs forming the batches. A further, more refined approach is to only consider the jobs from the two batches being compared that actually form the border between the two batches. This approach takes into account the only interactions between jobs that can be influenced by the batch ordering: the other interactions are forced by the jobs order within each batch, which is given and unchangeable. For each couple of batches, there exist two couples of border jobs, depending on which batch we chose as the first one in the comparison. Given any couple of batches, it is not always possible to
ARTICLE IN PRESS 238
P. Caricato et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 234–241 Batch A 12
4
11
7
10
9
12
4
11
7
8
15
15
4
21
13
8
15
15
4
Batch B
Batch C
Batch A
Batch B
>
Batch B
11
7
12
4
10
9
12
4
15
4
8
15
21
13
Batch A
< Batch A > Batch B
Batch A 12
4
10
9
8
15
21
13
Batch C
>
Batch C
Batch A
>
8
15
Batch A ? Batch C
Fig. 1. Batch border-wise ordering.
establish a unique order between them according only to the border jobs: this issue is analyzed in Fig. 1. Given the three batches (A, B and C) showed in Fig. 1, A and B can be uniquely ordered as showed in the figure: batch A is greater than batch B. But, which batch is greater between A and C? The proposed criterion cannot uniquely answer this question. Hence, in these cases, the previous ordering criterion is used. Further ordering criteria could be easily developed, but this is beyond the aim of this paper. Here, adapting sequencing rules is only developed as a means to compare the proposed heuristic results with traditional rule-based heuristics.
(3) find an edge in the sub-tour such that the cost of inserting the selected vertex between the edges vertices will be minimal; (4) repeat step 2 until no more vertices remain.
4.2. TSP-based simple insert heuristics
GENIUS consists of a tour construction phase (GENI, for generalized insertion), followed by a tour improvement (local minimization) phase (US, for unstringing and stringing) [14]. GENI starts with a tour consisting of three vertices. At each iteration, a new vertex is inserted into the partially constructed tour while performing a local re-optimization of the tour. The neighborhood N p ðvÞ of each vertex v is defined as the set of the p (a parameter) vertices already on the tour that are closest to v (if p is greater than the number of vertices on the tour, then all of them define N p ðvÞ). Vertex v is inserted between two vertices vi and vj from N p ðvÞ. When all n vertices are in the tour, GENI stops. In the local search phase the neighborhood solutions are defined with delete/insert (or drop/add) moves. Deletion of a vertex is done using the same type of moves as in the insertion step, but in reverse order. Extensive computing results in
In order to further evaluate the effectiveness of the proposed heuristics, it has been compared with a simple insertion procedure based on the introduced TSP modeling. An intuitive approach to the TSP is to start with a subtour, i.e. a tour on small subsets of nodes, and then extend this tour by inserting the remaining nodes one after the other until all nodes have been inserted. There are several possibilities for implementing such an insertion scheme. The variant of insertion heuristics we have chosen to test the problem is the nearest insertion: (1) select the shortest edge, and make a sub-tour of it; (2) select a vertex not in the sub-tour, having the shortest distance to any one of the vertices in the sub-tour;
For more information on tour construction heuristics see [11–13]. Finally, once a tour has been generated by this construction heuristic, it can be improved using the wellknown 3-opt local search procedure. 4.3. TSP-based GENIUS heuristics
ARTICLE IN PRESS P. Caricato et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 234–241
[15] and in [16] show that the GENIUS algorithm is among the best heuristics for the TSP. 4.4. MILP approach A MILP formulation of the considered problem can be found in [7], where the mathematical model is reported and analyzed. For the sake of this article’s purposes, it has to be said that the MILP model minimizes the makespan, respecting constraints about:
239
no buffer queue is available; hence, a hide can be moved from the first stage to the second one only if the cutting table is free; the cutting table serves alternatively the two DSN tables using a round-robin discipline: when it receives a hide from a DSN table, it immediately starts to move towards the other one. The typical layout of the modeled system is depicted in Fig. 2. 5.2. Computational results
rigid jobs ordering within each batch; parallel machine selection for an entire batch once its first job uses it; round-robin service discipline followed by the bottleneck machine. As further analyzed in Section 5.2, the computational effort needed is much higher than the one required by the proposed heuristics, often guaranteeing slightly better performances in terms of the obtained makespan. Furthermore, the MILP model cannot be solved to optimality as long as the batches number exceeds 12–13, as reported in [7]. 5. Test cases and computational results The proposed approach has been tested on real world instances of the problem, provided by a manufacturing firm that operates in the furniture field. 5.1. The real system The task of the analyzed system is to prepare leather parts. The items to be produced are grouped, according to overall production needs, into batches. Each batch refers to a welldefined set of leather hides that are to be cut in order to obtain the leather parts needed. The system includes two stages:
The proposed heuristics and the possible alternative approaches thoroughly discussed in Section 4 have been tested and compared on a set of real data from the industrial case presented in Section 5.1. All algorithms were tested on a common Microsoft Windows-based PC, with a 2.4 GHz Intel Pentium IV CPU and 512 MB RAM. The computational results achieved are summarized in Table 1. The first three columns characterize the solved instances of the problem: i being the number identifying the considered instance; N being the number of batches in which jobs are grouped, to be scheduled; M being the number of jobs to be processed. The following columns report the results achieved using the following approaches: the exact MILP model described in Section 4.4, solved using a commercial branch-and-bound based solver (ILOG CPLEX 8.1);
the first stage is composed of two digit/scan/nesting (DSN) tables, where a human operator places each hide and marks up its flaws using a digit pen; subsequently, the hide passes under a scan camera that acquires its edges and, finally, lays on the table while a computer processes the acquired information in order to provide a nesting scheme to be used in the following stage; the second stage consists of a cutting table where the hide is cut according to the cutting scheme provided by the nesting engine (no human interaction is needed). There are some both technological and practical constraints to be respected: once a DSN table starts the processing of a batch, it has to complete all its hides (jobs) before accepting any other work;
Fig. 2. System layout.
ARTICLE IN PRESS P. Caricato et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 234–241
240 Table 1 Computational results i
N
1 2 3 4 5 6 7 8 9 10 11 12 13 Average
5 5 6 6 8 8 10 11 11 12 13 13 13
M
13 54 53 69 58 65 60 68 70 71 59 64 82
MILP
Prop. heur.
GENIUS
Mksp
Mksp
Err. (%)
Mksp
Err. (%)
Mksp
Err. (%)
Mksp
Err. (%)
4308 14 477 14 838 17 848 17 667 16 272 20 773 17 181 18 044 17 045 15 659 17 655 16 274
4308 14 477 14 838 17 848 17 667 16 272 20 836 17 299 18 160 17 123 15 983 17 724 16 472
0.00 0.00 0.00 0.00 0.00 0.00 0.30 0.69 0.64 0.46 2.07 0.39 1.22 0.44
4309 14 980 15 316 19 042 18 896 17 162 21 435 18 552 19 206 18 631 16 662 19 420 18 079
0.02 3.36 3.12 6.27 6.50 5.19 3.09 7.39 6.05 8.51 6.02 9.09 9.98 5.74
4309 14 477 14 948 18 389 18 363 16 370 21 317 17 403 18 418 17 682 16 157 18 157 16 858
0.02 0.00 0.74 3.03 3.94 0.60 2.62 1.29 2.07 3.74 3.18 2.84 3.59 2.13
4468 14 633 15 682 18 656 18 579 16 643 21 829 18 108 19 139 18 056 17 114 18 668 17 904
3.71 1.08 5.69 4.53 5.16 2.28 5.08 5.40 6.07 5.93 9.29 5.74 10.02 5.38
the proposed heuristics based on TSP introduced in Section 3.1; the GENIUS heuristics based on TSP analyzed in Section 4.3; the simple insert heuristics based on TSP presented in Section 4.2; the best result among all common scheduling rules adapted to the batch-oriented case as described in Section 4.1. In the column related to the MILP approach, the optimum makespan is reported. It must be considered that the analyzed cases have required an amount of processing time in order to be solved to optimality included within the interval ½15; 36 000 minutes: i.e., the toughest cases have required almost 10 h to obtain the optimal solution. The following approaches are characterized by two values each one: the makespan value provided by the considered heuristics; the percent error versus the optimal solution found using the MILP approach. In terms of performance, all the problem instances where heuristically solved in less than 1 min. The computational results are reported in order of number of batches and number of jobs to be processed. The proposed heuristics outperforms the other approaches in all cases. In terms of average percent error, the proposed heuristics is one order of magnitude lesser than the average percent error achieved by the other approaches. In cases 1–6, where the number of batches is not greater than eight, the proposed heuristic even manages to always find the optimal solution, while the other approaches have
Insert
Best rule
success only in one case (the insert heuristics in case 2, with only five batches). It is also interesting to notice that the alternative approach that achieves the best performance is the one based on the simple insert, TSP-based heuristics. This fact confirms that the TSP-based modeling of the problem is the most effective; but, comparing it with the results achieved by the GENIUS heuristics, it also denotes how heuristics based on geometrical properties cannot work well in the problem we introduced. Both the GENIUS heuristics and the approach based on standard scheduling rules adapted to the particular, batchwise HFS, demonstrated to be a poor choice, compared to the proposed heuristics.
6. Conclusions and future issues The problem presented extends the HFS scheduling problem class by considering the case in which production jobs are grouped in batches and, within each batch, sequentially machined. We proved that both traditional MILP and rule-based scheduling approaches cannot be effectively used to solve the problem. A variant of the TSP was used to model the problem and to develop an effective heuristics. The proposed heuristics was tested on industrial cases provided by a manufacturing firm. Computational results were benchmarked with results achieved with other possible, alternative approaches. The proposed heuristics outperformed the other approaches in all cases. The proposed heuristics could be extended, in future works, to consider different objective functions often used in scheduling problems, such as minimizing average lateness or maximum lead-time. In order to achieve such objective, the definition of efficiency reported in Section 3.1 has to be modified.
ARTICLE IN PRESS P. Caricato et al. / Robotics and Computer-Integrated Manufacturing 23 (2007) 234–241
Furthermore, the proposed heuristics could be enhanced in terms of computational efficiency according to the following considerations: the 3-opt post-optimization procedure used in Algorithm 2 could be replaced by a smarter algorithm, as it has already been done in many other algorithms that used 3-opt; the attempted insertions and deletions may be reduced according to some exclusion rules, tending to ignore insertions and deletions that are somehow detected to lead to poor solutions.
Acknowledgments This research has been funded by Italian Minister of Education and Research (MIUR) within the project FIRB titled ‘‘Architetture e tecnologie informatiche per lo sviluppo ed evoluzione di software open-source per la simulazione a componenti distribuiti, orientate al settore manifatturiero’’ (2001–2005 prot. RBNE013SWE PNR 2001–2003, FIRB art. 8, D.M. 199 Ric. 2001) and supported by AITeM (Associazione Italiana di Tecnologia Meccanica). We also thank V. Castoro, P. Gallotta, the Production and Information Systems Departments staff at Natuzzi S.p.A. for their support to the work. References [1] Linn R, Zhang W. Hybrid flow shop scheduling: a survey. Comput Ind Engin Vol 1999;37(1–2):57–61. [2] Pinedo M. Scheduling. Theory, algorithms and systems. Englewood Cliffs, USA: Prentice-Hall; 1995.
241
[3] Vignier A, Billaut JC, Proust C. Les proble`mes d’ordonnancement de type flow-shop hybride: e´tat de l’art. RAIRO Rech Opr 1999; 33(2):117–83. [4] Rajendran C, Chaudhuri D. Scheduling in n-jobs, m stage flowshop with parallel processors to minimize makespan. Int J Prod Econ 1992;27:137–43. [5] Shaukat AB, Hunsucker JL. Branch and bound algorithm for the flow shop with multiple processors. European J Oper Res 1991;51:88–99. [6] Khalid M, Vyavahare PD, Kekre HB. Analysis of an asymmetric polling system. Comput Oper Res 1997;24(4):317–33. [7] Caricato P, Grieco A, Pacella M. Optimal scheduling of nonindependent jobs on fspm: a simulation-based hybrid algorithm. In: Proceedings of the annual conference of the Italian Society for Computer Simulation (ISCS), Naples, Italy; December 2001. p. 193–200. [8] Gutin G, Punnen A. The traveling salesman problem and its variation. Dordrecht: Kluwer; 2002. [9] Feillet D, Dejax P, Gendreau M. Travelling salesman problems with profits. Transp Sci 2005;39(2):188–205. [10] Mittenthal J, Noon CE. Insert/delete heuristic for the travelling salesman subset-tour problem with one additional constraint. J Oper Res Soc 1992;43(3):277–83. [11] Johnson DS, McGeoch LA. Experimental analysis of heuristics for the STSP. The traveling salesman problem and its variations. Dordrecht: Kluwer Academic Publishers; 2002. p. 369–443. [12] Lawler EL, Lenstra JK, Rinnoy Kan AHG, Shmoys DB. The traveling salesman problem. Wiley-Interscience series in discrete mathematics and optimization. New York: Wiley; 1985. [13] Reinelt G. The travelling salesman. Computational solutions for TSP applications. Lecture notes in computer science, vol. 840. Berlin: Springer; 1994. [14] Mladenovic N, Hansen P. Variable neighborhood search. Comput Oper Res 1997;24(11):1097–100. [15] Gendreau M, Hertz A, Laporte G. New insertion and post optimization procedures for the traveling salesman problem. Oper Res 1992;40(6):1086–94. [16] Johnson DS, McGeoch LA. The traveling salesman problem, a case study in local optimization. Local search in combinatorial optimization. New York: Wiley; 1997.