HeuristicLab 3.0 Modeling EAs.

Slides:



Advertisements
Similar presentations
Algorithm Design Techniques
Advertisements

Semantics Static semantics Dynamic semantics attribute grammars
Biologically Inspired Computing: Operators for Evolutionary Algorithms
Templates in C++. Generic Programming Programming/developing algorithms with the abstraction of types The uses of the abstract type define the necessary.
CS6800 Advanced Theory of Computation
Tuesday, May 14 Genetic Algorithms Handouts: Lecture Notes Question: when should there be an additional review session?
1 Wendy Williams Metaheuristic Algorithms Genetic Algorithms: A Tutorial “Genetic Algorithms are good at taking large, potentially huge search spaces and.
Tabu Search for Model Selection in Multiple Regression Zvi Drezner California State University Fullerton.
Feature Selection for Regression Problems
Evolutionary Algorithms Simon M. Lucas. The basic idea Initialise a random population of individuals repeat { evaluate select vary (e.g. mutate or crossover)
Chapter 10: Algorithm Design Techniques
Intro to AI Genetic Algorithm Ruth Bergman Fall 2002.
Genetic Algorithm What is a genetic algorithm? “Genetic Algorithms are defined as global optimization procedures that use an analogy of genetic evolution.
Genetic Programming.
Slides are based on Negnevitsky, Pearson Education, Lecture 10 Evolutionary Computation: Evolution strategies and genetic programming n Evolution.
Genetic Algorithms: A Tutorial
HOW TO SOLVE IT? Algorithms. An Algorithm An algorithm is any well-defined (computational) procedure that takes some value, or set of values, as input.
Genetic Algorithm.
Genetic Algorithms and Ant Colony Optimisation
Evolutionary Intelligence
Chapter 6: User-Defined Functions I Instructor: Mohammad Mojaddam
Problems Premature Convergence Lack of genetic diversity Selection noise or variance Destructive effects of genetic operators Cloning Introns and Bloat.
SOFT COMPUTING (Optimization Techniques using GA) Dr. N.Uma Maheswari Professor/CSE PSNA CET.
1 Semantic Analysis Aaron Bloomfield CS 415 Fall 2005.
Ch.12 Machine Learning Genetic Algorithm Dr. Bernard Chen Ph.D. University of Central Arkansas Spring 2011.
Zorica Stanimirović Faculty of Mathematics, University of Belgrade
Chapter 7 Handling Constraints
More on Heuristics Genetic Algorithms (GA) Terminology Chromosome –candidate solution - {x 1, x 2,...., x n } Gene –variable - x j Allele –numerical.
Introduction to GAs: Genetic Algorithms How to apply GAs to SNA? Thank you for all pictures and information referred.
Applying Genetic Algorithm to the Knapsack Problem Qi Su ECE 539 Spring 2001 Course Project.
1 “Genetic Algorithms are good at taking large, potentially huge search spaces and navigating them, looking for optimal combinations of things, solutions.
Derivative Free Optimization G.Anuradha. Contents Genetic Algorithm Simulated Annealing Random search method Downhill simplex method.
A New Evolutionary Approach for the Optimal Communication Spanning Tree Problem Sang-Moon Soak Speaker: 洪嘉涓、陳麗徽、李振宇、黃怡靜.
 Negnevitsky, Pearson Education, Lecture 9 Evolutionary Computation: Genetic algorithms n Introduction, or can evolution be intelligent? n Simulation.
5-1 Structured COBOL Programming Nancy Stern Hofstra University Robert A. Stern Nassau Community College James P. Ley University of Wisconsin-Stout John.
1 Genetic Algorithms and Ant Colony Optimisation.
Edge Assembly Crossover
Genetic Algorithms What is a GA Terms and definitions Basic algorithm.
Probabilistic Algorithms Evolutionary Algorithms Simulated Annealing.
ALGORITHMS.
Computer Game Design ActionScript is… Object-oriented programming Everything you do in ActionScript does something to some object* Some objects.
Waqas Haider Bangyal 1. Evolutionary computing algorithms are very common and used by many researchers in their research to solve the optimization problems.
HeuristicLab 3.0 Overview. Motivation genericity – no focus on any particular heuristic optimization paradigm – suitable for any kind of algorithm – suitable.
Biologically Inspired Computing: Evolutionary Algorithms: Some Details and Examples This is additional material for lecture 2 of `Biologically Inspired.
Onlinedeeneislam.blogspot.com1 Design and Analysis of Algorithms Slide # 1 Download From
Gerstner Lab, CTU Prague 1Motivation Typically,  an evolutionary optimisation framework considers the EA to be used to evolve a population of candidate.
Genetic Algorithms. Underlying Concept  Charles Darwin outlined the principle of natural selection.  Natural Selection is the process by which evolution.
Genetic Algorithm Dr. Md. Al-amin Bhuiyan Professor, Dept. of CSE Jahangirnagar University.
Artificial Intelligence By Mr. Ejaz CIIT Sahiwal Evolutionary Computation.
Overview Last two weeks we looked at evolutionary algorithms.
1 Comparative Study of two Genetic Algorithms Based Task Allocation Models in Distributed Computing System Oğuzhan TAŞ 2005.
Genetic Algorithms. Solution Search in Problem Space.
EVOLUTIONARY SYSTEMS AND GENETIC ALGORITHMS NAME: AKSHITKUMAR PATEL STUDENT ID: GRAD POSITION PAPER.
Genetic Algorithm. Outline Motivation Genetic algorithms An illustrative example Hypothesis space search.
Genetic Algorithms and Evolutionary Programming A Brief Overview.
Hirophysics.com The Genetic Algorithm vs. Simulated Annealing Charles Barnes PHY 327.
Lesson #6 Modular Programming and Functions.
Bulgarian Academy of Sciences
Lesson #6 Modular Programming and Functions.
A Comparison of Simulated Annealing and Genetic Algorithm Approaches for Cultivation Model Identification Olympia Roeva.
School of Computer Science & Engineering
Lesson #6 Modular Programming and Functions.
PROBLEM SOLVING SKILLS
`Biologically Inspired Computing’
Problem Solving and Algorithm Design
Lesson #6 Modular Programming and Functions.
This is additional material for week 2 of
Biologically Inspired Computing: Operators for Evolutionary Algorithms
Traveling Salesman Problem by Genetic Algorithm
Population Based Metaheuristics
Presentation transcript:

HeuristicLab 3.0 Modeling EAs

Modeling Algorithms what is an algorithm? 3 main aspects instructions sequence of execution result we have to model operators modifying data graphs of operators representing the sequence of execution "A finite set of unambiguous instructions performed in a prescribed sequence to achieve a goal, especially a mathematical rule or procedure used to compute a desired result. Algorithms are the basis for most computer programming." © The American Heritage Dictionary of the English Language

Modeling Algorithms scopes operators form an n-ary tree structure contain variables operators form a graph structure represent basic instructions of algorithms manipulate scopes (modify variables and/or sub-scopes) decide which operators are executed next

Modeling Algorithms basic operators EmptyOperator does nothing SequentialProcessor, ParallelProcessor executes its sub-operators on its scope SequentialSubScopesProcessor, ParallelSubScopesProcessor executes all its sub-operators on the corresponding sub-scopes UniformSequentialSubScopesProcessor, UniformParallelSubScopesProcessor executes its first sub-operator on all sub-scopes ConditionalBranch depending on a boolean value executes its first or second sub-operator on its scope StochasticBranch with a predefined probability executes its first or second sub-operator on its scope VariableInjector injects its local variables into the scope Sorter sorts its sub-scopes depending on a sorting criterion

Modeling Evolutionary Algorithms abstract EA basic operations initialization, evaluation, selection, crossover, mutation, replacement Initialization Terminate? Selection Crossover Mutation Evaluation Replacement

Modeling Evolutionary Algorithms scopes form a hierarchical structure very suitable for representing hierarchical structure of EA populations a scope may represent a population, a solution, a part of a solution, … operators work on different levels to switch levels use (Uniform)SequentialSubScopesProcessor (Uniform)ParallelSubScopesProcessor … Meta-Population Level Population Level Solution Level Sub-Solution Level

Initialization set global variables create sub-scopes inject variables representing global parameters of an algorithm population size, mutation rate, number of elites, number of generations, … VariableInjector inject PRNG RandomInjector use special operators to inject variables representing the problem instance for example: TSPInjector create sub-scopes one sub-scope for each population, individual, etc. SubScopesCreater initialize populations, individuals, etc. use sub-scopes processors to iterate over all sub-scopes apply special operators to create randomly generated individuals for example: RandomPermutationGenerator

Evaluation calculate and inject quality value for each individual use sub-scopes processors to iterate over all scopes representing an individual apply problem-specific evaluation operator for example: RoundedEuclideanPathTSPEvaluator SingleObjectiveEvaluatorBase base class for all single-objective evaluation operators evaluates the quality value of an individual depending on the variables in the scope by calling abstract method Evaluate adds a new double variable "Quality" to the scope if a quality value already exists it is overwritten

TSP SGA Example … PRNG TSP Data Population Size Mutation Rate Elites Evaluated Solutions … SequentialProcessor RandomInjector PRNG TSP Data PRNG TSPInjector TSPRoundedEuclidean DistanceMatrixInjector … VariableInjector Permutation Quality Permutation SubScopesCreater UniformSequential SubScopesProcessor SequentialProcessor RandomPermutation Generator DistanceMatrixPathTSP Evaluator Counter Sorter Main Loop

Selection separate sub-scopes into two groups insert a new level in the scope tree copy/move selected sub-scopes use sub-scopes processors to work on selected scopes basic selection operators LeftSelector, RightSelector, RandomSelector copy/move n sub-scopes from left or right or randomly quality-based selection operators selection is based on a double value (quality) in each sub-scope ProportionalSelector, LinearRankSelector, TournamentSelector

Selection … Remaining Selected

Crossover & Mutation depend on solution encoding crossover mutation effect variables contained in scopes crossover merge groups of n sub-scopes to one new sub-scope for example: SinglePointCrossover, OrderCrossover mutation manipulate a scope for example: FlipManipulator, InversionManipulator

TSP SGA Example … S … R S … R S … R S … R S … R S … R S … R Main Loop ProportionalSelector SequentialSubScopes Processor EmptyOperator Replacement SequentialProcessor OrderCrossover Termination ? UniformSequential SubScopesProcessor Sorter … Parents S … R Selected S … R Selected S … R Children S … R Selected S … R Children S … R Children S … R Children SequentialProcessor StochasticBranch InversionManipulator DistanceMatrixPathTSP Evaluator Counter

Reduction reverse operation to selection join sub-scopes again remove level in the scope tree move sub-scopes on level up basic reduction operators LeftReducer, RightReducer, MergingReducer take sub-scopes from left, right or all groups …

Replacement merge parents and children use selection/reduction operators select parents that should stay and discard all others (elitism) select children that should replace and discard all others merge both groups

TSP SGA Example … R S … R S … … … … … … … … R S … R S Replacement SequentialSubScopes Processor SequentialProcessor LeftSelector RightReducer SequentialProcessor RightSelector LeftReducer MergingReducer … R S … R S … … … Remaining Children … Next Generation … Remaining Parents … Children Parents … Children Parents … R S … R S Sorter

Modularization operator graphs grow quite quickly and become hard to handle modularization of operator graphs is necessary use special operator that wraps a whole operator graph algorithms contain problem-specific parts for example: TSPInjector, RandomPermutationGenerator, DistanceMatrixPathTSPEvaluator, … how to build a generic SGA template that can be parameterized with all necessary problem-specific operators? CombinedOperator contains an operator graph may inject its sub-operators into its scope executes the whole operator graph on its scope OperatorExtractor placeholder operator extracts and executes an operator with a predefined name from the scope variable lookup goes up in the scope tree until a matching operator is found

DistanceMatrixPathTSP TSP SGA Example CombinedOperator TSPInjector RandomPermutation Generator DistanceMatrixPathTSP Evaluator CombinedOperator SequentialProcessor RandomInjector ProblemInitializer VariableInjector SubScopesCreater UniformSequential SubScopesProcessor SolutionGenerator Evaluator Counter Sorter

Demonstration