Heuristic Algorithm for the Parallel Machine Total Weighted Tardiness Scheduling Problem



Similar documents
An ant colony optimization for single-machine weighted tardiness scheduling with sequence-dependent setups

Classification - Examples

Branch-and-Price Approach to the Vehicle Routing Problem with Time Windows

Scheduling Single Machine Scheduling. Tim Nieberg

Iterated Local Search. Variable Neighborhood Search

An Efficient Algorithm for the Dynamic Space Allocation Problem

List Scheduling in Order of α-points on a Single Machine

JUST-IN-TIME SCHEDULING WITH PERIODIC TIME SLOTS. Received December May 12, 2003; revised February 5, 2004

Single machine models: Maximum Lateness -12- Approximation ratio for EDD for problem 1 r j,d j < 0 L max. structure of a schedule Q...

Scheduling Shop Scheduling. Tim Nieberg

A Linear Programming Based Method for Job Shop Scheduling

A Scatter Search Algorithm for the Split Delivery Vehicle Routing Problem

An Integer Programming Model for the School Timetabling Problem

Duplicating and its Applications in Batch Scheduling

Meta-Heuristics for Reconstructing Cross Cut Shredded Text Documents

EXAMINATION OF SCHEDULING METHODS FOR PRODUCTION SYSTEMS. 1. Relationship between logistic and production scheduling

A Genetic Algorithm Approach for Solving a Flexible Job Shop Scheduling Problem

ESQUIVEL S.C., GATICA C. R., GALLARD R.H.

Scheduling Jobs and Preventive Maintenance Activities on Parallel Machines

The Problem of Scheduling Technicians and Interventions in a Telecommunications Company

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. #-approximation algorithm.

Optimal Scheduling for Dependent Details Processing Using MS Excel Solver

A hybrid ACO algorithm for the Capacitated Minimum Spanning Tree Problem

Completion Time Scheduling and the WSRPT Algorithm

The Trip Scheduling Problem

R u t c o r Research R e p o r t. A Method to Schedule Both Transportation and Production at the Same Time in a Special FMS.

Design and Analysis of ACO algorithms for edge matching problems

An ACO/VNS Hybrid Approach for a Large-Scale Energy Management Problem

New Benchmark Instances for the Capacitated Vehicle Routing Problem

Solving the Vehicle Routing Problem with Multiple Trips by Adaptive Memory Programming

A Mathematical Programming Solution to the Mars Express Memory Dumping Problem

Heuristic Algorithms for Open Shop Scheduling to Minimize Mean Flow Time, Part I: Constructive Algorithms

SINGLE-STAGE MULTI-PRODUCT PRODUCTION AND INVENTORY SYSTEMS: AN ITERATIVE ALGORITHM BASED ON DYNAMIC SCHEDULING AND FIXED PITCH PRODUCTION

Research Paper Business Analytics. Applications for the Vehicle Routing Problem. Jelmer Blok

A Hybrid Heuristic Rule for Constrained Resource Allocation in PERT Type Networks

Scheduling a sequence of tasks with general completion costs

A Study of Local Optima in the Biobjective Travelling Salesman Problem

Stiffie's On Line Scheduling Algorithm

The vehicle routing problem with time windows is a hard combinatorial optimization problem that has

A Study of Crossover Operators for Genetic Algorithm and Proposal of a New Crossover Operator to Solve Open Shop Scheduling Problem

Single machine parallel batch scheduling with unbounded capacity

Scheduling Breaks in Shift Plans for Call Centers

Chapter Load Balancing. Approximation Algorithms. Load Balancing. Load Balancing on 2 Machines. Load Balancing: Greedy Scheduling

Parallel Simulated Annealing Algorithm for Graph Coloring Problem

Offline sorting buffers on Line

Literature Review of Single Machine Scheduling Problem with Uniform Parallel Machines

Dimensioning an inbound call center using constraint programming

A Multi-Objective Performance Evaluation in Grid Task Scheduling using Evolutionary Algorithms

! Solve problem to optimality. ! Solve problem in poly-time. ! Solve arbitrary instances of the problem. !-approximation algorithm.

Beam-ACO hybridizing ant colony optimization with beam search: an application to open shop scheduling

LOAD BALANCING TECHNIQUES

Factors to Describe Job Shop Scheduling Problem

Why? A central concept in Computer Science. Algorithms are ubiquitous.

Integer Programming: Algorithms - 3

XOR-based artificial bee colony algorithm for binary optimization

An Optimization Approach for Cooperative Communication in Ad Hoc Networks

Mixed-integer programming models for flowshop scheduling problems minimizing the total earliness and tardiness

Ant Colony Optimization (ACO)

Fifty Years of Vehicle Routing

An Iterated Local Search heuristic for the Heterogeneous Fleet Vehicle Routing Problem

Load Balancing. Load Balancing 1 / 24

Instituto de Engenharia de Sistemas e Computadores de Coimbra Institute of Systems Engineering and Computers INESC Coimbra

A Binary Model on the Basis of Imperialist Competitive Algorithm in Order to Solve the Problem of Knapsack 1-0

Performance Study of Parallel Programming Paradigms on a Multicore Clusters using Ant Colony Optimization for Job-flow scheduling problems

A novel ACO technique for Fast and Near Optimal Solutions for the Multi-dimensional Multi-choice Knapsack Problem

A Hybrid Algorithm for the Fleet Size and Mix Vehicle Routing Problem

Journal of Theoretical and Applied Information Technology 20 th July Vol.77. No JATIT & LLS. All rights reserved.

Compact Representations and Approximations for Compuation in Games

CSE 4351/5351 Notes 7: Task Scheduling & Load Balancing

A Column Generation Model for Truck Routing in the Chilean Forest Industry

Scheduling Real-time Tasks: Algorithms and Complexity

Distributed Dynamic Load Balancing for Iterative-Stencil Applications

Two objective functions for a real life Split Delivery Vehicle Routing Problem

STUDY OF PROJECT SCHEDULING AND RESOURCE ALLOCATION USING ANT COLONY OPTIMIZATION 1

Complexity Theory. IE 661: Scheduling Theory Fall 2003 Satyaki Ghosh Dastidar

Transcription:

Heuristic Algorithm for the Parallel Machine Total Weighted Tardiness Scheduling Problem Rosiane Rodrigues rosiane@cos.ufrj.br COPPE - Engenharia de Sistemas e Computação Universidade Federal do Rio de Janeiro Departamento de Ciência da Computação Universidade Federal do Amazonas Artur Pessoa, Eduardo Uchoa {artur, uchoa}@producao.uff.br Departamento de Engenharia de Produção Universidade Federal Fluminense Marcus Poggi de Aragão poggi@inf.puc-rio.br Departamento de Informática Pontifícia Universidade Católica do Rio de Janeiro Abstract This paper presents a heuristic algorithm for the parallel machine weighted tardiness scheduling problem (P w j T j ). The main innovative feature of the algorithm is its representation of a multi-machine schedule by a single sequence, greatly simplifying the treatment of that problem. The single sequence is optimized using an iterated local search over generalized pairwise interchange moves, improved with a suitable tie breaking criterion. Extensive tests on instances, with 2 and 4 machines, and with up to 50 jobs, obtained very good results, finding optimal solutions in almost all cases.

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 1 1 Introduction Let J = {1,..., n} be a set of jobs to be processed in a set of parallel identical machines M = {1,..., m} without preemption. Each machine can process at most one job at a time and each job must be processed by a single machine. Each job j has a positive processing time p j, a due date d j, and a positive weight w j. The tardiness of a job j with respect to its due date is defined as T j = max{0, C j d j }, where C j is the job completion time. The scheduling problem considered in this paper consists in sequencing the jobs in the machines in order to minimize n j=1 w jt j. This problem, referred as P w j T j in the 3-field notation [10], is strongly NP-hard, since even the single-machine case (referred as 1 w j T j ) has that complexity [12]. On the other hand, the single-machine problem without weights (1 T j ) is NP-hard in the ordinary sense [7], but can solved in pseudo-polynomial time [12]. All those problems may play an important role in real applications, such as in the manufacturing industry. We are not aware of other heuristic algorithms specially devised for the P w j T j. Recent works on related problems include Anghinolfi and Paolucci (2007) [2], that proposes a hybrid metaheuristic mixing Tabu Search, Simulated Annealing and Variable Neigborhood Search for the P T j ; and Bilge et al. (2004) [4], that proposes a Tabu Search for the P s ij T j (considering sequence dependent setup times). On the other hand, there is a rich literature on heuristics for the 1 w j T j. The most competitive heuristics for that problem are based on local searches that use both insertion moves (remove a job from the sequence and reinsert it in another position) and swap moves (swap the positions of a pair of jobs in the sequence). Those combined moves are also known as generalized pairwise interchange (GPI) moves [6]. Some 1 w j T j heuristics use the GPI moves in a traditional way, making one move at a time [20]. However, better results are obtained using dynamic programming to explore a large neighborhood that consists in certain sequences of single moves, the so-called dynasearch technique. While the size of the neighborhood is potentially exponential, the dynamic programming may determine such an optimal sequence of moves in polynomial time. This technique was introduced by Potts and Val de Verde [17] in the Traveling Salesman Problem (see the survey by Ahuja et al. [1]). Congram et al. [5] first applied dynasearch to the 1 w j T j, but only considering swaps as single moves. Grosso et al. [11] adapted the dynasearch technique in order to consider all GPI moves. Both papers present dynamic programming procedures with O(n 3 ) time complexity per search. Recently, Ergun and Orlin [9] improved this time complexity to O(n 2 ), by giving a faster dynasearch that combines GPI moves and also twist moves. Our heuristic algorithm for the P w j T j features the representation of a multi-machine schedule by a single sequence, that can be improved by a local search using the well-known GPI moves. Unfortunately, the single sequence representation does not appear to be suitable to dynasearch. This happens because this indirect representation makes the evaluation of moves to be much more costly, even a single insertion move may change the completion times of most jobs in a complex way, so the tardiness costs may have to be recomputed from scratch in O(n log m) time. Evaluating the tardiness costs of many sequences of moves is prohibitively expensive. In order to partially remedy the lack of a dynasearch, we introduce a tie breaking criterion in the GPI search. The idea is that even when the current solution has no GPI neighbor with better tardiness cost, the search is not stopped if there are neighbor solutions improving this criterion. The criterion was devised with the hope of guiding the search into solutions that more likely to be further improved. Several exact methods were proposed for the 1 w j T j, including [8, 19, 22, 21, 3, 14, 15]. The last three works describe techniques that can solve instances with up to 100 jobs consistently. However, the best heuristics typically find the optimal solutions for those instances in much less

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 2 time. By the way, those heuristics are often embedded as part of those branch-and-bound based exact algorithms. A good heuristic solution can reduce the search tree, leading to significant speedups. The only exact algorithm for the P w j T j that we know is proposed in [15]. It can solve most instances with up to 50 jobs. The heuristic presented in this paper was created in order to embedded in that exact algorithm. 2 The Algorithm A scheduling for the P w j T j is defined as a sequence of jobs on each machine, where each job appears in exactly one sequence. It is assumed that a machine is only idle after all jobs in its sequence are processed. Moreover, we say that a scheduling is minimal if no machine is idle before all jobs have started their processing. Of course, there is at least one optimal scheduling that is minimal. The main idea of our heuristic algorithm is to represent a minimal P w j T j scheduling as a single sequence of jobs. Let π = (π 1,..., π n ) be a permutation of the job indices 1,..., n. A minimal scheduling can be obtained from π as follows. Start with an empty schedule S, where all machines are idle at time 0. Then, for i = 1,..., n, schedule the job J πi in the first machine that becomes idle according to S. When ties occur, choose the machine with the smallest index. Denote the obtained schedule and its cost by S π and w(π), respectively. Note that every minimal schedule S can be generated in this way. To see this, construct π so that the sequence of jobs (J π1,..., J πn ) is in a non-decreasing order their starting times according to S. When ties occur, put the jobs scheduled in machines with smaller indices first. It is easy to see that S π = S. Given an initial permutation π of jobs, our algorithm performs a local search over a neighborhood defined by GPI moves. They are defined as either an exchange of two (not necessarily adjacent) jobs in π or the removal of a job from π followed by its insertion in another position. Each local search is performed until no GPI move improves the current solution. During the local search, a move is accepted only when the new solution improves upon the previous one. However, locally optimal solutions often have many neighbor solutions with the same cost. Hence, a premature stop in such local optima may be avoided using a suitable tie breaking criterion. Our criterion is based on the values of the due dates and the reverse position of the job in the sequence. In a formal way, given a sequence π = (π 1,..., π n ), we define b(π) = n d πj (n j + 1). Thus, given two neighbor sequences of jobs π and ρ with the same j=1 cost, if b(ρ) < b(π), then ρ is considered to improve over π. Note that our criterion induces the jobs having earlier due dates to be scheduled before the ones with later due dates. This criterion is motivated by the well-known Earliest Due Date first (EDD) rule [13, 16], which generates an optimal solution for the 1 w j T j when the optimum value is zero (i.e., when there is a solution without tardy jobs). Algorithm 1 below presents the general steps of our heuristic, where N, r and k are parameters.

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 3 Algorithm 1 Single sequence based heuristic for the P w j T j i 1; π a permutation following the EDD rule. While i N If i is a multiple of r, then π a random permutation. Apply GPI moves in π, until no improvement is possible. If w(π) < w(π ), then π π. Apply k randomly chosen 2-change moves in π. i i + 1. First, it generates a feasible solution following the EDD rule and store in π. In the first iteration, it generates a random permutation π, where the probabilities are identically distributed among all permutations. Then, GPI moves are applied to π. The search on the GPI neighborhood of the current π is stopped when the first improvement move is found, in this case π is updated and a new search starts. This is done until a search is completed without improvement (considering the tie breaking criterion). If the obtained solution improves upon the best solution found so far, then it is kept as π. Finally, k randomly chosen GPI moves are applied (regardless of whether they generate improvements or not), in an attempt to escape from bad local optimal regions. On every r iterations, a completely random permutation replaces the solution generated in the previous iteration. A complete search on the GPI neighborhood tests O(n 2 ) moves. The evaluation of each move requires the construction of the corresponding scheduling, this takes O(n log m) time. 3 Computational Experiments In all our experiments, we set N = 30mn, r = 5, and k = 3. obtained with a Intel Xeon 2.33 GHz processor. The reported times were 3.1 Single-Machine Even though our algorithm was devised for the P w j T j, we also tested it on 1 w j T j instances in order to benchmark it against other methods from the literature. The experiments were performed on the set of 375 instances of the problem available at the OR-Library. This set was generated by Potts and Wassenhove [18] and contains 125 instances for each n {40, 50, 100}. In fact, for each such n, they created 5 similar instances (changing the seed) for each of 25 parameter configurations of the random instance generator. Therefore, for each value of n there are 25 groups composed by 5 similar instances. Those parameter configurations have influence on the distribution of the due dates. Processing times and weights are always picked from the discrete uniform distribution on [1,100] and [1,10], respectively. The best known results for those instances were obtained by Grosso et al. [11] using the GPI-based Dynasearch algorithm (GPI-DS). In that paper, a comparative analysis was done between this method and an older method called Ant-Colony Optimization (ACO), proposed by Stützle et al. [20], that uses the GPI moves in an ACO framework. Table 1 contains a comparison among our algorithm and the two methods above mentioned. The comparison is done on the time (average and maximum) needed to find the optimal value. The CPU times of

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 4 GPI-DS were obtained in a HP Kayak 800 MHz workstation, while ACO was run on a Pentium III 450 MHz. Table 1: CPU time to find an optimal solution, GPI-DS [11], ACO [20], and our algorithm, on OR- Library instances with 40, 50 and 100 jobs (125 instances of each size). Topt,avg Topt,max GPI-DS 0.003 0.125 40 ACO 0.088 1.720 Our method 0.012 0.870 GPI-DS 0.010 0.562 50 ACO 0.320 10.740 Our method 0.084 5.760 GPI-DS 0.107 3.907 100 ACO 6.990 86.260 Our method 1.104 29.180 Although our heuristic (as GPI-DS and ACO) eventually obtains the optimal solutions for all OR-Library instances, our CPU times are significantly higher than those by GPI-DS. However, even taking taking the difference of the processors into account, the performance of our heuristic is similar to ACO. This is quite remarkable, because when m = 1 our method reduces to a naive implementation of an iterated GPI local search. The factor that may explain why such a simple method matches the performance of a sophisticated metaheuristic using the same neighborhood is the improvement obtained by the tie-breaking criterion. In fact, without that criterion our method would fail to find the optimal solutions for 2 instances with 100 jobs, even after 3000 iterations and 160 seconds of CPU time. On the instances with 100 jobs, the average quality of the solutions found after each GPI local search iteration is 0.67% above the optimal, without the tie-breaking criteria this number would be 1.26% above the optimal. 3.2 Multi-Machines In order to perform experiments on the P w j T j problem, we derived 100 new instances from the previously mentioned 1 w j T j OR-Library instances. For m {2, 4}, n {40, 50}, we pick the first instance in each group (those with numbers ending with the digit 1 or 6) and divided each due date d j by m (and rounded down the result), processing times p j and weights w j are kept unchanged. For example, from instance wt40-1, we produced instances wt40-2m-1 and wt40-4m-1 by dividing due dates by 2 and 4, respectively. The exact algorithm presented in [15] solved to optimality 98 out of those 100 instances, so we have a good basis to assess the performance of our heuristic. Tables 2 to 5 present detailed results of our heuristic algorithm. The columns have the following meaning: (1) the instance number; (2) the optimal solution value; (3) the value of the best solution found by the heuristic; (4) the difference between the previous values; (5) the iteration in which the best value was first found; (6) the elapsed CPU time (in seconds) when the best value was first found; (7) the number of iterations where the best value was found; (8) the average value of the solutions obtained in all iterations; (9) the total number of iterations performed (given by the algorithm parameter N); and, (10) the total CPU time (in seconds). Table 2 and Table 3 present detailed results considering 2 machines, for 40 and 50 jobs, respectively. Only for a single instance (wt40-2m-116), the optimal solution (or the best known solution, in case of instance wt50-2m-31) was not found. Table 4 and Table 5 present detailed

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 5 results considering 4 machines, for 40 and 50 jobs, respectively. Optimal solutions (or the best known solution, in case of instance wt50-4m-56) were found for all tested instances. We also run all instances with a simpler variant of our method, without the tie-breaking criterion. Table 6 compares statistics on those runs with statistics on the runs using the complete method, with the tie-breaking criterion. For each value of m and n, it shows: (1) the number of instances where the optimal or best known solution value was not found; (2) the average quality of the solutions found after each GPI local search iteration; and (3) the total time to complete all the N iterations. It can be seen that the tie-breaking criterion makes the algorithm significantly more robust, with a modest increase on the time spent per iteration (28% in average).

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 6 Table 2: Results on instances with 40 jobs and 2 machines. Inst Opt BestV IterBest TBest(s) #Best AvgV TotIter TotT(s) 1 606 606 0 1 0.00 2009 610.3 2400 13.89 6 3886 3886 0 1 0.00 1903 3888.3 2400 14.76 11 9617 9617 0 1 0.00 1531 9640.9 2400 13.94 16 38356 38356 0 2 0.01 265 38405.2 2400 12.17 21 41048 41048 0 1 0.00 394 41053.8 2400 9.77 26 87 87 0 1 0.01 1912 93.7 2400 13.52 31 3812 3812 0 4 0.02 189 3842.6 2400 13.66 36 10713 10713 0 1 0.00 580 10729.3 2400 13.36 41 30802 30802 0 2 0.00 616 30837.8 2400 11.39 46 34146 34146 0 4 0.01 1173 34148.8 2400 9.72 51 0 0 0 1 0.00 2400 0.0 2400 7.64 56 1279 1279 0 7 0.04 872 1294.2 2400 13.78 61 11488 11488 0 2 0.01 168 11534.8 2400 12.41 66 35279 35279 0 32 0.14 149 35313.6 2400 10.82 71 47952 47952 0 2 0.00 395 47962.6 2400 9.77 76 0 0 0 1 0.00 2400 0.0 2400 7.16 81 571 571 0 972 6.29 1 620.9 2400 15.58 86 6048 6048 0 3 0.01 20 6084.2 2400 13.82 91 26075 26075 0 6 0.02 520 26115.4 2400 11.29 96 66116 66116 0 37 0.16 110 66137.8 2400 9.77 101 0 0 0 1 0.00 2400 0.0 2400 6.79 106 0 0 0 1 0.00 2400 0.0 2400 6.96 111 17936 17936 0 7 0.04 228 17969.0 2400 12.00 116 25870 25874 4 25 0.12 20 25934.5 2400 11.53 121 64516 64516 0 32 0.14 122 64556.8 2400 10.43 Avg : 0.28 11.44

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 7 Table 3: Results on instances with 50 jobs and 2 machines. Inst Opt BestV IterBest TBest(s) #Best AvgV TotIter TotT(s) 1 1268 1268 0 10 0.10 1453 1281.9 3000 33.87 6 14272 14272 0 2 0.02 885 14344.3 3000 31.01 11 23028 23028 0 3 0.03 379 23085.4 3000 34.06 16 46072 46072 0 1 0.01 751 46100.2 3000 29.55 21 111069 111069 0 23 0.17 119 111082.2 3000 21.77 26 26 26 0 6 0.06 631 29.2 3000 29.86 31 5378 5378 0 1 0.01 2796 5387.6 3000 36.33 36 18956 18956 0 14 0.16 167 19086.9 3000 34.22 41 38058 38058 0 6 0.06 303 38182.0 3000 24.77 46 82105 82105 0 37 0.26 149 82125.3 3000 21.08 51 0 0 0 1 0.00 3000 0.0 3000 17.06 56 761 761 0 108 1.24 37 765.4 3000 34.87 61 13682 13682 0 490 6.00 15 13902.3 3000 36.45 66 40907 40907 0 3 0.03 653 40964.0 3000 29.32 71 78532 78532 0 9 0.07 192 78580.6 3000 24.05 76 0 0 0 1 0.00 3000 0.00 3000 16.60 81 542 542 0 64 0.68 58 680.8 3000 32.60 86 12557 12557 0 86 0.98 75 12674.8 3000 33.43 91 47349 47349 0 115 1.13 17 47443.6 3000 28.16 96 92822 92822 0 4 0.03 34 92882.3 3000 25.38 101 0 0 0 1 0.00 3000 0.0 3000 16.78 106 0 0 0 1 0.01 3000 0.0 3000 16.67 111 15564 15564 0 4 0.05 171 15729.3 3000 37.34 116 19608 19608 0 604 6.76 5 19681.9 3000 33.29 121 41696 41696 0 1 0.01 901 41733.1 3000 30.12 Avg : 0.71 28.35

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 8 Table 4: Results on instances with 40 jobs and 4 machines. Inst Opt BestV IterBest TBest(s) #Best AvgV TotIter TotT(s) 1 439 439 0 1 0.01 2189 456.3 4800 52.36 6 2374 2374 0 1 0.01 1213 2420.9 4800 49.21 11 5737 5737 0 1 0.01 912 5769.1 4800 47.29 16 21493 21493 0 1 0.01 370 21512.6 4800 33.55 21 22793 22793 0 1 0.00 2367 22797.6 4800 34.27 26 88 88 0 2 0.02 2224 115.0 4800 53.41 31 2525 2525 0 59 0.62 107 2556.9 4800 47.20 36 6420 6420 0 2978 24.52 1 6479.6 4800 39.36 41 17685 17685 0 46 0.32 63 17794.5 4800 33.10 46 19124 19124 0 17 0.10 171 19128.3 4800 29.38 51 0 0 0 2 0.02 1918 32.8 4800 48.04 56 826 826 0 7 0.07 320 873.9 4800 53.17 61 7357 7357 0 34 0.28 142 7409.5 4800 39.52 66 20251 20251 0 24 0.15 313 20295.9 4800 32.20 71 26740 26740 0 6 0.04 684 26747.8 4800 31.29 76 0 0 0 1 0.00 4800 0.0 4800 21.70 81 564 564 0 2204 21.97 1 743.1 4800 47.71 86 4725 4725 0 146 1.20 44 4824.8 4800 39.28 91 15569 15569 0 216 1.63 19 15634.2 4800 35.92 96 36266 36266 0 22 0.13 115 36280.7 4800 30.12 101 0 0 0 1 0.00 4800 0.0 4800 21.48 106 0 0 0 1 0.00 4764 0.1 4800 31.41 111 11263 11263 0 26 0.20 39 11316.8 4800 35.82 116 15566 15566 0 559 4.27 8 15652.6 4800 36.59 121 35751 35751 0 4 0.02 278 35774.6 4800 32.58 Avg : 2.22 38.24

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 9 Table 5: Results on instances with 50 jobs and 4 machines. Inst Opt BestV IterBest TBest(s) #Best AvgV TotIter TotT(s) 1 785 785 0 18 0.47 695 805.9 6000 142.83 6 8317 8317 0 15 0.36 218 8387.0 6000 125.92 11 12879 12879 0 612 11.19 31 12926.6 6000 111.11 16 25376 25376 0 3 0.04 446 25416.9 6000 90.08 21 59440 59440 0 55 0.68 71 59451.9 6000 75.17 26 54 54 0 3 0.08 5323 58.3 6000 152.87 31 3061 3061 0 5 0.10 840 3192.1 6000 132.67 36 10796 10796 0 246 4.32 9 10929.4 6000 104.70 41 21806 21806 0 8 0.10 631 21869.3 6000 85.28 46 44455 44455 0 13 0.17 406 44469.7 6000 74.21 51 0 0 0 1 0.01 6000 0.0 6000 59.88 56 570 570 0 63 1.51 261 584.4 6000 143.81 61 7898 7898 0 4433 81.60 1 8054.0 6000 110.65 66 23138 23138 0 27 0.39 198 23174.7 6000 82.59 71 42645 42645 0 118 1.54 78 42684.4 6000 74.88 76 0 0 0 1 0.01 6000 0.0 6000 50.93 81 495 495 0 14 0.26 102 746.7 6000 124.06 86 8369 8369 0 24 0.37 6000 8493.4 6000 100.20 91 26551 26551 0 1520 22.38 1 26638.3 6000 88.33 96 50326 50326 0 12 0.17 122 50373.7 6000 81.76 101 0 0 0 1 0.00 6000 0.0 6000 52.10 106 0 0 0 1 0.01 6000 0.0 6000 63.38 111 10069 10069 0 3636 65.70 2 10164.1 6000 108.65 116 11552 11552 0 23 0.43 6 11619.7 6000 100.93 121 23792 23792 0 1357 19.63 9 23839.9 6000 86.45 Avg : 8.46 96.94

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 10 Table 6: Effect of the tie-breaking criterion on the proposed algorithm Without tie-breaking With tie-breaking m n #N onopt AvgQ(%) AvgTotT(s) #N onopt AvgQ(%) AvgTotT(s) 2 40 1 2.49 9.18 1 0.87 11.44 2 50 0 3.32 22.40 0 1.83 28.35 4 40 1 5.77 29.83 0 3.29 38.24 4 50 1 4.30 73.50 0 3.08 96.94 References [1] R. Ahuja, O. Ergun, J. Orlin, and A. Punnen. A survey of very-large scale neighborhood search techniques. Discrete Applied Mathematics, 123:75 103, 2002. [2] D. Anghinolfi and M. Paolucci. Parallel machine total tardiness scheduling with a new hybrid metaheuristic approach. Computers and Operations Research, 34:3471 3490, 2007. [3] L. Bigras, M. Gamache, and G. Savard. Time-indexed formulations and the total weighted tardiness problem. INFORMS Journal on Computing, 1:133 142, 2008. [4] U. Bilge, F. Kyraç, F. Kurtulan, and M. Pekgun. A tabu search algorithm for parallel machine total tardiness problem. Computers and Operations Research, 31:397 414, 2004. [5] R. Congram, C. Potts, and S. van de Velde. An iterated dynasearch algorithm for the single machine total weighted tardiness scheduling problem. INFORMS Journal of Computing, 14:52 67, 2002. [6] F. Della Croce. Generalized pairwise interchanges and machine scheduling. European Journal of Operational Research, 83:310 319, 1995. [7] J. Du and J. Leung. Minimizing total tardiness on one processor is NP-Hard. Mathematics of Operations Research, 15(3):483 495, 1990. [8] M. Dyer and L. Wolsey. Formulating the single machine sequencing problem with release dates as a mixed integer program. Discrete Applied Mathematics, 26:255 270, 1990. [9] O. Ergun and J. Orlin. Fast neighborhood search for the single machine total weighted tardiness problem. Operations Research Letters, 34:41 45, 2006. [10] R. Graham, E. Lawler, J. Lenstra, and A. Rinnooy-Kan. Optimization and approximation in deterministic sequencing and scheduling: a survey. Annals of Discrete Mathematics, 5:287 326, 1979. [11] A. Grosso, F. Della Croce, and R. Tadei. An enhanced dynasearch neighborhood for the single-machine total weighted tardiness scheduling problem. Operations Research Letters, 32:68 72, 2004. [12] E. Lawler. A pseudopolynomial algorithm for sequencing jobs to minimize total tardiness. Annals of Research Letters, 1:207 208, 1977. [13] J. Leung. Handbook of Scheduling: Algorithms, Models, and Performance Analysis. Chapman&Hall and CRS Press, 2004.

Relatórios de Pesquisa em Engenharia de Produção V. 8 n. 10 11 [14] Y. Pan and L. Shi. On the equivalence of the max-min transportation lower bound and the time-indexed lower bound for single machine scheduling problems. Mathematical Programming, 110:543 559, 2007. [15] A. Pessoa, E. Uchoa, M. Poggi de Aragão, and R. Rodrigues. Algorithms over arc-time indexed formulations for single and parallel machine scheduling problems. Technical Report RPEP Vol.8 no.8, Universidade Federal Fluminense, Engenharia de Produção, Niterói, Brazil, 2008. [16] M. Pinedo. Scheduling: theory, algorithms, and systems. Prentice-Hall, 2002. [17] C. Potts and S. van de Velde. Dynasearch - iterative local improvement by dynamic programming. Part I: the traveling salesman problem. Technical report, University of Twente, 1995. [18] C. Potts and L. Wassenhove. A branch-and-bound algorithm for the total weighted tardiness problem. Operations Research, 32:363 377, 1985. [19] J. Sousa and L. Wolsey. A time indexed formulation of non-preemptive single machine scheduling problems. Mathematical Programming, 54:353 367, 1990. [20] T. Stützle, M. Den Besten, and M. Dorigo. Ant colony optimization for the total weighted tardiness problem. Technical report, Technical Report IRIDIA/99-16, 1999. [21] J. Van der Akker, C. Hurkens, and M. Savelsbergh. Time-indexed formulations for machine scheduling problems:column generation. INFORMS Journal on Computing, 12(2):111 124, 2000. [22] J. Van der Akker, C. Van Hoesel, and M. Savelsbergh. A polyhedral approach to singlemachine scheduling problems. Mathematical Programming, 85:541 572, 1999.