Superior/Inferior Segment-Discriminated Ant System
for combinatorial optimization problems
Feng-Cheng Yang
*, Yon-Chun Chou
Graduate Institute of Industrial Engineering, National Taiwan University, 1, Section 4, Roosevelt Road, Taipei 106, Taiwan
Abstract
The Ant Colony Optimization method is a heuristic algorithm for solving various optimization problems, particularly the combinatorial optimization problems. Traditional ant-optimization methods might encounter search stagnation owing to a biased pheromone map that is dominated by local optimal trails. To overcome this drawback and lower the number of solution constructions for finding the optima, this paper presents an improving ant-optimization system, the Superior/Infe-rior Segment-Discriminated Ant System (SDAS). This system proposes a segment-based pheromone update strategy to deposit pheromone on superior segments and withdraw pheromone from inferior ones. The method uses the control-chart technique to define superior and inferior limits to partition the constructed solutions into superior, inferior, and ordinary solutions. Inferior and superior segments are then extracted from the superior and inferior solutions by stochastic set oper-ations. Since the pheromone map is not easily dominated by any local optimal trail, the solution search is more efficient and effective. Several benchmarks from the TSP-LIB and OR-LIB were used as sample problems to test the proposed sys-tem against other ant-optimization syssys-tems, including the AS, ACS, AS_rank, AS_elite, and MMAS. Numerical results indicated that the SDAS obtains solutions that are similar to or better than others. Maturity index for the pheromone map was discussed and experimental results showed that the proposed method was able to prolong the time for the map to maturity to avoid earlier search stagnation.
Ó 2007 Elsevier Ltd. All rights reserved.
Keywords: Ant Colony Optimization System; Pheromone withdraw; Segment-based pheromone update; Superior and inferior segments; Segment-Discriminated Ant System
1. Introduction
The Ant Colony Optimization (ACO) method is a population-based heuristic method that has been suc-cessfully applied to solve several NP-hard combinatorial optimization problems (Dorigo & Stu¨tzle, 2003, 2004; Dorigo, Caro, & Gambardella, 1999). The first ACO algorithm was the Ant System (Colorni, Dorigo, & Maniezzo, 1991) developed byDorigo, Maniezzo, and Colorni (1996), which was applied to the traveling salesman problem. The development of the system was inspired by the food-searching behavior of real ants.
0360-8352/$ - see front matterÓ 2007 Elsevier Ltd. All rights reserved. doi:10.1016/j.cie.2007.12.016
* Corresponding author. Tel.: +886 2 33669503; fax: +886 2 23625856.
E-mail address:[email protected](F.-C. Yang).
Computers & Industrial Engineering xxx (2008) xxx–xxx
www.elsevier.com/locate/caie
Ants communicate with each other by depositing pheromones on the trails they traverse. Remarkably, one will find a colony of ants traveling on the shortest path between the food source and their formicary to move the food home.
In general, an ACO method uses a set of artificial ants to construct solutions step by step and evolve the solutions toward the optima. Three algorithmic mechanisms are involved in constructing a solution. The first is a proportional probabilistic selection mechanism that guides the ants to select the next thing or object to participate in the process of solution construction. The second is a memory-recording mechanism that makes each ant record its own solution under construction and stores the best solution constructed so far by the col-ony of ants. The third is a pheromone update mechanism that maintains a pheromone map to guide the ants’ solution search. The operations for constructing a solution are executed by the set of artificial ants iteration by iteration to evolve the best solution constructed so far.
After the debut of the Ant System (AS), several extended, enhanced, and improved ant systems were suc-cessively introduced. Typical systems include the Ant Colony System (ACS) (Dorigo & Gambardella, 1997), the elitism-based (AS_elite) and the rank-based (AS_rank) Ant Systems (Bullnheimer, Hartl, & Strauss, 1999), and the Max–Min Ant System (MMAS) (Stu¨tzle & Hoos, 2000). Some of the improved systems focus on bet-ter selection mechanisms, some on pheromone update operations, and some on solution constructions. To enhance the effectiveness of the ACO method, this paper presents an improved ant system, Superior/Inferior Segment-Discriminated Ant System (SDAS). The SDAS proposes a segment-based pheromone update strat-egy and an addition/subtraction discriminated pheromone update operation to avoid a quickly matured pher-omone map (a biased map that is dominated by local optima). To examine the performance of the SDAS, we only implemented the system for the traveling salesman problems and bin-packing problems; although the applications can be applied to various kinds of combinatorial optimization problems.
We first briefly review several ACO methods and their approaches to solving the TSP and BPP in Section2; then present our ant system, the SDAS, in Section 3. Sections 4 and 5 display and compare the numerical results of our method with other systems in solving the traveling salesman and bin-packing problems. In the final section, conclusive remarks are addressed.
2. Literature review and background to theory
The Ant Colony Optimization method is a constructive heuristic algorithm. The solution to an optimiza-tion problem is constructed step by step, by a populaoptimiza-tion of agents – artificial ants. This method has been widely used in solving combinatorial optimization problems whose solutions can be constructed iteratively by heuristic algorithms. From a generalized viewpoint, a set of objects can be identified in a combinatorial optimization problem. Constructing a solution to the problem is a repeated procedure that deals with these objects one by one. For example, the objects for a Traveling Salesman Problem (TSP) are the cities to be vis-ited by the salesman. An artificial ant composes a sequence of these cities (objects) one by one to form a trav-eling route. For a Bin-Packing Problem (BPP), the objects are the items (parcels or boxes) to be packed into a minimum number of bins. An artificial ant repetitively selects an object to place it to an allocated group (opened bin) or additionally creates a new group (opens a new bin) before the placement, until no object is left. In constructing a solution, objects are processed by the ant one by one until all of them are processed and put into the solution. Normally, ants carry out this process by repeatedly selecting an object stochastically from an updated candidate set of objects. Objects in the candidate set are either selected from the set of non-processed objects stochastically or deterministically (for reducing the computation cost), or selected from the set subject to constraints of the problem. The selected object is directly appended or inserted into the par-tial solution under construction. The procedures of updating the candidate set, selecting an object, and placing it to the solution are then iteratively executed until all objects are processed.
Although the object selection procedures for the TSP and BPP are in general the same, their solution struc-tures are different. Suppose that z is the number of objects and O is the set of the objects, O ¼ f1; 2; . . . ; zg. Let S represent a solution; then S for a TSP is an ordered sequence of objects, where
S¼ hs1; s2; . . . ; szi; si2 O; si6¼ sj; 8i 6¼ j: ð1Þ
S¼ fS1; S2; . . . ; Sgg ¼ ffs11; s12; . . . ; s1jS1jg; . . . ; fsg1; sg2; . . . ; sgjSgjgg; skj2 O; k ¼ 1; 2; . . . ; g; j¼ 1; 2; . . . ; jSkj; and Xg k¼1 jSkj ¼ z: ð2Þ
For almost all of the ACO methods, a probability proportional selection method is used to select an object from the candidate set to construct a solution. The selection probability for each candidate is computed from a referenced pheromone value on a pheromone map and a computed heuristic value. Specifically, the probability of object j to be selected to succeed object i is calculated from a pheromone value sijand a heuristic value gij.
The heuristic value gijis calculated using a local optimization approach to guide the selection complying with
the optimization objective. If the value of gijis irrelevant with the objective, the optimality quest will be
inef-fective. Detailed formulations of the probability calculations are problem-dependent, and different ant systems might have their own designs for them. The pheromone value sijis defined in a pheromone map. The
phero-mone map is usually designed as a two-dimensional matrix, whose elements are constructed from the links between two objects or between one object and other item (e.g., a bin in BPPs). Different problems have their own designs of the matrix. An object-sequencing problem is to arrange the orders of objects to achieve an opti-mization goal, where the TSP is a typical example. The pheromone map is designed as a square matrix,
T¼ ½sijzz¼ s11 s12 s1z s21 s22 s2z .. . .. . . . . .. . sz1 sz2 szz 2 6 6 6 6 4 3 7 7 7 7 5: ð3Þ
The pheromone value sij is thus defined as the tendency that object i is followed by object j in the ordered
sequence of objects. For a object-grouping problem (e.g., the BPP), a pheromone item sij may be defined
as the tendency that object i and object j are grouped together in the same group or the tendency that object i is grouped into group j. For the former case, the map is a square matrix, T = [sij]zz. In contrast, T = [sij]zg
for the latter case, where g is the number of groups. Elements in the matrix are normally initialized with a constant value s0and then updated by different pheromone update operations in different ACO methods.
To record trails of good solutions on the pheromone map, a solution is decomposed into a set of object-links and the pheromone values corresponding to these object-links are intensified. In this paper, an object-link decomposed from a solution is called a segment. Let L = {lij} be the segment set of all object-links of the
prob-lem, where lijis directly corresponding to sij. Therefore, L = {lijji, j = 1, 2, . . . , z} for the TSP and the BPP with
T = [sij]zz, while L = {lijji = 1, 2, . . . , z; j = 1, 2, . . . , g} for the BPP with T = [sij]zg. To identify the
phero-mone items to which a solution corresponds or to decompose a solution into object-links, a segmentation operation on the solution is performed. Let Hproblem type() be the segmentation operator of a problem type. The segmentation result is a set of segments, which is also a subset of L. Therefore,
Hproblem typeðSÞ L: ð4Þ
Once S is granted the rights for pheromone intensification, the pheromone items corresponding to the segment set are identified.
At the end of a computational iteration or after a solution construction step, pheromone values on the pheromone map are updated accordingly. Different update methods have been proposed in much ACO liter-ature. In current ACO methods, pheromone values are usually intensified by one or a few elite solutions. The elitism and the amount of pheromone added are determined from evaluating their objective achievements by the objective function fproblem type(). Conversely, all pheromone values are subjected to evaporation by deduct-ing a certain amount from the values. In general, two kinds of pheromone intensification strategies are either individually or jointly conducted in ant-optimization systems: step-wise and trail-wise strategies. The step-wise pheromone intensification is conducted right after an ant has selected and added an object to the solution under construction. Since no elitism information is available during the construction, every ant is granted the rights to lay pheromone on the related segment in each step. The AS (Dorigo et al., 1996) executes this step-wise pheromone intensification operation to mimic the natural behavior of real ants. This strategy is also
called online pheromone update. The ACS adopts this strategy but names it local pheromone update (Dorigo & Gambardella, 1997). The trail-wise strategy, also called offline pheromone update in literature, allows one or a few ants to update the segments of their solutions when an iteration of solution construction is completed. The AS_elite and AS_rank systems use this strategy. The ACS also adopts this strategy but names it global pher-omone update.
As noticed, a pheromone management demon is employed to monitor the trail-wise pheromone intensifi-cation strategy. This implementation is in fact deviated from natural behaviors of real ants, yet makes the sys-tem more intelligent. Moreover, most of the ACO methods focus on trail elitism, not segment elitism, and on pheromone deposit (intensification), not deduction. In contrast, Maniezzo (1999) fist proposed an update strategy that either increases or decreases the pheromone value based on the objective value of a solution. The proposed improving method was applied to solve the Quadratic Assignment Problem. Although the con-cept of pheromone deduction was introduced, the pheromone updates were applied to all the segments of the solution trail. This paper, however, suggests that not only the trails but also the segments on the trails should be further distinguished for either rewarded with pheromone addition or punished with pheromone deduction. Detailed design of this strategy is presented in Section3.
List 1 outlines the main operations of a general ACO method. The solution construction procedure starts from line 5 to line 9; its details are problem-dependent. Line 8 executes the step-wise pheromone intensification strategy when an object is selected and added to the solution. Line 12 executes a user-specified local search to enhance solution quality; however, this procedure is optional. Line 15 executes the frequently used trail-wise pheromone intensification strategy to select a few elite trails for pheromone deposit. Line 17 optionally exe-cutes a pheromone-reset operation to escape from search stagnation.
List 1. The computational flow of a general ACO method. 1. Initialize the pheromone map.
2. Construct an initial solution and assign it the best solution so far. 3. For r 1 to iteration_limit
4. For k 1 to number_of_ants 5. For i 1 to number_of_objects
6. Construct and update the candidate set of non-processed objects. 7. Select one object from the candidate set and add it to the solution.
8. If a step-wise pheromone intensification strategy is used, add pheromone to the related segment. 9. End for
10. If a trail-wise pheromone intensification strategy is used, add pheromone to the segments of the con-structed trail.
11. End for
12. Optionally execute a local search algorithm to improve the solution quality. 13. Evaluate the constructed solution and update the best solution so far. 14. Check for stop conditions to exit the algorithm.
15. If elitism pheromone update strategy is used, identify the elite trails and add pheromone to the seg-ments of the trails.
16. Evaporate a certain amount of pheromone from all pheromone items.
17. If a pheromone-reset policy is used, check for search stagnation to reset the pheromone map. 18. End for
The following two subsections illustrate the ACO models for the TSP and BPP, which were adopted in the implementation of the proposed system.
2.1. Ant Colony Optimization methods for the traveling salesman problem
The TSP is essentially an object-sequencing problem. Many practical optimization problems are derived from the TSP. Examples include various vehicle routing problems, integrated-circuit chip mounting (onto PC boards) problems, assembly sequencing problems, job scheduling problems, etc. The TSP solution S
shown in Eq. (1)is a route of ordered cities (objects), where si is the ith visited city in the route. The set of
segments extracted from the route is:
HTSPðSÞ ¼ flsisiþ1; lsiþ1siji ¼ 1; 2; . . . ; z 1g [ flszs1; ls1szg: ð5Þ
For example, the extracted segments for a solution S =h1,2,5,3,4i are l12, l21, l25, l52, l53, l35, l34, l43, l41, and l14.
The corresponding pheromone items to these segments are then the targets for pheromone intensification. The objective of the TSP is to minimize the route length
fTSPðSÞ ¼X
z1
i¼1
dsisðiþ1Þ þ dszs1; ð6Þ
where djkis the distance from city j to city k. In the AS,Dorigo et al. (1996)defined the probability that the ant
chooses city j from the candidate set Nito succeed city i as
Pij¼ sa ijg b ij P k2Nis a ikg b ik ; 8j 2 Ni: ð7Þ
In solving large-scale TSPs, the size of the candidate set Niis set fixed to reduce computation complexity. The
candidate cities in Niare then a fixed number of closest cities to city i. Since the objective of the TSP is to
obtain a shortest route looping through all the cities, selecting a nearest city j to succeed city i is preferred. The heuristic value gijis then simply assigned as the inverse of distance dij; i.e., gij= 1/dij. Power factors a
and b are used to intensify or relieve the influence of the values of sijand gij, respectively. Therefore, a higher
value of sa ijg
b
ijindicates a higher probability that object j will be chosen to succeed object i. If saijdominates the
value, the solution search relies heavily on previous construction experience. In this case, search stagnation occurs easily, since all ants refer to the same pheromone map and the map is likely to be biased by dominating routes. Conversely, if a is set to 0, the heuristic value gijdominates the selection and the solution search turns
out to be a greedy search, since local optimization heuristics are usually implemented in the computation of gij.
After all the ants have constructed their solutions, pheromone values sijare updated by
sij ð1 qÞsijþ Dsij; 8i; j; ð8Þ
where q is an evaporation rate that removes a small amount of pheromone from every segment. The added amount of Dsijdepends on whether the corresponding segment lij of sij belongs to the segment set resulted
from the segmentation operation on a solution that deserve pheromone intensification. In the AS, since all solutions constructed from the y ants are eligible for pheromone intensification,
Dsij¼ Xy k¼1 Dsk ij;Ds k ij¼ Q fTSPðSkÞ if lij 2 HTSPðSkÞ 0 otherwise; ( ð9Þ where Q is a scalar and Skis the solution constructed by ant k. Various pheromone update methods for the TSP were proposed in the successive ant systems for efficiency and quality improvements, such as the AS_elite, AS_rank, ACS, and MMAS.
2.2. Ant Colony Optimization methods for the bin-packing problem
The bin-packing problem can be regarded as an object-grouping problem. A one-dimensional bin-packing problem is to pack z objects (boxes or parcels with different sizes or weights) into a number of bins, subject to a size or weight capacity constraint of the bin. The goal is either to use a minimum number of bins to pack these objects, or to minimize the size or weight variances between the bins when the number of bins is given. The solution S for the BPP is represented in Eq. (2)as a set of subsets of objects, where
Sk ¼ fsk1; sk2; . . . ; skjSkjg; skj2 O; j ¼ 1; 2; . . . ; jSkj: ð10Þ
Note that[gk¼1Sk ¼ O and the capacity constraints are
Wk¼
X
j2sk
wj6W0; k¼ 1; 2; . . . ; g; ð11Þ
where wjis the size or weight of object j and W0is the size or weight capacity of the bin.Levine and Ducatelle
(2004)presented an ant-optimization method for the BPP and Cutting Stock Problem. The objective for the BPP defined in their work was originally proposed byFalkenauer (1996), which was to maximize
fBPPðSÞ ¼1 g Xg k¼1 Wk W0 k : ð12Þ
In Eq.(12), g is the number of bins used, Wkis the total weight of the objects packed in bin k; and k is an
objective influence factor of the load fraction of bin to the number of bin used. Maximizing the average of load fractions of the bins can be interrupted as minimizing the number of bin used. Since the number of bins used, g, is not predetermined and is to be minimized, the pheromone map used is a square matrix; i.e., T = [sij]zz. Therefore, segmentation operation on a BPP solution focuses on the links of objects packed in
the same bin, not on the links between the bin and the packed objects. Therefore, the segmentation operation on solution S is HBPPðSÞ ¼[ g k¼1 H0ðSkÞ; ð13Þ H0ðSkÞ ¼ flijji; j 2 Sk; i6¼ jg: ð14Þ H0(S
k) is the segmentation operation on the packing results of bin k. The operation result is the complete set of
links between objects in bin k. Fig. 1 depicts a BPP solution S = {S1, S2, S3, S4} = {{5, 1}, {4, 2},
{9, 6, 3}, {7, 8}}, which has nine objects packed into four bins. For each object depicted as a round-rectangle in the bin stack, the value shown within the parentheses is its weight. Segmentation results of the solution are H0(S
1) = {l51, l15} for bin 1, H0(S2) = {l42, l24}for bin 2, H0(S3) = {l96, l93, l63, l69, l39, l36} for bin 3, and
H0(S
4) = {l78, l87} for bin 4. Therefore, HBPP(S) = {l51, l15, l42, l24, l96, l93, l63, l69, l39, l36, l78, l87}. If this solution
is granted rights for pheromone intensification, the corresponding pheromone values are to be intensified. Note that if W0is 10 and the loading influence factor k is 2, the load fractions of bins 1 to 4 are ((3 + 5)/
10)2= 0.64, ((3 + 7)/10)2= 1.0, ((2 + 3 + 5)/10)2= 1.0, and ((4 + 5)/10)2= 0.81, respectively. The objective value of the solution is fBPPðSÞ ¼1
4ð0:64 þ 1:0 þ 1:0 þ 0:81Þ ¼ 0:86.
The discussed solution construction method, which was proposed byLevine and Ducatelle (2004), is an iterative approach. Initially, a bin is opened as the current bin. The unpacked objects are selected one by one and packed into the bin. The procedure subsequently opens a new bin as the current bin when none of
5 (5) 1 (3) S1 4 (7) 2 (3) S2 9 (5) 6 (3) 3 (2) S3 7 (5) 8 (4) S4 Fig. 1. Schematic diagram of a bin-packing solution.
the unpacked objects can be packed into the current bin. They defined the selection probability of choosing object j to pack into the current bin a as
Paj¼ sða; jÞagðjÞb P k2Nasða; kÞ a gðkÞb; 8j 2 Na; ð15Þ
where Nais the set of unpacked objects whose weights can be added to bin a without exceeding the weight
capacity W0; s(a, j) is a pheromone equivalent reflecting the tendency of packing object j into bin a;
sða; jÞ ¼ P k2Saskj jSaj if Sa6¼ £ 1 otherwise; 8 < : ð16Þ
where Sais the set of objects that are currently packed in bin a. The heuristic term g(j) is defined to prefer an
object with a larger weight to fully utilize the weight capacity left in the bin, gðjÞ ¼ wj
W0
: ð17Þ
Levine and Ducatelle applied the traditional pheromone update method for the BPP, such that the pheromone was updated by sij ð1 qÞsijþ Dsij; 8i; j; Dsij ¼ q fBPPðSÞ if lij2 HBPPðSÞ 0 otherwise; ( ð18Þ where S*is the best solution computed so far. In this paper, we adopt the above solution construction method
to solve the BPP while using our own pheromone update method.
Local search methods have been widely used in heuristic methods, such as GA, simulated annealing, and particle swarm optimization method, to enhance solution qualities of larger-scale combinatorial optimization problems. The k-opt (especially the 3-opt) local search method for the TSP has been adopted by much liter-ature for its effectiveness in helping the search for global optima. One effective local search method for the BPP was proposed by Falkenauer (1996) to first empty objects out of a few bins and then to swap the unpacked objects with packed ones to enlarge load fractions of the packed bins. These methods have been included in a few enhanced ACO methods to claim for their optimality searching capabilities. Generally, with-out the help of the local search, the global optimal solutions for large-scale combinational optimization prob-lems are nearly unattainable for general heuristic methods, including the enhanced and improved ACO methods.
2.3. Maturity of the pheromone map and search stagnation
Ant-optimization methods face a common challenge of controlling the maturing development of the pher-omone map, in order to effectively and efficiently find a near-optimal solution. Faster maturation might easily lead the solution search to a local minimum without exploring the solution space extensively. Slower matura-tion, however, usually results in an inefficient search whose solution quality is not guaranteed. Therefore, maintaining a live pheromone map in the optimizing process before search stagnation is crucial for obtaining a better solution in fewer searches (solution constructions).The pheromone maps of different pheromone update strategies have different value-update behaviors. Some might yield a dominating trail or trails quickly, while others might be able to maintain a live (or immature) pheromone map or prolong the time to maturity. Solution-search stagnation happens when the pheromone map is dominated by a trail or trails. A dominating trail can be identified by connecting two pheromone items that have the two highest values on each row of the pheromone map. Fig. 2shows an example of the formation of a dominating trail. Note that the pheromone values in bold face indicate the dominating trail embedded in the graph.
This paper uses the branch factor proposed byStu¨tzle and Hoos (2000) to investigate the maturity of the pheromone map. Suppose that z objects define the z z pheromone map T in Eq. (3), where sij is the Please cite this article in press as: Yang, F. -C., & Chou, Y. -C., Superior/Inferior Segment-Discriminated Ant System
pheromone value of the link between objects i and j. A threshold is computed for each row to distinguish lar-ger pheromone values from smaller ones. For row i the threshold is
vi¼ smin i þ jðs max i s min i Þ; 0 6 j 6 1; smin
i ¼ minj¼1;2;...;zfsijg; smaxi ¼ max j¼1;2;...;zfsijg;
ð19Þ
where j is an interpolation parameter for the threshold. The branch factor of the pheromone map is then de-fined as b¼ Pz i¼1 Pz j¼1eij 2z ; eij¼ 1 if sij P vi 0 otherwise : ð20Þ Notice that when two values are relatively larger than others in each row, they will be filtered out by the threshold, and the branch factor of the map will ideally approach 1.0. Parameter j affects the evaluation of the number of relative-large values in a row and the resulted branch factor. Although a small value 0.005 of j was suggested inStu¨tzle and Hoos (2000), in some ACO methods we found it is too hard (tight) to let the branch factor approach 1.0 for maturity recognition. Fortunately, we still can identify the maturity from leveled changes of branch factors. Therefore, we can only state that a pheromone map becomes matured when its branch factor is converged to a positive value. The pheromone map maturing behaviors of various ACO methods are further discussed in Section4, where numerical data are available for comparison.
3. Superior/Inferior Segment-Discriminated Ant System
This paper proposes an ant-optimization system that uses a segment-based pheromone update strategy, Superior/Inferior Segment-Discriminated Ant System (SDAS). The object selection mechanism of the SDAS is the same as the ACS, where an exploitation fraction is defined and a run-time random variable is generated to determine whether using the probability proportional method (a stochastic approach) or deterministically selecting an object j with the highest value of sa
ijg b
ij. Therefore the selected object j*to succeed object i is
j¼ arg maxj2Ni fsa ijg b ijg if q 6 q0 J otherwise; ( ð21Þ
where q is a run-time random number normally distributed within [0, 1], q0 is the exploitation fraction
(0 6 q061), and J is the object stochastically selected from the probability proportional method whose
selec-tion probabilities are defined in Eq.(7).
Instead of using the entire trail to update its pheromone values, the SDAS investigates every segment of the chosen solution trails to build sets of superior and inferior segments. Superior segments merit a pheromone deposit, while inferior ones are subject to pheromone withdrawal. First, the SDAS constructs a superior and an inferior limit for evaluating the performance of ants, using the techniques of control charts. Solution trails constructed by the ants are therefore classified into sets of superior, inferior, and ordinary trails. The
l
12l
21l
54l
45l
51l
15l
25l
32l
13l
31l
41l
14l
52l
23l
24l
35l
42l
53 0.0 0.2 0.1 0.0 0.2 0.1 0.2 0.2 0.0 0.1 0.0 0.1 0.1 0.1 0.0 0.9 0.8 0.9 0.7 T 0.8 1.0 0.8 0.8 0.7 1.0 5 4 3 2 1l
43l
34 Fig. 2. Formation of a dominating trail on the pheromone map.segments of the superior and inferior trails are further investigated and classified into superior and inferior segments.
3.1. Evaluation of superior, inferior, and ordinary trails
Most of the existing ACO methods let all ants or a few elite ants deposit pheromone on their trails. This strategy can not sufficiently distinguish good segments from poor ones. For instance, when all ants (including inferior ones) are allowed to deposit pheromone on their trails, the inferior trails might indistinct the phero-mone strengthened by the superior ones. Conversely, when only a few elite ants are allowed to deposit pher-omone, their trails are not guaranteed to be the truly superior, since some poor segments might be embedded in them. On the other hand, if inferior trails are totally excluded from pheromone deposit and good segments are embedded in these trails, the solution search would not be guided to the global optimum. Therefore, a trail should not be indiscreetly labeled as inferior or superior for pheromone update, we need to investigate more deeply into the segment level.
To overcome the pitfall of treating all segments of an elite trail as good segments, the SDAS focuses on the segments. Pheromone values are not updated on all trails or all elite trails, but on individual segments. Trails are evaluated first to identify superior and inferior trails. Their segments are further examined and extracted to compose a set of superior segments and a set of inferior ones. Moreover, the pheromone-update process is not simply one of depositing (intensifying) the pheromone. Instead, the pheromone value corresponding to a supe-rior segment is intensified, while the value to an infesupe-rior segment is reduced. Supesupe-rior segments earn their rewards and inferior ones incur punishment. Therefore, segments are the focus of the SDAS and are discrim-inated in pheromone updating.
To evaluate the solution trails, the SDAS first uses the control-chart technique to establish a superior limit Fbestand an inferior limit Fworston the objective values. Let y be the number of ants deployed and fmax, fmin,
and f be the minimum, maximum, and average of the objective values obtained from all the trails: f ¼1 y Xy k¼1 fk ¼1 y Xy k¼1 fproblem typeðSkÞ; f min¼ min k¼1;2;...;yff kg; f max¼ max k¼1;2;...;yff kg; ð22Þ
where Skis the solution constructed by ant k and fkis the objective value of trail k (solution Sk). For mini-mization problems, the superior and inferior limits
Fbest¼ f xðf fminÞ; ð23Þ
Fworst¼ f þ xðfmax fÞ; 0 < x 6 1:0; ð24Þ
where x is a range factor for the limits. The trails are then divided into sets of superior, inferior, and ordinary trails by these limits. Let U be the superior set of solution trails, U = {k|fk6Fbest, k2 {1, 2, . . . , y}}, and V the inferior set of solution trails, V = {k|fkP Fworst, k2 {1, 2, . . . , y}}. Note that Fbestapproaches fmaxand Fworst
approaches fminwhen x approaches 1.0, where fewer trails are regarded as superior or inferior.
When the superior and inferior trails are identified, superiority or inferiority can be assigned to their seg-ments. In general, a segment of a superior trail is likely to be a good segment that makes a positive contribu-tion to the objective value. If a segment appears on both superior and inferior trails, it cannot be classified unambiguously as good or bad. Therefore, particular operations are required to extract superior and inferior segments from the superior and inferior trails.
3.2. Determination of superior and inferior segments
The pheromone update strategy of the SDAS is a superior-added, inferior-subtracted (SAIS) strategy, dis-criminating in favor of superior segments and against inferior ones. Superior and inferior segments are deter-mined by a stochastic set operation.
Let S*represent the best solution so far. The set of corresponding segments to the best solution so far is
G¼ Hproblem typeðSÞ: ð25Þ
Applying the segmentation operation on the superior and inferior trails, the segment set of all of the superior trails is A00¼[ k2U Hproblem typeðSk Þ ð26Þ
and the segment set of all of the inferior trails is B00¼[
k2V
Hproblem typeðSkÞ: ð27Þ
The Venn diagram ofFig. 3(a) depicts a general compositional relation between G, A00, and B00, where L is the
set of all segments on the pheromone map. Note that segments belonging to the superior set A00 might also
appear in B00. The segments in A00\ B00 are neither superior nor inferior and they should be excluded from
pheromone deposit or deduction. In the SDAS, segments of the best solution so far will be given a certain amount of pheromone separately at the end of the pheromone update procedure. Therefore, they are excluded from the superior and inferior segment sets. Consequently, the set of superior segments that deserve phero-mone deposit is
A0¼ A00 G B00; ð28Þ
as depicted inFig. 3(b). However, although segments in A0can be regarded as superior segments, a stochastic
process is executed for each segment to determine whether it will be finally accepted as a superior segment. Therefore, the superior segment set A is defined as
A¼ flijjlij2 A0;hij<hAg; ð29Þ
where hijis a run-time-generated normally distributed random value within [0, 1], and hAis a user-specified
threshold, 0 < hA61.0. A conceptual diagram of set A is shown inFig. 3(c). The definition of Eq.(29)is based on an assumption (or a belief) that the superior segments are usually located on superior trails. Setting a high-er hAimplies that the user has a stronger belief in this assumption. As a result, hAcan be regarded as the prob-ability that the assumption is true.
Likewise, the inferior segment set B is extracted from B00, whose pheromone might be deducted. At first,
segments that appear in both G and B00are excluded from consideration to avoid subtracting pheromone from
segments of the best route so far. Then, similarly, the segments appearing both in B00 and A00 are excluded.
Therefore, the segment set
B0¼ B00 G A00; ð30Þ
as shown inFig. 3(b). Again, there is an assumption that inferior segments usually come from inferior routes. Therefore, the inferior segment set B is defined as
B¼ flijjlij2 B0;hij<hBg; ð31Þ
where hBis the threshold for being inferior, 0 < hB61.0. A schematic diagram of set B is shown inFig. 3(c). Consequently, using the presented stochastic set operation, the SDAS can extract superior and inferior seg-ments from the trails constructed by the ants, to have a basis for discriminated pheromone update.
L
A
B
G
a
L
A
B
b
L
A
B
c
3.3. Pheromone update process of the SDAS
The superior segments in set A receive additional pheromone, given by Dsij¼
r
fðSÞ; if lij2 A; ð32Þ
and the inferior ones lose some of their pheromone, given by
Dsij¼ r sij; if lij2 B; ð33Þ
where r is the discrimination factor, 0 < r 6 1.0. Note that pheromone update computations in Eqs.(32) and (33)are similar to the pheromone dropping and evaporation computations in traditional ant systems. How-ever, they do not need to be designed in this way; i.e., variations of the SDAS can use different computations to implement the SAIS (superior-added, inferior-subtracted) strategy. The last step of our pheromone update procedure is to evaporate the pheromone of all segments and update the segments on the best solution so far. Therefore, the pheromone of the SDAS is updated by
sij ð1 qÞsijþ Dsij; 8i; j; Dsij ¼ r fðSÞ if lij 2 A r sij if lij 2 B q fðSÞ if lij 2 G 0 otherwise; 8 > > > < > > > : ð34Þ
where q is the evaporation fraction, 0 < q 6 1.0. 3.4. Pheromone reset
Since the SDAS allows the best solution so far to add pheromone on its segments to accelerate optimum searching, as shown in Eq.(34), search stagnation might not be completely avoidable for problems having sev-eral local optima. When the ants get stuck on a few solutions of local optima, a pheromone reset operation can be optionally performed to discard the biased guiding information on the pheromone map. In this operation, the amounts of pheromone on all segments are reset to the initial value s0, while the best solution so far is kept
invariant. The purpose of pheromone reset is to erase the biased memory that crowds ants together on the same trail or a few trails. The SDAS uses three indices to check for search stagnation: the branch factor of the pheromone map; the number of successive iterations without solution improvement; and the number of successive iterations without any renewal of the iteration-best solution.
The branch factor b is defined in Eq.(20). The SDAS defines a branch factor limit bto detect search stag-nation. When b 6 b, the pheromone map is regarded as biased by a dominating trail, and search stagnation is assumed. A value for j of 0.05 and a value for bof 1.1 were suggested inStu¨tzle and Hoos (2000). Counters and limits for the numbers of successive iterations without improvements on the iteration-best solution and the best solution so far are implemented to detect for search stagnation. Once stagnation is detected, SDAS resets all values in the pheromone map to the initial value s0.
4. Tests for solving the traveling salesman problem
In order to test and compare the performance of the proposed SDAS with other methods, we selected 15 TSPs from the OR-LIB as sample problems, ranging from small to large size. The ACO methods under eval-uation included the AS, AS_elite, AS_rank, ACS, and MMAS. We reconstructed these systems following the description in their original literature.
Most of the TSP benchmarks in the OR-LIB have known minimum route lengths. The goal of this test was not to evaluate the capability of finding the minima, but the optimality searching capability. To reveal the intrinsic algorithmic merits of an ACO method, this test simply set an execution time limit for all the methods to solve these 15 problems. Local search was not activated in any method, neither the pheromone-reset operation. For each benchmark, pilot runs were executed to determinate a pertinent execution time limit
for all methods. The time limit was set long enough for all methods to unfold their optimality searching capabilities.
The five ACO systems and our SDAS system for the TSP were programmed in C# programming language and executed on the .NET Framework. Coding techniques were impartially implemented for these systems, without particularly favoring any one. All the systems counted the number of route length evaluations for each run, for cross references. The number was actually the number of solution constructions (or searches) in every run, since no any local search was allowed or executed in the test. In addition, when a new shortest route was found, the number of solution constructions was recorded and updated for the measurement of the speediness of route length minimization.
The number of runs on a problem was ranging from 10 to 50, depending on the number of cities defined in the problem. Numerical results were therefore averaged for comparison. For easier comparison on different-size problems, an error percentage of the average length relative to the known optimum was calculated as
e¼the average shortest length-the known shortest length
the known shortest length 100ð%Þ: ð35Þ
Since the parameters defined in each ACO method have different functions and effects on its optimality search, their values should be rigorously tuned for solving a particular problem or a particular type of problem. The aim of this test was not to tune the best parameters for each method on each problem to have an absolutely fair and equitable comparison. Therefore, the parameter setting for each method on each problem was simply based on the suggestions or sample values provided in their original literature and the number of cities of the TSP.Table 1lists the parameter settings on each problem for each method. Note that the execution time and the number of candidate cities were set based on the scale of the problem and the value of the optimum route length. The test was executed on a personal computer with a 3.40 GHz Intel(R) Pentium(R) 4 CPU and 1GB RAM.
The 15 TSPs were separated into three sets. The first set contained oliver30, att48, eil51, berlin52, and rat99. The numerical results are shown inTable 2. The second set included kroA100, a280, lin318, att532, and rat783. Their numerical results are listed inTable 3. All the six ACO methods were tested to solve these two sets of benchmarks. The benchmarks in the last set were pcb1173, d1291, fl1577, pr2392, and fl3795. In this set, to save computation time, only our SDAS, AS, and MMAS were tested for the last two problems.Table 4lists the numerical results.
Figs. 4 and 5compare the average error percentages obtained from the six methods for each problem. Note that since minimum lengths of benchmarks rat99, lin318, d1291, and fl3795 are not available, their error per-centages are not available. The averages and standard deviations of the minimum route lengths computed from all methods for each problem are listed inTables 2–4for cross references. As shown inFig. 4, the per-formance of the SDAS is close to that of the MMAS in solving small-scale TSPs and both methods outper-formed other methods. For medium- to large-scale TSPs, the results obtained from the SDAS are better than that from other methods, as shown inFig. 5.
Notably there are controversies over the rightness of comparison on different heuristics. Computation complexities of exact algorithms can be analytically computed for comparison. However, for stochastic factors and parameters involved algorithms, conducting an absolutely fair and right comparison is an elaborate challenge and an impartial comparison basis is hard to establish. Therefore, the comparison resulted from the test does not suggest that the SDAS outperforms other ACO methods in every aspect. Nevertheless, it indicates that the proposed segment discriminated strategy has a rightful potential for optimality search.
4.1. Discussion on the computational overhead
Referring toTables 2–4, for each problem, the average numbers of solutions constructed by the six methods within the same execution time limit are not far from each other. The differences between these values were mainly due to the algorithmic complexities and parameter value settings of the ACO methods. Our program-ming for these systems did not particularly favor any one. In fact, no any method always constructed more or less solutions than others in the same execution time limit for all the problems.
Table 1
Parameter settings of tested ACO methods for the 15 TSPs
Parameters oliver30 att48 eil51 berlin52 rat99 kroA100 a280 lin318 att532 rat783 pcb1173 d1291 fl1577 pr2392 fl3795 Number of runs 50 30 30 30 30 30 30 30 30 30 30 10 10 10 10 Number of candidate cities 10 10 20 20 20 20 20 20 10 10 13 10 20 10 10 Execution time limit (s) 1 6 12 6 15 15 100 200 240 300 600 660 660 1800 2400 Number of ants 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20
Pheromone factor a 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
Heuristic factor b 3 3 2 3 3 3 3 3 3 3 5 5 3 4 4
Initial pheromone value s0 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 SDAS Range factor x 0.85 0.85 0.85 0.85 0.85 0.85 0.85 0.85 0.85 0.85 0.8 0.85 0.85 0.85 0.85 Threshold hA 0.8 0.8 0.8 0.85 0.9 0.9 0.9 0.9 0.9 0.9 0.7 0.8 0.75 0.75 0.75 Threshold hB 0.5 0.5 0.3 0.5 0.7 0.5 0.6 0.6 0.6 0.6 0.4 0.4 0.5 0.5 0.5 Evaporate rate q 0.06 0.03 0.1 0.1 0.1 0.1 0.15 0.15 0.25 0.35 0.5 0.5 0.35 0.6 0.6 Discrimination factor r 0.08 0.15 0.3 0.2 0.28 0.2 0.3 0.3 0.25 0.1 0.3 0.3 0.3 0.4 0.4 Exploitation fraction q0 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 AS Evaporation rate 0.95 0.95 0.95 0.95 0.95 0.95 0.95 0.95 0.95 0.95 0.95 0.95 0.95 0.95 0.95 Pheromone quantity 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 0.01 AS_elite Elite number 3 3 3 3 20 20 20 20 20 20 20 5 5 5 5 AS_rank Pheromone quantity 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 0.005 ACS Exploitation fraction 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 0.8 Local update par. 0.06 0.03 0.1 0.1 0.1 0.1 0.15 0.15 0.25 0.35 0.5 0.5 0.35 0.6 0.6 Global update par. 0.08 0.15 0.3 0.2 0.28 0.2 0.3 0.3 0.25 0.1 0.3 0.3 0.3 0.4 0.4 MMAS Best probability 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 0.05 Swap period 5 5 5 5 5 5 1 1 1 1 1 1 5 5 5 F.-C. Yang, Y.-C. Chou /Computers & Industrial Engineering xxx (2008) xxx–xxx 13
ARTICLE
IN
PRESS
this article in press as: Yang, F. -C. , & Chou, Y. -C. , Superior/Inferior Segment-Discriminated Ant System & Industrial Engineering (2008), doi:10.1016/j.cie.2007.12.016In general, the computational overhead of the SDAS is insignificant comparing to others. Note that, all methods, except the AS, sort the objective values of all solutions to rank them or to select elite one or ones. In the SDAS, no significant computation overhead is incurred to identify the inferior and supe-rior solutions. Segmentation operations on those elite solutions are unavoidable for all methods to update the corresponding pheromone items. In the SDAS, an extra flag map was implemented to indi-cate each segment as a superior segment, an inferior segment, a normal segment, or a segment on the best solution so far, during the segmentation operations. The SDAS algorithm then loops through each pheromone item once to evaporate pheromone and to either subtract or intensify its value according to the flag. Other methods also need to evaporate all pheromone items and to deposit pheromone on the elite trails, where a segment might be computationally traversed many times if it appears in several elite trails. Therefore, extra memory resource is required in the SDAS, while the computational overhead is insignificant.
4.2. Discussion on the pheromone maturing behaviors
One simple way to study the optimization behaviors of an ACO method is to investigate the variation of the computed best route length.Fig. 6shows an example of the evolutions of the six ACO methods in solving the a280 benchmark.Fig. 7displays the branch factors of these runs. For easier and closer comparisons, the figure
Table 2
Computational results for the first set of TSPs Benchmark
(shortest route length)
Methods Avg. of the best route length Best route length STDEV Error percentage (%)
Avg. of the number of solution constructions to find the best route
Avg. of the number of solution constructions oliver30.tsp (424.869) SDAS 424.99 0.527 0.029 2148.8 4884.4 AS 429.52 2.927 1.095 2678.0 4737.6 ACS 427.59 2.383 0.641 3352.0 4752.0 MMAS 425.01 0.665 0.034 3312.8 4819.2 AS_rank 426.38 3.802 0.356 1585.6 4750.4 AS_elite 425.96 1.110 0.256 3266.0 4652.0 att48.tsp (10628.000) SDAS 10,665.50 38.938 0.353 6700.0 13,324.7 AS 11,075.63 74.924 4.212 6010.7 13,137.3 ACS 11,211.53 104.721 5.491 7606.0 13,232.7 MMAS 10,663.53 38.248 0.334 7449.3 13,420.0 AS_rank 10,743.83 81.080 1.090 2854.0 12,965.3 AS_elite 10,976.30 90.366 3.277 7305.3 13,105.3 eil51.tsp (429.983) SDAS 432.70 2.682 0.631 13,680.0 17,460.0 AS 450.37 6.901 4.742 11,388.0 17,500.0 ACS 457.94 5.439 6.502 8192.0 17,770.0 MMAS 431.68 2.048 0.395 11,748.0 18,514.0 AS_rank 439.10 4.496 2.121 4112.0 17,634.0 AS_elite 444.11 4.206 3.286 11,876.0 17,634.0 berlin52.tsp (7544.366) SDAS 7575.46 71.568 0.412 4680.0 8613.3 AS 7743.07 80.183 2.634 5551.3 8467.3 ACS 7758.10 106.289 2.833 4800.0 8673.3 MMAS 7571.12 70.583 0.355 6154.7 9039.3 AS_rank 7634.71 107.760 1.197 3362.0 8584.7 AS_elite 7631.28 72.755 1.152 5642.0 8464.7
rat99.tsp (n/a) SDAS 1250.58 15.392 n/a 7093.3 7737.3
AS 1309.10 11.737 n/a 4856.7 7455.3
ACS 1322.82 13.048 n/a 3653.3 7727.3
MMAS 1261.18 21.619 n/a 7214.0 7980.7
AS_rank 1285.46 14.390 n/a 5754.7 7693.3
is partially enlarged inFig. 8. The interpolation factor j of Eq.(19)was set to 0.005 for branch factor eval-uations. The curve distributions shown in these figures are typical for all benchmarks solved in the test.
As depicted in Fig. 6, the SDAS persisted in improving the solution for a long period of time before the solution stagnation happened. In addition, the continuity and depth of route length decreasing were smoother and deeper than others. Among the methods, although the ACS had the fastest length decreas-ing rate initially, it encountered search stagnation the earliest. The MMAS had a similar behavior as the SDAS but with a lower decreasing rate and a shallow decreasing depth. The AS, AS_rank, and AS_elite shared a similar evolution behavior: the objective value decreases with a different amount in a slower rate than that of the ACS.
Figs. 7 and 8show the variation of the branch factor for the six ACO methods. For all methods, the branch factor first increases to a maximal value, then continuously decreases, and finally levels off. The pheromone map with the highest branch factor might play an important role in the successive optima search. We regard the time period from the beginning to the time reaching the maximal branch factor as an information accumu-lation stage or self organizing stage. During this stage, the map is more gathering the solution construction experience than guiding the solution search. Notice that, the time values elapsed to reaching the maximal branch factor of the SDAS and MMAS are longer than those of the rest. In this case the maximal branch factor for the SDAS is 138.95, which is close to one half of the number of cities, 280, of the a280 benchmark. This is due to the earlier pheromone deductions on the inferior segments and the value of j in Eq.(19)was set small (0.005) to have each row threshold close to the minimal pheromone value of the row.
Table 3
Computational results for the second set of TSPs Benchmark
(shortest route length)
Methods Avg. of the best route length Best route length STDEV Error percentage (%)
Avg. of the number of solution constructions to find the best route
Avg. of the number of solution constructions kroA100.tsp (21,285.443) SDAS 21,819.89 247.551 2.511 6708.0 7171.3 AS 23,034.84 264.405 8.219 3954.7 7150.0 ACS 23,205.53 257.860 9.021 3535.3 7294.0 MMAS 21,835.32 318.050 2.583 7353.3 7582.0 AS_rank 22,498.61 203.694 5.700 5589.3 7104.0 AS_elite 22,165.35 344.798 4.134 6226.7 7156.0 a280.tsp (2586.770) SDAS 2856.93 115.661 10.444 7397.3 8015.3 AS 3067.82 40.085 18.597 4446.7 7966.0 ACS 2981.63 58.350 15.264 4950.0 8364.0 MMAS 2915.54 84.239 12.710 8337.3 8584.7 AS_rank 3027.98 48.254 17.056 5769.3 8008.7 AS_elite 2952.95 54.730 14.156 7296.7 8427.3
lin318.tsp (n/a) SDAS 45,582.60 553.542 n/a 11,405.3 12,409.3
AS 47,523.44 357.726 n/a 7851.3 12,569.3 ACS 47,539.37 294.375 n/a 5478.0 12,856.0 MMAS 48,690.05 1625.284 n/a 11,717.3 12,454.7 AS_rank 46,787.66 448.003 n/a 8086.7 12,505.3 AS_elite 46,256.99 583.013 n/a 10,002.0 12,779.3 att532.tsp (27,686.000) SDAS 32,231.50 559.337 16.418 4853.3 5536.7 AS 33,290.03 263.675 20.241 3900.7 5686.0 ACS 32,526.90 227.463 17.485 2196.7 5294.0 MMAS 35,286.83 785.648 27.454 4456.7 5239.3 AS_rank 32,992.10 278.888 19.165 4033.3 5740.0 AS_elite 32,611.83 505.634 17.792 4318.7 5284.0 rat783.tsp (8806.000) SDAS 10,442.04 235.421 18.579 3188.7 3482.0 AS 10,803.16 61.881 22.680 2884.0 3720.0 ACS 10,589.86 75.739 20.257 1656.7 3362.7 MMAS 11,513.48 116.832 30.746 3051.3 3375.3 AS_rank 10,755.10 81.596 22.134 2650.7 3737.3 AS_elite 10,714.30 98.052 21.670 2701.3 3411.3
The pheromone map with the highest branch factor starts guiding the search for optimal solutions (local or global ones) with different organizing and adjusting capabilities in different methods. During this guiding stage, the branch factor decreases until the pheromone is matured with dominated trails. If the map does not bear comprehensive optimality information or the map already has prejudiced items, wider explorations are impossible and the objective improvement is quickly leveled off. This unfavorable case applies to the AS, AS_rank, and AS_elite. As shown inFig. 8, the branch factor decreasing stage for the SDAS lasts for itera-tions 55–370 and yields a better final solution than others. The branch factor might not be a good index to reveal the liveliness of the pheromone map, yet its variation helps to figure out the maturing status. From
Table 4
Computational results for the third set of TSPs Benchmark
(shortest route length)
Methods Avg. of the best route length Best route length STDEV Error percentage (%)
Avg. of the number of solution constructions to find the best route
Avg. of the number of solution constructions pcb1173.tsp (56,892.000) SDAS 68,100.33 863.449 19.701 2810.0 3223.3 AS 71,501.02 755.193 25.679 2594.0 3014.0 ACS 68,700.09 388.885 20.755 1814.0 3194.0 MMAS 75,951.74 826.772 33.502 3148.0 3314.0 AS_rank 71,769.91 394.407 26.151 2760.0 3340.0 AS_elite 71,521.70 374.366 25.715 2802.0 3340.0
d1291.tsp (n/a) SDAS 61,363.03 837.163 n/a 2190.0 2870.0
AS 59,680.17 603.799 n/a 2266.0 2760.0 ACS 58,232.76 537.835 n/a 2198.0 2984.0 MMAS 64,409.44 568.871 n/a 2706.0 2962.0 AS_rank 59,811.86 386.568 n/a 2412.0 2982.0 AS_elite 59,337.51 434.469 n/a 2498.0 2980.0 fl1577.tsp (22,249.000) SDAS 26,222.18 302.145 17.858 1454.0 2014.0 AS 27,309.92 240.343 22.747 1638.0 2100.0 ACS 26,378.26 273.728 18.559 1386.0 2100.0 MMAS 31,399.05 395.484 41.126 2014.0 2078.0 AS_rank 27,571.13 202.879 23.921 1732.0 2094.0 AS_elite 27,380.95 203.192 23.066 1654.0 2100.0 pr2392.tsp (378,062.826) SDAS 469,619.20 6717.911 24.217 1700.0 2302.0 AS 476,091.58 2482.945 25.929 2024.0 2338.0 MMAS 516,234.22 2585.069 36.547 2254.0 2330.0
fl3795.tsp (n/a) SDAS 34,696.69 295.095 n/a 818.0 1164.0
AS 36,886.96 228.992 n/a 1020.0 1188.0 MMAS 44,197.29 705.204 n/a 1138.0 1200.0 Error Percentage 0.0 1.0 2.0 3.0 4.0 5.0 6.0 7.0
oliver30 att48 eil51 berlin52
SDAS AS ACS MMAS AS_rank AS_elite
the numerical data obtained in the test, it seems that the pheromone map of the SDAS is more live in solution search than others.
5. Tests for solving the bin-packing problem
We tested 80 bin-packing benchmarks from the OR-LIB; they are classified into four sets of problems with different numbers of objects: 120, 250, 500, and 1000. Each set consists of 20 problems that are originally gen-erated stochastically. These problems, defined in files binpack1, binpack2, binpack3, and binpack4, were desig-nated and contributed byFalkenauer (1996). The weights of the objects are uniformly distributed in (20,100) to be packed into bins of a weight capacity of 150. Each problem is identified as uY_X, where the u stands for
Error Percentage 0.0 5.0 10.0 15.0 20.0 25.0 30.0 35.0 40.0 45.0
kroA100 a280 att532 rat783 pcb1173 fl1577 pr2392
SDAS AS ACS MMAS AS_rank AS_elite
Fig. 5. Error comparisons for medium- to large-scale TSPs.
Fig. 6. Route length minimization progresses on benchmark a280.
uniform distribution, the Y is the number of objects, and the X is the serial number in each set; e.g., u120_00, u250_07, u1000_19, etc. In addition, the minimum number of bins for each problem was known and provided inFalkenauer (1996).
We reconstructed all the six ACO systems for the BPP, using the Levine and Ducatelle’s ACO method that has been discussed in Section2.2. Although various local search methods can be used to enhance the BPP solutions, they were not adopted in the test. Some literature claimed optimum was found quicker or easier than other methods, yet the optimality searching capability was not all due to the proposed method, but largely the local search. Therefore, finding the minimum numbers of bins was not the goal of this test; instead, intrinsic solution search capabilities of these ACO methods for the BPP were of interest. The test simply focused on their objective achievements against the same limit of execution time, without any
oper-Fig. 7. Comparisons of branch factor convergence on benchmark a280.
ation of local search or pheromone reset. The execution time limit was set to a value that allows all of the methods to unfold their optimality searching capabilities. Table 5 lists the ACO parameters setting for each set of BPPs.
Table 5
Parameter settings for the four categories of BPPs
Parameters u120_X u250_X u500_X u1000_X
Number of runs 10 10 10 2
Number of candidate cities 20 120 240 1200
Execution time limit (s) 120 250 500 1000
Number of ants 20 20 20 20
Pheromone factor a 1 1 1 1
Heuristic factor b 3 3 3 3
Initial pheromone value s0 0.05 0.05 0.05 0.05
SDAS Range factor x 0.85 0.85 0.85 0.85 Threshold hA 0.8 0.8 0.8 0.8 Threshold hB 0.6 0.6 0.6 0.6 Evaporate rate q 0.1 0.13 0.15 0.1 Discrimination factor r 0.15 0.25 0.25 0.1 Exploitation fraction q0 0.8 0.8 0.8 0.8 AS Evaporation rate 0.95 0.95 0.95 0.95 Pheromone quantity 0.01 0.01 0.01 0.01 AS_elite Elite number 3 3 3 3 AS_rank Pheromone quantity 0.005 0.005 0.005 0.005 ACS Exploitation fraction 0.8 0.8 0.8 0.8
Local update par. 0.1 0.13 0.15 0.1
Global update par. 0.15 0.25 0.25 0.1
MMAS
Best probability 0.05 0.05 0.05 0.05
Swap period 5 5 5 5
Fig. 9. Objective comparisons between ACO methods for u120_X BPPs.
Figs. 9–12 display the average objective values for each problem obtained from the six ACO methods, where the objective value is calculated by Eq.(12), with k set to 3.0. In this test, all of the problems were exe-cuted 10 times, except the problems in the u1000_X set, which were exeexe-cuted only twice for time saving. When we executed these problems, most of the methods could quickly obtain a number of bins close to but not exactly the known minimum. This achievement was mainly due to the effective solution construction
Fig. 10. Objective comparisons between ACO methods for u250_X BPPs.
Fig. 11. Objective comparisons between ACO methods for u500_X BPPs.
algorithm. Without the aids from any local search, every method had difficulties in obtaining the minimum number of bins. From the figures shown, our SDAS generated better results than others (except the u120_07). Our non-biased pheromone map could prolong the time to search stagnation and guided the com-putation to better objective values than others. For each run on each benchmark, the number of bins above the known minimum was calculated and cumulated for each set of the BPPs.Fig. 13compares the total excess numbers of bins on each problem set for the methods. Note that there were 200 runs (20 problems 10 runs) executed for the first 3 sets and 40 runs (20 problems 2 runs) for the last set. From the comparisons, our SDAS showed a superior optimality searching capability than others.
6. Conclusion
This paper has proposed a segment-based pheromone update strategy for the ACO method. The presented SDAS adopts both pheromone deduction and intensification to attempt to maintain a live pheromone map to guide the solution search. Numerical results have shown that this method prolongs the time toward phero-mone maturity and the time to search stagnation. In addition, the segment-based optimality information stored in the pheromone map can lead the solution searches to a better one than other methods. Although, it is hard to claim that the SDAS outperforms other ACO methods in every aspect, the proposed pheromone update strategy is worth of further attention.
References
Bullnheimer, B., Hartl, R. F., & Strauss, C. (1999). A new rank-based version of the ant system: A computational study. Central European Journal of Operations Research and Economics, 7, 25–38.
Colorni, A., Dorigo, M., Maniezzo, V. (1991). Distributed optimization by ant colonies. In Proceedings of European conference on artificial life Paris (pp. 134–142). France.
Dorigo, M., Caro, G. D., & Gambardella, L. M. (1999). Ant algorithms for discrete optimization. Artificial Life, 5, 137–172.
Dorigo, M., & Gambardella, L. M. (1997). Ant colony system: A cooperative learning approach to the traveling salesman problem. IEEE Transactions on Evolutionary Computation, 1, 53–66.
Dorigo, M., Maniezzo, V., & Colorni, A. (1996). Ant system: Optimization by a colony of cooperating agents. IEEE Transactions on Systems, Man, and Cybernetics, Part B: Cybernetics, 26, 29–41.
Dorigo, M., & Stu¨tzle, T. (2003). The ant colony optimization metaheuristic: Algorithms, applications, and advances. In F. Glover & G. A. Kochenberger (Eds.), Handbook of metaheuristics (pp. 250–285). New York: Springer.
Dorigo, M., & Stu¨tzle, T. (2004). Ant colony optimization. MIT Press.
Falkenauer, E. (1996). A hybrid grouping genetic algorithm for bin packing. Journal of Heuristics, 2, 5–30.
Levine, J., & Ducatelle, F. (2004). Ant colony optimization and local search for bin packing and cutting stock problems. Journal of the Operational Research Society, 55, 705–716.
Maniezzo, V. (1999). Exact and approximate nondeterministic tree-search procedures for the quadratic assignment problem. INFORMS Journal on Computing, 11, 358–369.
Stu¨tzle, T., & Hoos, H. H. (2000). Max–min ant system. Future Generation Computer Systems, 16, 889–914. Fig. 13. Total excess number of bins resulted from the ACO methods for the four problem sets.