Using Genetic Algorithms to Solve the Box Stacking Problem
|
|
- Brett Holmes
- 6 years ago
- Views:
Transcription
1 Using Genetic Algorithms to Solve the Box Stacking Problem Jenniffer Estrada, Kris Lee, Ryan Edgar October 7th, 2010 Abstract The box stacking or strip stacking problem is exceedingly difficult to solve using conventional methods due to the size of the solution space. An alternative to conventional methods is to use a genetic algorithm. Genetic algorithms search the solution space using the concepts of evolution. The core of the problem relies on how the boxes are stacked. In this problem, a left to right bottom up minimum stacking algorithm was implemented. Using this algorithm with a sequential cross-over and mutation functions yielded good results. For a known object set the algorithm obtained the best stacking of objects. The effect of different parameter values on the obtained solution was also explored. The parameters were varied individually and included the probability of cross-over and mutation, population size and terminating condition. In the end, the algorithm obtained the best results by using the ideal for each of the four parameters that were varied. Introduction A genetic algorithm is a type of search algorithm that emulates the process of natural selection. In general, a genetic algorithm will begin with an initial population and, from this base population, generate a new population from the individuals from the initial population which had the best fitness. Genetic algorithms emulate reproduction and evolutionary mutation. For reproduction, a crossover technique is used in which the genotype of two parent individuals is combined to obtain two new individuals which are included in the population. Mutation, as in evolution, acts on the genotype of a single individual and creates a new genotype which replaces the original in the population. The mission of crossover and mutation is to introduce variations into the population which can be evaluated in hopes of finding the best individual. This process is repeated until a terminating condition is meet. Quite often, these algorithms prove to be useful for optimization or classification problems. Problem Statement One application of genetic algorithms is solving a box stacking or container loading problem. In this problem set, there is a set of objects which must be packed into a given space, or container. The objective is to find the optimum loading such that all the objects fit and occupy the least amount of space. In some situations the stipulation is that the objects must fit into a given space. In others the objective might be to load as many objects as possible. And in yet other formulations of the problem the mission is to find an arrangement that must use all the objects and occupies the least amount of space. This final variation is the one which is to be examined in more detail. The problem states that there is a set of predefined fixed rectangular objects which must be stacked in a strip. The 1
2 strip is two dimensional and has a fixed width. The height of the strip is allowed to go to infinity or has high as the stacking requires. Thus, the objective is to minimize the height of the strip. This variation of the container loading problem was solved using the Genetic Algorithm MATLAB toolbox. Genetic Algorithm Implementation The Genetic Algorithms Toolbox in MATLAB was developed by Prof. Michael G. Kay at North Carolina State University and is available to the public. The toolbox contains a variety of concepts used in genetic algorithms and several demonstration scripts. A combination of altered scripts from Kay s toolbox and our own implementations of certain aspects of genetic algorithms were used to address the two dimensional stacking problem. The alterations were used to address conflicts that arose from the specific constraints of the 2-D packing problem, such as cross-over when two elements cannot be repeated. Representing an Individual Individuals are represented using a string of alternating indexes and boolean rotation values. The indexes are into the static list of objects. The boolean rotation values indicate whether the object should be stacked as is, a value of zero, or rotated 90 degrees, a value of one. An individual is therefore composed of an array of 2 N where N is the number of objects. The array below is an individual in which there are five objects to be stacked. Population Initialization {1, 0, 3, 0, 5, 1, 2, 1, 4, 0} Given a population size P and a number of objects N, we generate a population of P individuals, each of who will be a 2 N row vector. This is done by taking the list S = {1,..., N} and randomly choosing a value, say m, and then randomly choosing either a 1 or a 0, say 1. This indicates the the first object in our individual is the mth object from the original list and it has been rotated by 90 degrees. This process is repeated until S is empty. Once S is empty, we have our first individual, hence we repeat this process to generate P 1 more individuals. For an example of an output, if we have 5 objects and want to generate a population of size 5, running the code yields: {5, 0, 3, 0, 4, 1, 1, 0, 2, 0} {4, 1, 5, 1, 1, 0, 3, 1, 2, 1} {1, 0, 5, 0, 2, 0, 3, 1, 4, 0} {1, 1, 3, 1, 4, 0, 5, 1, 2, 1} {5, 0, 3, 0, 4, 1, 2, 0, 1, 0} Fitness Function For an individual, we will use the amount of empty space left after packing as a means of determining our fitness. By empty space, we mean the amount of area that is not occupied by an object after packing. Note that if there is no empty space, this means that the objects were packed 2
3 perfectly into the strip. However, there are collection of objects such that, no matter how they are packed into the strip, will never yield an empty space of zero. For example, if we have N objects where the first N 1 objects perfectly pack into the square 20 20, then we will always have a positive empty space value for any orderings or rotations of the objects. To compute the empty space value of a given individual, we calculate STRIP WIDTH h - LEAST AREA where STRIP WIDTH is a global variable that contains the width of the strip we are placing the objects, LEAST AREA is a global variable that contains the sum of the areas of the objects we are packing, and h is the height of the tallest point of the objects after they have been packed. Hence, to calculate the amount of empty space, we need to devise a method to calculate h. In order to calculate h, we need to pack the objects as they are listed in the individual. We will pack objects by first placing the first object in the bottom left corner of the strip. Then we place objects to the right of each other until we can place no more objects in the strip. To recap, our first step is to as place as many objects as possible next to each other on the bottom of the strip. We then search for the minimum height of the packed objects and stack as many objects next to each other on top of this minimum height. If we could not pack anything into the space, we increment the minimum height by one, thus giving us either the same minimum or a new one. After this, we search for the minimum height again and repeat. This is repeated until either we run out of objects, or the minimum height is the same as the maximum height. In the event that the minimum matches the maximum, this means that either we have completely packed the area with objects or the current object cannot be place in between any of the objects that have already been packed. Thus, we pack objects next to each starting from the left side of the strip at the tallest point of the already packed objects. This process is carried out until there are no more objects to pack. During this process, we keep track of the tallest point of the already packed objects. Hence, once the process has ended, we will have calculated our h. Now that we have calculated our h, we can calculate the empty space of a given individual. Since the Genetic Algorithm Toolbox is designed to find a maximum of a fitness function, we cannot just use the empty space of an individual. This is because the smaller the empty space, the better we have packed the objects. In order to correct for this, we need to find a value from which we can subtract the empty space of an individual. Hence, if this difference maximizes, then it must be that the empty space of the individual minimized. The value we will use is what we will call the worst empty space. This value represents the empty space left by packing the object on top of each other, rotated so that their height is greater than or equal to their width, starting from the bottom left corner. We calculate this value by evaluating STRIP WIDTH WORST HEIGHT- LEAST AREA, where WORST HEIGHT is a global variable that contains the sum of the heights of the objects, after they have been rotated so that their height is greater than or equal to their width. Using this value, we can now define our fitness function for an individual: f(individual) = STRIP WIDTH WORST HEIGHT LEAST AREA (STRIP WIDTH h LEAST AREA) = STRIP WIDTH (WORST HEIGHT h). Thus, to calculate the fitness of an individual, we need only compute WORST HEIGHT and h. 3
4 For an example of how this entire process is carried out, suppose that we have the following objects {2, 4} {3, 2} {1, 2} {2, 3} and are trying to pack these objects as best we can in a strip that had a width of 5. In other words, STRIP WIDTH = 5. Moreover, note that WORST HEIGHT = = 12. We will find the fitness of the individual {1, 0, 3, 1, 2, 0, 4, 1}. Note that this individual says to pack the objects in the following order: the first object, the third object rotated by 90 degrees, the second object, and the fourth object rotated by 90 degrees. We will now pack these four objects into our strip. To keep track of this process, we will represent the strip as a row vector of length 5 where the entries indicate the current height of the objects packed in the strip. We start out as follows: {0, 0, 0, 0, 0}. This represents the empty strip with no objects placed in it. The first object to be place is the first object with no rotation. We place this object in the bottom left corner. Upon doing so, our strip vector now looks like this: {4, 4, 0, 0, 0}. Next, we see if we can place next object in our individual next to this one. The next object to be place is the third object rotated by 90 degrees. This object has width 2 and height 1, so it does fit. Hence our strip vector is now: {4, 4, 1, 1, 0}. We have now reached the point where we can no longer put any objects in the strip. Thus, we need to search for the minimum height of the already packed objects and see if there is room to place the next object in our individual. We find that the minimum is 0 and we only have room for an object of width one. The next object we need to place is the second object, which has a width of 3. Thus, this object cannot fit, so we increment the height at the fifth entry of the strip vector: {4, 4, 1, 1, 1}. We do this to signify that that 1-by-1 area cannot be occupied by an object, i.e. it has already been packed.. In addition, this is done so that now when we search for the minimum height of the currently packed items, we will find either the same index or a different one. For example, when we now search for a minimum, we will find that it is 1 and that it first occurs at the third index of our strip vector. We see now that we can pack our next object, thus we update the strip vector: {4, 4, 3, 3, 3}. Note that we have packed our object to the edge of the strip, i.e. we cannot put the last object next to this one. Again, we find the minimum of the currently packed objects. We find that it is 3 and first occurs at the third index of our strip vector. The last object to pack is fourth object rotated by 90 degrees. It has width 3 and height 2, thus it can be packed into this location. Our strip vector now looks like this: {4, 4, 5, 5, 5}. 4
5 We have packed all of the object, thus we find the maximum of the strip vector, which is 5. This is our h value. We can now calculate the fitness of our individual: f ({1, 0, 3, 1, 2, 0, 4, 1}) = STRIP WIDTH (WORST HEIGHT h) Hence, the fitness value of our individual is 35. Selection = 5 (12 5) = 35. The selection was performed using a linear rank algorithm. This means the selection pressure can be provided as an input and from that a probability that each individual of the population is determined. The probability the i th individual is selected is given by α + β i where α and β are constants provided by the equations below. α = [ ] 2 N m (N+1) 2 N(N 1) 2(m 1) β = N(N 1) The individuals were ordered from least fit to most fit where the last individual is the most fit. Once ordered, a probability was assigned to each using the linear rank formula. Finally, individuals were selected using a strategy in which a random number R was selected from (0, 1) and if i 1 α + β j < R < j=1 i α + β j for i > 1 or 0 < R < α + β for i = 1 then the i th individual is selected. Cross-Over Since each individual is a sequence in which order matters the standard cross-over cannot be performed. When dealing with ordered sequences a sequential single point cross-over can be used. In this algorithm, a random location is chosen between 1 and N, where N is the number of objects. This location dictates the number of index-rotation pairs which are taken from the beginning of each parent and placed immediately in the corresponding child. The remainder of each child is filled using the elements from the other parent. This process is performed by starting at the beginning of the second parent and copying pairs on to the end of the child if and only if the pair does not already exist in the child. Example If a random location of 3 is chosen with N = 5 then the following will be the result for a cross-over between two parents, p 1 and p 2, generating two children, c 1 and c 2. j=1 p 1 = {1, 0, 3, 0, 5, 1, 2, 1, 4, 0} p 2 = {2, 1, 1, 1, 3, 0, 4, 1, 5, 0} c 1 = {1, 0, 3, 0, 5, 1, 2, 1, 4, 1} c 2 = {2, 1, 1, 1, 3, 0, 5, 1, 4, 0} 5
6 Mutation The mutation algorithm takes in as arguments the parent string and generates randomly an option of either interchanging two elements or flipping the orientation of one of the elements within the sequence. Example If an operation of swapping two object positions (Ops = 1) with N = 5, is randomly chosen, then the following will be the result of one parent, p 1, generating one mutation, m 1. p 1 = {1, 0, 3, 0, 5, 1, 2, 1, 4, 0} m 1 = {1, 0, 2, 0, 5, 1, 3, 1, 4, 0} It is clearly visible that the mutation has occurred, in the swapping of the second and fourth element in the parent p 1 to create m 1. The indexes ranging from 1 to N are references to a pair of dimensions corresponding to the length and width of the particular element, constrained to odd index values within the sequence. If an operation of flipping the orientation of one element (Ops = 2) within the sequence is chosen randomly with N = 5, then the following will be the one parent, p 1, and resulting mutation, m 1. p 1 = {1, 0, 3, 0, 5, 1, 2, 1, 4, 0} m 1 = {1, 0, 3, 1, 5, 1, 2, 1, 4, 0} The binary bit, representing the orientation is bounded to only take on even indexes within the range of 0 to N within the sequence, is randomly chosen. Suppose the orientation of the second element in the sequence is flipped, then the value of 0 is switched to 1, or vice-versa. The value of 0 corresponds to the original orientation of the object as it was initially entered into the program. The algorithm allows for only one orientation of exactly one element to be flipped per mutation. Terminating Condition Deciding when to terminate the genetic algorithm is based on two decision statements. The first being if an ideal solution is reached, and the second being if the maximum number of generations is reached. If the objects do not fit perfectly in the strip, meaning wasted space will never reach zero, the maximum number of generations decision is used to terminate. This introduces inefficiencies because there could be many generations performed in which the population changes little or not at all. Even with this defect it is one of the simpler terminating conditions in both theory and implementation. Alternately, it is possible to terminate upon receiving an ideal solution because in the cases where the objects will fit perfectly into the strip with a certain height the wasted space will be zero. This means that as the individuals approach zero the results are getting better and better. Testing Once the genetic algorithm was implemented, it was used to evaluate several sets of objects. The objects were stored in the files objects#.txt where # was 1 through 5. For each file, the algorithm 6
7 searched for the minimum height. During the testing several parameters were varied: population size (n), crossover probability (P c ), mutation probability (P m ) and maximum number of generations (g). Each of these parameters were varied separately from the others. This resulted in a decreased testing time. The fixed values for non-varying parameters were n = 20, P c =.5, P m =.5 and g = 200. During the testing for each parameter the following sets were used for testing. n { } P c { } P m { } g { } All results were stored in comma separated value files which were later combined into a single results file. A condensed version of this file is included at the end of the report. As a final test the best value for each parameter was selected and a trial for each object set was run using those parameter values. Set N P c P m g Height Instead of performing 20 trials of the genetic 2 trials were performed due to the extended execution time of the genetic algorithm with the specified parameters. Results When the parameters (population size, probability of cross-over and mutation, and the maximum number of generations) were individually manipulated, the genetic algorithm seems to have the solution centered over the maximum, although it does have a small spread. In order to clearly demonstrate the performance of the genetic algorithm, lets benchmark our implementation against a known solution with the first set. Knowing the optimum dimensions of the 20x11, the best packing height is 11. The mean and variance of the first set with varying parameters was calculated and shown in the table below: Table 1: Variable Manipulation for Set 1 Population Cross-Over Mutation Max. Generations Mean Variance Table 1 clearly shows that the parameter variations produce a solution within the neighborhood of the optimum height of 11, with a reasonably small variance. 7
8 Even when each parameter that resulted in the best solution was picked and the combination was tested together in one run, the algorithm didn t consistently find the optimum solution. The first set with all the parameters that found the optimum, did find the optimum height of 11. This was not the case for the other sets. For example, the second set found the optimum at 21 on the multiple trials varying parameters while the run in which all the parameters that individually resulted in the optimum combined, found the optimum at 22. Conclusion Due to the stochastic nature of the genetic algorithm, the search for the optimum result is strongly dependent on how many times the algorithm is ran and what answer is good enough. Computational time was significantly affected with certain parameters such as population size and maximum number of generations. In conclusion, the genetic algorithm has a trade-off of getting the best answer with a cost of resources, such as computational time or money. 8
Geometric Semantic Genetic Programming ~ Theory & Practice ~
Geometric Semantic Genetic Programming ~ Theory & Practice ~ Alberto Moraglio University of Exeter 25 April 2017 Poznan, Poland 2 Contents Evolutionary Algorithms & Genetic Programming Geometric Genetic
More informationMutations for Permutations
Mutations for Permutations Insert mutation: Pick two allele values at random Move the second to follow the first, shifting the rest along to accommodate Note: this preserves most of the order and adjacency
More informationGenetic Algorithms. Kang Zheng Karl Schober
Genetic Algorithms Kang Zheng Karl Schober Genetic algorithm What is Genetic algorithm? A genetic algorithm (or GA) is a search technique used in computing to find true or approximate solutions to optimization
More informationimplementing the breadth-first search algorithm implementing the depth-first search algorithm
Graph Traversals 1 Graph Traversals representing graphs adjacency matrices and adjacency lists 2 Implementing the Breadth-First and Depth-First Search Algorithms implementing the breadth-first search algorithm
More informationPlanning and Search. Genetic algorithms. Genetic algorithms 1
Planning and Search Genetic algorithms Genetic algorithms 1 Outline Genetic algorithms Representing states (individuals, or chromosomes) Genetic operations (mutation, crossover) Example Genetic algorithms
More informationCS5401 FS2015 Exam 1 Key
CS5401 FS2015 Exam 1 Key This is a closed-book, closed-notes exam. The only items you are allowed to use are writing implements. Mark each sheet of paper you use with your name and the string cs5401fs2015
More informationMATLAB Based Optimization Techniques and Parallel Computing
MATLAB Based Optimization Techniques and Parallel Computing Bratislava June 4, 2009 2009 The MathWorks, Inc. Jörg-M. Sautter Application Engineer The MathWorks Agenda Introduction Local and Smooth Optimization
More informationCHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES
CHAPTER 6 HYBRID AI BASED IMAGE CLASSIFICATION TECHNIQUES 6.1 INTRODUCTION The exploration of applications of ANN for image classification has yielded satisfactory results. But, the scope for improving
More informationMulti-objective Optimization
Some introductory figures from : Deb Kalyanmoy, Multi-Objective Optimization using Evolutionary Algorithms, Wiley 2001 Multi-objective Optimization Implementation of Constrained GA Based on NSGA-II Optimization
More informationSuppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you?
Gurjit Randhawa Suppose you have a problem You don t know how to solve it What can you do? Can you use a computer to somehow find a solution for you? This would be nice! Can it be done? A blind generate
More informationMarch 19, Heuristics for Optimization. Outline. Problem formulation. Genetic algorithms
Olga Galinina olga.galinina@tut.fi ELT-53656 Network Analysis and Dimensioning II Department of Electronics and Communications Engineering Tampere University of Technology, Tampere, Finland March 19, 2014
More information/633 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/27/17
01.433/33 Introduction to Algorithms Lecturer: Michael Dinitz Topic: Priority Queues / Heaps Date: 9/2/1.1 Introduction In this lecture we ll talk about a useful abstraction, priority queues, which are
More informationThe Genetic Algorithm for finding the maxima of single-variable functions
Research Inventy: International Journal Of Engineering And Science Vol.4, Issue 3(March 2014), PP 46-54 Issn (e): 2278-4721, Issn (p):2319-6483, www.researchinventy.com The Genetic Algorithm for finding
More informationNeural Network Weight Selection Using Genetic Algorithms
Neural Network Weight Selection Using Genetic Algorithms David Montana presented by: Carl Fink, Hongyi Chen, Jack Cheng, Xinglong Li, Bruce Lin, Chongjie Zhang April 12, 2005 1 Neural Networks Neural networks
More informationA Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices
A Genetic Algorithm Applied to Graph Problems Involving Subsets of Vertices Yaser Alkhalifah Roger L. Wainwright Department of Mathematical Department of Mathematical and Computer Sciences and Computer
More informationChapter 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 informationLiterature Review On Implementing Binary Knapsack problem
Literature Review On Implementing Binary Knapsack problem Ms. Niyati Raj, Prof. Jahnavi Vitthalpura PG student Department of Information Technology, L.D. College of Engineering, Ahmedabad, India Assistant
More informationEscaping 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 informationGENETIC ALGORITHM with Hands-On exercise
GENETIC ALGORITHM with Hands-On exercise Adopted From Lecture by Michael Negnevitsky, Electrical Engineering & Computer Science University of Tasmania 1 Objective To understand the processes ie. GAs Basic
More informationARTIFICIAL 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 informationProblem Set 6 Solutions
Introduction to Algorithms October 29, 2001 Massachusetts Institute of Technology 6.046J/18.410J Singapore-MIT Alliance SMA5503 Professors Erik Demaine, Lee Wee Sun, and Charles E. Leiserson Handout 24
More informationA Genetic Algorithm for Minimum Tetrahedralization of a Convex Polyhedron
A Genetic Algorithm for Minimum Tetrahedralization of a Convex Polyhedron Kiat-Choong Chen Ian Hsieh Cao An Wang Abstract A minimum tetrahedralization of a convex polyhedron is a partition of the convex
More informationChapter 15 Introduction to Linear Programming
Chapter 15 Introduction to Linear Programming An Introduction to Optimization Spring, 2015 Wei-Ta Chu 1 Brief History of Linear Programming The goal of linear programming is to determine the values of
More informationCatalan Numbers. Table 1: Balanced Parentheses
Catalan Numbers Tom Davis tomrdavis@earthlink.net http://www.geometer.org/mathcircles November, 00 We begin with a set of problems that will be shown to be completely equivalent. The solution to each problem
More informationGenetic Algorithms for Vision and Pattern Recognition
Genetic Algorithms for Vision and Pattern Recognition Faiz Ul Wahab 11/8/2014 1 Objective To solve for optimization of computer vision problems using genetic algorithms 11/8/2014 2 Timeline Problem: Computer
More informationEVOLVING LEGO. Exploring the impact of alternative encodings on the performance of evolutionary algorithms. 1. Introduction
N. Gu, S. Watanabe, H. Erhan, M. Hank Haeusler, W. Huang, R. Sosa (eds.), Rethinking Comprehensive Design: Speculative Counterculture, Proceedings of the 19th International Conference on Computer- Aided
More informationLecture 6: Genetic Algorithm. An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved
Lecture 6: Genetic Algorithm An Introduction to Meta-Heuristics, Produced by Qiangfu Zhao (Since 2012), All rights reserved Lec06/1 Search and optimization again Given a problem, the set of all possible
More information1 Probability Review. CS 124 Section #8 Hashing, Skip Lists 3/20/17. Expectation (weighted average): the expectation of a random quantity X is:
CS 124 Section #8 Hashing, Skip Lists 3/20/17 1 Probability Review Expectation (weighted average): the expectation of a random quantity X is: x= x P (X = x) For each value x that X can take on, we look
More informationAdaptive Crossover in Genetic Algorithms Using Statistics Mechanism
in Artificial Life VIII, Standish, Abbass, Bedau (eds)(mit Press) 2002. pp 182 185 1 Adaptive Crossover in Genetic Algorithms Using Statistics Mechanism Shengxiang Yang Department of Mathematics and Computer
More informationIntroduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell
Introduction to Genetic Algorithms Based on Chapter 10 of Marsland Chapter 9 of Mitchell Genetic Algorithms - History Pioneered by John Holland in the 1970s Became popular in the late 1980s Based on ideas
More informationReview: Final Exam CPSC Artificial Intelligence Michael M. Richter
Review: Final Exam Model for a Learning Step Learner initially Environm ent Teacher Compare s pe c ia l Information Control Correct Learning criteria Feedback changed Learner after Learning Learning by
More information3.6.2 Generating admissible heuristics from relaxed problems
3.6.2 Generating admissible heuristics from relaxed problems To come up with heuristic functions one can study relaxed problems from which some restrictions of the original problem have been removed The
More informationGenetic programming. Lecture Genetic Programming. LISP as a GP language. LISP structure. S-expressions
Genetic programming Lecture Genetic Programming CIS 412 Artificial Intelligence Umass, Dartmouth One of the central problems in computer science is how to make computers solve problems without being explicitly
More informationGenetic Algorithms. Genetic Algorithms
A biological analogy for optimization problems Bit encoding, models as strings Reproduction and mutation -> natural selection Pseudo-code for a simple genetic algorithm The goal of genetic algorithms (GA):
More informationEvolutionary Algorithms
Evolutionary Algorithms Proposal for a programming project for INF431, Spring 2014 version 14-02-19+23:09 Benjamin Doerr, LIX, Ecole Polytechnique Difficulty * *** 1 Synopsis This project deals with the
More informationGenetic Algorithms. PHY 604: Computational Methods in Physics and Astrophysics II
Genetic Algorithms Genetic Algorithms Iterative method for doing optimization Inspiration from biology General idea (see Pang or Wikipedia for more details): Create a collection of organisms/individuals
More informationA New Selection Operator - CSM in Genetic Algorithms for Solving the TSP
A New Selection Operator - CSM in Genetic Algorithms for Solving the TSP Wael Raef Alkhayri Fahed Al duwairi High School Aljabereyah, Kuwait Suhail Sami Owais Applied Science Private University Amman,
More informationNetwork Routing Protocol using Genetic Algorithms
International Journal of Electrical & Computer Sciences IJECS-IJENS Vol:0 No:02 40 Network Routing Protocol using Genetic Algorithms Gihan Nagib and Wahied G. Ali Abstract This paper aims to develop a
More informationRegression Test Case Prioritization using Genetic Algorithm
9International Journal of Current Trends in Engineering & Research (IJCTER) e-issn 2455 1392 Volume 2 Issue 8, August 2016 pp. 9 16 Scientific Journal Impact Factor : 3.468 http://www.ijcter.com Regression
More informationBulgarian Math Olympiads with a Challenge Twist
Bulgarian Math Olympiads with a Challenge Twist by Zvezdelina Stankova Berkeley Math Circle Beginners Group September 0, 03 Tasks throughout this session. Harder versions of problems from last time appear
More information4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING
4.1 COMPUTATIONAL THINKING AND PROBLEM-SOLVING 4.1.2 ALGORITHMS ALGORITHM An Algorithm is a procedure or formula for solving a problem. It is a step-by-step set of operations to be performed. It is almost
More informationJob 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 informationEvolutionary Linkage Creation between Information Sources in P2P Networks
Noname manuscript No. (will be inserted by the editor) Evolutionary Linkage Creation between Information Sources in P2P Networks Kei Ohnishi Mario Köppen Kaori Yoshida Received: date / Accepted: date Abstract
More informationTwo Efficient Algorithms for VLSI Floorplanning. Chris Holmes Peter Sassone
Two Efficient Algorithms for VLSI Floorplanning Chris Holmes Peter Sassone ECE 8823A July 26, 2002 1 Table of Contents 1. Introduction 2. Traditional Annealing 3. Enhanced Annealing 4. Contiguous Placement
More informationUninformed 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 informationMidterm 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 informationSpring 2007 Midterm Exam
15-381 Spring 2007 Midterm Exam Spring 2007 March 8 Name: Andrew ID: This is an open-book, open-notes examination. You have 80 minutes to complete this examination. Unless explicitly requested, we do not
More informationCHAPTER 6 REAL-VALUED GENETIC ALGORITHMS
CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS 6.1 Introduction Gradient-based algorithms have some weaknesses relative to engineering optimization. Specifically, it is difficult to use gradient-based algorithms
More informationA 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 informationNetwork Reconfiguration for Loss Reduction in Electrical Distribution System Using Genetic Algorithm
Network Reconfiguration for Loss Reduction in Electrical Distribution System Using Genetic Algorithm S. A. Nagy*, I. S. Ibrahim, M. K. Ahmed*, A. S. Adail and S. Soliman Hot Labs Center, Atomic Energy
More informationBalanced Binary Search Trees. Victor Gao
Balanced Binary Search Trees Victor Gao OUTLINE Binary Heap Revisited BST Revisited Balanced Binary Search Trees Rotation Treap Splay Tree BINARY HEAP: REVIEW A binary heap is a complete binary tree such
More informationChapter 4: Trees. 4.2 For node B :
Chapter : Trees. (a) A. (b) G, H, I, L, M, and K.. For node B : (a) A. (b) D and E. (c) C. (d). (e).... There are N nodes. Each node has two pointers, so there are N pointers. Each node but the root has
More informationAutomata Construct with Genetic Algorithm
Automata Construct with Genetic Algorithm Vít Fábera Department of Informatics and Telecommunication, Faculty of Transportation Sciences, Czech Technical University, Konviktská 2, Praha, Czech Republic,
More information6.001 Notes: Section 6.1
6.001 Notes: Section 6.1 Slide 6.1.1 When we first starting talking about Scheme expressions, you may recall we said that (almost) every Scheme expression had three components, a syntax (legal ways of
More informationOVERVIEW & RECAP COLE OTT MILESTONE WRITEUP GENERALIZABLE IMAGE ANALOGIES FOCUS
COLE OTT MILESTONE WRITEUP GENERALIZABLE IMAGE ANALOGIES OVERVIEW & RECAP FOCUS The goal of my project is to use existing image analogies research in order to learn filters between images. SIMPLIFYING
More informationTopological Machining Fixture Layout Synthesis Using Genetic Algorithms
Topological Machining Fixture Layout Synthesis Using Genetic Algorithms Necmettin Kaya Uludag University, Mechanical Eng. Department, Bursa, Turkey Ferruh Öztürk Uludag University, Mechanical Eng. Department,
More informationEvolutionary Computation Algorithms for Cryptanalysis: A Study
Evolutionary Computation Algorithms for Cryptanalysis: A Study Poonam Garg Information Technology and Management Dept. Institute of Management Technology Ghaziabad, India pgarg@imt.edu Abstract The cryptanalysis
More informationFINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 ( Marks: 1 ) - Please choose one The data of the problem is of 2GB and the hard
FINALTERM EXAMINATION Fall 2009 CS301- Data Structures Question No: 1 The data of the problem is of 2GB and the hard disk is of 1GB capacity, to solve this problem we should Use better data structures
More informationLecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays)
Lecture 2 Arrays, Searching and Sorting (Arrays, multi-dimensional Arrays) In this lecture, you will: Learn about arrays Explore how to declare and manipulate data into arrays Understand the meaning of
More informationGenetic Algorithms Variations and Implementation Issues
Genetic Algorithms Variations and Implementation Issues CS 431 Advanced Topics in AI Classic Genetic Algorithms GAs as proposed by Holland had the following properties: Randomly generated population Binary
More informationCS301 - Data Structures Glossary By
CS301 - Data Structures Glossary By Abstract Data Type : A set of data values and associated operations that are precisely specified independent of any particular implementation. Also known as ADT Algorithm
More informationTraffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization
Traffic Signal Control Based On Fuzzy Artificial Neural Networks With Particle Swarm Optimization J.Venkatesh 1, B.Chiranjeevulu 2 1 PG Student, Dept. of ECE, Viswanadha Institute of Technology And Management,
More informationGENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM
Journal of Al-Nahrain University Vol.10(2), December, 2007, pp.172-177 Science GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM * Azhar W. Hammad, ** Dr. Ban N. Thannoon Al-Nahrain
More informationSIMULATION APPROACH OF CUTTING TOOL MOVEMENT USING ARTIFICIAL INTELLIGENCE METHOD
Journal of Engineering Science and Technology Special Issue on 4th International Technical Conference 2014, June (2015) 35-44 School of Engineering, Taylor s University SIMULATION APPROACH OF CUTTING TOOL
More informationGenetic Algorithm for Seismic Velocity Picking
Proceedings of International Joint Conference on Neural Networks, Dallas, Texas, USA, August 4-9, 2013 Genetic Algorithm for Seismic Velocity Picking Kou-Yuan Huang, Kai-Ju Chen, and Jia-Rong Yang Abstract
More informationGenetic Algorithms. Chapter 3
Chapter 3 1 Contents of this Chapter 2 Introductory example. Representation of individuals: Binary, integer, real-valued, and permutation. Mutation operator. Mutation for binary, integer, real-valued,
More information5. 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 informationAlgorithm Design (4) Metaheuristics
Algorithm Design (4) Metaheuristics Takashi Chikayama School of Engineering The University of Tokyo Formalization of Constraint Optimization Minimize (or maximize) the objective function f(x 0,, x n )
More informationIntroduction. A very important step in physical design cycle. It is the process of arranging a set of modules on the layout surface.
Placement Introduction A very important step in physical design cycle. A poor placement requires larger area. Also results in performance degradation. It is the process of arranging a set of modules on
More informationOptimization of Noisy Fitness Functions by means of Genetic Algorithms using History of Search with Test of Estimation
Optimization of Noisy Fitness Functions by means of Genetic Algorithms using History of Search with Test of Estimation Yasuhito Sano and Hajime Kita 2 Interdisciplinary Graduate School of Science and Engineering,
More informationISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length
SOFTWARE PRACTICE AND EXPERIENCE, VOL. 23(11), 1267 1283 (NOVEMBER 1993) ISA[k] Trees: a Class of Binary Search Trees with Minimal or Near Minimal Internal Path Length faris n. abuali and roger l. wainwright
More informationHow Santa Fe Ants Evolve
How Santa Fe Ants Evolve Dominic Wilson, Devinder Kaur, Abstract The Santa Fe Ant model problem has been extensively used to investigate, test and evaluate evolutionary computing systems and methods over
More informationClassification of Optimization Problems and the Place of Calculus of Variations in it
Lecture 1 Classification of Optimization Problems and the Place of Calculus of Variations in it ME256 Indian Institute of Science G. K. Ananthasuresh Professor, Mechanical Engineering, Indian Institute
More informationEvolutionary Computation
Evolutionary Computation Lecture 9 Mul+- Objec+ve Evolu+onary Algorithms 1 Multi-objective optimization problem: minimize F(X) = ( f 1 (x),..., f m (x)) The objective functions may be conflicting or incommensurable.
More informationParallelizing SAT Solver With specific application on solving Sudoku Puzzles
6.338 Applied Parallel Computing Final Report Parallelizing SAT Solver With specific application on solving Sudoku Puzzles Hank Huang May 13, 2009 This project was focused on parallelizing a SAT solver
More informationHybridization EVOLUTIONARY COMPUTING. Reasons for Hybridization - 1. Naming. Reasons for Hybridization - 3. Reasons for Hybridization - 2
Hybridization EVOLUTIONARY COMPUTING Hybrid Evolutionary Algorithms hybridization of an EA with local search techniques (commonly called memetic algorithms) EA+LS=MA constructive heuristics exact methods
More informationMultiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover
Multiobjective Job-Shop Scheduling With Genetic Algorithms Using a New Representation and Standard Uniform Crossover J. Garen 1 1. Department of Economics, University of Osnabrück, Katharinenstraße 3,
More informationAdvanced Search Genetic algorithm
Advanced Search Genetic algorithm Yingyu Liang yliang@cs.wisc.edu Computer Sciences Department University of Wisconsin, Madison [Based on slides from Jerry Zhu, Andrew Moore http://www.cs.cmu.edu/~awm/tutorials
More informationThe Binary Genetic Algorithm. Universidad de los Andes-CODENSA
The Binary Genetic Algorithm Universidad de los Andes-CODENSA 1. Genetic Algorithms: Natural Selection on a Computer Figure 1 shows the analogy between biological i l evolution and a binary GA. Both start
More informationIntroduction 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 informationSubset sum problem and dynamic programming
Lecture Notes: Dynamic programming We will discuss the subset sum problem (introduced last time), and introduce the main idea of dynamic programming. We illustrate it further using a variant of the so-called
More informationLet the dynamic table support the operations TABLE-INSERT and TABLE-DELETE It is convenient to use the load factor ( )
17.4 Dynamic tables Let us now study the problem of dynamically expanding and contracting a table We show that the amortized cost of insertion/ deletion is only (1) Though the actual cost of an operation
More informationEncoding Techniques in Genetic Algorithms
Encoding Techniques in Genetic Algorithms Debasis Samanta Indian Institute of Technology Kharagpur dsamanta@iitkgp.ac.in 01.03.2016 Debasis Samanta (IIT Kharagpur) Soft Computing Applications 01.03.2016
More informationOptimization Methods in Management Science
Problem Set Rules: Optimization Methods in Management Science MIT 15.053, Spring 2013 Problem Set 6, Due: Thursday April 11th, 2013 1. Each student should hand in an individual problem set. 2. Discussing
More informationEvolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague.
Evolutionary Algorithms: Lecture 4 Jiří Kubaĺık Department of Cybernetics, CTU Prague http://labe.felk.cvut.cz/~posik/xe33scp/ pmulti-objective Optimization :: Many real-world problems involve multiple
More informationIntroduction to Optimization
Introduction to Optimization Approximation Algorithms and Heuristics November 6, 2015 École Centrale Paris, Châtenay-Malabry, France Dimo Brockhoff INRIA Lille Nord Europe 2 Exercise: The Knapsack Problem
More informationIntroduction to Genetic Algorithms
Advanced Topics in Image Analysis and Machine Learning Introduction to Genetic Algorithms Week 3 Faculty of Information Science and Engineering Ritsumeikan University Today s class outline Genetic Algorithms
More informationCOUPLING TRNSYS AND MATLAB FOR GENETIC ALGORITHM OPTIMIZATION IN SUSTAINABLE BUILDING DESIGN
COUPLING TRNSYS AND MATLAB FOR GENETIC ALGORITHM OPTIMIZATION IN SUSTAINABLE BUILDING DESIGN Marcus Jones Vienna University of Technology, Vienna, Austria ABSTRACT Incorporating energy efficient features
More informationMassively Parallel Approximation Algorithms for the Knapsack Problem
Massively Parallel Approximation Algorithms for the Knapsack Problem Zhenkuang He Rochester Institute of Technology Department of Computer Science zxh3909@g.rit.edu Committee: Chair: Prof. Alan Kaminsky
More informationAIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS
AIRFOIL SHAPE OPTIMIZATION USING EVOLUTIONARY ALGORITHMS Emre Alpman Graduate Research Assistant Aerospace Engineering Department Pennstate University University Park, PA, 6802 Abstract A new methodology
More informationLecture 4. Convexity Robust cost functions Optimizing non-convex functions. 3B1B Optimization Michaelmas 2017 A. Zisserman
Lecture 4 3B1B Optimization Michaelmas 2017 A. Zisserman Convexity Robust cost functions Optimizing non-convex functions grid search branch and bound simulated annealing evolutionary optimization The Optimization
More informationUNIT 4 Branch and Bound
UNIT 4 Branch and Bound General method: Branch and Bound is another method to systematically search a solution space. Just like backtracking, we will use bounding functions to avoid generating subtrees
More informationPractical 4: The Integrate & Fire neuron
Practical 4: The Integrate & Fire neuron 2014 version by Mark van Rossum 2018 version by Matthias Hennig and Theoklitos Amvrosiadis 16th October 2018 1 Introduction to MATLAB basics You can start MATLAB
More informationECE 242 Data Structures and Algorithms. Trees IV. Lecture 21. Prof.
ECE 22 Data Structures and Algorithms http://www.ecs.umass.edu/~polizzi/teaching/ece22/ Trees IV Lecture 2 Prof. Eric Polizzi Summary previous lectures Implementations BST 5 5 7 null 8 null null 7 null
More informationMidterm 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 information1. Introduction. 2. Motivation and Problem Definition. Volume 8 Issue 2, February Susmita Mohapatra
Pattern Recall Analysis of the Hopfield Neural Network with a Genetic Algorithm Susmita Mohapatra Department of Computer Science, Utkal University, India Abstract: This paper is focused on the implementation
More informationAn Evolutionary Approximation to Contrastive Divergence in Convolutional Restricted Boltzmann Machines
Wright State University CORE Scholar Browse all Theses and Dissertations Theses and Dissertations 2014 An Evolutionary Approximation to Contrastive Divergence in Convolutional Restricted Boltzmann Machines
More informationIntroduction to Homogeneous coordinates
Last class we considered smooth translations and rotations of the camera coordinate system and the resulting motions of points in the image projection plane. These two transformations were expressed mathematically
More informationA Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2
Chapter 5 A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2 Graph Matching has attracted the exploration of applying new computing paradigms because of the large number of applications
More information2. A Bernoulli distribution has the following likelihood function for a data set D: N 1 N 1 + N 0
Machine Learning Fall 2015 Homework 1 Homework must be submitted electronically following the instructions on the course homepage. Make sure to explain you reasoning or show your derivations. Except for
More information