Point Grouping Using a Genetic Algorithm

Similar documents
Genetic-Algorithm-Based Construction of Load-Balanced CDSs in Wireless Sensor Networks

Genetic Algorithm for Finding Shortest Path in a Network

A Parallel Architecture for the Generalized Traveling Salesman Problem

What is GOSET? GOSET stands for Genetic Optimization System Engineering Tool

Hierarchical Learning Algorithm for the Beta Basis Function Neural Network

CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES

Deriving Trading Rules Using Gene Expression Programming

Sımultaneous estımatıon of Aquifer Parameters and Parameter Zonations using Genetic Algorithm

International Conference on Computer Applications in Shipbuilding (ICCAS-2009) Shanghai, China Vol.2, pp

The k-means Algorithm and Genetic Algorithm

Neural Network Weight Selection Using Genetic Algorithms

Santa Fe Trail Problem Solution Using Grammatical Evolution

An Intelligent Plural Auto Recognition Search Engine. Brian King Senior, Electrical & Computer Engineering Department

DETERMINING MAXIMUM/MINIMUM VALUES FOR TWO- DIMENTIONAL MATHMATICLE FUNCTIONS USING RANDOM CREOSSOVER TECHNIQUES

Segmentation of Noisy Binary Images Containing Circular and Elliptical Objects using Genetic Algorithms

Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization

1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra

Genetic Fourier Descriptor for the Detection of Rotational Symmetry

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

V.Petridis, S. Kazarlis and A. Papaikonomou

Aero-engine PID parameters Optimization based on Adaptive Genetic Algorithm. Yinling Wang, Huacong Li

Genetic Algorithms for Vision and Pattern Recognition

Genetic Programming. Charles Chilaka. Department of Computational Science Memorial University of Newfoundland

Abstract. 1 Introduction

Tolerance Synthesis by Constraint Propagation

MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS

Escaping Local Optima: Genetic Algorithm

Coalition formation in multi-agent systems an evolutionary approach

Cluster Analysis and Genetic Algorithms

A Steady-State Genetic Algorithm for Traveling Salesman Problem with Pickup and Delivery

Distributed Optimization of Feature Mining Using Evolutionary Techniques

Hybrid of Genetic Algorithm and Continuous Ant Colony Optimization for Optimum Solution

Evolutionary Computation Part 2

Biology in Computation: Evolving Intelligent Controllers

A Genetic Algorithm Approach to Regenerate Image from a Reduce Scaled Image Using Bit Data Count

The Design of Pole Placement With Integral Controllers for Gryphon Robot Using Three Evolutionary Algorithms

Lecture 6: Genetic Algorithm. An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved

Introduction to Genetic Algorithms

PATH PLANNING OF ROBOT IN STATIC ENVIRONMENT USING GENETIC ALGORITHM (GA) TECHNIQUE

Evaluation of the Performance of O(log 2 M) Self-Organizing Map Algorithm without Neighborhood Learning

Mutations for Permutations

Comparative Analysis of Genetic Algorithm Implementations

Genetic Algorithms Based Solution To Maximum Clique Problem

Information Fusion Dr. B. K. Panigrahi

Genetic Algorithms Variations and Implementation Issues

4/22/2014. Genetic Algorithms. Diwakar Yagyasen Department of Computer Science BBDNITM. Introduction

A Genetic Algorithm Approach to the Group Technology Problem

The Parallel Software Design Process. Parallel Software Design

A genetic algorithms approach to optimization parameter space of Geant-V prototype

HEURISTICS FOR THE NETWORK DESIGN PROBLEM

PROPOSED METHODOLOGY FOR COMPARING SCHEDULE GENERATION SCHEMES IN CONSTRUCTION RESOURCE SCHEDULING. Jin-Lee Kim

MODELLING DOCUMENT CATEGORIES BY EVOLUTIONARY LEARNING OF TEXT CENTROIDS

Multi-objective Optimization

Seismic regionalization based on an artificial neural network

New Approach of Constant Resolving of Analytical Programming

International Journal of Mechatronics, Electrical and Computer Technology

Robust Watermark Algorithm using Genetic Algorithm

Clustering Analysis of Simple K Means Algorithm for Various Data Sets in Function Optimization Problem (Fop) of Evolutionary Programming

Impact of Unique Schemata Count on the Fitness Value in Genetic Algorithms

Genetic Algorithms. Genetic Algorithms

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

Artificial Intelligence Application (Genetic Algorithm)

A Fitness Function to Find Feasible Sequences of Method Calls for Evolutionary Testing of Object-Oriented Programs

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Towards Automatic Recognition of Fonts using Genetic Approach

Partitioning Sets with Genetic Algorithms

International Journal of Digital Application & Contemporary research Website: (Volume 1, Issue 7, February 2013)

Chapter 14 Global Search Algorithms

Hunting for Snakes in Hypercubes using Genetic Algorithms

Improving Prediction Power in Simulation of Brassiere-Wearing Figures

Genetic Algorithms. Kang Zheng Karl Schober

An Integrated Genetic Algorithm with Clone Operator

Evolutionary Computation: Solution Representation. Set Covering Problem. Set Covering Problem. Set Covering Problem 2/28/2008.

AN OPTIMIZATION GENETIC ALGORITHM FOR IMAGE DATABASES IN AGRICULTURE

Artificial Neural Network Evolutionary Algorithm (ANNEVA) Abstract

Grid-Based Genetic Algorithm Approach to Colour Image Segmentation

The movement of the dimmer firefly i towards the brighter firefly j in terms of the dimmer one s updated location is determined by the following equat

Review: Final Exam CPSC Artificial Intelligence Michael M. Richter

Research Article Path Planning Using a Hybrid Evolutionary Algorithm Based on Tree Structure Encoding

Using Genetic Algorithm with Triple Crossover to Solve Travelling Salesman Problem

Adaptive Information Filtering: evolutionary computation and n-gram representation 1

Global Optimal Analysis of Variant Genetic Operations in Solar Tracking

Application of Genetic Algorithm Based Intuitionistic Fuzzy k-mode for Clustering Categorical Data

Classification of Concept-Drifting Data Streams using Optimized Genetic Algorithm

Grid Scheduling Strategy using GA (GSSGA)

Fast Efficient Clustering Algorithm for Balanced Data

DETERMINING PARETO OPTIMAL CONTROLLER PARAMETER SETS OF AIRCRAFT CONTROL SYSTEMS USING GENETIC ALGORITHM

A biometric iris recognition system based on principal components analysis, genetic algorithms and cosine-distance

JEvolution: Evolutionary Algorithms in Java

Fisher Distance Based GA Clustering Taking Into Account Overlapped Space Among Probability Density Functions of Clusters in Feature Space

Akaike information criterion).

A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP

Genetic Algorithms Applied to the Knapsack Problem

Quality of Genetic Algorithm in the Cloud

Genetic Algorithm for Seismic Velocity Picking

Structural Optimizations of a 12/8 Switched Reluctance Motor using a Genetic Algorithm

SUITABLE CONFIGURATION OF EVOLUTIONARY ALGORITHM AS BASIS FOR EFFICIENT PROCESS PLANNING TOOL

JGA User Guide. WinNT/2000 Deployment v

Mineral Exploation Using Neural Netowrks

Role of Genetic Algorithm in Routing for Large Network

Transcription:

Point Grouping Using a Genetic Algorithm Kriangsiri Malasri Senior, School of Aerospace Engineering Georgia Institute of Technology, 34054 Georgia Tech Station, Atlanta, GA 30332 Siripong Malasri Professor & Dean, School of Engineering Christian Brothers University, 650 East Parway South, Memphis, TN 3804 ABSTRACT Finding the optimal grouping of a collection of points on a coordinate plane has many potential real-world applications, such as garbage truc routing and sales territory determination. The optimization can be accomplished using a Kohonen neural networ; however, this approach is difficult to adapt for more complex problems, such as garbage collection subject to the additional constraints of truc capacity and transfer stations. To circumvent these limitations, a genetic algorithm was applied to the basic pointgrouping optimization problem. A Java program, GAGrouper, was developed to demonstrate the algorithm. At this time the wor is limited to simple grouping of points with no constraints; however, the algorithm may be easily modified to address more complex problems. INTRODUCTION Point grouping is an optimization problem with a goal of finding the best way to brea down a collection of points into several smaller subsets based on s pecific criteria. In this case, the objective is to group the points such that the point-to-point distances in each group are minimized (i.e., grouping by vicinity). Practical uses might include such applications as garbage truc routing and sales territory determination, in which it is desirable that a least-distance path be found through multiple locations. The self-organizing map developed by Kohonen [] can be used to group points based on the similarities of their attributes (in this case, position coordinates). However, the Kohonen neural networ approach is limited to mere classification. It cannot be applied towards more complex problems, such as garbage collection in which the truc capacity and transfer stations are introduced as additional parameters. Genetic algorithms, by contrast, are more general and can be adapted to various optimization problems with specific constraints. This paper describes how a genetic algorithm was applied to the point-grouping optimization problem. A Java progra m, GAGrouper, was developed to demonstrate the effectiveness of the algorithm. It should be noted that the grouping algorithm presented here is only a basic framewor; it does no more than what a Kohonen networ could do. However, the nature of the genetic algorithm allows it to be easily modified to address additional complexities. GROUPING GENETIC ALGORITHM The grouping genetic algorithm used is best described with a step-by-step summary, as shown below: Step. Input problem-specific data: Number of points, N Number of desired groups, g Number of points per group, n Cartesian coordinates of each point, (x i, y i ) for i = to N

Step 2. Specify GA parameters: Population size (number of chromosomes), p Crossover probability Mutation probability Step 3. Randomly generate an initial population of p chromosomes: A chromosome is a string of integer genes that represents a possible solution to the problem. Each gene corresponds to a certain point, and the order in which the genes appear determines their grouping. Figure, for instance, shows a chromosome representing N points, with N/4 groups and 4 points per group. FIGURE. Chromosome and genes. Because the genes represent distinct points, each chromosome is nonrepeating. Step 4. For each chromosome, determine the centroid of each group: x i x yi = n = for i = to g n y where x and y are point coordinates, n is the group size, g is the number of groups, and x and y denote centroid coordinates. Step 5. Evaluate the fitness of each chromosome: First, for each group in the chromosome, determine the group distance index GD, defined as the sum of the squares of distances to the centroid for all points within the group. Mathematically, for group i, GD i 2 2 [ ( x j xi ) + ( y j yi ) ] = n j= Then, sum all of the group distance indices to produce a chromosome distance index CD. Mathematically, for chromosome, 2

CD = GD i g i= A high CD indicates points that are located far from the centroid. Thus, the fitness CF of each chromosome is inversely proportional to CD and is defined to be K CF = CD where K is an arbitrary constant to control the order of magnitude of the fitness number. For the GAGrouper program described in this wor, K = 0 9. Step 6. Compute the probability distribution PD for each chromosome: PD = p CF i= CF i where p is the population size, or number of chromosomes. This essentially gives the fitter chromosomes higher probabilities of being selected into the next generation. Step 7. Select the chromosomes for the next generation: For p times, Generate a random number r between 0 and. Select chromosome m for the next generation if m m r PD, PD = = Step 8. Based on the supplied crossover probability, perform crossover on random pairs of chromosomes in the population. To preserve each chromosome s nonrepeating property, the method used is order crossover (OX) [2], as shown in Figure 2. 3

FIGURE 2. Crossover between two chromosomes. Step 9. Based on the supplied mutation probability, mutate random chromosomes in the population, as shown in Figure 3. FIGURE 3. Mutation of a chromosome. Step 0. Repeat Steps 4-9 until the best solution is obtained. PROGRAM IMPLEMENTATION AND EXAMPLE GAGrouper is a simple Java program written to demonstrate the aforementioned grouping algorithm. The program reads point location data from a text file and allows for user specification of population size, crossover probability, and mutation probability. In addition, a Plot Points function is provided, and the program s output may be saved to file. Figure 4 shows the program s main window. Once a data file is loaded, the right panel of the main window shows its contents; the left panel allows for selection of desired GA parameters. To visualize the relative positions of the points, a plot window may be generated, as shown in Figure 5. 4

FIGURE 4. GAGrouper main window. FIGURE 5. GAGrouper plot window. The data file and program GUI handle the tass specified in Steps and 2 of the algorithm. When the user presses Go!, the program generates a random initial population (Step 3) and opens a new run window, shown in Figure 6. This population then undergoes evolution as specified in Steps 4-0 until commanded to stop by the user. 5

The run window s left panel summarizes the current generation of the population, showing average and maximum fitness values for that generation. It is worth noting that because of the fixed K of Step 5, these fitness values simply provide a way to compare solutions within the same population; they cannot be used to compare solutions from different populations. The right panel of the run window shows the current best solution. The program is run until the maximum fitness value stabilizes, indicating the optimal solution found by the genetic algorithm. FIGURE 6. GAGrouper run window. Figures 4-6 all show GAGrouper being run on a test set of 40 points on the Cartesian plane, distributed in concentrations within each of the four quadrants and about the origin (Figure 5). The program was ased to group these points into 5 sets of 8 points each. Demonstrating the effectiveness of the grouping algorithm, the program was able to successfully determine that the optimal grouping scheme was one group in each quadrant and one group around the origin, as setched in Figure 7. FIGURE 7. Optimal grouping of a 40-point set as determined by GAGrouper. 6

FUTURE WORK AND CONCLUSIONS In their current form, the algorithm presented here and the program written to illustrate it wor only to group points -- a classification problem that a Kohonen networ would be equally capable of performing. However, the elegance of the genetic algorithm approach lies in its flexibility. Additional problem constraints can be handled simply by modifying the way in which the fitness of each chromosome is computed (Step 5). For instance, using the garbage collection example, a truc might be required to return to a transfer station after visiting a certain number of locations. This extra complexity could be modeled by including the distance from each point to the transfer location in the group distance index calculation of Step 5. Higher fitness values would thus be obtained from grouping schemes that minimize intra-point distances as well as distances to the transfer station. Overall, the genetic algorithm approach has proven to be successful at the basic tas of grouping points by vicinity, as evidenced by GAGrouper. In addition, its flexibility gives it the potential to be employed in more complex situations. REFERENCES. T. Kohonen, The Self-Organizing Map, Proceedings of the Institute of Electrical and Electronics Engineers, Vol. 78, pp. 464-480, 990. 2. L. Davis, Applying Adaptive Algorithms to Epistatic Domains, Proceedings of the International Joint Conference on Artificial Intelligence, pp. 62-64, 985. BIOGRAPHICAL INFORMATION SIRIPONG MALASRI is professor and dean of engineering at Christian Brothers University. He has taught AI-related courses for the university s Engineering Management Graduate Program and the Electrical & Computer Engineering Department. He earned his PhD in civil engineering from Texas A&M University and is a registered professional engineer in Tennessee and Florida. He can be reached at pong@cbu.edu. KRIANGSIRI MALASRI is currently a senior in aerospace engineering at the Georgia Institute of Technology. His experience with artificial intelligence has included writing several Java programs that demonstrate neural networs and genetic algorithms. He plans to pursue graduate studies at Georgia Tech, specializing in computing-intensive aerospace fields such as control systems and simulation. He can be reached at gte985m@mail.gatech.edu. 7