Annals of Operations Research 131, 21–43, 2004 2004 Kluwer Academic Publishers. Manufactured in The Netherlands.
Density Based Problem Space Search for the Capacitated Clustering p-Median Problem SAMAD AHMADI
[email protected]
School of Computing, De Montfort University, The Gateway, Leicester LE1 9BH, UK IBRAHIM H. OSMAN
[email protected] Center for Advanced Mathematical Studies and Olayan School of Business, American University of Beirut, Lebanon
Abstract. In the Capacitated Clustering Problem (CCP), a given set of n weighted points is to be partitioned into p clusters such that, the total weight of the points in each cluster does not exceed a given cluster capacity. The objective is to find a set of p centers that minimises total scatter of points allocated to them. In this paper a new constructive method, a general framework to improve the performance of greedy constructive heuristics, and a problem space search procedure for the CCP are proposed. The constructive heuristic finds patterns of natural subgrouping in the input data using concept of density of points. Elements of adaptive computation and periodic construction–deconstruction concepts are implemented within the constructive heuristic to develop a general framework for building efficient heuristics. The problem-space search procedure is based on perturbations of input data for which a controlled perturbation strategy, intensification and diversification strategies are developed. The implemented algorithms are compared with existing methods on a standard set of bench-marks and on new sets of large-sized instances. The results illustrate the strengths of our algorithms in terms of solution quality and computational efficiency. Keywords: capacitated clustering (p-median) problem, greedy density search, guided construction search method, metaheuristics, problem-space search
1.
Introduction
In the Capacitated Clustering Problem (CCP), a given set of n weighted points is to be partitioned into p clusters such that total weight of points in each cluster does not exceed a given cluster capacity. The objective is to find a set of p centers that minimize the total scatter of points allocated to these centers. Specifically, given a set A = {a1 , . . . , an } of n points in the Euclidean space, an integer p and a distance (cost) matrix d = (dik )n×n , where dik = d(ai , ak ) is the symmetric distance between points ai , ak ∈ A with dik 0. Each point ai is associated with a positive weight (demand) ωi . Each cluster Cj is a nonempty subset of A and has a given cluster capacity W . For all ai , ak ∈ A, let us define: 1, if point ak is selected as a center, (1) yk = 0, otherwise, 1, if point ai is assigned to center ak , (2) xik = 0, otherwise.
22
AHMADI AND OSMAN
The CCP is then to minimize: Z=
n n
dik xik
(3)
i=1 k=1
subject to: n
yk = p,
(4)
k=1 n
xik = 1
∀i = 1, . . . , n,
(5)
ωi xik W
∀k = 1, . . . , n,
(6)
k=1 n i=1
∀i, k = 1, . . . , n, xik yk xik , yk ∈ {0, 1} ∀i, k = 1, . . . , n.
(7) (8)
Constraint (4) will ensure the selection of a fixed number of p centers. Equations (5) enforce the assignment of every point to exactly one center. Equations (6) are the capacity constraints of clusters and whereas (7) are the assignment of points to only selected open centers. For an alternative IP formulation, we refer to (Hansen, Jaumard, and Sanlaville, 1993). The scale of a clustering problem is provided by a general expression for the number of distinct partitions of n points into p clusters, N(n, p), given by Liu (1968): p 1 p−i p (−1) (9) in. N(n, p) = p! i=0 i Values of N(n, p) for n = 50 and p = 1, . . . , 50 drawn by Maple, create an interesting diagram in figure 1. It demonstrates some of the non-trivial characteristics of the problem. The first observation is the explosive growth in the number of clusters with any increase in the values of p. The maximum number of clusters occurs at p = 16, which illustrates an asymmetric behavior of N(n, p) in terms of p values. From the complexity point of view, the class of clustering problems are among the most difficult combinatorial optimization problems. Brücker (1977) proved that the Uncapacitated Clustering Problem (UCP) with even p = 2 is N P-complete, from which the N P-completeness of the CCP can be deduced (Ahmadi, 1998). Consequently, the CCP instances of practical size can not be solved efficiently to optimality by exact approaches and approximate methods are the only practical tools for solving such instances. Meta-heuristics are a class of approximate methods that have widespread successful applications for complex optimization problems. We refer to (Osman, 1995b) for an introduction and (Osman and Laporte, 1996) for a bibliography on meta-heuristics and to the books by Osman and Kelly (1996), Voss et al. (1998) and Ribeiro and Hansen (2002).
DENSITY BASED PROBLEM SPACE SEARCH
23
Figure 1. The N(50, p) values for p = 1 (top) to p = 50 (down).
The CCP has a wide range of practical applications including: location of switching centers in communication networks (Mirzaian, 1985); construction of optimal index funds (Beck and Mulvey, 1982); consolidation of customer orders to vehicle shipment (Mulvey and Beck, 1984; Koskosidis and Powell, 1992); information system design (Karimi, 1986; Klein and Aronson, 1991); manufacturing and marketing applications (Vakharia and Mahajan) and location of offshore platforms (Hansen, Pedrosa, and Ribeiro, 1994). For recent reviews, we refer to Chhajed, Francis, and Lowe (1993), Osman and Christofides (1994) and Hansen and Jaumard (1997). The CCP problem has been tackled with different meta-heuristics and exact algorithms including: • Classical heuristics: heuristic-subgradient algorithm by Mulvey and Beck (1984), and hybrid iterative heuristic-relaxation method by Koskosidis and Powell (1992). • Meta-heuristics: hybrid simulated annealing and tabu search by Osman and Christofides (1994); bionomic algorithm by Maniezzo, Mingozzi, and Baldacci (1998); adaptive tabu search by Franca, Sosa, and Pureza (1999); Guided Construction Search by Osman and Ahmadi (2002) and greedy random adaptive memory search procedure by Ahmadi and Osman (2004). • Exact algorithms: a tree search based on a column generation approach by Hansen, Jaumard, and Sanlaville (1993) and a tree search based on a set partitioning formulation by Baldacci et al. (2002). In this paper a new constructive method, a general framework to improve the performance of greedy constructive heuristics and a problem space search procedure for
24
AHMADI AND OSMAN
the CCP are proposed. The new constructive heuristic is introduced in section 2. It finds patterns of natural subgrouping of the input data using a concept of density. Elements of adaptive computation and periodic construction–deconstruction are introduced to improve the performance of the greedy constructive heuristic in section 3. A problemspace search procedure is proposed in section 4. It is based on: perturbations of input data, a controlled perturbation strategy and intensification and diversification strategies. Finally, the proposed algorithms are compared with the existing methods on a standard set of bench-marks and on new sets of large instances in section 5. Conclusions and further research directions are made in section 6. 2.
Density search constructive method
Constructive heuristics use greedy measures for selecting different elements to build a solution. These measures are based on problem specific knowledge of attributes of good solutions. Finding suitable greedy measures to evaluate these attributes is a challenge. For the CCP, constructive method may include two stages: a selection of a set of centers and an assignment of points to centers. For finding a set of centers, we propose a density function which measures a fitness of a point as a potential center. For the assignment of points, we use a modification of the regret function of Mulvey and Beck (1984). Moreover, the adaptive computation is implemented to update the greedy values after every center selection. Moreover, the greedy function considers only the immediate benefit of different selections. Hence, it may be unable to find intelligent paths to good solutions. Consequently, we propose a periodic construction–deconstruction phase to improve partially constructed solutions to correct such myopic selections made by the greedy function. 2.1. Finding the set of centers Selection of a good set of centers has a critical role in shortening the length of the search towards the optimal solution. Different criteria for the selection of centers have been used in the literature including: random selection of centers (Mulvey and Beck, 1984); knapsack-like greedy criterion (Koskosidis and Powell, 1992); and farthest location of centers (Osman and Christofides, 1994). A more natural way of finding centers is to imitate a human observer when finding clusters in a given set of points. In low dimensions, an observer can distinguish clusters mainly on the basis of an impression of the density of points in different regions. In the literature, several methods have been proposed that use the density of points to construct an arbitrary number of uncapacitated clusters (Franco et al., 1997). In the Nearest Neighbor Clustering (NNC) procedure introduced by Wong (1982), the density of each point xi is proportional to the inverse of the volume of the smallest sphere surrounding xi and containing a fixed number of k points, Vk (xi ). In our density definition (11), Vk (xi ) is replaced by a problem specific measure, namely, the total distance from xi to a number of mi neighboring points that satisfies the restrictions in (10). Note that, two points with the same NNC density value may have different
DENSITY BASED PROBLEM SPACE SEARCH
25
total distances. Hence, the point with the smaller total distance will have a higher density with our definition. Definition 1. For each xi ∈ {x1 , . . . , xn }, let define Yi to be the set of mi -nearest points of xi for which: n (10) ωk W and mi . p x ∈Y k
i
In this definition, the total distance from xi to all the points in Yi is a measure of the potential of xi as a center. The value of mi plays the role of k in the NNC procedure, but due to the capacity constraint, its value becomes a variable with a defined upper bound n/p. Note that without imposing such a bound on the number of points in Yi , unbalance-sized clusters will be created in instances of clusters with large capacities and points with small demands. Definition 2. The density value Di for each point xi is defined as: Di =
mi T (xi , Yi )
(11)
where T (xi , Yi ) is the total distance from xi to all the points in Yi . The Di value measures the density of xi in terms of the number of points that could be assigned to it and their overall closeness. Given two points xi and xk , if the subsets Yi and Yk have the same total distance (T (xi , Yi ) = T (xk , Yk )), then the cluster having the larger density value contains a larger number of points. On the other hand, if Yi and Yk have the same number of points (mi = mk ), then the higher is the density of a point, the smaller is the total distance of its corresponding set. 2.2. The assignment procedure Given set of centers for the CCP, the problem of assigning points to centers is a generalized assignment problem which is N P-complete (Osman, 1995a). Hence, a number of assignment heuristics are suggested in literature such as assignments in: decreasing order of regret values (Mulvey and Beck, 1984); increasing order of the distances of points from their nearest centers (Osman and Christofides, 1994); decreasing order of the weights of points (Franca, Sosa, and Pureza, 1999), and increasing order of dij /ωi value (Koskosidis and Powell, 1992). We shall introduce our regret function which measures the penalty to be added to the objective function value, if point ai is not assigned to its first nearest center.
26
AHMADI AND OSMAN
Definition 3. Let O = {o1 , . . . , op } be a given set of p centers. For every ai ∈ A, the regret R(ai ) of ai is defined as the difference between the distances from ai to oi1 and oi2 , its first and second nearest centers, respectively, i.e., R(ai ) = d(ai , oi2 ) − d(ai , oi1 ).
(12)
Note that, the definition of R(ai ) by Mulvey and Beck (1984) is only given by d(oi1 , oi2 ) and not in relation to ai leading to an approximation of the actual penalty value. The assignment procedure starts by finding the regret values of every unassigned point in A. Iteratively, the point with the highest regret value is assigned to its first nearest available center. After completion of the assignments, centers of clusters are recomputed. If any change in the set of centers occurs, the assignment procedure is repeated until there is no change in the set of centers or an iteration limit has been reached. 3.
Techniques for improving the performance of constructive heuristics
3.1. Adaptive computation Adaptive computation in a greedy constructive method is defined as the process of updating greedy values after a selection of a center is made. This update process incorporates recent information brought by the new selection into the updated values. Generally, such updates improve the quality of future selections. For the CCP, the regret values will change if the first or second nearest centers of a point are not available due to the cluster capacity restriction. Therefore, using the old regret values will generate wrong priorities to assign points. Without updating the density values, an unassigned point close to an already selected center still has a high density value after constructing the corresponding cluster. The high density value is not anymore valid since its old neighboring points may have already been assigned to the constructed cluster. 3.2. Periodic construction–deconstruction The idea of periodic construction–deconstruction for improvement is the counterpart of the principle of optimality in dynamic programming (DP). DP provides a framework for decomposing certain optimization problems into a nested family of subproblems. The nested structure suggests a recursive approach for solving the original problem from the solutions of the subproblems. This approach was first designed to solve sequential decision problems in (Nemhauser and Wolsey, 1988). The application of this concept for constructive heuristics in combinatorial optimization problems is to try to improve a partially constructed solution, before going to the next phase of constructions. Similar ideas of using improvement steps within constructive procedures have been put forward in: (Captivo, 1991) for p-median problem, (Steiglitz and Weiner, 1968) and (Gendreau,
DENSITY BASED PROBLEM SPACE SEARCH
27
Hertz, and Laporte, 1992) for the traveling salesman problem, and (Russell, 1995) for the vehicle routing problem with time windows. For the CCP, a construction–deconstruction phase for periodic improvement is proposed. It improves a partially constructed solution to correct the myopic assignments based on the regret function and to relocate the new centers within the clusters if possible. After construction of every t clusters, the improvement phase recomputes the center for each cluster. If a new center is found, the current assignments are canceled and the reassignments to new set of centers are started. This process continues until a pre-specified number of iterations is reached or there are no changes in the set of centers. 3.3. Density Search Constructive Method The Density Search Constructive Method (DSCM) is the greedy constructive algorithm which uses the density function in finding the set of centers and the regret function to find the best assignments. It employs elements of adaptive computation for both density and regret values and a periodic construction–deconstruction phase after building every cluster. The DSCM steps are as follows: • Definitions: A: set of n points; O: set of centers; X: set of unassigned points in A; Y : set of assigned points up to iteration t; X: the list of points of X in decreasing order of their density values; Yi : the set of mi nearest points to xi as defined in (10). • Initialization: – Set k = 0; {the iteration counter}; – Set X = A, O = ∅ and Y = ∅. • Main Procedure: 1. Set k = k + 1; 2. For every ai ∈ X, find its set of mi nearest neighboring points, Yi ⊆ X; 3. For every ai ∈ X, compute its density value Di ; 4. Sort the unassigned points in decreasing order of their density values in the list X; 5. Select the top point xi of X, to be the kth center, ok and set O = O ∪ {ok }; 6. Exclude the points in Yi from further selection, i.e. X = X \ Yi and Y = Y ∪ Yi ; 7. If (k 2) then call Find_Best_Clusters(O, Y ); {This is the periodic construction– deconstruction phase of DSCM which improves the partially constructed solution to correct the myopic assignments made by the regret function and to relocate the new centers within the clusters if possible.}
28
AHMADI AND OSMAN
8. If (k < p) then go to step 1; {This brings the adaptivity of computation for the regret and density values by updating regret values and the sets of nearest points, respectively.} 9. Find_Best_Clusters(O, A). End of Procedure Function Find_Best_Clusters(O, Y ) {Note that, this function attempts to improve the partially constructed solution by assigning the points in Y to the current set of centers O, based on regret values, and finding the centers of the new clusters.} – – – –
l = 1 {iteration counter}; Minor = a total number of iterations to be performed; Change = true; While (Change = true and l < Minor) do: (a) Change = false; (b) Assign the points to the given set of centers: (i) Assign all the centers to their clusters; (ii) Calculate the regret values for all the unassigned points; (iii) Find the unassigned point with the highest regret value; (iv) Assign this point to its first available nearest center; (v) Update the set of the unassigned points; (vi) If the set of the unassigned points is not empty, go to (ii); (c) Update the centers: For every cluster Cj with its center oj : For every point ai ∈ Cj : Compute T (ai , Cj ); If (minai ∈Cj T (ai , Cj ) < T (oj , Cj )) then: Update the center and the cost of the Cj ; Change = true; End if End for End for (d) l = l + 1;
End of function
DENSITY BASED PROBLEM SPACE SEARCH
4.
29
Problem-space search algorithm
The inaccuracy of input data found in most of the real world problems suggests that solving a problem with different perturbations of input data may have an advantage in giving a range of possible solutions for decision makers. For combinatorial optimization problems, this approach is proposed by Baxter (1981) to perturb input data for a depot location problem to generate many solutions from a simple construction procedure. More recently, Storer, Wu, and Vaccari (1992) used a similar approach for sequencing problems and called it “Problem Space (PS) search algorithm”. In the PS-search algorithm, perturbations of input data are used to generate different solutions. The data-input space is perturbed in a local search framework to find improving solutions. In this approach, a constructive heuristic H becomes simply a mapping function of a data-input vector d = (dij ) into a solution S, i.e. H (d) = S. Definition 4. The PS-neighborhood of radius ε > 0 for a solution S is defined as: Nε (S) = S = H (d ): d − d < ε where d − d is the distance between vectors d and d in Euclidean space. Moreover, d is only used to modify the greedy selection criteria in H , while the feasibility and evaluation of S are based on the original input data. Hence any feasible solution S for a perturbed instance will be feasible for the original problem. PS-search algorithms have different combinatorial optimization applications including: sequencing and scheduling problems (Storer, Wu, and Vaccari, 1992, 1993); datapath synthesis for concurrent scheduling allocation (Dhodhi et al., 1995); task assignment problem (Ahmad and Dhodhi, 1995); resource constrained scheduling (Leon and Balakrishnan, 1995); resource constrained project scheduling (Naphade, Wu, and Storer, 1997) and flexible flow line scheduling (Leon and Balakrishnan, 1997). To our knowledge, this paper presents the first application of the PS-search algorithm to location problems. For the CCP, our PS-search algorithm uses DSCM in place of its generic construction heuristic, H . A perturbation strategy and two local search algorithms for this PS-search implementation are discussed in following sections. 4.1. Perturbation strategy The role of perturbation strategy in a PS-search algorithm is to select appropriate elements of input data and a radius of perturbation ε. Note that, perturbing the distances in DSCM will modify the density values and will change the priority for selecting centers. But it will not affect the feasibility of solutions. Hence, the distances (dij )n×n are selected for perturbation. Note that the density values are defined in terms of nearest points. Hence our approach for selecting values for ε will control the changes in the sets of nearest points. More specific, let α be a given integer with 1 < α n and β be a given real number in (0, 1]. The ε value will be chosen in a way such that if
30
AHMADI AND OSMAN
d − d < ε then the positions of only β% of points with their α nearest points may change. To find ε, for every point ai , let define dα (i) to be the distance from ai to its α-th nearest point. Let d¯α be the list of dα (i) values sorted in an increasing order for all points ai . The elements of d¯α specify the different perturbation radii in our PS algorithm. For instance, a perturbation of radius less than the first element of d¯α (i.e, d¯α (1)) in most cases, will not change the order of the points with respect to their αth nearest point. Because, if ε < d¯α (1) then ε is smaller than dij for every i and j . Moreover, if the perturbed dij value becomes negative, then its value is set to a small positive value of one. In general, d¯α (m) is the mth smallest distance of all the points from their αth nearest points. Therefore, by selecting the radius of the perturbation as: ε = d¯α (βn) the amount of the perturbation in most of the cases will change only the positions of the β% of the points with their α nearest points. Consequently it affects the boundary points between clusters. Those points are often the cause for bad partitioning. For an illustration, let n = 50, α = 2 and β = 0.2, then d2 is the array of distances d2 (i) from ai to its 2-nearest points for all ai , 1 < i n. As βn = 10, ε is the 10th smallest distance among all the distances in the array d2 . This means that with this radius of the perturbation, in most of the cases, only the positions of 10 points with their second nearest points will be perturbed. This method of perturbation gives an insight into the amount of changes that a specific value of the perturbation radius will impose on the structure of the problem and also the density values. Note that in the literature, there are two commonly used forms of data perturbation: additive form (Baxter, 1981) and multiplicative form (Storer, Wu, and Vaccari, 1992). It is found that using uniform distribution with additive form is better than the normal distribution with multiplicative form in the perturbation of statistical database security applications (Muralidhar and Batra, 1995). Therefore, the additive uniform perturbation form is used in our PS algorithm. 4.2. Local search strategies For the CCP, we implement two PS local search strategies: a descent local search algorithm with the first-improve selection strategy denoted by PSFI and a pseudo steepestdescent local search algorithm with the best-improve selection strategy, denoted by PSBI. Both algorithms start by applying DSCM to the original data-input of an instance to generate a solution S = H (d). To define PS-neighborhood for this instance, a small perturbation radius, ε, is selected to preserve the quality of the neighborhood. This is implemented by initializing the values of α and β with small initial values. Also, the ˜ which records the data vector corresponding to the best found solubase data vector, d, tion is initialized to the original data-input vector. The perturbation vector η is randomly generated from the uniform distribution by selecting n(n − 1)/2 random numbers ηij from [−ε, ε] and the perturbed distance matrix is defined as dj i = dij = d˜ij + ηij
for 1 i < j n.
DENSITY BASED PROBLEM SPACE SEARCH
31
This definition preserves the symmetry of the distance matrix. The neighboring solution S is generated by applying DSCM to the perturbed data vector d . This process continues until an improving solution is found or a prespecified number of iterations has been reached. If an improving solution is found, the best solution so far, S is updated to the new solution S = S . The corresponding data vector is then recorded as the base data vector for further perturbations in the neighborhood of the new solution. In the PSBI algorithm, after finding an improvement, the search continues by perturbing the same base data vector d˜ until a certain number of iterations, m, is spent in the neighborhood of the S. The best improving solution among these m solutions is selected as the incumbent S and the search continues until a local optimum is found or a prespecified number of iterations (max_num_iter) has been reached. 4.3. Diversification and intensification strategies The inability of a PS-search algorithm in finding improving solutions can be caused by a small neighborhood which has forced the search to previously visited solutions or by loose restrictions causing the generation of low quality solutions. Hence, if no improvements were found in the last q iterations, the number of distinct solutions generated in the last q iterations can be considered as an indicator for the need for diversification or intensification. In the PS-search implementation, values of the parameters are adjusted dynamically based on information from previous solutions. After every q iterations, this process periodically examines the number of improvements and the number of the repeated solutions. If no improvement is made, the PS-neighborhood will then be enlarged or reduced based on the number of repeated solutions. In this implementation, a value of q equals to 500 iterations is used with a parameter 0 θ 1 to define a maximum level of accepted repetitions. If the number of repeated solutions is greater than θn, the neighborhood is enlarged by setting: α = min{α + 1, n}
and
β = min{β + 0.1, 1}.
Otherwise, the neighborhood is reduced by selecting: α = max{α − 1, 2} and β = max{β − 0.1, 0.2}. The algorithmic details of PSFI and PSBI procedures are illustrated as follows: Procedure PSFI • Initialization: Set d = d, d˜ = d, max_num_iter = 25000, m = 50, q = 500 and Zbest = ∞. • Main Procedure: 1. Apply DSCM to the distance matrix d to find S = DSCM(d ); 2. Compute ZS for the new solution S using the original distance matrix; 3. If (ZS < Zbest ) then:
32
AHMADI AND OSMAN
(a) Update the best solution so far: S = S and Zbest = ZS ; (b) Update the base distance matrix: d˜ = d . 4. After every q iterations, check the number of the improvements and the number of repeated solutions in the last m iterations: If (number of improvements = 0) then if (number of repetitions > θn) then α = min(α + 1, n); and β = min(β + 0.1, 1); else α = max(α − 1, 2), and β = min(β − 0.1, 0.2); end if End if 5. If (tot_num_iter < max_num_iter) then (a) Find d¯α ; (b) Set the radius of the perturbation: ε = d¯α (βn); (c) Generate n(n + 1)/2 random numbers, ηij , with 1 i < j n and |ηij | ε; (d) Set the perturbed distances: dj i = dij = d˜ij + ηij , for 1 i < j n and dii = 0; (e) Go to step 1. End if End of Procedure PSFI The PSBI procedure is different from PSFI in few aspects. It uses a new temporary matrix d˜ tmp to store the current best perturbed data in the current neighborhood space. After all the moves in the neighborhood spaces are considered, if an improvement is found with d˜ tmp matrix, then d˜ is updated to d˜ tmp . Hence, steps 1, 2, 3(a) and 5 of the PSBI procedure are the same of PSFI. Only, the initialization and steps 3(b) and 4 need to be amended as follows. The PSBI Procedural Steps: • Initialization: Set d = d, d˜ = d, d˜ tmp = d, max_num_iter = 25000, m = 50, q = 500 and Zbest = ∞; • Main Procedure: – Steps 1, 2, 3(a) are the same of the PSFI procedure; – Step 3(b): Update the temporary base distance matrix: d˜ tmp = d ;
DENSITY BASED PROBLEM SPACE SEARCH
33
– Step 4: If (number of improvements = 0) then if (number of repetitions > θn) then if (number of repetitions > θn) then Set: α = min(α + 1, n) and β = min(β + 0.1, 1); else α = max(α − 1, 2) and β = min(β − 0.1, 0.2); end if end if Else if (number of improvements 1) then – Update the base distance matrix to the best based distance matrix found in the neighborhood: d˜ = d˜ tmp; – Reset the parameters to their initial values for the intensification: β = 0.2 and α = 2; end if; End if – Step 5 the same of the PSFI procedure; End of Procedure PSBI 5.
Computational experience
To asses the efficiency of the proposed algorithms and to make comparisons with the existing methods, a series of computational experiments has been conducted on a set of instances from the literature and randomly generated sets of new instances. The specifications of these instances are presented in table 1. The tightness of an instance is n defined as the ratio i=1 ωi /pW of total weights of points to total capacity of clusters. The sets 1–3 are standard instances from the literature. The new instances are generated to investigate the impact of different distributions and sizes on the performance of the algorithms following Mulvey and Beck’s instructions. Table 1 The specifications of test instances. Set No.
No. of instances
n
p
Range of tightnesses
1 2 3 4 5
10 10 10 5 5
50 50 100 150 150
10 5 10 15 15
0.63–0.83 0.82–0.96 0.84–0.94 0.83 0.83
Data dists. (x, y) ωi Normal Uniform Uniform Uniform Normal
Uniform Uniform Uniform Uniform Uniform
Ref. Hansen, Jaumard, and Sanlaville (1993) Osman and Christofides (1994) Osman and Christofides (1994) Ahmadi (1998) Ahmadi (1998)
34
AHMADI AND OSMAN
We have used the external data interface of the FortMP optimiser to solve the new instances. Unfortunately, their optimal solutions could not be found in a reasonable amount of the computational effort and only lower bounds for them are reported. This is due to the large number of the variables and the need of a branch and bound algorithm to a large working memory and a huge computational time. The same behavior of the CCP exact method has been reported by Hansen, Jaumard, and Sanlaville (1993). The proposed meta-heuristics are coded in Fortran 77 and run on a Sun SPARC server 1000 with 50 MHz processor under the Solaris 2.3 operating system. The quality of the solutions are reported in terms of the relative percentage deviation (RPD) of the objective value (ZH ) from Z which can be either ZO the optimal value, LB the lower bound or BF the best found objective value. The relative percentage improvement (RPI) of ZH from an initial solution ZI is also reported. These measures are computed as follows: ZI − ZH ZH − Z and RPI = 100 × . RPD = 100 × Z ZI − Z Most of the results are expressed in terms the average of the RPD values ARPD, and the average of RPI values ARPI, over all 40 test instances. Short runs of 2n seconds per instance are used to find the best strategies and parameter values of the PS meta-heuristic. Longer runs of a maximum CPU limit of 30n seconds per instance are executed using the best parameter settings found in the shorter runs to report our final results. These results are then compared with the best ones in the literature. Note that, the corresponding average CPU time to the best solution is also reported as the total CPU time is fixed when comparing all the algorithms. Moreover, a performance measure called the Marginal relative Improvement per unit of CPU time (MIC) is used to rank the compared algorithms. MIC is introduced by Osman (2003). For a given heuristic, MIC is computed by the division of the heuristic’s ARPI over its average CPU time to stop. MIC would provide a good way for ranking algorithms as it takes into account both solution quality and CPU time. 5.1. Effect of constructive components The impact of different components are investigated. The aim is to measure the improvement made by each component on the quality of the DSCM solution. The following variants are designed: D1: Constructive method using our density function, Mulvey’s regret, no update of regret values and no periodic construction–deconstruction. This version is to study the effect of Mulvey’s regret function; D2: Same as D1, with our definition of regret. This version is to study the effect of our regret function; D3: Same as D2, with update of regret values. This version is to study the effect of the adaptive computation of the regret values;
DENSITY BASED PROBLEM SPACE SEARCH
35
Table 2 The average RPD and the average CPU time for different versions of the constructive method. Prob. set 1–10 11–20 21–30 Average No. of optimals
DSCM
D4
ARPD D3
D2
D1
DSCM
3.14 1.04 3.10 2.43 7
3.18 1.54 3.26 2.66 7
5.69 2.72 3.74 4.05 2
7.93 6.68 9.41 8.01 0
9.12 10.37 11.28 10.26 0
0.34 0.19 0.79 0.44 –
Time to best D4 D3 D2
D1
0.25 0.16 0.58 0.33 –
0.23 0.13 0.43 0.26 –
0.25 0.17 0.58 0.33 –
0.23 0.14 0.43 0.27 –
D4: Same as D3, with update of both values of the density and regret. This version is to study the effect of the adaptive computation of the density values; DSCM: Density Search Constructive Method using our definitions of density and regret, with update and periodic construction–destruction procedure. This version is to study the effect of periodic construction–destruction. The corresponding results are reported in table 2 from which a number of observations can be made: 1. Impact of new definition of regret function can be seen from columns D1 and D2. The use of our greedy function in D2 improves the quality of solutions of D1 in all the cases in nearly the same amount of computational time. The result is expected as the Mulvey’s definition of regret computes an approximation of the actual regret value. 2. The positive effect of adaptivity of regret values is illustrated by the results of D3 which improves significantly the quality of D2 solutions by decreasing the ARPD values to the amount between 2.24% and 5.67%. It also finds two optimal solutions at a slight increase in CPU time over D2 due to the adaptive computation. 3. Impact of adaptivity of density values can be seen from the solutions of D4 which dominates the solutions of D3. D4 finds 7 optimal solutions compared to two optimal solutions by D3 without update. On the average, the quality of the solutions is also improved by 1.5%. 4. Impact of periodic construction–deconstruction. DSCM improves the quality of D4 solutions in 6 of instances, deteriorates in two instances, and they are equal in other instances. As a result, DSCM produces better ARPD values than other variants. It also finds 7 optimal solutions. The overall results demonstrate the strengths of our greedy functions, the adaptive computation and periodic construction– deconstruction procedure as tools to design efficient constructive heuristics. 5. Comparison of density with other criteria for selection of centers. The other criteria in locating centers for CCP are proposed by Osman and Christofides (OC) and Koskosidis and Powell (KP). In KP constructive method nearest points are selected in increasing order of dij /ωj instead of dij . For fair comparisons, these criteria replace the density criterion in D3 and in DSCM, respectively. Computational results
36
AHMADI AND OSMAN
Table 3 The comparison of ARPD and TTB based on density for finding centers or OC criterion. Prob. set
ARPD D3 + OC
D3
D3
Time D3 + OC
ARPD DSCM KP
Time DSCM KP
1–10 11–20 21–30
5.69 2.72 3.74
89.83 74.07 99.09
0.25 0.17 0.58
0.26 0.17 0.54
3.14 1.04 3.10
2.65 2.72 4.94
0.34 0.19 0.79
1.49 0.59 4.44
Average
4.05
87.66
0.33
0.32
2.43
3.44
0.44
2.17
Table 4 Summary of comparison between PSFI and PSBI for the short runs. Probs. 1–10 11–20 21–30 31–40
Max time (secs.)
ARPD
PSBI ATTB
NB
ARPD
PSFI ATTB
NB
100 100 200 300
0.40 0.05 0.32 2.84
4.46 3.84 20.14 135.86
7 8 4 3
0.09 0.00 0.35 2.80
29.70 18.22 74.47 127.78
9 10 4 3
ARPD: average relative percentage deviation; ATTB: average time to the best solution; NB: the number of best solutions found.
are reported in table 3 and show that D3 dominates D3 + OC by a large margin. This result is expected as OC’s constructive heuristic was designed with a less stress on the quality of the initial solution for their SA/TS algorithm. In this experiment, DSCM finds better solutions for 18 instances while DSCM + KP is better in only 8 instances. On 4 instances, both algorithms find optimal solutions. On the average, the overall performance of DSCM is better than DSCM + KP. The main reason for such a performance is that DSCM has mechanisms for avoiding infeasibilities that make the capabilities of KP redundant in feasibilities. 5.2. PS-search algorithm To compare the ability of PSFI and PSBI in finding good solutions in reasonable computational time, a short run experiment on all the instances for a maximum computational time of 2n seconds is conducted. Values of the parameters α and β are initialized to 2 and 0.2, respectively, to intensify the initial search in a small neighborhood. Table 4 summarizes the corresponding results. The results show that PSFI performs better than PSBI in most of the cases. This performance is illustrated by the larger number of the optimal solutions obtained by PSFI when compared to PSBI and its smaller ARPD value. The main problem with PSBI is the difficulty of defining the complete neighborhood of the current solution, as required by the BI selection strategy. The pseudo-neighborhood is defined by restricting the number of neighboring solutions to 500 solutions. This restriction may produce unknown levels of exploration of the neighborhood of different
DENSITY BASED PROBLEM SPACE SEARCH
37
Table 5 Summary of PSFI results for the long runs. Probs.
n
p
Time ARPD
1–10 11–20 21–30 31–35 36–40
5 50 100 150 150
10 5 10 15 15
1500 1500 3000 4500 4500
0.00 0.00 0.09 2.99 2.15
PSFI ATTB 30.82 18.01 576.01 1513.61 1272.71
NB 10 10 8 2 1
solutions. Moreover, finding a good value for the size of neighborhood may effect the performance of the algorithm. Therefore, the PSFI strategy will be used for the search experiment as it is more robust, simple and inherent to the PS-search framework. To examine the best performance of PSFI, the maximum execution times are increased from 2n to 30n CPU seconds. Table 5 summarizes the results of the long run experiment. From the results, it can be seen that the performance of the PSFI algorithm is improved with the increase of CPU time. The PSFI algorithm finds optimal solutions for all of the Hansen’s instances in an average TTB of 30.82 seconds and for the Osman’s instances of size n = 50 in an average TTB of 18.01 seconds. The number of optimal solutions for Osman’s instances of size n = 100 increases to 8 from 4 optimal solutions with the short run. For instances of size n = 150, the increase of the computational time improves the quality of the generated solutions which are very close to our best found solutions that are reported in table 8. Note that in table 5 for n = 150, the ARPD values are reported from lower bounds rather than optimal solutions as in the case of smaller sized instances. The details of the PSFI results for the long runs and the comparison with other approximate and exact methods from the literature are given in tables 6–8. These tables include the best solution found by each algorithm and the time for finding the best solution (TTB). For each set of instances, the average RPD and the average TTB are reported in the rows corresponding to the averages. For comparison, the Mulvey and Beck heuristic method MB of Mulvey and Beck (1984); the bionomic algorithm BA of Maniezzo, Mingozzi, and Baldacci (1998): the hybrid simulated annealing and the tabu search OC of Osman and Christofides (1994); and the adaptive tabu search ATS of Franca, Sosa, and Pureza (1999) are used. The MB heuristic is implemented using the pseudo-code in their paper. Hence, the results of MB and PS are reported with a maximum of 30n CPU seconds. The term ‘maximum’ is used as all the algorithms stop after finding the optimal solutions for the first 30 instances to save the computational time for wider range of experiments. As the results of the BA, OC, ATS are only reported for Osman’s instances, the comparison with these algorithms only have been made for problems 11–30. The results for the BA algorithm are reported by taking the average of solutions over five runs per instance from their paper. The reason is that the reported solutions for the other compared methods are obtained from a single run. The results show that PSFI outper-
38
AHMADI AND OSMAN
Table 6 The comparison of PSFI results with other algorithms on Hansen’s test problems. Probs. 1 2 3 4 5 6 7 8 9 10 Averages
n 50
p 10
τ
MB BEST TTB
PSFI
OPT
BEST
TTB
0.63 0.83 0.82 0.64 0.64 0.64 0.66 0.66 0.65 0.65
11620.9 13403.3 13371.4 11778.3 11586.5 12391.1 12815.8 12498.1 11020.7 11954.2
1.01 4.51 4.45 4.35 8.58 3.46 4.25 0.63 22.52 28.16
11620.9 13147.9 13275.7 11778.3 11289.6 12391.1 12815.8 12387.7 10980.6 11919.9
0.95 2.77 0.30 3.01 2.08 90.43 0.28 109.30 87.35 11.71
11620.9 13147.9 13275.7 11778.3 11289.6 12391.1 12815.8 12387.7 10980.6 11919.9
–
0.68a
8.19
0.00a
30.82
–
MB: Mulvey and Beck’s heuristic algorithm; PSFI: PS-search algorithm with FI selection strategy; OPT: the objective value of the optimal solution; BEST: the objective value of the best found solution by a specific algorithm; TTB: total CPU time to best solution; τ : the ratio of the total weights of points to the total capacity of the clusters (tightness). a Average of RPD values (ARPD).
forms MB’s heuristic for all instances by a large margin. This performance is due to the quality of the initial DSCM solutions and the quality of the neighborhoods generated by the PS-neighborhood mechanism. On the average, the PSFI algorithm generates the same quality of solutions of the bionomic algorithm. It is slightly better than OC and slightly worse than ATS in terms of solution quality. Moreover, PSFI finds 3 best found solutions which are marked bold in table 8 for the 10 new large-sized instances of size n = 150. The solutions for the remaining instances are very close the reported best found solutions by other metaheuristics. The average RPD for the 31–35 instances with normal distribution is 0.06 whereas for the 36–40 instances with uniform distribution, it is 0.08. From the result, it seems there is no effect of the distribution on quality of the generated solutions. But the size of the instances has the largest effect performance. It should be noted that the algorithm that performs the best uses the largest amount of CPU time. Hence the motivation is to use the MIC ranking for the compared algorithms. 5.3. Comparison of speed of algorithms Comparing the overall efficiency of methods involves a comparison of speed, architecture, cache, main memory, configurations, language, complier, etc. Hence, it is very difficult to compare speed of algorithms by a single CPU measure. However, an attempt is made to compare the CPU time for different algorithms using conversion factors for different machines given in a report by Dongarra (2001). In the report, the performance of machines are measured in terms of Mflop/s (millions of floating-point operations per
DENSITY BASED PROBLEM SPACE SEARCH
39
Table 7 The comparison of results of the PSFI with other algorithms on Osman’s test problems. Probs.
n
p
MB
τ BEST
11 12 13 14 15 16 17 18 19 20
50
5
Averages 21 22 23 24 25 26 27 28 29 30
100
Averages
10
TTB
BEST
PSFI TTB
BA AVE.∗
OC BEST
ATS BEST
OPT
0.82 0.84 0.85 0.86 0.9 0.92 0.92 0.92 0.93 0.96
744 740 753 652 680 778 791 830 715 851
0.13 0.11 0.23 0.09 0.09 0.15 0.23 0.25 0.39 1.19
713 740 751 651 664 778 787 820 715 829
0.14 0.15 2.93 0.12 68.67 0.20 0.15 90.47 11.85 5.40
713 740 751 651 664 778 787 820 715 829
713 740 751 651 664 778 787 820 715 829
713 740 751 651 664 778 787 820 715 829
713 740 751 651 664 778 787 820 715 829
–
1.16a
0.29
0a
18.01
0a
0a
0a
–
0.85 0.85 0.86 0.88 0.88 0.88 0.89 0.89 0.9 0.94
1008 966 1026 993 1107 962 1060 1048 1041 1026
2283.54 24.89 2.75 250.06 269.23 190.71 53.72 8.33 1792.12 1269.14
1006 966 1026 982 1092 954 1034 1043 1031 1013
0.70 40.10 17.37 381.89 357.46 86.96 2119.81 40.34 2713.22 2.29
1006 966 1026 982 1092 954.2 1034 1043 1031.4 1013
1006 966 1026 985 1091 954 1039 1045 1031 1005
1006 966 1026 982 1091 954 1034 1043 1032 1005
1006 966 1026 982 1091 954 1034 1043 1031 1005
–
0.97a
614.45
0.09a
576.01
0.09a
0.10a
0.004a
–
BA: Bionomic Algorithm; OC: Osman and Christofides’s hybrid SA/TS; ATS: Adaptive Tabu Search; AVE.∗ average solution over 5 runs; BEST: best solution in a single run; Others: refer to table 6.
second). The adjusted CPU time results in table 9 provide a rough idea on the computational efficiency of each algorithm in attaining its reported solutions. The ARPI values are reported from an upper bound of 10 on the ARPD value. Any value can be used provided it is sufficiently bigger than the worst ARPD value. Note that, location problems including CCP involve strategic design decisions. On one hand, finding a solution for such problem is a one-off decision. Hence, the performance of an algorithm is mainly based on generating high quality solutions and less emphasis is on computational time. On the other hand, a good solution generated in a reasonable amount of computational time is still preferable. The table would provide a good ranking of algorithms in terms of CPU times and quality of solutions. It is clear from the table that the ARPD and ARPI values are very close but when taking CPU time different raking can be obtained. It seems that DSCM is the most efficient method as it has the highest MIC value. Therefore, DSCM is one of the most efficient method among single-start
40
AHMADI AND OSMAN
Table 8 The comparison of PSFI results with other algorithms on the new test problems. Prob.
n
31 32 33 34 35
p
PS
BEST
TTB
BEST
TTB
407.27 410.23 384.07 387.36 406.83
486.51 1518.18 2217.87 908.70 107.63
400.41 407.77 382.77 382.41 405.68
230.87 2392.20 4359.20 564.33 21.45
BF
LB
400.41 407.04 382.67 382.06 405.68
386.8 394.34 369.73 373.75 396.96
150
15
0.83 0.83 0.83 0.83 0.83 –
0.91
1047.78
0.06
1513.61
–
–
150
15
0.83 0.83 0.83 0.83 0.83
1292.19 1298.96 1254.50 1237.61 1375.36
160.29 3922.24 3241.38 4108.82 3063.65
1285.53 1291.22 1245.51 1232.04 1358.52
185.69 3398.84 2110.65 640.20 28.15
1285.53 1290.08 1244.44 1230.00 1357.95
1247.04 1272.55 1234.69 1215.25 1307.2
–
0.78a
2899.28
0.08a
1272.71
–
–
Averages 36 37 38 39 40
MB
τ
Averages
BF: the best found solution in (Ahmadi and Osman, 2004); Others: refer to table 6. Table 9 The average of RPD and CPU results over all instances with MIC rankings of the compared algorithms. Sets
Sizes
11–20 21–30 ACPU ACPUd ARPD ARPI MIC
50 × 10 100 × 10 – – – –
Ranks
Single start DSCM
MB
PSFI
Multi-start OC
BA
ATS
.340 0.790 0.565a 0.565 2.071 79.29 140.33
0.288 614.448 307.5a 307.5 1.604 89.35 0.29
18.01 576.01 297.01a 297.01 0.045 99.55 0.36
2.410 70.710 179.2d 8.615 0.050 99.50 11.55
0.090 161.490 80.79b 145.422 0.045 99.55 0.68
41.440 500.460 270.95c 785.755 0.005 99.95 0.13
1
5
3
1
2
4
a CPU time on a Sun SPARC 1000 server (10 Mflop/s); b CPU time on an IBM PC Pentium 166 MHz (18 Mflop/s); c CPU time on a Sun SPARC 20 (29 Mflop/s); d CPU time on a VAX 8600 (0.48 Mflop/s).
methods. Using DSCM within a PS framework generates a comparable method ranked third among other mutli-start methods in the literature. 6.
Conclusion
In this paper, a geometrical intuition coupled with the ideas of adaptive computation and periodic construction–deconstruction lead to the development of the most efficient constructive method, DSCM. The good performance of DSCM is highlighted by generating
DENSITY BASED PROBLEM SPACE SEARCH
41
7 optimal solutions for the test instances from the literature. The integration of DSCM within problem-space search procedure generates one of the competitive meta-heuristic amongst others in the literature. The meta-heuristic uses perturbation of density values, a controlled perturbation strategy and intensification and diversification strategies. The simplicity of its design and its robustness in terms of generating 28 optimal solutions out of 30 test instances suggests it as a good alternative method for the CCP. A great deal of information can be extracted from the characteristics of PS-search generated solutions. Future research can be conducted to exploit these information using memory based meta-heuristics. For instance, using information from a pool of elite PS solutions, would generate another guideline for the dynamic perturbation control based on frequencies of assignments of points to centers rather than just the frequencies of selections of centers. Hence, a more guided randomized adaptive memory programing search procedure can be developed. The quality of the pool of PS solutions can be further improved using path-relinking and scatter search methods and provide a fruitful area for future research (Glover, Lagunai, and Marti, 2000). Also, the small sized instances and characteristics may not be sufficient to compare algorithms and more research into classification of instances and meta-heuristics are needed. Acknowledgments This research was supported by grants from University of Alzahra in Iran and the American University of Beirut in Lebanon. The authors would like to thank our sponsors for their kind supports. References Ahmad, I. and M.K. Dhodhi. (1995). “Task Assignment Using a Problem-Space Genetic Algorithm.” Concurrency: Practice and Experience 7, 411–428. Ahmadi, S. (1998). “Metaheuristics for the Capacitated Clustering Problem.” Ph.D. Thesis, University of Kent at Canterbury, UK. Ahmadi, S. and I.H. Osman. (2004). “Greedy Random Adaptive Memory Programming Search for the Capacitated Clustering Problem.” European Journal of Operational Research, available online January 2004. Special Issue on Logistics. Baldacci, R., E. Hadjiconstantinou, V. Maniezzo, and A. Mingozzi. (2002). “A New Method for Solving Capacitated Location Problems Based on a Set Partitioning Approach.” Computers & Operations Research 29(4), 365–386. Baxter, J. (1981). “Local Optima Avoidance in Depot Location.” Journal of the Operational Research Society 32, 815–819. Beck, M.P. and J.M. Mulvey. (1982). “Constructing Optimal Index Funds.” Technical Report, Princeton University Report No. EES-82-1. P. Brücker. (1977). “On the Complexity of Clustering Problems.” In R. Henn, B. Korte, and W. Oettli (eds.), Optimization and Operations Research: Proceedings of a Workshop, University of Bonn, October 2–8. Springer, pp. 45–54. Captivo, M.E. (1991). “Fast Primal and Dual Heuristics for the p-Median Location Problem.” European Journal of Operational Research 52, 65–74.
42
AHMADI AND OSMAN
Chhajed, D., R.L. Francis, and T.J. Lowe. (1993). “Contributionss of Operations Research to Location Analysis.” Location Science 1, 263–287. Dhodhi, M.K., F.H. Hielscher, R.H. Storer, and J. Bhasker. (1995). “Datapath Synthesis Using a ProblemSpace Genetic Algorithm.” IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems 14, 934–944. Dongarra, J.J. (2001). “Performance of Various Computers Using Standard Linear Equations Software.” Technical Report, Computer Science Dept., University of Tennessee, Knoxville. Available from: http://www.netlib.org/benchmark/performance.ps Franca, P.M., N.G. Sosa, and V.M. Pureza. (1999). “An Adaptive Tabu Search Approach for Solving the Capacitated Clustering Problem.” International Transactions in Operational Research 6, 665–678. Franco, J., J. Crossa, J. Villasenor, S. Taba, and S.A. Eberhart. (1997). “Classifying Mexican Maize Accessions Using Hierarchical and Density Search Methods.” Crop Science 37, 972–980. Gendreau, M., A. Hertz, and G. Laporte. (1992). “New Insertion and Postoptimization Procedures for the Traveling Salesman Problem.” Operations Research 40, 1086–1094. Glover, F., M. Lagunai, and R. Marti. (2000). “Fundamentals of Scatter Search and Path Relinking.” Control and Cybernetics 29, 653–684. Hansen, P. and B. Jaumard. (1997). “Cluster Analysis and Mathematical Programming.” Mathematical Programming 79, 191–215. Hansen, P., B. Jaumard, and E. Sanlaville. (1993). “Weight Constrained Minimum Sum-of-Stars Clustering.” Technical Report, Gerad Technical Report G-93-38. Hansen, P., E.D. Pedrosa, and C.C. Ribeiro. (1994). “Modeling Location and Sizing of Offshore Platforms.” European Journal of Operational Research 72, 602–606. Karimi, J. (1986). “An Automated Software Design Methodology Using Capo.” Journal of Management Information Systems, 3, 71–100. Klein, K. and J.E. Aronson. (1991). “Optimal Clustering: A Model and Method.” Naval Research Logistics 38, 447–461. Koskosidis, Y.A. and W.B. Powell. (1992). “Clustering Algorithms for Consolidation of Customer Orders into Vehicle Shipments.” Transportation Research 26B, 365–379. Leon, V.J. and R. Balakrishnan. (1995). “Strength and Adaptability of Problem-Space Based Neighborhoods for Resource-Constrained Scheduling.” OR Spektrum 17, 173–182. Leon, V.J. and R. Balakrishnan. (1997). “An Adaptable Problem-Space-Based Search Method for Flexible Flow Line Scheduling.” IEEE Transactions 29, 115–125. Liu, G.L. (1968). Introduction to Combinatorial Mathematics. New York: McGraw-Hill. Maniezzo, V., A. Mingozzi, and R. Baldacci. (1998). “A Bionomic Approach to the Capacitated p-Median Problem.” Journal of Heuristics 4, 263–280. Mirzaian, A. (1985). “Lagrangian Relaxation for the Start-Star Concentrator Location Problem: Approximation Algorithms and Bounds.” Networks 15, 1–20. Mulvey, J.M. and M.P. Beck. (1984). “Solving Capacitated Clustering Problems.” European Journal of Operational Research 18, 339–348. Muralidhar, K. and D. Batra. (1995). “An Investigation of the Effectiveness of Statistical Distributions for Additive Fixed Data Perturbation.” Computers and Operations Research 22, 701–713. Naphade, K., S.D. Wu, and R.H. Storer. (1997). “A Problem Space Search Method for the Resource Constrained Project Scheduling Problem.” Annals of Operations Research 70, Special Volume on Scheduling: Theory and Applications, 307–326. Nemhauser, G.L. and L.A. Wolsey. (1988). Integer and Combinatorial Optimization, Wiley-Interscience Series in Discrete Mathematics and Optimization. New York: Wiley-Interscience. Osman, I.H. (1995a). “Heuristics for the Generalised Assignment Problem: Simulated Annealing and Tabu Search Approaches.” OR Spektrum 17, 211–225. Osman, I.H. (1995b). “An Introduction to Metaheuristics.” In M. Lawrence and C. Wilsdon (eds.), Operational Research Tutorial Papers. Birmingham: Operational Research Society Press, pp. 92–122.
DENSITY BASED PROBLEM SPACE SEARCH
43
Osman, I.H. (2003). “Meta-Heuristics: Models, Analysis, and Directions.” A tutorial paper presented at the joint EURO/INFORMS Meeting, Istanbul, July 6–10. Osman, I.H. and S. Ahmadi. (2002). “Guided Construction Search for the Capacitated p-Median Problem.” Working paper, School of Business, American University of Beirut, Lebanon. Osman, I.H. and N. Christofides. (1994). “Capacitated Clustering Problems by Hybrid Simulated Annealing and Tabu Search.” International Transactions in Operational Research 1, 317–336. Osman, I.H. and J.P. Kelly. (1996). “Metaheuristics. An Overview.” In I.H. Osman and J.P. Kelly (eds.), Metaheuristics, Theory and Applications. Boston: Kluwer Academic. Osman, I.H. and G. Laporte. (1996). “Metaheuristics: A Bibliography.” Annals of Operations Research 63, 513–623. Ribeiro, C.C. and P. Hansen. (2002). Essays and Surveys on Metaheuristics. Boston: Kluwer Academic. Russell, R.A. (1995). “Hybrid Heuristics for the Vehicle Routing Problem with Time Windows.” Transportation Science 29, 156. Steiglitz, K. and P. Weiner. (1968). “Some Improved Algorithms for Computer Solution of the Traveling Salesman Problem.” In R.T. Chien and T.N. Trick (eds.), Proceedings of the 6th Annual Allerton Conference on Circuit Theory, New York, pp. 814–821. Storer, R.H., S.D. Wu, and I. Park. (1993). “Genetic Algorithms in Problem Space for Sequencing Problems.” In G. Fandel, T. Gulledge, and A. Jones (eds.), Operations Research in Production Planning and Control. Berlin: Springer. Storer, R.H., S.D. Wu, and R. Vaccari. (1992). “New Search Spaces for Sequencing Problems with Application to Job Shop Scheduling.” Management Science 38, 1495–1509. Vakharia, A.J. and J. Mahajan. (2000). “Clustering of Objects and Attributes for Manufacturing and Marketing Applications.” European Journal of Operational Research 123, 640–651. Voss, S., S. Martello, I.H. Osman, and C. Roucairol. (1998). Meta-Heuristics: Advances and Trends in Local Search Paradigms for Optimization. Boston: Kluwer Academic. Wong, M.A. (1982). “A Hybrid Clustering Method for Identifying High-Density Clusters.” Journal of American Statistical Association 77, 841–847.