A CLUSTERING APPROACH TO THE BOUNDED DIAMETER MINIMUM SPANNING TREE PROBLEM USING ANTS

Size: px
Start display at page:

Download "A CLUSTERING APPROACH TO THE BOUNDED DIAMETER MINIMUM SPANNING TREE PROBLEM USING ANTS"

Transcription

1 The Pennsylvania State University The Graduate School A CLUSTERING APPROACH TO THE BOUNDED DIAMETER MINIMUM SPANNING TREE PROBLEM USING ANTS A Thesis in Computer Science by Tyler Derr 2015 Tyler Derr Submitted in Partial Fulfillment of the Requirements for the Degree of Master of Science May 2015

2 The thesis of Tyler Derr was reviewed and approved by the following: Thang N. Bui Associate Professor of Computer Science Chair, Computer Science and Mathematics Programs Thesis Advisor Jeremy J. Blum Associate Professor of Computer Science Sukmoon Chang Associate Professor of Computer Science Omar El Ariss Assistant Professor of Computer Science Linda M. Null Associate Professor of Computer Science Graduate Coordinator Signatures are on file in the Graduate School.

3 Abstract The bounded diameter minimum spanning tree problem is the problem of finding a minimum cost spanning tree of a graph such that the number of edges along the longest path in the tree is at most d. This problem is well known to be NP-hard. We present an ant-based algorithm for this problem in which we use two species of ants. The first species is used to discover clusters in the vertex set and then a bounded diameter spanning tree (BDST) is created within each cluster. The second species is then used to connect the cluster BDSTs together building a bounded diameter spanning tree for the whole graph. This tree is then locally optimized yielding a solution to the overall problem. Experimental tests have been conducted on two types of complete graphs, 135 Euclidean and 120 non-euclidean, totalling 255 graphs. Each Euclidean graph consists of a set of vertices randomly placed in the unit square and the edge cost between two vertices is the Euclidean distance between them. The non-euclidean graphs are structured such that all of the edge weights in the graph have been randomly selected from [0.01,0.99]. For the Euclidean graphs the results show that our algorithm achieves solutions close to the best known for most of the instances. However, on the non-euclidean graphs our algorithm has obtained new best known solutions for the majority of the graphs and has come very close to the best known in the others. iii

4 Table of Contents List of Figures List of Tables Acknowledgments vi viii ix Chapter 1 Preliminaries Introduction Problem Definition Ant Algorithms Previous Work Chapter 2 Ant-Based BDMST Algorithm Algorithm Overview Initialization Species One Exploration Cluster Construction Assignment Merging Cluster BDST Construction Determine Cluster Diameters Construction Recenter Cluster BDSTs Species Two Exploration Overall Tree Construction Reconnecting Cluster BDSTs Local Optimization Stage 1: Repeated Ancestor Swap iv

5 2.8.2 Stage 2: Insertion and Deletion Stage 3: Deletion and Reconnection Post Processing Parameters Chapter 3 Experimental Results Data Sets Setup Results Euclidean Graphs Non-Euclidean Graphs Chapter 4 Conclusion 47 Appendix A Euclidean Graph Visuals 49 A.1 Best Found Trees On Selected Instances A.2 Example Structures Throughout AB-BDST With n= v

6 List of Figures 2.1 The AB-BDST Algorithm Initialize the First Species of ants onto the graph and set the initial pheromone values for each edge Exploration of the First Species of ants Cluster the vertices of the graph Merging clusters Constructing a cluster BDST in all clusters Construction of a cluster BDST Example of recentering a cluster BDST that has a diameter of Initialize the Second Species of ants Building the BDST T of G Building the initial BDST T of G from the cluster BDSTs Reconnecting cluster BDSTs in T Local Optimization Example of Repeated Ancestor Swap Example of Insertion and Deletion Example of Deletion and Reconnection Local Opt. Stage 1: Repeated Ancestor Swap Attemping the swap between a vertex and one of its ancestors Local Opt. Stage 2: Insertion and Deletion Recompute the center of T Local Opt. Stage 3: Deletion and Reconnection Influence the Species One pheromone levels towards the edges of the best found BDST, T best Perturbation to avoid being trapped in a local optima Scatter the First Species of ants A.1 Best Solution Euclidean n=70 Instance #1 with d=7, cost= A.2 Best Solution Euclidean n=100 Instance #1 with d=10, cost= A.3 Best Solution Euclidean n=250 Instance #1 with d=15, cost= vi

7 A.4 Best Solution Euclidean n=500 Instance #1 with d=20, cost= A.5 Best Solution Euclidean n=1000 Instance #1 with d=25, cost= A.6 Euclidean n=100 Instance #1: Vertices A.7 Euclidean n=100 Instance #1: Top edges based on Species One pheromone during execution of AB-BDST A.8 Euclidean n=100 Instance #1: Top 500 highest edges based on Species One pheromone A.9 Euclidean n=100 Instance #1: Clustering A.10 Euclidean n=100 Instance #1: Cluster BDSTs A.11 Euclidean n=100 Instance #1: Top edges based on Species Two pheromone connecting cluster BDSTs A.12 Euclidean n=100 Instance #1: BDST T of G before local optimization 61 A.13 Euclidean n=100 Instance #1: BDST T of G after local optimization 62 vii

8 List of Tables 2.1 AB-BDST Parameters BDST Results Table - Euclidean Average Results BDST Results Table - Euclidean Benchmark BDST Results Table - Euclidean Best BDST Results Table - Non-Euclidean Average Results BDST Results Table - Non-Euclidean Benchmark BDST Results Table - Non-Euclidean Best viii

9 Acknowledgments First and foremost I would like to thank my thesis advisor, Dr. Thang N. Bui, for his guidance throughout not only the thesis process, but also while taking his courses. He has provided me with an immense amount of knowledge and introduced me to the field of evolutionary computation. I plan on pursuing research in this field for many years, and I regret not being able to continue my Ph.D. study here at Penn State Harrisburg under his supervision. I would like to thank the members of the thesis committee, Dr. Jeremy J. Blum, Dr. Sukmoon Chang, Dr. Omar El Ariss, and Dr. Linda M. Null for reviewing this thesis and for all that they have taught me over the years while taking their courses. I am very grateful to Dr. Bryant A. Julstrom of St. Cloud State University for sharing the additional Euclidean instances and also the non-euclidean instances that he had generated. Finally I would like to thank my family and friends who continue to encourage me throughout my studies. ix

10 Chapter 1 Preliminaries 1.1 Introduction The bounded diameter minimum spanning tree (BDMST) problem entails finding the minimal cost spanning tree of an undirected weighted graph G = (V, E) such that the diameter d, the longest path of the spanning tree, does not exceed the given diameter constraint. This variant of the minimum spanning tree problem is known to be NP-hard when the diameter constraint is in the range 4 d < V 1 [14]. It was later shown in [23] that there is no polynomial time algorithm that can guarantee a solution that is within log( V ) of the optimal. Due to this fact, the problem is a perfect candidate for heuristics that try to obtain good solutions in reasonable time. The BDMST problem has quite a number of real world applications in telecommunication and ad-hoc wireless networks [4,36], in data compression for information retrieval [8], and in distributed mutual exclusion algorithms where the upper bound on the number of messages being sent to pass the mutual exclusion from one node to another is dependent on the diameter of the spanning tree constructed [31]. This thesis presents an Ant-Based Optimization (ABO) approach to the problem. This type of algorithm has been used to solve a related problem, the degreeconstraint minimum spanning tree problem, and performed very well in relation to the previous methods at the time they were both presented [10, 11]. To be more specific our algorithm uses ants to cluster the vertices of the graph. Next a bounded diameter spanning tree is created in each cluster, and then the created trees are connected together to form a solution to the problem. ABO has been

11 2 used to solve a number of different problems. For example, recently it has been used to detect communities in complex networks [3]. As mentioned above, there has already been an ACO algorithm for the BDMST problem, but there are quite a number of differences between an ACO method and an ABO approach. We have tested our algorithm on a total of 255 graphs, where 135 are Euclidean graphs and the remaining 120 are non-euclidean graphs. Experimental results reveal that our ant algorithm finds solutions that are consistently better on almost all of the non-euclidean instances. The results of our algorithm on the Euclidean instances are quite close to the best known previously found solutions, but our algorithm did not discover any new best known solutions. In the remaining sections of this chapter we provide a formal definition of the bounded diameter minimum spanning tree problem. After defining the problem we discuss a few of the trivial cases that can be solved easily in polynomial time. Then we introduce the concepts of ant-based algorithms and discuss the similarities and differences between an Ant-Based Optimization approach, which we have used in our algorithm, and its close relative, Ant Colony Optimization. Finally we conclude this chapter with describing the previous work. The rest of the thesis is organized as follows. Our ant-based algorithm is described in Chapter 2. Chapter 3 covers the performance of this algorithm on the benchmark problems and compares it to existing algorithms. The conclusion is given in Chapter Problem Definition Let G = (V, E) be a graph. G is said to be connected if there exists a path between any two vertices. The graph G is said to be complete if there exists an edge between each pair of vertices. A connected graph is a tree if there exists exactly one path between each pair of vertices (i.e., a connected graph that does not contain any cycles). A spanning tree of G is a subgraph T = (V, E ) where T is a tree. The diameter of T is the number of edges along the longest path in T. With the above terms we can now define the problem. Bounded Diameter Spanning Tree (BDMST) Problem: Input: An undirected complete graph G = (V, E) with non-negative cost on the edges and an integer parameter d 2 representing the diameter constraint. Output: A spanning tree T of G that has a diameter d and is of minimal cost.

12 3 Although we have defined the problem in the general sense with d 2 we should discuss a few special cases to the problem that are solvable in polynomial time. The following cases are easy instances for the BDMST problem, as has been observed in [1]. The BDMST problem is quite trivial to consider when the input diameter constraint is d n 1, where n = V since the regular unbounded minimum cost spanning tree is the solution for the BDMST problem when d n 1. The case when a graph has all edge weights of equal value is very easy. For this case we can simply take any vertex and denote this as the root of a tree and for all other vertices in G directly connect them to our root vertex. This results in a tree of diameter two (i.e., height equal to one) and of minimal cost. We denote this structure of a spanning tree with a root vertex and of height one as a star. The remaining two trivial cases are when d = 2 and also when d = 3. When d = 2, we can simply evaluate the star cost for all possible stars and keep the smallest cost one. Since we need to evaluate n stars, and each star takes O(n) time to compute the total cost, this method takes O(n 2 ) time. When d = 3 the solution can either be of the star structure as defined above or a star with a root edge instead of a root vertex. Since we would need to compute the cost of all stars having the n possible vertices or O(n 2 ) edges as the root vertex or root edge respectively, there are thus O(n 2 ) possible roots to evaluate a star cost for. The only difference in calculating the cost for a star with a root edge e = (v, v ) is that for all other vertices w in the graph we must choose to connect it to the spanning tree through the edge (v, w) or with edge (v, w). This still takes O(n) time to calculate similar to the star cost for a root vertex. Thus the total time taken when d = 3 to find the optimal solution is O(n 3 ). 1.3 Ant Algorithms Ant algorithms are a probabilistic technique that has been used to solve a number of NP-hard problems using artificial ants. These methods are based upon how ants as a colony forage for food. They do so by laying down pheromone as they travel. The pheromone that the ants deposit along the path they take eventually evaporates over time. The ants use the pheromone levels in their immediate surrounding area to decide what direction to take. An ant is more likely to follow a path with a higher pheromone level.

13 4 For example, consider two ants from an ant colony that are setting out to forage for food simultaneously. They both leave the nest and they take different paths. Assume that one of the ants reaches a food source first and returns before the other ant. Since this first ant was able to find a shorter path to a food source the pheromone level of its path would be higher than that of the second ant due to the fact the first ant has deposited pheromone on its return journey to the nest as well. Therefore, when the next ants from the colony are deciding on a path to take they will be more likely to choose the path of the first ant since that path has a higher concentration of pheromone. As a result more ants choose the shorter path to a food source, which leads to an even larger increase in pheromone concentration on this path and eventually all of the ants will converge on taking this shorter path. This leads to the typical line of ants that we can observe where they are all following the same path together. The above are the basic ideas that are used in ant-based algorithms, however there are several different variations that have been developed. We discuss a few of the algorithms that are a part of the category of Ant Colony Optimization (ACO) so that we can then discuss the similarities and differences that are used in the Ant-Based Optimization (ABO) algorithms. The first of such ACO methods, called Ant System (AS), was applied by Marc Dorigo for solving the Travelling Salesman Problem (TSP) in 1992 [12]. In this approach every ant constructed a solution to the problem individually. Then after constructing a solution, the ants deposited pheromone on the solution they constructed. The reason for the pheromone depositing was that when future ants attempted to solve the problem, they not only relied on the structure of the graph, but also on the pheromone levels (i.e., the information left behind by the previous ants) in the hopes that this would help direct future ants torwards using the good edges. Similar to that found in nature, the pheromone laid by the artificial ants in Dorigo s AS evaporated over time. In 1996 Ant Colony System (ACS) [13] was introduced and rather than having each ant deposit pheromone globally for its solution, only the best ant (i.e., the ant that had found the solution of least cost) would deposit pheromone on the graph. A local pheromone update was introduced that lowered the pheromone levels along the paths the ants took. The objective was to promote the ants finding more diverse paths through the graph as compared to always following the footsteps of the ants

14 5 that had constructed tours before them. The Max-Min Ant System (MMAS), which was another variation of AS, was introduced by Stützle and Hoos [34] in They introduced the concept of setting an upper and lower bound on the pheromone levels throughout the graph. This enhancement of setting limits on the pheromone levels prevents an edge from becoming too low and virtually impossible to be chosen by an ant at one end of the spectrum and at the other end, it prevents the avalanche effect. The avalanche effect is when a single edge from a given vertex overshadows the other edges so much that the ants will virtually never choose any other edge except the one with the highest pheromone, and this causes the higher pheromone level edge to obtain an even larger gap in pheromone from the other incident edges. Our algorithm is different from ACO and falls into the category of Ant-Based Optimization (ABO) [9]. Both ACO and ABO are focused on solving graph problems. In ACO, the ants are used to sequentially build solutions individually by themselves and then update the pheromone levels so that later ants can use the information that was gained by previous ants. The most significant difference between ABO and ACO is that in ABO we do not use the ants to build individual, complete solutions to the problem, but rather use them as a colony working together, using only local information to reduce the search space. This reduction is done by having all of the ants simultaneously traversing the graph and, as a colony, identifying an area of the search space that will potentially contain a good solution. Since the ants in ABO are only concerned with their local information and do not need to know as much global information, ABO has the advantage over ACO in being easily adapted into parallel and distributed algorithms as shown in [9]. In our ABO algorithm, we distribute a single ant on each vertex of the graph and then have the ants explore the graph by traversing edges based solely on the pheromone values of the edges. After allowing each of the ants to explore for a given number of steps, we build a complete solution by using not only the pheromone levels, but also the structure of the graph. As with previous ABO algorithms we also incorporate local and global pheromone updates on the edges during the execution of the algorithm. A local update is done in a similar fashion to what is found in nature by having the ants lay down pheromone (i.e., increases the pheromone value) on the given edge while traversing the edge. It should be noted that this local pheromone update is quite different from the local update

15 6 performed in ACS, since the local pheromone update in ACS is done to promote diverse solutions by encouraging ants to be more likely to traverse an edge that had not been traversed as much by the previous ants. This is an example of how ABO algorithms more closely mimic the characteristics of real ants in nature, as seen from our example stated above with the two ants searching for a food source. The first global update of pheromone is performed using the global best solution to enhance the pheromone along the edges in that solution. Since this could lead to an avalanche effect when a few edges in the best solution overshadow other edges for certain vertices, we create a restriction on the pheromone levels for the edges by keeping them all within a defined interval. This is similar to what was done in MMAS. The second global update done by ABO algorithms is evaporating the pheromone on all edges in the graph after the ants make a fixed small number of steps. The reasoning for this evaporation is to encourage exploration and reduce the chance of getting stuck at a local optima. 1.4 Previous Work In 2000 Abdalla, Deo, and Gupta [2] described a heuristic called One Time Tree Construction (OTTC) that was based on Prim s algorithm [29]. In OTTC the algorithm starts by selecting a single vertex from which to expand the tree. It then repeatedly extends the tree one vertex at a time ensuring that the diameter constraint is not violated. The algorithm always extends the tree by adding the vertex that has the least cost incident edge to a vertex already in the tree. Due to the need for a significant amount of bookkeeping and data structures, the running time results in an O(n 3 ) algorithm. However because of the greedy nature of OTTC, the starting vertex has a major effect on the quality of the tree, and thus to find a quality solution, all n of the vertices should be used as a starting point; doing so increases the running time to O(n 4 ). A breakthrough for this problem, discovered by Julstrom [21], fixed the center of the BDST so that the diameter constraint can be easily maintained by ensuring the height of the tree from the predefined center never extends beyond d 2. The method of fixing the center and restricting the height of the tree is called center-based tree construction (CBTC). When given an even diameter constraint, a tree can be constructed using a single vertex as the root of the tree, but when given an

16 7 odd diameter constraint, there is a need to choose an edge between two vertices as the root. After selecting the root of the tree, the algorithm extends the tree one vertex at a time while ensuring the height constraint is not violated. CBTC always extends the tree using the vertex that has the least cost incident edge connecting it to a vertex already in the tree. The ideas in CBTC were refined by Raidl and Julstrom in the creation of randomized center-based tree construction (RTC) (also known as randomized greedy heuristic (RGH)) [30]. The only difference between CBTC and RTC is that in RTC, rather than taking the global nearest vertex not yet in the tree, it chooses a vertex at random to connect to the tree and then connects this randomly selected vertex to the tree using its lowest cost edge that does not violate the diameter constraint. Raidl and Julstrom [30] also introduced the first Evolutionary Algorithm (EA) for the BDMST problem. This direct edge-set encoding evolutionary approach uses a recombination and four mutation operators. Soon after, Julstrom and Raidl [22] introduced an EA that uses a permutation-based encoding rather than the edge-set encoding, which later had been denoted as JR-PEA. The permutation based encoding was decoded by using the ideas from the RTC algorithm. Later Julstrom [20] proposed a random-key encoding that uses a two-point crossover and uniform mutation. In 2005, a variable neighborhood search (VNS) was presented that made use of four neighborhood methods [16]. Of the four neighborhoods, two are based on the parent/child relationship of the vertices in the spanning tree, while the other two neighborhoods are based on a new concept of level (i.e., depth in the tree). These same neighborhoods are examined in [17], by the same authors that designed the VNS algorithm, where they introduced the concepts into a new EA and an ant colony optimization algorithm. The new EA called level-encoded EA, makes use of the level concept for its encoding. The ACO algorithm uses a pheromone matrix where for all n vertices a history is kept that contains which level (i.e., depth) the given vertex has been at in previous solutions. This matrix is then used in the construction of future solutions. The EA uses only one of the tree-based local optimization steps as compared to the ACO that uses both steps. In 2007, Singh and Gupta [33] proposed improvements to previous methods. They described improvements for the RGH (also known as RTC) [30], CBTC [21], and the permutation encoded EA found in [22]. The algorithms are called RGH-I,

17 8 CBTC-I and PEA-I, and they were all shown to provide higher quality solutions than the respective algorithm upon which they are based. A year later in 2008, Binh, Hoai, and McKay [6] proposed a multi-population hybrid genetic algorithm (HGA) that makes use of five populations of which four are initialized using a different heuristic per population. The fifth population is a highly competitive and diverse population due to migration taking the top chromosomes of each of the other four populations. Another algorithm was developed by Gruber and Raidl [18] where an agglomerative hierarchical clustering approach is used to build a good backbone for the diameter constraint spanning trees. The backbone is defined as the non-leaf vertices in the spanning tree. A greedy randomized adaptive search procedure (GRASP) [32] is used within the algorithm along with two possible dynamic programming approaches to choose the roots of the clusters. The better of the two approaches is denoted as Cd B. Gruber and Raidl also tested using the VND from [17] to further improve the BDSTs found by the clustering heuristic Cd B. Binh, Hoai, McKay, and Nghia [7] proposed the Center-Based Recursive Clustering (CBRC) algorithm as well as made improvements on HGA that they now call MHGA. The major difference from HGA to MHGA is the use of a multiparent crossover that first appeared in EA-k [28]. MHGA also replaced one of the population construction heuristics that was used in HGA with CBRC. One of the most recent methods was by Lucena, Ribeiro, and Santos [26], which we denote as LRS, where they introduced a GRASP algorithm that contains an iterated local search (ILS) [25]. The ILS uses four local neighborhoods similar to those that were used in the VNS by Gruber and Raidl [17]. LRS allowed for the introduction of artificial edges with high costs when attempting to construct bounded diameter spanning trees for incomplete graphs. A variation of the OTTC [2] algorithm was developed called OTT-M. This heuristic makes use of a restricted candidate list (RCL) [19]. Most recently Torkestani [35] introduced an adaptive heuristic using a decentralized learning automata-based algorithm, LABD. The trees are constructed starting from a center vertex/edge and then paths are extended from the center in a manner similar to that of a depth-first search. With all of the previous works, it is the MHGA that provides the best known results for the non-euclidean instances [21] and for the two graphs that it did

18 9 not achieve a new best known, it tied the previous best. As for the Euclidean instances [5], the best found results for the instances have come from many different algorithms, but it seems that some algorithms performed the best on either large or small instances and not both. However, MHGA had the most best known solutions of any single algorithm for the Euclidean instances. We present our clustering approach to the BDMST problem using an ABO algorithm in the next chapter.

19 Chapter 2 Ant-Based BDMST Algorithm In this chapter we describe our ant-based algorithm, called AB-BDST, for the BDMST problem. The input to the algorithm is an undirected graph G = (V, E) with non-negative cost on the edges and an integer d 2 representing the diameter constraint. The algorithm consists of a number of iterations where each iteration is divided into five key phases: exploration phase one, construction phase one, exploration phase two, construction phase two, and finally optimization. Our algorithm employs two species of ants that work independently from one another. The algorithm returns the least cost bounded diameter spanning tree found from all the iterations. 2.1 Algorithm Overview In every cycle of the algorithm, both species of ants are used to explore their local portion of the graph. The pheromone they lay on the edges that are traversed is used in the construction of the solutions. During the first exploration phase, the first species of ants traverse the graph laying down pheromone. Afterwards, the first construction phase clusters the vertices in the graph and then constructs a bounded diameter spanning tree in each of the clusters using pheromone laid down in the first exploration phase. After having a set of cluster BDSTs, one per cluster, the second species of ants traverse the edges between the clusters using only their own pheromone and not that of the first species; this is the second exploration phase. The algorithm next enters the second construction phase in which it builds an overall diameter constrained spanning tree by connecting the cluster BDSTs together using the information left by the second species of ants via

20 11 their pheromone. At this point, we have a fully constructed solution to the problem. Finally, the optimization stage is used to improve upon the constructed solution. Both species of artificial ants are programmed to traverse the graph using only the pheromone of their own species. The ants explore local portions of the graph and are used to discover good edges. The first species of ants is used to discover intra-cluster edges (i.e., edges within a cluster), which can then be used to build clusters and construct cluster BDSTs in the graph, effectively narrowing the search space. The second species is used to find inter-cluster edges (i.e., edges between clusters). The edges that result in having high amounts of species two pheromone are then used to connect the cluster BDSTs together, which results in a BDST of the graph. The reason that both species of ants are able to perform such tasks is due to their ability to find low cost paths throughout the graph. We are able to direct the ants to discover these low costing edges by initializing pheromone values on the edges proportional to their edge cost and then allowing the ants to traverse the graph laying down pheromone as they move. It can be hypothesized that, if an ant is placed on a vertex in a cluster of vertices and then directed to simply move about the graph traversing edges of high pheromone (i.e., low cost), then they will tend to stay within the cluster they were placed in. We exploit this concept of ants wanting to stay in their local area of the graph for the discovery of the clusters. This same pheromone is also used for the construction of the cluster BDSTs since, within a given cluster, if an ant is traversing the edges in that cluster, it will still prefer the lower cost edges over the relatively larger ones within the cluster. Similarly with the second species of ants, we exploit their ability to find low cost paths connecting the cluster BDSTs. Figure 2.1 gives an overview of the entire algorithm. In the rest of this chapter, we describe the details of our algorithm. 2.2 Initialization The algorithm starts by creating two sets of ants, each of size n = V, denoted as species one and species two. We place one ant from species one on each vertex of the graph, but wait until after the cluster BDST construction phase to place ants of the second species. Each ant is given a tabu list, which is a queue structure to prevent ants from visiting vertices they have visited in the last κ steps. The initial pheromone level for each of the edges is also assigned during this phase. We use

21 12 AB-BDST(G, d) Input: G = (V, E) : Complete graph with edge costs d : the diameter constraint for the BDST to be constructed Output: Least cost spanning tree found in which the diameter is d begin i 1 // Initialization Create two species of ants, A 1 and A 2, A 1 = A 2 = V InitializeAntSpeciesOne(G, A 1 ) while (i i max ) and (i i best < i stagnant ) do // Exploration Phase One AntSpeciesOneExplore(G, A 1 ) // Construction Phase One C ClusterVertices(G) ConstructBDSTinEachCluster(d, C) // Exploration Phase Two InitializeAntSpeciesTwo(G, C, A 2 ) AntSpeciesTwoExplore(G, A 2 ) // Construction Phase Two T ConstructOverallBDST(G, d, C) // Local Optimization Phase T LocalOptimizationStages(G, d, T ) if (T.cost < T best.cost) then T best T i best i // Post Processing // Influence Species One Pheromone towards T best EnhanceEdgesOfBestBDST(T best ) // Escape Local Optima if (i max {i best, i lastescape } > i escapet hreshold ) then EscapeInfluenceToLocalOptima(T best ) i lastescape i if (i mod (i update ) = 0) then γ γ γ // Increase enhancement factor η 1 η 1 η 1 // Reduce Species One evaporation rate ScatterAntsSpeciesOne(A 1 ) i i + 1 return T best end Figure 2.1: The AB-BDST Algorithm

22 13 the same pheromone initialization as shown in [10, 11]. If e is an edge in the graph, we denote the pheromone on e laid down by species i, i = 1, 2, as e.ρ i. Also, e.ρ init denotes the initial pheromone set by the algorithm on e and is defined as follows: e.ρ init = (M e.cost) + (M m)/3 (2.1) where M and m are the maximum and minimum edge costs in G, respectively. This initial pheromone value deposited on edge e is the same amount of pheromone deposited on the edge when traversed by an ant during the exploration phases. The key benefit of this initialization is that the resulting highest initial pheromone value is at most 4 times the minimum initial pheromone value. This allows the ants to differentiate between the low and high cost edges without creating an extreme bias. This intialization is shown in Figure 2.2. InitializeAntSpeciesOne(G, A 1 ) Input: Graph G = (V, E) and Species One Ant set A 1 Result: Ants of Species One are initialized onto the vertex set with one ant per vertex and all the edges in the graph have an initial Species One pheromone level based relative to their edge cost. Lower cost edges have a higher initial pheromone value. begin // Initialize the Species One ants on the vertices for i = 0 to V 1 do A 1 [i].tabulist A 1 [i].currv ertex V [i] end // Initialize the Pheromone levels for the ants. m minimum edge cost in E M maximum edge cost in E foreach e E do e.ρ init (M e.cost) + (M m)/3 e.ρ 1 e.ρ init e.numv isited 1 0 Figure 2.2: Initialize the First Species of ants onto the graph and set the initial pheromone values for each edge

23 Species One Exploration The first exploration phase is done by the first species of ants and in this section we refer to them simply as ants. In this phase, the ants walk around the graph laying pheromone on the edges they traverse. The objective of these ants is to find low cost edges while moving about the graph. Because that the ants are creating paths throughout the graph that are connected, we expect that edges with high pheromone will be mostly connected to each other. Thus these high pheromone level edges are strong candidates for use in clustering vertices as well as for constructing spanning trees. Since we do not want any particular edge to completely overshadow the other surrounding edges, a maximum and minimum pheromone value are established, ρ max and ρ min respectively. These values restrict all edge pheromone values to be within the bound [ρ min, ρ max ]. The ants each attempt to perform a fixed number of steps with each of these steps being performed in parallel. We only update the pheromone levels three times for every time we are in this exploration phase because updating the pheromone is quite expensive in terms of running time. It was noted in [11] that only updating three times per exploration phase performs comparably well to updating after each step. Every movement an ant makes is based on a proportional selection scheme where each of the incident edges is assigned a probability of being traversed proportional to the edge s pheromone value. This allows ants to favor higher pheromone (i.e., low cost) edges, but allow other edges to be selected occasionally. Each of the edges keeps a counter for the number of times the edge was traversed by an ant. This counter gets reset back to zero after an update is performed. The pheromone level of an edge e is updated as follows, e.ρ 1 = (1 η) e.ρ 1 + (e.numv isited 1 e.ρ init ) (2.2) where ρ 1, numv isited 1, ρ init, and η are used to denote the current level of species one pheromone, the number of times e has been traversed by the first species of ants since the last update, the initial pheromone assigned to edge e, and the evaporation rate, respectively. Since we are keeping a bound on the pheromone value for an edge, we must

24 15 AntsExploreSpeciesOne(G, A 1 ) Input: Graph G = (V, E) and Species One Ant set A 1 Result: Ants of Species One move about the graph leaving pheromone on the edges they traverse begin for s = 1 to maxsteps 1 do if s mod updatep eriod = 0 then UpdatePheromoneSpeciesOne(G) end foreach a A 1 do numt ries 0 antmoved False v 1 a.currv ertex while (not antmoved) and (numt ries < maxt ries) do Select an edge (v 1, v 2 ) randomly proportional to the species one pheromone level if v 2 / a.tabulist then add v 2 to a.tabulist a.currv ertex v 2 (v 1, v 2 ).numv isited 1 ++ antmoved True UpdatePheromoneSpeciesOne(G) Input: Graph G = (V, E) Result: Species one pheromone levels on the edges get updated based on the number of times an edge was traversed by the ants of species one since the last update begin foreach e E do e.ρ 1 (1 η) e.ρ 1 + (e.numv isited 1 e.ρ init ) // Ensure that the updated pheromone is within our predefined pheromone bounds if e.ρ 1 > ρ max then e.ρ 1 ρ max (ρ initmax e.ρ init ) end if e.ρ 1 < ρ min then e.ρ 1 ρ min + e.ρ init Figure 2.3: Exploration of the First Species of ants

25 16 ensure that the above pheromone value e.ρ 1 does not go beyond these defined bounds. In Figure 2.3, we show how to keep these pheromone values within the bounds and also show a detailed overview of the species one exploration. This same formula was used in [11] for updating pheromone values on an edge except for a slightly different way of preventing the pheromone value from growing beyond ρ max. Although a proportional selection scheme is used to determine which vertex an ant will move to next, we can not simply use any selected edge to traverse since the ants keep a tabu list. Trying to incorporate this restriction directly in the selection process would drastically increase the running time. Thus instead our algorithm allows up to maxt ries selection attempts for an ant to choose a vertex not in its tabu list. If, after maxt ries attempts an ant is not able to select a vertex not in its tabu list, the ant simply does not move for the given step. This way we are still upholding the restriction the tabu lists impose on the ants and at the same time preventing only a limited number of ants from moving. This process is described in Figure Cluster Construction The clustering in our approach is used to break down the problem into sub-problems. While we want to create a bounded diameter spanning tree for the entire graph, it has been noted that good solutions to the Euclidean graphs form a star-like formation [1, 7, 30]. This formation shows that, rather than always extending the tree using the lowest cost edge, it can be advantageous to instead sometimes include longer (i.e., larger cost) edges. If these longer edges were not included, then many vertices would end up connecting to the tree as leaves via long edges. If we can find groupings of vertices in the graph, then we can extend a single long edge out to each of the groupings. It is easily seen that by extending this longer edge into a group early in the tree construction and then allowing the other vertices to connect via short edges, an overall lower cost tree results. Therefore, before attempting to construct a bounded diameter spanning tree for the graph, we first focus on discovering clusters (i.e., grouping of vertices that are closely connected together in terms of edge costs) in the graph. The idea is to create cluster BDSTs in each of the discovered clusters that are diameter constrained spanning trees for

26 17 their respective cluster. Then we connect the cluster BDSTs together to form the bounded diameter spanning tree for the graph. In this section we describe how our algorithm uses the pheromone deposited on the edges by the first species of ants to cluster the vertices Assignment The cluster construction uses the pheromone the ants laid as a guide for discovering clusters in the graph. Our algorithm creates a candidate edge set, CES, that contains the top 5 V edges of the graph when sorted in decreasing order by species one pheromone. It is expected that edges within a cluster will have higher pheromone than the edges between clusters. The first cluster is started by using the highest pheromone edge in CES. When expanding a cluster we do this one vertex at a time and always select the next vertex to add in a greedy manner. The clusters are created iteratively and not in parallel. Only the edges in CES can be used to expand a cluster. A cluster will always choose the vertex that has the highest pheromone incident edge connecting to it. We continue to add vertices to the cluster until one of the stopping conditions is met, the first being that a cluster should never grow beyond half the vertices of the graph. This constraint is in place since the algorithm is looking to break the problem down into sub-problems where we first create cluster BDSTs and connect them. The second stopping condition is that we only allow a cluster to grow while an incident edge to that cluster has a high enough pheromone level. We define an incident edge to have high enough pheromone if its value is within a given threshold of the average pheromone level on the previous edges that were used in expanding the cluster. The third condition, similar to the second, checks that, even if the edge is within the threshold value, we do not allow the cluster to continue growing if π consecutive added edges were below the average. This process of using a seed edge to start a cluster until a stopping condition is met is shown with more detail in Figure 2.4. It should be noted that, since CES does not necessarily have at least one edge for every vertex in the graph, some vertices may not be clustered.

27 18 ClusterVertices(G) Input: Graph G = (V, E) Result: Every vertex of the graph is placed into a cluster Output: C, where C is a set of clusters begin Sort E in decreasing order based on pheromone values of species one ants CES top 5 V edges in sorted edge set // Candidate Edge Set // Iterate through the Candidate Edge Set for the next edge that both vertices are unclustered to start a cluster foreach (v, v ) CES in sorted order do if v and v have both not been assigned a cluster then currentc {v, v } // Creating a new current cluster currentc.avgp hero 1 (v, v ).ρ 1 π 0 // Consecutive times e.ρ 1 < currentc.avgp hero 1 clustersize 0 while (π < π max ) and (clustersize < (0.5 V )) do if all vertices have been assigned a cluster then break to MergeClusters e highest pheromone edge in CES that has exactly one of its two vertices in currentc if e.ρ 1 (currentc.avgp hero ) then if e.ρ 1 < currentc.avgp hero 1 then π π + 1 else π 0 Add the unclustered vertex from e into currentc clustersize + + if all vertices have been assigned a cluster then break else // All edges connecting into the current cluster have too low pheromone to expand currentc break C C {currentc} // Merge leftover vertices and then merge clusters together MergeClusters(G, C, CES) end Figure 2.4: Cluster the vertices of the graph

28 Merging If not all vertices have been clustered and the entire candidate edge set is exhausted, a different method is taken to cluster the remaining unclustered vertices. Each of the remaining vertices joins the cluster of its closest neighboring vertex (based on edge cost) that has been assigned a cluster. The unclustered vertices are merged rather than becoming a cluster by themselves because eventually they will need to be connected to the spanning tree of the entire graph and there is no advantage to keeping them separated until the end of the construction. Since we do not want all of the single vertex clusters to end up requiring long edges to connect them, we force them into joining their closest neighboring cluster. Similar to the argument of merging single vertices into their closest neighboring cluster, the algorithm next merges clusters containing only two vertices. The same greedy approach to merging is performed in that clusters of size two are merged with their closest neighboring cluster. The above mentioned merging for unclustered vertices as well as the clusters of size two is shown in Figure 2.5. We note that for a cluster of size two vertices if its closest neighboring cluster is also of size two that we allow this merge. This is because it is still performing the wanted task of reducing the number of extremely small clusters. 2.5 Cluster BDST Construction After constructing a set of clusters, the next step in the algorithm is to construct bounded diameter spanning trees in each of the clusters. Since these cluster BDSTs will later be connected together to form a solution to the BDMST problem, they must not violate the diameter constraint. To ensure our cluster BDSTs do not violate the diameter constraint our algorithm uses a height restriction. However we always limit the diameter of the cluster BDST to being even. This is so that each tree is constructed using a center vertex. The idea is that the algorithm uses a candidate set of edges based on the pheromone values to perform the cluster BDST construction. Then later each of these trees are assigned two or three possible center vertices. These possible vertices are later used as the connection points between the clusters during later phases in the algorithm.

29 20 MergeClusters(G, C, CES) Input: Graph G = (V, E), Cluster set C, and a Candidate Edge Set CES Result: The set of Clusters C has less or equal number of clusters due to an attempt at merging well connected small clusters into larger clusters. begin // Merge leftover vertices that were not clustered into neighboring cluster foreach v V do if v is not assigned a cluster then Add v to the closest neighboring cluster based on edge cost end // Merge all clusters of size two to their closest neighboring cluster foreach (c C where c = 2) do c the closest neighboring cluster to c based on edge cost Merge Cluster c in with Cluster c Figure 2.5: Merging clusters Determine Cluster Diameters The clusters are given the weakest (i.e., largest) height constraint possible such that the resulting cluster BDSTs can still be connected to form a bounded diameter spanning tree of G. Note that the height constraint of the entire graph, given the diameter constraint d, is h = d 2. As seen in Figure 2.6 the maximum height allowed in each cluster is set to h 1 so that even if all of the clusters use up the maximum height allowed, the cluster BDSTs are still able to be connected to form a solution for the BDMST problem for the given graph G and diameter constraint d (i.e., height constraint h) if all cluster BDSTs were to be height h 1.The resulting structure would be a star of cluster BDSTs with a root vertex or edge center depending on if d was even or odd, respectively Construction After deciding how to limit the structure of the cluster BDSTs (i.e., their maximum height restriction) the algorithm constructs the cluster BDSTs one at a time.

30 21 ConstructBDSTinEachCluster(d, C) Input: Diameter constraint d and Cluster set C Result: We construct a bounded diameter spanning tree in each cluster using the determined maximum height constraint assigned to the cluster and create a set of center vertices based on the constructed tree. begin h = d 2 // Height constraint for the diameter constraint d // Determine the allowed height for each cluster foreach c C do // All clusters construct bounded diameter spanning trees using an even diameter and a root vertex c.heightconstraint (h 1) end // Construct the BDST for each cluster and then determine the cluster s centers of the tree foreach c C do c.st ConstructBDSTinCluster(c) // Recenter the cluster subtree c.centers 2 or 3 center vertices in c.st found using the longest path through the tree Figure 2.6: Constructing a cluster BDST in all clusters The trees are constructed from a candidate edge set CES that limits our edge choices to the better edges discovered by the ants. Specifically we include the top 5 #V ertices(c) intra-cluster edges (i.e., edges connecting two vertices of the same cluster) when sorted in decreasing order by species one pheromone. The algorithm only allows the construction of cluster BDSTs with even diameter in each the clusters. The tree is started by selecting the highest pheromone edge (v 1, v 2 ) CES. We then randomly select one of the vertices, v 1 or v 2, to be the center vertex of the cluster spanning tree and the second to be the first child in the tree. After we select the center, the algorithm continues to add one vertex at a time growing the spanning tree and ensuring the height constraint is not violated. The selection process of which edge to add to the tree is done using proportional selection based on the edge costs. This process continues until all of the vertices in the cluster are in the tree.

A Clustering Approach to the Bounded Diameter Minimum Spanning Tree Problem Using Ants. Outline. Tyler Derr. Thesis Adviser: Dr. Thang N.

A Clustering Approach to the Bounded Diameter Minimum Spanning Tree Problem Using Ants. Outline. Tyler Derr. Thesis Adviser: Dr. Thang N. A Clustering Approach to the Bounded Diameter Minimum Spanning Tree Problem Using Ants Tyler Derr Thesis Adviser: Dr. Thang N. Bui Department of Math & Computer Science Penn State Harrisburg Spring 2015

More information

Linda M. Null Associate Professor of Computer Science Associate Chair, Mathematics and Computer Science Programs Graduate Coordinator

Linda M. Null Associate Professor of Computer Science Associate Chair, Mathematics and Computer Science Programs Graduate Coordinator We approve the thesis of Mohammad Adi. Date of Signature Thang N. Bui Associate Professor of Computer Science Associate Director, School of Science, Engineering and Technology Chair, Computer Science and

More information

Variable Neighborhood Search for the Bounded Diameter Minimum Spanning Tree Problem

Variable Neighborhood Search for the Bounded Diameter Minimum Spanning Tree Problem Variable Neighborhood Search for the Bounded Diameter Minimum Spanning Tree Problem Martin Gruber 1, Günther R. Raidl 1 1 Institute of Computer Graphics and Algorithms Vienna University of Technology Favoritenstraße

More information

We approve the thesis of Gnanasekaran Sundarraj.

We approve the thesis of Gnanasekaran Sundarraj. We approve the thesis of Gnanasekaran Sundarraj. Date of Signature Thang N. Bui Associate Professor of Computer Science Chair, Mathematics and Computer Science Programs Thesis Advisor Sukmoon Chang Assistant

More information

Solving the Euclidean Bounded Diameter Minimum Spanning Tree Problem by Clustering-Based (Meta-)Heuristics

Solving the Euclidean Bounded Diameter Minimum Spanning Tree Problem by Clustering-Based (Meta-)Heuristics Solving the Euclidean Bounded Diameter Minimum Spanning Tree Problem by Clustering-Based (Meta-)Heuristics Martin Gruber and Günther R. Raidl Institute of Computer Graphics and Algorithms Vienna University

More information

Constrained Minimum Spanning Tree Algorithms

Constrained Minimum Spanning Tree Algorithms December 8, 008 Introduction Graphs and MSTs revisited Minimum Spanning Tree Algorithms Algorithm of Kruskal Algorithm of Prim Constrained Minimum Spanning Trees Bounded Diameter Minimum Spanning Trees

More information

Ant Colony Optimization

Ant Colony Optimization Ant Colony Optimization CompSci 760 Patricia J Riddle 1 Natural Inspiration The name Ant Colony Optimization was chosen to reflect its original inspiration: the foraging behavior of some ant species. It

More information

SWARM INTELLIGENCE -I

SWARM INTELLIGENCE -I SWARM INTELLIGENCE -I Swarm Intelligence Any attempt to design algorithms or distributed problem solving devices inspired by the collective behaviourof social insect colonies and other animal societies

More information

Theorem 2.9: nearest addition algorithm

Theorem 2.9: nearest addition algorithm There are severe limits on our ability to compute near-optimal tours It is NP-complete to decide whether a given undirected =(,)has a Hamiltonian cycle An approximation algorithm for the TSP can be used

More information

Image Edge Detection Using Ant Colony Optimization

Image Edge Detection Using Ant Colony Optimization Image Edge Detection Using Ant Colony Optimization Anna Veronica Baterina and Carlos Oppus Abstract Ant colony optimization (ACO) is a population-based metaheuristic that mimics the foraging behavior of

More information

Using Genetic Algorithms to optimize ACS-TSP

Using Genetic Algorithms to optimize ACS-TSP Using Genetic Algorithms to optimize ACS-TSP Marcin L. Pilat and Tony White School of Computer Science, Carleton University, 1125 Colonel By Drive, Ottawa, ON, K1S 5B6, Canada {mpilat,arpwhite}@scs.carleton.ca

More information

Massively Parallel Approximation Algorithms for the Traveling Salesman Problem

Massively Parallel Approximation Algorithms for the Traveling Salesman Problem Massively Parallel Approximation Algorithms for the Traveling Salesman Problem Vaibhav Gandhi May 14, 2015 Abstract This paper introduces the reader to massively parallel approximation algorithms which

More information

LECTURE 20: SWARM INTELLIGENCE 6 / ANT COLONY OPTIMIZATION 2

LECTURE 20: SWARM INTELLIGENCE 6 / ANT COLONY OPTIMIZATION 2 15-382 COLLECTIVE INTELLIGENCE - S18 LECTURE 20: SWARM INTELLIGENCE 6 / ANT COLONY OPTIMIZATION 2 INSTRUCTOR: GIANNI A. DI CARO ANT-ROUTING TABLE: COMBINING PHEROMONE AND HEURISTIC 2 STATE-TRANSITION:

More information

Solving the Traveling Salesman Problem using Reinforced Ant Colony Optimization techniques

Solving the Traveling Salesman Problem using Reinforced Ant Colony Optimization techniques Solving the Traveling Salesman Problem using Reinforced Ant Colony Optimization techniques N.N.Poddar 1, D. Kaur 2 1 Electrical Engineering and Computer Science, University of Toledo, Toledo, OH, USA 2

More information

METAHEURISTICS. Introduction. Introduction. Nature of metaheuristics. Local improvement procedure. Example: objective function

METAHEURISTICS. Introduction. Introduction. Nature of metaheuristics. Local improvement procedure. Example: objective function Introduction METAHEURISTICS Some problems are so complicated that are not possible to solve for an optimal solution. In these problems, it is still important to find a good feasible solution close to the

More information

An Ant Approach to the Flow Shop Problem

An Ant Approach to the Flow Shop Problem An Ant Approach to the Flow Shop Problem Thomas Stützle TU Darmstadt, Computer Science Department Alexanderstr. 10, 64283 Darmstadt Phone: +49-6151-166651, Fax +49-6151-165326 email: stuetzle@informatik.tu-darmstadt.de

More information

Ant Colony Optimization for dynamic Traveling Salesman Problems

Ant Colony Optimization for dynamic Traveling Salesman Problems Ant Colony Optimization for dynamic Traveling Salesman Problems Carlos A. Silva and Thomas A. Runkler Siemens AG, Corporate Technology Information and Communications, CT IC 4 81730 Munich - Germany thomas.runkler@siemens.com

More information

Adaptive Ant Colony Optimization for the Traveling Salesman Problem

Adaptive Ant Colony Optimization for the Traveling Salesman Problem - Diplomarbeit - (Implementierungsarbeit) Adaptive Ant Colony Optimization for the Traveling Salesman Problem Michael Maur Mat.-Nr.: 1192603 @stud.tu-darmstadt.de Eingereicht im Dezember 2009

More information

Genetic Algorithms and Genetic Programming Lecture 13

Genetic Algorithms and Genetic Programming Lecture 13 Genetic Algorithms and Genetic Programming Lecture 13 Gillian Hayes 9th November 2007 Ant Colony Optimisation and Bin Packing Problems Ant Colony Optimisation - review Pheromone Trail and Heuristic The

More information

Escaping Local Optima: Genetic Algorithm

Escaping Local Optima: Genetic Algorithm Artificial Intelligence Escaping Local Optima: Genetic Algorithm Dae-Won Kim School of Computer Science & Engineering Chung-Ang University We re trying to escape local optima To achieve this, we have learned

More information

Khushboo Arora, Samiksha Agarwal, Rohit Tanwar

Khushboo Arora, Samiksha Agarwal, Rohit Tanwar International Journal of Scientific & Engineering Research, Volume 7, Issue 1, January-2016 1014 Solving TSP using Genetic Algorithm and Nearest Neighbour Algorithm and their Comparison Khushboo Arora,

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures Chapter 9 Graph s 2 Definitions Definitions an undirected graph is a finite set

More information

Ant Colony Optimization: The Traveling Salesman Problem

Ant Colony Optimization: The Traveling Salesman Problem Ant Colony Optimization: The Traveling Salesman Problem Section 2.3 from Swarm Intelligence: From Natural to Artificial Systems by Bonabeau, Dorigo, and Theraulaz Andrew Compton Ian Rogers 12/4/2006 Traveling

More information

Evolutionary Computation for Combinatorial Optimization

Evolutionary Computation for Combinatorial Optimization Evolutionary Computation for Combinatorial Optimization Günther Raidl Vienna University of Technology, Vienna, Austria raidl@ads.tuwien.ac.at EvoNet Summer School 2003, Parma, Italy August 25, 2003 Evolutionary

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be if not careful with data structures 3 Definitions an undirected graph G = (V, E) is a

More information

Solving a combinatorial problem using a local optimization in ant based system

Solving a combinatorial problem using a local optimization in ant based system Solving a combinatorial problem using a local optimization in ant based system C-M.Pintea and D.Dumitrescu Babeş-Bolyai University of Cluj-Napoca, Department of Computer-Science Kogalniceanu 1, 400084

More information

CHAPTER 4 GENETIC ALGORITHM

CHAPTER 4 GENETIC ALGORITHM 69 CHAPTER 4 GENETIC ALGORITHM 4.1 INTRODUCTION Genetic Algorithms (GAs) were first proposed by John Holland (Holland 1975) whose ideas were applied and expanded on by Goldberg (Goldberg 1989). GAs is

More information

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing

5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing. 6. Meta-heuristic Algorithms and Rectangular Packing 1. Introduction 2. Cutting and Packing Problems 3. Optimisation Techniques 4. Automated Packing Techniques 5. Computational Geometry, Benchmarks and Algorithms for Rectangular and Irregular Packing 6.

More information

A Hybrid Ant Colony Optimization Algorithm for Graph Bisection

A Hybrid Ant Colony Optimization Algorithm for Graph Bisection The Pennsylvania State University The Graduate School Capital College A Hybrid Ant Colony Optimization Algorithm for Graph Bisection A Master s Paper in Computer Science by Lisa Strite c 2001 Lisa Strite

More information

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS Jim Gasvoda and Qin Ding Department of Computer Science, Pennsylvania State University at Harrisburg, Middletown, PA 17057, USA {jmg289, qding}@psu.edu

More information

Module 6 NP-Complete Problems and Heuristics

Module 6 NP-Complete Problems and Heuristics Module 6 NP-Complete Problems and Heuristics Dr. Natarajan Meghanathan Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu P, NP-Problems Class

More information

Automatic Programming with Ant Colony Optimization

Automatic Programming with Ant Colony Optimization Automatic Programming with Ant Colony Optimization Jennifer Green University of Kent jg9@kent.ac.uk Jacqueline L. Whalley University of Kent J.L.Whalley@kent.ac.uk Colin G. Johnson University of Kent C.G.Johnson@kent.ac.uk

More information

GRASP. Greedy Randomized Adaptive. Search Procedure

GRASP. Greedy Randomized Adaptive. Search Procedure GRASP Greedy Randomized Adaptive Search Procedure Type of problems Combinatorial optimization problem: Finite ensemble E = {1,2,... n } Subset of feasible solutions F 2 Objective function f : 2 Minimisation

More information

Ant Colony Optimization Exercises

Ant Colony Optimization Exercises Outline DM6 HEURISTICS FOR COMBINATORIAL OPTIMIZATION Lecture 11 Ant Colony Optimization Exercises Ant Colony Optimization: the Metaheuristic Application Examples Connection between ACO and other Metaheuristics

More information

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions

11/22/2016. Chapter 9 Graph Algorithms. Introduction. Definitions. Definitions. Definitions. Definitions Introduction Chapter 9 Graph Algorithms graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 2 Definitions an undirected graph G = (V, E) is

More information

Chapter 9 Graph Algorithms

Chapter 9 Graph Algorithms Chapter 9 Graph Algorithms 2 Introduction graph theory useful in practice represent many real-life problems can be slow if not careful with data structures 3 Definitions an undirected graph G = (V, E)

More information

A Review: Optimization of Energy in Wireless Sensor Networks

A Review: Optimization of Energy in Wireless Sensor Networks A Review: Optimization of Energy in Wireless Sensor Networks Anjali 1, Navpreet Kaur 2 1 Department of Electronics & Communication, M.Tech Scholar, Lovely Professional University, Punjab, India 2Department

More information

A Genetic Approach for Solving Minimum Routing Cost Spanning Tree Problem

A Genetic Approach for Solving Minimum Routing Cost Spanning Tree Problem A Genetic Approach for Solving Minimum Routing Cost Spanning Tree Problem Quoc Phan Tan Abstract Minimum Routing Cost Spanning Tree (MRCT) is one of spanning tree optimization problems having several applications

More information

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS Gabriela Ochoa http://www.cs.stir.ac.uk/~goc/ OUTLINE Optimisation problems Optimisation & search Two Examples The knapsack problem

More information

Non-deterministic Search techniques. Emma Hart

Non-deterministic Search techniques. Emma Hart Non-deterministic Search techniques Emma Hart Why do local search? Many real problems are too hard to solve with exact (deterministic) techniques Modern, non-deterministic techniques offer ways of getting

More information

Comparison of TSP Algorithms

Comparison of TSP Algorithms Comparison of TSP Algorithms Project for Models in Facilities Planning and Materials Handling December 1998 Participants: Byung-In Kim Jae-Ik Shim Min Zhang Executive Summary Our purpose in this term project

More information

Dynamic Robot Path Planning Using Improved Max-Min Ant Colony Optimization

Dynamic Robot Path Planning Using Improved Max-Min Ant Colony Optimization Proceedings of the International Conference of Control, Dynamic Systems, and Robotics Ottawa, Ontario, Canada, May 15-16 2014 Paper No. 49 Dynamic Robot Path Planning Using Improved Max-Min Ant Colony

More information

Introduction to Optimization

Introduction to Optimization Introduction to Optimization Approximation Algorithms and Heuristics November 21, 2016 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff Inria Saclay Ile-de-France 2 Exercise: The Knapsack

More information

Structural Advantages for Ant Colony Optimisation Inherent in Permutation Scheduling Problems

Structural Advantages for Ant Colony Optimisation Inherent in Permutation Scheduling Problems Structural Advantages for Ant Colony Optimisation Inherent in Permutation Scheduling Problems James Montgomery No Institute Given Abstract. When using a constructive search algorithm, solutions to scheduling

More information

Lecture 8: The Traveling Salesman Problem

Lecture 8: The Traveling Salesman Problem Lecture 8: The Traveling Salesman Problem Let G = (V, E) be an undirected graph. A Hamiltonian cycle of G is a cycle that visits every vertex v V exactly once. Instead of Hamiltonian cycle, we sometimes

More information

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms

Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Module 6 P, NP, NP-Complete Problems and Approximation Algorithms Dr. Natarajan Meghanathan Associate Professor of Computer Science Jackson State University Jackson, MS 39217 E-mail: natarajan.meghanathan@jsums.edu

More information

Optimal tour along pubs in the UK

Optimal tour along pubs in the UK 1 From Facebook Optimal tour along 24727 pubs in the UK Road distance (by google maps) see also http://www.math.uwaterloo.ca/tsp/pubs/index.html (part of TSP homepage http://www.math.uwaterloo.ca/tsp/

More information

Ant Algorithms. Simulated Ant Colonies for Optimization Problems. Daniel Bauer July 6, 2006

Ant Algorithms. Simulated Ant Colonies for Optimization Problems. Daniel Bauer July 6, 2006 Simulated Ant Colonies for Optimization Problems July 6, 2006 Topics 1 Real Ant Colonies Behaviour of Real Ants Pheromones 2 3 Behaviour of Real Ants Pheromones Introduction Observation: Ants living in

More information

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007)

Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm. Santos and Mateus (2007) In the name of God Crew Scheduling Problem: A Column Generation Approach Improved by a Genetic Algorithm Spring 2009 Instructor: Dr. Masoud Yaghini Outlines Problem Definition Modeling As A Set Partitioning

More information

Ant Colony Optimization: A Component-Wise Overview

Ant Colony Optimization: A Component-Wise Overview Université Libre de Bruxelles Institut de Recherches Interdisciplinaires et de Développements en Intelligence Artificielle Ant Colony Optimization: A Component-Wise Overview M. López-Ibáñez, T. Stützle,

More information

ACO and other (meta)heuristics for CO

ACO and other (meta)heuristics for CO ACO and other (meta)heuristics for CO 32 33 Outline Notes on combinatorial optimization and algorithmic complexity Construction and modification metaheuristics: two complementary ways of searching a solution

More information

Fast Heuristics for Large Instances of the Euclidean Bounded Diameter Minimum Spanning Tree Problem

Fast Heuristics for Large Instances of the Euclidean Bounded Diameter Minimum Spanning Tree Problem Informatica 39 (2015) 281 292 281 Fast Heuristics for Large Instances of the Euclidean Bounded Diameter Minimum Spanning Tree Problem C. Patvardhan and V. Prem Prakash Faculty of Engineering, Dayalbagh

More information

CSE 417 Branch & Bound (pt 4) Branch & Bound

CSE 417 Branch & Bound (pt 4) Branch & Bound CSE 417 Branch & Bound (pt 4) Branch & Bound Reminders > HW8 due today > HW9 will be posted tomorrow start early program will be slow, so debugging will be slow... Review of previous lectures > Complexity

More information

22 Elementary Graph Algorithms. There are two standard ways to represent a

22 Elementary Graph Algorithms. There are two standard ways to represent a VI Graph Algorithms Elementary Graph Algorithms Minimum Spanning Trees Single-Source Shortest Paths All-Pairs Shortest Paths 22 Elementary Graph Algorithms There are two standard ways to represent a graph

More information

Genetic Algorithm for Network Design Problem-An Empirical Study of Crossover Operator with Generation and Population Variation

Genetic Algorithm for Network Design Problem-An Empirical Study of Crossover Operator with Generation and Population Variation International Journal of Information Technology and Knowledge Management July-December 2010, Volume 2, No. 2, pp. 605-611 Genetic Algorithm for Network Design Problem-An Empirical Study of Crossover Operator

More information

Online Graph Exploration

Online Graph Exploration Distributed Computing Online Graph Exploration Semester thesis Simon Hungerbühler simonhu@ethz.ch Distributed Computing Group Computer Engineering and Networks Laboratory ETH Zürich Supervisors: Sebastian

More information

Midterm Examination CS 540-2: Introduction to Artificial Intelligence

Midterm Examination CS 540-2: Introduction to Artificial Intelligence Midterm Examination CS 54-2: Introduction to Artificial Intelligence March 9, 217 LAST NAME: FIRST NAME: Problem Score Max Score 1 15 2 17 3 12 4 6 5 12 6 14 7 15 8 9 Total 1 1 of 1 Question 1. [15] State

More information

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret

Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Advanced Algorithms Class Notes for Monday, October 23, 2012 Min Ye, Mingfu Shao, and Bernard Moret Greedy Algorithms (continued) The best known application where the greedy algorithm is optimal is surely

More information

Solution Bias in Ant Colony Optimisation: Lessons for Selecting Pheromone Models

Solution Bias in Ant Colony Optimisation: Lessons for Selecting Pheromone Models Solution Bias in Ant Colony Optimisation: Lessons for Selecting Pheromone Models James Montgomery Faculty of Information & Communication Technologies Swinburne University of Technology, VIC 3122, Australia

More information

A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem

A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem A Kruskal-Based Heuristic for the Rooted Delay-Constrained Minimum Spanning Tree Problem Mario Ruthmair and Günther R. Raidl Institute of Computer Graphics and Algorithms Vienna University of Technology,

More information

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching

Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Reduction of Periodic Broadcast Resource Requirements with Proxy Caching Ewa Kusmierek and David H.C. Du Digital Technology Center and Department of Computer Science and Engineering University of Minnesota

More information

Midterm Examination CS540-2: Introduction to Artificial Intelligence

Midterm Examination CS540-2: Introduction to Artificial Intelligence Midterm Examination CS540-2: Introduction to Artificial Intelligence March 15, 2018 LAST NAME: FIRST NAME: Problem Score Max Score 1 12 2 13 3 9 4 11 5 8 6 13 7 9 8 16 9 9 Total 100 Question 1. [12] Search

More information

Notes for Lecture 24

Notes for Lecture 24 U.C. Berkeley CS170: Intro to CS Theory Handout N24 Professor Luca Trevisan December 4, 2001 Notes for Lecture 24 1 Some NP-complete Numerical Problems 1.1 Subset Sum The Subset Sum problem is defined

More information

Modified Greedy Methodology to Solve Travelling Salesperson Problem Using Ant Colony Optimization and Comfort Factor

Modified Greedy Methodology to Solve Travelling Salesperson Problem Using Ant Colony Optimization and Comfort Factor International Journal of Scientific and Research Publications, Volume 4, Issue 10, October 2014 1 Modified Greedy Methodology to Solve Travelling Salesperson Problem Using Ant Colony Optimization and Comfort

More information

Pre-requisite Material for Course Heuristics and Approximation Algorithms

Pre-requisite Material for Course Heuristics and Approximation Algorithms Pre-requisite Material for Course Heuristics and Approximation Algorithms This document contains an overview of the basic concepts that are needed in preparation to participate in the course. In addition,

More information

Navigation of Multiple Mobile Robots Using Swarm Intelligence

Navigation of Multiple Mobile Robots Using Swarm Intelligence Navigation of Multiple Mobile Robots Using Swarm Intelligence Dayal R. Parhi National Institute of Technology, Rourkela, India E-mail: dayalparhi@yahoo.com Jayanta Kumar Pothal National Institute of Technology,

More information

Parallel Implementation of Travelling Salesman Problem using Ant Colony Optimization

Parallel Implementation of Travelling Salesman Problem using Ant Colony Optimization Parallel Implementation of Travelling Salesman Problem using Ant Colony Optimization Gaurav Bhardwaj Department of Computer Science and Engineering Maulana Azad National Institute of Technology Bhopal,

More information

International Journal of Current Trends in Engineering & Technology Volume: 02, Issue: 01 (JAN-FAB 2016)

International Journal of Current Trends in Engineering & Technology Volume: 02, Issue: 01 (JAN-FAB 2016) Survey on Ant Colony Optimization Shweta Teckchandani, Prof. Kailash Patidar, Prof. Gajendra Singh Sri Satya Sai Institute of Science & Technology, Sehore Madhya Pradesh, India Abstract Although ant is

More information

Solutions to Midterm 2 - Monday, July 11th, 2009

Solutions to Midterm 2 - Monday, July 11th, 2009 Solutions to Midterm - Monday, July 11th, 009 CPSC30, Summer009. Instructor: Dr. Lior Malka. (liorma@cs.ubc.ca) 1. Dynamic programming. Let A be a set of n integers A 1,..., A n such that 1 A i n for each

More information

An Evolutionary Algorithm with Stochastic Hill-Climbing for the Edge-Biconnectivity Augmentation Problem

An Evolutionary Algorithm with Stochastic Hill-Climbing for the Edge-Biconnectivity Augmentation Problem An Evolutionary Algorithm with Stochastic Hill-Climbing for the Edge-Biconnectivity Augmentation Problem Ivana Ljubić and Günther R. Raidl Institute for Computer Graphics and Algorithms, Vienna University

More information

Ant Colony Optimization

Ant Colony Optimization DM841 DISCRETE OPTIMIZATION Part 2 Heuristics Marco Chiarandini Department of Mathematics & Computer Science University of Southern Denmark Outline 1. earch 2. Context Inspiration from Nature 3. 4. 5.

More information

Graph Applications, Class Notes, CS 3137 1 Traveling Salesperson Problem Web References: http://www.tsp.gatech.edu/index.html http://www-e.uni-magdeburg.de/mertens/tsp/tsp.html TSP applets A Hamiltonian

More information

1 The Traveling Salesperson Problem (TSP)

1 The Traveling Salesperson Problem (TSP) CS 598CSC: Approximation Algorithms Lecture date: January 23, 2009 Instructor: Chandra Chekuri Scribe: Sungjin Im In the previous lecture, we had a quick overview of several basic aspects of approximation

More information

An Efficient Analysis for High Dimensional Dataset Using K-Means Hybridization with Ant Colony Optimization Algorithm

An Efficient Analysis for High Dimensional Dataset Using K-Means Hybridization with Ant Colony Optimization Algorithm An Efficient Analysis for High Dimensional Dataset Using K-Means Hybridization with Ant Colony Optimization Algorithm Prabha S. 1, Arun Prabha K. 2 1 Research Scholar, Department of Computer Science, Vellalar

More information

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem

A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling Repairman Problem Proceedings of the 2012 International Conference on Industrial Engineering and Operations Management Istanbul, Turkey, July 3 6, 2012 A Development of Hybrid Cross Entropy-Tabu Search Algorithm for Travelling

More information

Task Scheduling Using Probabilistic Ant Colony Heuristics

Task Scheduling Using Probabilistic Ant Colony Heuristics The International Arab Journal of Information Technology, Vol. 13, No. 4, July 2016 375 Task Scheduling Using Probabilistic Ant Colony Heuristics Umarani Srikanth 1, Uma Maheswari 2, Shanthi Palaniswami

More information

Rich Vehicle Routing Problems Challenges and Prospects in Exploring the Power of Parallelism. Andreas Reinholz. 1 st COLLAB Workshop

Rich Vehicle Routing Problems Challenges and Prospects in Exploring the Power of Parallelism. Andreas Reinholz. 1 st COLLAB Workshop Collaborative Research Center SFB559 Modeling of Large Logistic Networks Project M8 - Optimization Rich Vehicle Routing Problems Challenges and Prospects in Exploring the Power of Parallelism Andreas Reinholz

More information

Swarm Intelligence (Ant Colony Optimization)

Swarm Intelligence (Ant Colony Optimization) (Ant Colony Optimization) Prof. Dr.-Ing. Habil Andreas Mitschele-Thiel M.Sc.-Inf Mohamed Kalil 19 November 2009 1 Course description Introduction Course overview Concepts of System Engineering Swarm Intelligence

More information

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search

Job Shop Scheduling Problem (JSSP) Genetic Algorithms Critical Block and DG distance Neighbourhood Search A JOB-SHOP SCHEDULING PROBLEM (JSSP) USING GENETIC ALGORITHM (GA) Mahanim Omar, Adam Baharum, Yahya Abu Hasan School of Mathematical Sciences, Universiti Sains Malaysia 11800 Penang, Malaysia Tel: (+)

More information

An Ant Colony Optimization Algorithm for Solving Travelling Salesman Problem

An Ant Colony Optimization Algorithm for Solving Travelling Salesman Problem 1 An Ant Colony Optimization Algorithm for Solving Travelling Salesman Problem Krishna H. Hingrajiya, Ravindra Kumar Gupta, Gajendra Singh Chandel University of Rajiv Gandhi Proudyogiki Vishwavidyalaya,

More information

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W.

Unit 8: Coping with NP-Completeness. Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems. Y.-W. : Coping with NP-Completeness Course contents: Complexity classes Reducibility and NP-completeness proofs Coping with NP-complete problems Reading: Chapter 34 Chapter 35.1, 35.2 Y.-W. Chang 1 Complexity

More information

RESEARCH OF COMBINATORIAL OPTIMIZATION PROBLEM BASED ON GENETIC ANT COLONY ALGORITHM

RESEARCH OF COMBINATORIAL OPTIMIZATION PROBLEM BASED ON GENETIC ANT COLONY ALGORITHM RESEARCH OF COMBINATORIAL OPTIMIZATION PROBLEM BASED ON GENETIC ANT COLONY ALGORITHM ZEYU SUN, 2 ZHENPING LI Computer and Information engineering department, Luoyang Institute of Science and Technology,

More information

mywbut.com Informed Search Strategies-II

mywbut.com Informed Search Strategies-II Informed Search Strategies-II 1 3.3 Iterative-Deepening A* 3.3.1 IDA* Algorithm Iterative deepening A* or IDA* is similar to iterative-deepening depth-first, but with the following modifications: The depth

More information

Ant Colony Optimization Approaches to the Degree-constrained Minimum Spanning Tree Problem

Ant Colony Optimization Approaches to the Degree-constrained Minimum Spanning Tree Problem JOURNAL OF INFORMATION SCIENCE AND ENGINEERING 24, 1081-1094 (2008) Ant Colony Optimization Approaches to the Degree-constrained Minimum Spanning Tree Problem Faculty of Information Technology Multimedia

More information

The Traveling Salesman Problem: Adapting 2-Opt And 3-Opt Local Optimization to Branch & Bound Techniques

The Traveling Salesman Problem: Adapting 2-Opt And 3-Opt Local Optimization to Branch & Bound Techniques The Traveling Salesman Problem: Adapting 2-Opt And 3-Opt Local Optimization to Branch & Bound Techniques Hitokazu Matsushita hitokazu@byu.edu Ogden Mills ogdenlaynemills@gmail.com Nathan Lambson nlambson@gmail.com

More information

IMPLEMENTATION OF ACO ALGORITHM FOR EDGE DETECTION AND SORTING SALESMAN PROBLEM

IMPLEMENTATION OF ACO ALGORITHM FOR EDGE DETECTION AND SORTING SALESMAN PROBLEM IMPLEMENTATION OF ACO ALGORITHM FOR EDGE DETECTION AND SORTING SALESMAN PROBLEM Er. Priya Darshni Assiociate Prof. ECE Deptt. Ludhiana Chandigarh highway Ludhiana College Of Engg. And Technology Katani

More information

A LOAD-BASED APPROACH TO FORMING A CONNECTED DOMINATING SET FOR AN AD HOC NETWORK

A LOAD-BASED APPROACH TO FORMING A CONNECTED DOMINATING SET FOR AN AD HOC NETWORK Clemson University TigerPrints All Theses Theses 8-2014 A LOAD-BASED APPROACH TO FORMING A CONNECTED DOMINATING SET FOR AN AD HOC NETWORK Raihan Hazarika Clemson University, rhazari@g.clemson.edu Follow

More information

Chapter 14 Global Search Algorithms

Chapter 14 Global Search Algorithms Chapter 14 Global Search Algorithms An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Introduction We discuss various search methods that attempts to search throughout the entire feasible set.

More information

Variable Neighbourhood Search (VNS)

Variable Neighbourhood Search (VNS) Variable Neighbourhood Search (VNS) Key dea: systematically change neighbourhoods during search Motivation: recall: changing neighbourhoods can help escape local optima a global optimum is locally optimal

More information

Combinatorial Search; Monte Carlo Methods

Combinatorial Search; Monte Carlo Methods Combinatorial Search; Monte Carlo Methods Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico May 02, 2016 CPD (DEI / IST) Parallel and Distributed

More information

Uninformed Search Methods. Informed Search Methods. Midterm Exam 3/13/18. Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall

Uninformed Search Methods. Informed Search Methods. Midterm Exam 3/13/18. Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall Midterm Exam Thursday, March 15, 7:30 9:30 p.m. room 125 Ag Hall Covers topics through Decision Trees and Random Forests (does not include constraint satisfaction) Closed book 8.5 x 11 sheet with notes

More information

(Refer Slide Time: 01:00)

(Refer Slide Time: 01:00) Advanced Operations Research Prof. G. Srinivasan Department of Management Studies Indian Institute of Technology, Madras Lecture minus 26 Heuristics for TSP In this lecture, we continue our discussion

More information

An Ant Colony Optimization Meta-Heuristic for Subset Selection Problems

An Ant Colony Optimization Meta-Heuristic for Subset Selection Problems Chapter I An Ant Colony Optimization Meta-Heuristic for Subset Selection Problems Christine Solnon I.1 Derek Bridge I.2 Subset selection problems involve finding an optimal feasible subset of an initial

More information

Massively Parallel Seesaw Search for MAX-SAT

Massively Parallel Seesaw Search for MAX-SAT Massively Parallel Seesaw Search for MAX-SAT Harshad Paradkar Rochester Institute of Technology hp7212@rit.edu Prof. Alan Kaminsky (Advisor) Rochester Institute of Technology ark@cs.rit.edu Abstract The

More information

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions

Dr. Amotz Bar-Noy s Compendium of Algorithms Problems. Problems, Hints, and Solutions Dr. Amotz Bar-Noy s Compendium of Algorithms Problems Problems, Hints, and Solutions Chapter 1 Searching and Sorting Problems 1 1.1 Array with One Missing 1.1.1 Problem Let A = A[1],..., A[n] be an array

More information

DDS Dynamic Search Trees

DDS Dynamic Search Trees DDS Dynamic Search Trees 1 Data structures l A data structure models some abstract object. It implements a number of operations on this object, which usually can be classified into l creation and deletion

More information

A combination of clustering algorithms with Ant Colony Optimization for large clustered Euclidean Travelling Salesman Problem

A combination of clustering algorithms with Ant Colony Optimization for large clustered Euclidean Travelling Salesman Problem A combination of clustering algorithms with Ant Colony Optimization for large clustered Euclidean Travelling Salesman Problem TRUNG HOANG DINH, ABDULLAH AL MAMUN Department of Electrical and Computer Engineering

More information

LECTURE 3 ALGORITHM DESIGN PARADIGMS

LECTURE 3 ALGORITHM DESIGN PARADIGMS LECTURE 3 ALGORITHM DESIGN PARADIGMS Introduction Algorithm Design Paradigms: General approaches to the construction of efficient solutions to problems. Such methods are of interest because: They provide

More information

Monte Carlo Methods; Combinatorial Search

Monte Carlo Methods; Combinatorial Search Monte Carlo Methods; Combinatorial Search Parallel and Distributed Computing Department of Computer Science and Engineering (DEI) Instituto Superior Técnico November 22, 2012 CPD (DEI / IST) Parallel and

More information

WALL, NICOLE TURPIN, M.A. On the Reconstruction Conjecture. (2008) Directed by Dr. Paul Duvall. 56 pp.

WALL, NICOLE TURPIN, M.A. On the Reconstruction Conjecture. (2008) Directed by Dr. Paul Duvall. 56 pp. WALL, NICOLE TURPIN, M.A. On the Reconstruction Conjecture. (2008) Directed by Dr. Paul Duvall. 56 pp. Every graph of order three or more is reconstructible. Frank Harary restated one of the most famous

More information