ABSTRACT

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

A Hybrid Approach to The Steiner Tree Problem in Graphs
Aman Rathi
Department of Computer Engineering Netaji Subhas Institute of Technology New Delhi
University of Delhi Arvind Batra
Department of Computer Engineering Netaji Subhas Institute of Technology New Delhi
University of Delhi
ABSTRACT:
The Steiner Tree Problem in graphs (SPG) is that of finding a minimum-length interconnection of a set of terminals/nodes, and has long been one of the fundamental problems in the field of electronic design automation especially in VLSI Chip Design(Mandoiu, Vazirani, Ganley, 2000) and Printed Circuit Board layout, where the routing efficiency (in terms of monetary considerations and minimum space utilization both) is of critical importance. In brief, SPG takes an undirected graph G=(V,E) with vertex set V, and edge set E, non negative weights associated with the edges, and a subset B of V(called terminal or customer vertices), the problem is to find a sub graph T that connects the vertices in B so that the sum of weights in T is minimized. Although recent advances of integrated circuit technology into the deep-submicron realm have introduced additional routing objective functions, the Steiner tree problem retains its importance.
Genetic Algorithms (GAs) were introduced by Holland as a computational analogy of adaptive systems. GAs are search procedures based on the mechanics of natural selection and genetics. Ant Colony Optimization (ACO) is a meta-heuristic inspired by the foraging behavior of ant colonies. ACO was introduced by Dorigo, Gambardella, 1997 [2] and has evolved significantly in the last few years. Both algorithms have shown their effectiveness in the building the solutions of NP-hard combinatorial optimization problems.
In this paper, we intend to hybridize the two approaches (GA & ACO) in such a manner that they complement each other for SPG. More specifically, ACO offers a critical advantage of local searching,not found in GA, i.e. searching for local optimality which can optimize the global or the final solution. On the other hand, GA takes a global perspective into account by operating on the complete population from the very beginning. Thus, GA s are more potent in acknowledging the solutions which are globally optimal though their subparts may be sub-optimal. The above arguments substantiate the idea that GA & ACO can nullify each others drawbacks when hybridized. The next paragraph presents a brief epitome of our proposed hybridization model.
A colony of ants is put to evolve a set of solutions (referred as population) using ACO Meta –heuristic. Each group of ants represents a tradeoff between two disparate parameters: exploration of new paths and exploitation of greedy algorithm. This population is ameliorated genetically by general/specific genetic algorithms to engender the next generation of solutions. By this method, it turns out that even the bad ants contribute to solution building which was absent in isolated (non-hybridized) applications of GA and ACO. Moreover, this algorithm helps in finding the appropriate parameter values (α, β) proposed by (Dorigo, Gambardella, 1997) [2]. Thus, it also forgoes the need to define these parameters empirically.
Keywords: Steiner tree problem in Graphs (SPG), Ant Colony Optimization (ACO), Genetic Algorithms (GA), Hybrid (ACO+GA).
1. INTRODUCTION:
Models created based on natural systems have been successfully used to solve NP-hard combinatorial optimization problems. Two of them are: The Ant Colony Optimization (ACO) and Genetic Algorithms (GA). The ACO meta-heuristic [2] (explained in section 1.2) is a generic framework for ant-based optimization algorithms. ACO algorithms, such as Ant System (AS) [5] and Ant Colony Optimization (ACO), were successfully used to solve instances of the Steiner tree problem in graphs (SPG)[explained in section 1.1], and other combinatorial optimization problems. Genetic Algorithms (GA), introduced by Holland as a computational analogy of natural adaptive systems, was put to the same tasks.
Both of the above approaches outperformed each other depending on the situations and contingencies of the problems. The goal of our research was to improve the performance of ACO-SPG by augmenting it with ideas from Genetic Algorithms (GAs).
1.1. The Steiner tree Problem:
A Steiner tree of any graph is a sub-tree, of minimum cost, that connects a given subset of the nodes (called terminals) together. The problem of computing the minimum Steiner tree is well known to be NP-complete (Garey, Graham, Johnson, 1977). Therefore, obtaining the minimum Steiner tree will require an algorithm of Non Polynomial complexity .
Formally, an instance of the Steiner tree problem consists of the following :
1. A graph G, where V is a set of vertices (or nodes) and E ε V X V is a set of edges.
2. A cost associated with each edge, where the cost is a mapping, w: E ÆR+
3. A set of terminal nodes, B ε V
(ε: subset of)
A minimum Steiner tree of this instance is an acyclic subset T (Vs, Es ) of G (V,E) , with T ε Vs ,such that the nodes included in T are all mutually reachable, with the smallest possible cost function. By reachability of the nodes in T, we simply mean that it is possible to connect any two nodes in T together using the edges in Es .The cost function to be minimized is merely the summation of edge costs of all edges in Es as shown below,
A significant amount of recent research has focused in computing good solutions in polynomial time. Various approximate algorithms, including those based on natural meta-heuristics, such as simulated annealing (Grimwood, 1994) and genetic algorithms (Hesser, Manner, Stuckey, 1989; Kapsalis, Rayward-Smith, Smith, 1993) have been suggested.
The minimum Steiner tree problem is of fundamental importance in several practical applications, such as routing in integrated circuit design (Mandoiu, Vazirani, Ganley, 2000) and computer networks (Ramanathan, 1996; Parsa, Garcia-Luna-Aceves, 1998).
1.2. ACO
1.2.1. Basic Ideology
A nt C olony O ptimization (ACO) algorithms are a class of algorithms that mimic the cooperative behavior of real ant behavior to achieve complex computations.
Individual ants interact with one another using a simple form of indirect communication mediated by pheromone secretion, called stigmergy. It is this stigmergic mode of communication that has inspired the ant colony optimization approach. Pheromone evaporation also plays an important role in the exploration process by preventing the accumulation of pheromones in unduly large amounts along just a few paths.
1.2.2. ACO-SPG
One ant is placed initially at each of the given terminal vertices that are to be connected. In each iteration, an ant is moved to a new location via an edge, determined stochastically, but biased in such a manner that the ants get drawn to the paths traced out by one another. Each ant maintains its own separate list of vertices already visited to avoid revisiting it. When any ant collides with another ant, or even with the path of another, it merges into the latter.
An ant m, currently at a vertex i , selects a vertex j not in its tabu list T(m ), to move to, only if (i, j)ε E . In order to ensure that the ants merge with one another as quickly as possible, [4] defines a potential for each vertex j in V, with respect to the ant m as follows,
Where k ε tabu list T(m1) where m1 is any ant
The potential of a vertex is, therefore, a measure of the minimum possible additional cost required to join it with any of the partially completed trees. [4] tries to place ants with lower potentials, but it also considers the actual cost of moving an ant from its present location to the other vertices. [4] also defines the desirability of a vertex with respect to the ant m, currently in vertex i as,
The quantity γ is a constant.
The ant’s position is updated using the following equation:
Here, τij is the pheromone level of each edge. Trail updating rules and parameters were borrowed from (Dorigo, Gambardella, 1997) [2].
1.3. Genetic Algorithms
Genetic Algorithms (GAs) were introduced by Holland[6] as a computational analogy of natural adaptive systems. GAs are search procedures based on the mechanics of natural selection and natural genetics. Next, the Simple Genetic Algorithm (SGA) presented by Goldberg in [1] - which may be considered as a standard approach
Simple Genetic Algorithm (SGA):
The Simple Genetic Algorithm (SGA) has a population P of p individuals Px representing solutions of an optimization problem. The SGA uses a binary codification of these solutions or individuals represented by strings. In a maximization context, the value of the objective function of every individual of P is considered its fitness. An initial population is chosen randomly, and then a set of simple operations that uses and generates successive P s is executed iteratively. It is expected that P improves over time until an end condition is reached. The operators of the SGA are selection, crossover and mutation. Selection is a process in which p individuals are selected with a probability proportional to their fitness to be parents. Crossover is a process in which 2 different parents are iteratively selected from the set of p parents to swap information between them to generate 2 new individuals (offspring). This is done choosing randomly a point of break for the parents and swapping parts between them. Then mutation is applied to every offspring. Mutation is the alteration of the bits of an individual with a small predefined probability, sometimes known as mutation coefficient (mc). These new altered individuals compose the new population P.
Next, the main pseudo code of the SGA is presented.
Pseudo code of the Simple Genetic Algorithm:
g = 0 /* Initialization of the generation counter */
P = Initialize population () /* Random generation of p individuals */
Repeat until end condition
F = Selection (P) /* Selection of p parents through a roulette */
S = Crossover (F) /* Swap of information between different pairs of parents */
M = Mutation (S) /* Alteration of individuals' bits with probability mc */
P = Update population (M) /* M is copied to P (P = M) */
g = g + 1 /* Increment of the generation counter */
2. The Proposed Hybrid ACO-GA Algorithm
We propose a hybrid[ACO+GA] algorithm which is a meta-level Genetic Algorithm running on top of ACO-SPG as follows:-
A colony of ants is put to evolve a set of solutions (referred as population) using ACO Meta –heuristic (explained in section 1.2.2). Each group of ants represents a tradeoff between two disparate parameters: exploration of new paths and exploitation of greedy algorithm. This population is ameliorated genetically by general/specific genetic algorithms to engender the next generation of solutions. By this method, it turns out that even the bad ants contribute to solution building which was absent in isolated (non-hybridized) applications of GA and ACO.
Thus, we present the following main pseudo-code
Pseudo code for the proposed hybrid ACO-GA algorithm
1.for each generation , do
2.Take various ordered pairs (α, β) on the line α + β =constant; as shown in fig1.
(Here α , β are the parameters as explained in section 1.2)
3. for each ordered pair (α , β) taken in step2 do
4.Allow the ants to build the Steiner Tree as explained in section1.2.2 and
record the length of Steiner tree as the fitness value
5. end for
6.Apply the standard GA operators i.e. Selection, Crossover and Mutation on the
population (as mentioned in section 1-.3) where population refers to the set of
solutions built by ants in steps 3-5.
7.end for
3. CONCLUSIONS:
We have tried to improve the performance of ACO-SPG by introducing a genetic approach and hybridizing these two heuristics. The proposed hybrid algorithm offers following distinct advantages:
1. Quick convergence (provided by the ACO component) can be advantageous for time
constrained problems
2. Even the bad ants can participate (by taking part in genetic crossover) to build optimal
or near-optimal solution which was not possible in ACO-SGP as the bad ants didn’t
contribute to solution building.
3. It also helps in determining the parameter values (α, β) proposed by (Dorigo,
Gambardella, 1997) [2] critical in building high quality Steiner trees.
4. FUTURE WORKS:
We envisage that this hybridization holds promising potentials in tackling various combinatorial optimization problems. This would, of course, entail contingency modifications pertinent to problems at hand.
5. REFERENCES:
1.David E. Goldberg: Genetic Algorithms in Search, Optimization and Machine Learning
[Addison-Wesley Publications]
2.Dorigo M., Di Caro G.: The ant colony optimization meta-heuristic. In D. Corne,
M.Dorigo, and F. Glover, editors, New Ideas in Optimization. McGraw-Hill, 1999.
3. D. Banerjee: A shrubbery algorithm for solving Steiner tree problem. IEEE proceedings
of VLSI design 2002.
4.Das, Gozavi, Hsu, Vaze: An Ant Colony Approach for The Steiner Tree Problem.
Proceedings of the Genetic and Evolutionary Computation Conference, New York, USA, 9-13 July 2002. Morgan Kaufmann 2002.
5.Dorigo M., Maniezzo V., Colorni A.: The Ant System: Optimization by a Colony of
Cooperating Agents. IEEE Trans. Syst. Man Cybern. B 26 (1996) 29–41.。

相关文档
最新文档