Very large-scale neighborhood search: Theory, algorithms and applications

Very large-scale neighborhood search: Theory, algorithms and applications By Ravindra K. Ahuja Department of Industrial and Systems Engineering, Unive...
2 downloads 0 Views 2MB Size
Very large-scale neighborhood search: Theory, algorithms and applications By Ravindra K. Ahuja Department of Industrial and Systems Engineering, University of Florida, Gainesville, FL 32611, USA [email protected] Özlem Ergun Department of Industrial and Systems Engineering Georgia Institute of Technology Atlanta, GA 30332, USA [email protected] James B Orlin Sloan School of Management Massachusetts Institute of Technology Cambridge, MA 02139, USA [email protected] Abraham P Punnen Department of Mathematics Simon Fraser University Surrey, British Columbia, Canada [email protected]

neighborhood function for an instance (F, f) of a combinatorial

optimization

problem

P

is

a

F

: F → 2 . We assume that N F does not

1. Introduction

mapping N F

A combinatorial optimization problem (COP) P consists

depend on the objective function f. For convenience, we usually drop the subscript and simply write N. For a feasible solution S, N(S) is called the neighborhood of S. We assume that S ∈ N (S) . For a minimization

of a collection of its instances. An instance of P can be represented as an ordered pair (F, f), where F is the family of feasible solutions and f is the objective function which is used to compare two feasible solutions. The family F is formed by subsets of a finite set E = {1, 2, …, m} called the ground set. The objective function

{}

f : F → Q+ ∪ 0

assigns a

nonnegative cost to every feasible solution S in F. The Traveling Salesman Problem (TSP) and the Minimum Spanning Tree Problem are typical examples of combinatorial optimization problems. Most of the combinatorial optimization problems of practical interest are NP-hard. Local search is one of the primary solution approaches for computing an approximate solution for such hard problems. To describe a local search algorithm formally, we need the concept of a neighborhood for each feasible solution. A

problem, a feasible solution

S ∈ F is said to be locally

optimal with respect to N if

f (S) ≤ f (S) for

all S ∈ N (S ) . Then the local search problem is to find a locally optimal solution for a given COP. Classic neighborhood functions studied in the combinatorial optimization literature include the 2-opt and 3-opt neighborhoods for the TSP[33, 38], the flip neighborhood for Max Cut [55], and the swap neighborhood for Graph Partitioning [37, 55]. The sizes of these neighborhoods are polynomial in the problem size. However, the class of local search algorithms that we are considering here primarily concentrates on neighborhoods of very large size, often exponential in the problem size. For the TSP, this class includes variable depth neighborhoods, ejection chain

neighborhoods, pyramidal tours neighborhoods, permutation tree neighborhoods, neighborhoods induced by polynomial-time solvable special cases etc. For partitioning problems, various multi exchange neighborhoods studied in literature have this property. Roughly speaking, a local search algorithm starts with an initial feasible solution and then repeatedly searches the neighborhood of the ‘current’ solution to find better and better solutions until it reaches a locally optimal solution. Computational studies of local search algorithms and their variations have been extensively reported in the literature for various combinatorial optimization problems (see, e.g., [38] and [39] for studies of the Graph Partitioning Problem and the TSP, respectively). Empirically, local search heuristics appear to converge rather quickly, within low-order polynomial time. In general, the upper bound on the guaranteed number of improving moves is pseudopolynomial. This chapter is organized as follows. In Section 2, we consider various applications of VLSN search algorithms and discuss in detail how to develop such algorithms using multi-exchanges for various partitioning problems. Section 3 deals with theoretical concepts of extended neighborhoods and linkages with domination analysis of algorithms. The results in this section reaffirm the importance of using large scale neighborhoods in local search. In Section 4, we deal with performance guarantees for computing an approximation to a local minimum. This is especially relevant for VLSN search. Searching a large-scale neighborhood is sometimes NP-hard and thus approximation algorithms are used. In these cases, the algorithm may terminate at a point that is not a local minimum.

2. VLSN Search Applications VLSN search algorithms have been successfully applied to solve various optimization problems of practical interest. This includes the capacitated minimum spanning tree problem [12, 13, 57], vehicle routing problems [14, 20, 22, 23], the traveling salesman problem [21, 22, 32, 34, 48, 54], the weapon target assignment problem [9], the generalized assignment problem [61, 62, 63], the plant location problem [11], parallel machine scheduling problems [15], airline fleet assignment problems [5, 6, 7], the quadratic assignment problem [8], pickup and delivery problems with time windows [36, 53], the multiple knapsack problem [19], manufacturing problems [35], optimization problems in IMRT treatment planning [3], school timetabling problems [17], the graph coloring problem [18] etc. The successful design of an effective VLSN search

algorithm depends on the ability to identify a good neighborhood function and the ability to design an effective exact or heuristic algorithm to search the neighborhood for an improved solution. A VLSN search algorithm can be embedded within a metaheuristic framework such as tabu search [29], genetic algorithms [42], scatter search [52], GRASP [27] etc. to achieve further enhances in performance. Simulated annealing may be used in principle, but is not likely to be a successful approach when the size of the neighborhood is exponentially large. Researchers have used various techniques for developing good neighborhood functions that leads to effective VLSN search algorithms. This includes multiexchange [58, 59, 12, 13], ejection chains [30], variable depth methods [41, 47], integer programming [20], weighted matching [20, 21, 32, 48, 54], set partitioning [20] etc. A comprehensive discussion of all these techniques is outside the scope of this chapter. Applications of ejection chains in local search are discussed in other chapters of this book and hence we will not discuss it here. To illustrate the features of a VLSN search algorithm we primarily concentrate on applications of multi-exchange neighborhoods originally developed by Thompson and Orlin [58] and Thompson and Psaraftis [58]. It is one of the successful approaches for developing VLSN search algorithms for various partitioning problems [12, 13, 19].

2.1 Partitioning problems and multiexchange neighborhoods A subset B of the ground set E is said to be a feasible subset if it satisfies a collection of prescribed conditions, called feasibility conditions. We assume there is a feasibility oracle ζ that verifies whether a subset B of E satisfies the feasibility conditions. A partition S = {S1, S2, …, Sp} is said to be feasible if Si is a feasible subset for each i = 1, 2, …, p. Let c : 2E →  be a prescribed cost function. The cost C(S) of the partition S = {S1, S2, …, Sp} is defined as p C(S) = ∑ c(S ) . Partitioning problems are the subclass i=1

i

of combinatorial optimization problem where the family of feasible solutions F is the collection of all feasible partitions of E with C(.) as the objective function. Partitioning problems are typically NP-hard even if the feasibility oracle ζ and evaluation of the cost c(.) of the subsets of a partition run in polynomial time. Several well studied combinatorial optimization problems are special cases (or may be viewed as special cases) of partitioning problems. These include the capacitated

2

minimum spanning tree problem [12, 13, 28], the generalized assignment problem [61, 62, 63], vehicle routing problems [15, 20], graph partitioning problems [37, 47], the k-constrained multiple knapsack problem [19] etc. We will discuss some of these problems in detail later. Next, we develop a VLSN search algorithm for the general partitioning problem. The first step in the design of a VLSN search algorithm is to develop a suitable neighborhood function. Let S = {S1, S2, …, Sp} be a feasible partition. A cyclic exchange of S selects a collection { Sπ

1

, Sπ ,..., Sπ } of 2

q

subsets from S and moves an element say bi from subset

Sπ to subset Sπ i

i+1

for i =1, 2, …, q where q+1 = 1. *

(See Figure 1.) Let S be the resulting partition. If S* is a feasible partition, then we call the exchange a feasible cyclic exchange. It can be verified that

q

{ }

{ }

C(S ) = C(S) + ∑ (c( bi−1 ∪ Sπ \ bi ) − c(Sπ )) *

i=1

i

i

(1) where b0 is defined to be bq. If q = 2, the cyclic exchange reduces to a 2-exchange, an operation well studied for various partitioning problems [16, 33, 38]. In a (feasible) cyclic exchange, if we omit the move from

Sπ to Sπ (= Sπ ) the resulting exchange is called a q

q+1

1

(feasible) path exchange. For q = 2, a path exchange reduces to the shift operation, again well studied for various partitioning problems [16].

The cyclic and path exchanges discussed above were introduced by Thompson and Orlin [58] and Thompson and Psaraftis [58] and subsequently used by several researchers in the context of various partitioning problems. Given a feasible partition S, let Z(S) be the collection of all feasible partitions of E that can be obtained by cyclic exchanges from S. Similarly, let P(S) be the collection of feasible partitions of E that can be obtained by a path exchange from S. We call Z(S) the cyclic exchange neighborhood of S, and we call P(S) the path exchange neighborhood of S. The union Z(S) ∪ P(S) is called the multi-exchange neighborhood of S. The cardinality of the neighborhoods Z(S) and P(S) is often exponential. A precise estimate of this cardinality depends on various parameters including the nature of the feasibility oracle ζ. Thus Z(S) and P(S) qualify as very large scale neighborhoods that can be used in the design of a VLSN search algorithm. Besides the size of the neighborhood, the power of a VLSN search algorithm also depends on our ability to obtain an improved solution in the neighborhood. Given a feasible solution S, the problem of finding an improved solution in a given neighborhood is called a local augmentation problem [43]. We next discuss how to solve the local augmentation problem for Z(S). This is achieved by (approximately) solving an optimization problem on an associated structure called the improvement graph. The improvement graph associated with a feasible partition is denoted by G(S). Its node set is E, which is also the ground set. Given a partition S, for each element i of E let θ(i) denote the index of the subset in which it belongs in the partition S. That is, for

i ∈Sr , θ (i) = r . The arc set A = A(G(S)) of G(S) is constructed as follows. An arc (i, j) ∈ A signifies that element i leaves subset Sθ (i) and enters subset Sθ ( j ) while element j leaves Sθ ( j ) . So,

{

{}

{}

A = (i, j) : i, j ∈ E, θ (i) ≠ θ ( j) and i ∪ Sθ ( j ) \ j is a feasible . The cost αij of arc (i, j) ∈ A is given by

Figure 1 – A cyclic exchange

{}

{}

α ij = c( i ∪ Sθ ( j ) \ j ) − c(Sθ ( j ) ).

3

A directed cycle in the improvement graph is said to be subset disjoint if

θ (ip ) ≠ θ (iq )

for p ≠ q . In this definition, if we replace ‘cycle’ by ‘path’ we get a subset disjoint directed path. Lemma 1 (Thompson and Orlin [58]) There is a one-toone cost-preserving correspondence between cyclic exchanges with respect to S and subset-disjoint directed cycles in G(S). A negative cost subset disjoint directed path (cycle) in G(S) is called a valid path (cycle). In view of Lemma 1, a valid cycle in G(S) yields an improved partition. If G(S) contains no valid cycle, then S is locally optimal with respect to N(S). Unfortunately, finding such a valid cycle is NP-hard [58]. Thus the local augmentation problem for the neighborhood N(S) is also NP-hard.

2.1.1 Local augmentation algorithm for N(S) Ahuja et al [13] proposed a heuristic algorithm to compute a valid cycle by modifying the label correcting algorithm for shortest paths. An exact algorithm based on dynamic programming (implicit enumeration) to solve this problem was introduced in [12]. We briefly discuss the algorithm, and refer the reader to [12] for further details. For any subgraph H of G(S), its cost α(S) is given by α(S) =



ij∈P

α ij , where ij is shorthand for (i, j). For a

directed path P in G(S), let tail(P) denotes the start node, head(P) denotes the end node and label(P) denotes the set

{θ (i): i ∈ P} . We say that a path P

1

dominates another path P2 in G(S) if α(P1) < α(P2), tail(P1) = tail(P2), head(P1) = head(P2), and label(P1) = label(P2). If P1 dominates P2 and P2 is part of a valid cycle  , then clearly P1 ∪  \

P2 contains a valid

cycle with cost no more than α(  ). For each path P, we associate a triplet (tail(P), head(P), label(P)) called the key value of P. In our search for a valid cycle in G(S), among paths with the same key value, we only need to consider one with the smallest cost. The following lemma further cuts down the number of paths needed to be considered. Lemma 2 (Lin and Kernighan [41]) If W = is a negative cost cycle, then there exists a node ih

in

W

such

that

each

directed

path ih

− ih+1 ,

ih − ih+1 − ih+ 2 , …, ih − ih+1 − ih+ 2 − ... − ih−1 (where indexes are modulo r) is a negative cost directed path. In view of Lemma 2 and the preceding discussions, we need only consider non-dominated valid paths as candidates for forming valid cycles. Let Pk be the set of all valid non-dominated paths of length k in G(S). The algorithm of Ahuja et al [12] progressively generates Pk for larger values of k. The algorithm enumerates valid paths using a forward dynamic programming recursion. It first obtains all valid paths of length 1 and uses these paths to generate valid paths of length 2 etc. This process is repeated until we have obtained all valid paths of length R for some given length R or until we find a valid cycle. From each valid path, candidate cycles are examined by connecting the head node with the tail node by an arc in G(S) if such an arc exists. A formal description of the valid cycle detection algorithm is given below. algorithm valid cycle detection begin P1:={(i, j) ∈ A(G(S)) : αij 0 . Computing an ε-local optimum is relatively easy [43] for problems where the cardinality of N(S) is small (i.e., polynomial) for all S. Let S be a current solution and if no solution S* exists in N(S) such that f(S*) < f(S)/(1+ε) then S is an ε-local optimum. If such an S* exists, then move to it and continue the search. It can be verified that the process will terminate

9

in polynomial time (for fixed ε and integer cost function) and the resulting solution will be an ε-local optimum. This scheme is not applicable in many VLSN search algorithms where the neighborhood N(S) is explored using heuristics. We consider combinatorial optimization problems with objective function f is of the form f(S) =

∑c

e

. If there

e∈S

is a polynomial time algorithm for computing an improving solution in a neighborhood, then there is a polynomial time algorithm for computing an ε-local optimum. This result was originally obtained by Orlin, Punnen, and Schulz [43]. The algorithm to compute an ε-local optimum starts with a feasible solution S0. Then the element costs ce for e ∈ E are modified using a prescribed scaling procedure to generate a modified instance. Using local search on this modified problem, we look for a solution with an objective function value (with respect to the original cost) that is half that of S0. If no such solution is found, we are at a local optimum for the modified problem and output its solution. Otherwise we replace S0 by the solution of cost less than half and the algorithm is repeated. A formal description of the algorithm is given below. We assume that a local augmentation procedure IMPROVEN is available which with input a neighborhood N(S) and a cost function f computes an improved solution or declare that no improved solution exists in N(S).

Algorithm ε -local search

Theorem 7 (Orlin, Punnen, Schulz [43]). The ε -local search algorithm produces an ε -local optimum Proof. Let S ε be the solution produced by the algorithm, and let S be an arbitrary solution in the neighborhood N( S ε ). Let K and q denote the corresponding values from the last execution of Step 2 of the algorithm. Note that

f (S ε ) =

⎡ ce ⎤

⎛ ⎡ ce ⎤

⎡ ce ⎤

e∈S ε

e

e∈S ε





e∈S







e∈S

where m = E . Here, the second inequality follows from the fact that S ε is locally optimal with respect

f ′ . Together with f( S ε ) ≥ K/2, we have

f (S ε ) − f (S) mq mq 2mq ≤ ≤ ≤ = ε. ε f (S) f (S) f (S ) − mq K − 2mq This completes the proof. We now analyze the complexity of ε -local search algorithm as given in [43]. In each improving move within the local search in Step 4 of the algorithm, the objective function value (with respect to f ′ ) is decreased by at least q units. Thus, the number of calls to IMPROVEN between two consecutive iterations of Step 2 is O(m(1 + ε ) / ε ) = O(m / ε ) . Step 2 is executed at most log f(S0) times, where S0 is the starting solution. Thus the total number of times neighborhoods −1

searched is O(mε log f (S )) . Thus whenever IMPROVEN is polynomial algorithm ε -local search computes an ε -localN optimum in polynomial time for subroutine IMPROVE ; initial feasible fixed ε . 0

Input: Objective function f: 2 E → ℵ; solution S0 ∈ F ; accuracy ε >0. Output: Solution S ε ∈ F that is an ε -local optimum respect to N and A stronglywith polynomial bound on f. the number of

iterations was also proved in [43]. The proof makes use of the following lemma.

Step 1: i := 0 Step 2: K:=f(Si), q:=

⎡ ce ⎤ Kε 8 (Radzik , and ce′ := Lemma e ∈ E;[51]) Let d = (d1, …, dmm) be a real ⎢ ⎥ q for q vector and let y1, …, yp be vectors on {0, 1} . If for all i 2m(1 + ε ) ⎢ ⎥

1 Step 3: k:=0 and Si,k:=Si =1, …, p-1, 0 ≤ d yi+1 ≤ d y i then p = O(m log m). 2 Step 4: repeat i,k After each execution of Step 2, K is reduced at least by Call IMPROVEN(S , f ′ );

half. Further, K is a linear combination of ce for e ∈ E

{comment: f ′(S) = ∑ ce′ } with coefficients 0 or 1. Lemma 8 implies that Step 2 of e∈S



,

to

the ε -local search algorithm can be executed at most

if the answer is “NO”, then O(m log m) times. Thus IMPROVEN at Step 4 is called i,k+1 2 Let Si,k+1 ∈ N(Si,k) such that Si,ktimes. ); setLet k:=k+1; c′ ( S c ′ (m) ζ (m,log cmax ) be at most O( ε -1)< m log i,k ε else S := S ; stop the complexity of IMPROVEN, ξ(n) be the time

until c(S i,k ) ≤ K / 2; Step 5: Si +1:= Si,k, set i:=i+1 and goto Step 2.



∑ c ≤ ∑ ⎢ q ⎥ q ≤ ∑ ⎢ q ⎥ q ≤ ∑ q ⎜⎝ ⎢ q ⎥ + 1⎟⎠ ≤ ∑

10

e∈S

needed to obtain a feasible starting solution and K0 = f(S0), where cmax = max{ce : e ∈ E}. Thus we have the following complexity result. Theorem 9 (Orlin, Punnen and Schulz [43]): The ε local search algorithm correctly identifies an ε -locally optimal solution of an instance of a combinatorial optimization problem in

Systems Engineering, University of Florida, Gainesville, FL. [4]

Ahuja, R.K., N. Boland, and I. Dumitriscue, 2001. Exact and heuristic algorithms for the subset-disjoint minimum cost cycle problems. Working Paper, Industrial and Systems Engineering, University of Florida, Gainesville, FL.

[5]

Ahuja, R.K., J. Goodstein, J. Liu, A. Mukherjee, and J.B. Orlin, 2004. Solving the combined through-fleet assignment model with time windows using neighborhood search. Networks 44, 160-171.

[6]

Ahuja, R.K., J. Goodstein, J. Liu, A. Mukherjee, J.B. Orlin, and D. Sharma, 2003. Solving multi-criteria combined through-fleet assignment model. A chapter in the book Operations Research in Space and Air, Edited by Tito A. Ciriani, Giorgio Fasano, Stefano Gliozzi, and Robert Tadei, Kluwer Academic Publishers, 233-256.

[7]

Ahuja, R.K., J. Goodstein, A. Mukherjee, J.B. Orlin, and D. Sharma, 2001. A very large-scale neighborhood search algorithm for the combined through-fleet assignment model. Technical report.

[8]

Ahuja, R.K., K.C. Jha, J.B. Orlin, and D. Sharma, 2002. Very large scale neighborhood search algorithm for the quadratic assignment problem. Technical report.

[9]

Ahuja, R.K., A. Kumar, K.C. Jha, and J.B. Orlin, 2003. Exact and heuristic algorithms for the weapon-target assignment problem. Technical report.

[10]

Ahuja, R.K., J. Liu, J.B. Orlin, J. Goodstein, and A. Mukherjee, 2004. Solving the combined through-fleet assignment model with time windows using neighborhood search. Networks, 44, 160-171.

[11]

Ahuja, R.K., J.B. Orlin, S. Pallottino, M.P. Scaparra, and M.G. Scutella, 2004. A multiexchange heuristic for the single source capacitated facility location. Management Science, 50, 749-760.

[12]

Ahuja, R.K., J.B. Orlin, and D. Sharma, 2003. A composite very large-scale neighborhood structure for the capacitated minimum

O(ξ(n) + ζ (n,logcmax )nε −1 min{nlogn,logK 0 }) time. If the neighborhood N is exact, then ε -local search produce an ε -optimal solution [43]. Suppose that the neighborhood N is searched approximately. That is, IMPROVEN detects an improved solution or declares that the current solution is δ-locally optimal. Even in this case an ε -local optimum can be identified in (strongly) polynomial time for any fixed ε .

5. Concluding Remarks In this chapter we have discussed techniques for developing VLSN search algorithms. Empirical and theoretical indicators are provided to substantiate our belief that VLSN search algorithms are powerful tools for obtaining high quality solutions for hard problems in reasonable amount of computational time. Acknowledgements: We are thankful to Temel Oncan for his assistance in preparing the manuscript. This work was partially spported by NSF grant DMI0217359 awarded to Ravi Ahuja, DMI-0238815 grant awarded to Özlem Ergun, NSF grant DMI-0217123 awarded to James B Orlin and an NSERC discovery grant awarded to Abraham P Punnen.

References [1]

Aarts, E.M.L. and J.K. Lenstra, 1997. Local Search in Combinatorial Optimization. John Wiley

[2]

Ahuja, R.K., Ö. Ergun, J.B.Orlin, A.P. Punnen, 2001. A survey of very large-scale neighborhood search techniques, Discrete Applied Mathematics, 23, 75–102.

[3]

Ahuja, R.K., 2002. Very large-scale neighborhood search algorithms for minimizing the beam-on time and set-up time in radiation therapy treatment planning. Working Paper, Department of Industrial and

11

spanning tree problem. Operations Research Letters, 31, 185-194. [13]

[14]

Ahuja, R.K., J.B. Orlin, and D. Sharma, 2001. Multi-exchange neighborhood search structures for the capacitated minimum spanning tree problem. Mathematical Programming, 91, 7197. Agarwal, R., R.K. Ahuja, G. Laporte, and Z.J. Shen, 2003. A composite very large-scale neighborhood search algorithm for the vehicle routing problem. Handbook of Scheduling: Algorithms, Models and Performance Analysis. Edited by J. Y-T. Leung, Chapman & Hall/ CRC, pp. 49-01 to 49-23.

[15]

Agarwal, R., Ö. Ergun, J.B. Orlin, and C.N. Potts, 2004. Solving Parallel Machine Scheduling Problems with Variable Depth Local Search, Technical Report.

[16]

Amberg, A., W. Domschke, S. Voß, 1996. Capacitated minimum spanning trees: Algorithms using intelligent search. Combinatorial Optimization: Theory and Practice 1, 9–39

[17]

[18]

Avella, P., B. D'Auria, S. Salerno, and I. Vasil’ev, 2004. Computational experience with Very Large-Scale Neighborhood Search for High-School Timetabling. Technical report. Chiarandini, M., I. Dumitrescu, and T. Stützle, 2003. Local search for the colouring graph problem. A computational study. Technical Report AIDA-03-01, FG Intellektik, FB Informatik, TU Darmstadt, Germany.

[19]

Cunha, C.B. and R.K. Ahuja, 2004. Very largescale neighborhood search for the Kconstrained multiple knapsack problem. Technical report.

[20]

De Franceschi, R., M. Fischetti, and P. Toth, 2005. A new ILP-based refinement heuristic for vehicle routing problems, Mathematical Programming, to appear.

[21]

Deǐneko, V.G., Woeginger, G.J, 2000. A study of exponential neighborhoods for the traveling salesman problem and the quadratic assignment problem. Mathematical Programming 87, 519–542.

[22]

Ergun, Ö., 2001, New algorithms based on neighborhoods. PhD Research Center, Massachusetts, USA.

neighborhood search exponentially large Thesis, Operations MIT, Cambridge,

[23]

Ergun, Ö. and J.B. Orlin, and A. SteeleFeldman, 2002. Creating very large-scale neighborhoods out of smaller ones by compounding moves. Technical report.

[24]

Ergun, Ö., and J.B. Orlin, 2004. Very largescale neighborhood search based on solving restricted dynamic programming recursions. Technical report.


[25]

Ergun, Ö. and J.B. Orlin, 2004. Fast neighborhood search for the single machine total weighted tardiness problem. To appear in Operations Research Letters.

[26]

Feo, T.A., M.G.C. Resende, 1995. Greedy randomized adaptive search procedures, Journal of Global Optimization 6, 109-125.

[27]

Gavish, B., 1991, Topological design telecommunications networks- Local access design methods, Annals of Operations Research 33, 17-71.

[28]

Glover, F. and M. Laguna, 1997. Tabu Search, Kluwer Academic Press, Dordrecht, Netherlands.

[29]

Glover, F., 1996. Ejection chains, reference structures and alternating path methods for traveling salesman problems, Discrete Applied Mathematics 65, 223-253.

[30]

Glover, F., A.P. Punnen, , 1997. The traveling salesman problem: new solvable cases and linkages with the development of approximation algorithms. Journal of the Operational Research Society 48, 502–510.

[31]

Gutin, G., 1988. On the efficiency of a local algorithm for solving the traveling salesman problem. Autom. Remote Control 49, 15141519.

[32]

Gutin, G. and A.P. Punnen, 2002. The Traveling Salesman Problem and Its Variations, Kluwer Academic Publishers, Dordrecht, Netherlands.

12

[33]

[34]

[35]

G. Gutin, A. Yeo, and A. Zverovitch, 2002. Exponential neighborhoods and domination analysis for the TSP, Chapter 6 in The Traveling Salesman Problem and Its Variations, G. Gutin and A.P. Punnen, eds., Kluwer Academic, Dordrecht, The Netherlands, 223–256. Huang,W., H.E. Romeijn, and J. Geunes, 2005. The continuous-time single-sourcing problem with capacity expansion opportunities, Naval Research Logistics 52, 193-211. Ibaraki, T., S. Imahori, M. Kubo, T. Masuda, T. Uno, and M. Yagiura, 2005. Effective local search algorithms for routing and scheduling problems with general time-window constraints, Transportation Science 39, 206232.

[43]

Orlin, J.B. and D. Sharma, 2004, Extended neighborhood: Definition and characterization, Mathematical Programming, Ser A. 101, 537559.

[44]

Papadimitriou, C.H., 1992. The complexity of the Lin–Kernighan heuristic for the traveling salesman problem, SIAM Journal on Computing 21, 450–465.

[45]

Papadimitriou, C.H., and K. Steiglitz, 1977 , On the complexity of local search for the traveling salesman problem, SIAM Journal on Computing 6, 76–83.

[46]

Papadimitriou, C.H. and K Steiglitz, 1982. Combinatorial Optimization: Algorithms and Complexity. Prentice-Hall.

[47]

Punnen, A.P., 2001. The traveling salesman problem: new polynomial approximation algorithms and domination analysis, Journal of Information and Optimization 22, 191-206.

[36]

Johnson, D.S., C.R. Aragon, L.A. McGeoch, C. Schevon, 1989. Optimization by simulated annealing: An experimental evaluation; Part 1, graph partitioning. Operations Research 37, 865–892.

[48] [37]

Johnson, D.S., L.A. McGeoch, 2002. Experimental analysis of heuristics for the STSP. Gutin and Punnen (eds.), The Traveling Salesman Problem and its Variations, Kluwer Academic Publishers.

Punnen, A.P., and S.N. Kabadi, 2002. Domination analysis of some heuristics for the asymmetric traveling salesman problem. Discrete Applied Mathematics 119, 117–128.

[49]

Johnson, D.S., C.H. Papadimitriou, and M. Yannakakis, 1988. How easy is local search? J. Comput. System Sci. 37, 79–100.

Punnen, A.P., F. Margot, and S.N. Kabadi, 2003. TSP heuristics: domination analysis and complexity. Algorithmica 35, 111-127.

[50]

Krentel, M. W., 1989, Structure in locally optimal solutions, in Proceedings of the 30th Annual Symposium on Foundations of Computer Science, IEEE Computer Society Press, Los Alamitos, CA, 216–221.

Radzik, T., 1993. Parametric flows, weighted means of cuts, and fractional combinatorial optimization, in Complexity in Numerical Optimization, P. Pardalos, ed., World Scientific, River Edge, NJ, 351–386.

[51]

Rego,C. and B. Alidaee, 2005. Metaheuristic Optimization Via Memory and Evolution, Kluwer Academic Publishers, Massachusetts.

[52]

Ropke, S. and D. Pisinger, 2004. An adaptive large neighborhood search heuristic for the pickup and delivery problem with time windows. Technical Report.

[53]

Sarvanov, V.I. and N.N. Doroshko, 1981. The approximate solution of the traveling salesman problem by a local algorithm that searches neighborhoods of exponential cardinality in quadratic time. In Software: Algorithms and Programs, 31, 8-11. Math. Institute of the Belorussian Acad. Sci. Minsk, (in Russian).

[38]

[39]

[40]

[41]

[42]

Lin, S. and B.W. Kernighan, 1973. An effective heuristic algorithm for the traveling salesman problem, Operations Research 21, 972-989. Michalewicz, Z., 1996, Genetic Algorithms+Data Structure= Evolution Programs, 3rd Edition, Springer-Verlag, New York. Orlin, J.B., A.P. Punnen, and A.S. Schulz, 2004. Approximate Local Search in Combinatorial Optimization, Siam Journal on Computing 33, 1201-1214.

13

[54]

Schaffer A.A. and M. Yannakakis, 1991. Simple local search problems that are hard to solve. SIAM Journal of Computing 20, 56-87.

[55]

Sharaiha, Y.M., M. Gendreau, G. Laporte, and I.H. Osman, 1997. A tabu search algorithm for the capacitated shortest spanning tree problem. Networks 29, 161–171.

[56]

Sharma, D., 2002. Cyclic exchange and related neighborhood structures for combinatorial optimization problems. Ph.D. Thesis. Operations Research Center, MIT, Cambridge, MA.

[57]

Thompson, P.M., and J.B. Orlin, 1989. The theory of cyclic transfers, Working Paper OR200-89, Operations Research Center, MIT, Cambridge, MA.

[58]

Thompson, P.M. and H.N. Psaraftis, 1993. Cyclic transfer algorithms for multi-vehicle routing and scheduling problems, Operations Research 41, 935-946.

[59]

Vincent, T., M. and C. Kwan, 2004. Adapting the Large Neighborhood Search to Effectively Solve Pickup and Delivery Problems with Time Windows, 16th IEEE International Conference on Tools with Artificial Intelligence (ICTAI'04) 11 15 - 11, Boca Raton, Florida , 519-523.

[60]

M. Yagiura, T. Ibaraki, F. Glover, 2004. An ejection chain approach for the generalized assignment problem, INFORMS Journal on Computing 16, 133–151.

[61]

Yagiura, M., Iwasaki, S., Ibaraki, T. and F. Glover, 2004. A Very Large-Scale Neighborhood Search Algorithm for the MultiResource Generalized Assignment Problem, Discrete Optimization 1, 87-98.

[62]

Yagiura, M., Ibaraki, T. and F. Glover, 2005. A path relinking approach with ejection chains for the generalized assignment problem, to appear.

14