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

Similar documents
GOSET * Manual Version 2.3. For Use with MATLAB. United States Naval Academy. Purdue University School of Electrical and Computer Engineering

GOSET * Manual Version 2.2. For Use with MATLAB. United States Naval Academy. Purdue University School of Electrical and Computer Engineering

Lecture Set 1B. S.D. Sudhoff Spring 2010

CHAPTER 6 REAL-VALUED GENETIC ALGORITHMS

Genetic Algorithms. Genetic Algorithms

Genetic Algorithms for Vision and Pattern Recognition

Heuristic Optimisation

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?

GENETIC ALGORITHM with Hands-On exercise

Genetic Algorithms. Kang Zheng Karl Schober

The Binary Genetic Algorithm. Universidad de los Andes-CODENSA

Introduction to Genetic Algorithms

Genetic Algorithms. PHY 604: Computational Methods in Physics and Astrophysics II

A Genetic Algorithm for Graph Matching using Graph Node Characteristics 1 2

The Genetic Algorithm for finding the maxima of single-variable functions

Genetic Algorithms. Chapter 3

Pseudo-code for typical EA

Chapter 9: Genetic Algorithms

Artificial Intelligence Application (Genetic Algorithm)

Comparative Analysis of Genetic Algorithm Implementations

CS5401 FS2015 Exam 1 Key

A GENETIC ALGORITHM FOR CLUSTERING ON VERY LARGE DATA SETS

Introduction to Genetic Algorithms. Based on Chapter 10 of Marsland Chapter 9 of Mitchell

Chapter 14 Global Search Algorithms

[Premalatha, 4(5): May, 2015] ISSN: (I2OR), Publication Impact Factor: (ISRA), Journal Impact Factor: 2.114

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

An Evolutionary Algorithm for the Multi-objective Shortest Path Problem

Mutations for Permutations

Advanced Search Genetic algorithm

The Continuous Genetic Algorithm. Universidad de los Andes-CODENSA

MAXIMUM LIKELIHOOD ESTIMATION USING ACCELERATED GENETIC ALGORITHMS

Multi-Objective Optimization Using Genetic Algorithms

Using Genetic Algorithm to Break Super-Pascal Knapsack Cipher

Genetic Algorithms Variations and Implementation Issues

Local Search (Greedy Descent): Maintain an assignment of a value to each variable. Repeat:

CHAPTER 4 GENETIC ALGORITHM

Introduction to Genetic Algorithms. Genetic Algorithms

Neural Network Weight Selection Using Genetic Algorithms

Optimization of Function by using a New MATLAB based Genetic Algorithm Procedure

Genetic Algorithm for optimization using MATLAB

Evolutionary Computation. Chao Lan

CHAPTER 4 FEATURE SELECTION USING GENETIC ALGORITHM

Evolutionary Algorithms. CS Evolutionary Algorithms 1

Multi-objective Optimization

Extending MATLAB and GA to Solve Job Shop Manufacturing Scheduling Problems

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

Bi-Objective Optimization for Scheduling in Heterogeneous Computing Systems

Information Fusion Dr. B. K. Panigrahi

A Genetic Algorithm for the Multiple Knapsack Problem in Dynamic Environment

SPEA2+: Improving the Performance of the Strength Pareto Evolutionary Algorithm 2

Submit: Your group source code to mooshak

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

International Journal of Scientific & Engineering Research Volume 8, Issue 10, October-2017 ISSN

Genetic Algorithms: Setting Parmeters and Incorporating Constraints OUTLINE OF TOPICS: 1. Setting GA parameters. 2. Constraint Handling (two methods)

Study on GA-based matching method of railway vehicle wheels

ATI Material Do Not Duplicate ATI Material. www. ATIcourses.com. www. ATIcourses.com

ANTICIPATORY VERSUS TRADITIONAL GENETIC ALGORITHM

Computational Intelligence

Akaike information criterion).

Grid Scheduling Strategy using GA (GSSGA)

Outline. CS 6776 Evolutionary Computation. Numerical Optimization. Fitness Function. ,x 2. ) = x 2 1. , x , 5.0 x 1.

Optimization of Benchmark Functions Using Genetic Algorithm

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

Topological Machining Fixture Layout Synthesis Using Genetic Algorithms

ARTIFICIAL INTELLIGENCE (CSCU9YE ) LECTURE 5: EVOLUTIONARY ALGORITHMS

Genetic Programming. and its use for learning Concepts in Description Logics

Computational Financial Modeling

The Parallel Software Design Process. Parallel Software Design

Chapter 5 Components for Evolution of Modular Artificial Neural Networks

Outline. Motivation. Introduction of GAs. Genetic Algorithm 9/7/2017. Motivation Genetic algorithms An illustrative example Hypothesis space search

Genetic Algorithms Presented by: Faramarz Safi (Ph.D.) Faculty of Computer Engineering Islamic Azad University, Najafabad Branch.

Introduction to Evolutionary Computation

Genetic Algorithm Performance with Different Selection Methods in Solving Multi-Objective Network Design Problem

Biology in Computation: Evolving Intelligent Controllers

The k-means Algorithm and Genetic Algorithm

Simulated annealing/metropolis and genetic optimization

Evolutionary Algorithms: Lecture 4. Department of Cybernetics, CTU Prague.

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

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

Dr.-Ing. Johannes Will CAD-FEM GmbH/DYNARDO GmbH dynamic software & engineering GmbH

DERIVATIVE-FREE OPTIMIZATION

Introduction to Optimization

Introduction to Optimization

GENETIC ALGORITHM VERSUS PARTICLE SWARM OPTIMIZATION IN N-QUEEN PROBLEM

Implementation of Genetic Algorithm for Combined Routing and Dimensioning for Dynamic WDM Networks

GANetXL User Manual August

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

Planning and Search. Genetic algorithms. Genetic algorithms 1

An Application of Genetic Algorithm for Auto-body Panel Die-design Case Library Based on Grid

GA is the most popular population based heuristic algorithm since it was developed by Holland in 1975 [1]. This algorithm runs faster and requires les

entire search space constituting coefficient sets. The brute force approach performs three passes through the search space, with each run the se

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

Lecture

A Genetic Algorithm-Based Approach for Energy- Efficient Clustering of Wireless Sensor Networks

Introduction (7.1) Genetic Algorithms (GA) (7.2) Simulated Annealing (SA) (7.3) Random Search (7.4) Downhill Simplex Search (DSS) (7.

Generation of Ultra Side lobe levels in Circular Array Antennas using Evolutionary Algorithms

Evolutionary multi-objective algorithm design issues

AN EVOLUTIONARY APPROACH TO DISTANCE VECTOR ROUTING

Constraint Handling. Fernando Lobo. University of Algarve

C 1 Modified Genetic Algorithm to Solve Time-varying Lot Sizes Economic Lot Scheduling Problem

Transcription:

Lecture 5: GOSET 1

What is GOSET? GOSET stands for Genetic Optimization System Engineering Tool GOSET is a MATLAB based genetic algorithm toolbox for solving optimization problems 2

GOSET Features Wide range of choices for genetic operators Single-objective optimization Multi-objective optimization Modular Structure GUI Interface GOSET DLL 3

Algorithm Execution START Initialization Diversity control Mating & Crossover &Death Scaling Mutation Fitness evaluation Selection Migration Elitism Random search Report Plot STOP? END 4

Data Structure 5

Data Structures To conveniently process the information used in GOSET, the following data structures are employed Data structure P GAP GAS Contents Population GA Parameters GA Statistics No. of fields 15 76 6 6

Population Data Structure (P) P.blckeval P.fithandle P.size P.nobj P.mfit P.fit P.eval P.age Block evaluation flag Handle to the fitness function The number of individuals in the population Number of objectives Fitness function values Aggregated fitness function values Fitness evaluation flag Age of individuals 7

Population Data Structure (P) P.ngenes Number of genes in an individual P.min Minimum value of genes P.max Maximum value of genes P.type Types of genes P.chrom_id Chromosome ID of genes (for multiple chromosome) P.normgene Normalized gene values P.gene Gene values 8

Population Data Structure (P) P.region P.pen Geographic region of individuals Fitness weight values for penalizing in the diversity control 9

Basic Information P.size P.ngenes P.nobj 10

Population Fitness P.mfit (# obj. by pop. size) P.fit (1 by pop. size) 11

Gene Representation P.gene (# genes by pop. size) P.min (# genes by 1) P.max (# genes by 1) P.normgene (# genes by pop. size) 12

Encoding P.type (# genes by 1) Determine the mapping method of the normalized gene value to its actual value There are three different types of mapping Integer Real Logarithmic max 1 max 1 max 1 min 0 min 0 min 0 13

Chromosome ID Given the genes of an individual a b c d e f g P.chrom_id Chromosome structure P.chrom_id = [ 1 1 1 1 1 1 1 ] T 1 a b c d e f g P.chrom_id = [ 1 1 1 2 2 3 3 ] T 1 a b c d 2 e f 3 g P.chrom_id = [ 1 2 3 2 2 3 1 ] T a 1 g 2 b d e c 3 f 14

Genetic Algorithm Parameters (GAP) Category Field names Fundamental parameters Diversity control parameters Selection algorithm parameters Death algorithm parameters Mating and crossover parameters Mutation parameters Migration parameters Evaluation Parameters Scaling parameters Elitism parameters Random search parameters Reporting parameters Objective plot parameters Pareto plot parameters GAP.fp_ngen GAP.fp_ipop GAP.fp_npop GAP.fp_nobj GAP.fp_obj GAP.dc_act GAP.dc_alg GAP.dc_spc GAP.dc_mnt GAP.dc_mxt GAP.dc_ntr GAP.dc_mnb GAP.dc_mxb GAP.dc_dc GAP.dc_nt GAP.sl_alg GAP.dt_alg GAP.dt_nts GAP.dt_cah GAP.el_act GAP.sl_nts GAP.sl_cah GAP.mc_pp GAP.mc_fc GAP.mc_alg GAP.mc_gac GAP.mc_ec GAP.mt_ptgm GAP.mt_prgm GAP.mt_srgm GAP.mt_pagm GAP.mt_sagm GAP.mt_prvm GAP.mt_srvm GAP.mt_pavm GAP.mt_savm GAP.mt_pigm GAP.mg_nreg GAP.mg_tmig GAP.mg_pmig GAP.ev_bev GAP.ev_are GAP.sc_alg GAP.sc_kln GAP.sc_cst GAP.sc_kmxq GAP.el_fgs GAP.el_fpe GAP.rs_fgs GAP.rs_fps GAP.rs_srp GAP.rs_sap GAP.rs_frp GAP.rp_lvl GAP.rp_gbr GAP.rp_crh GAP.op_list GAP.op_style GAP.ev_ssd GAP.op_sign GAP.sc_kmnq GAP.rs_fea GAP.pp_list GAP.pp_xl GAP.pp_yl GAP.pp_title GAP.pp_style GAP.pp_sign GAP.pp_axis Distribution plot parameters GAP.dp_type GAP.dp_np GAP.dp_res Gene data parameters GAP.gd_min GAP.gd_max GAP.gd_type GAP.gd_cid 15

Genetic Algorithm Parameters (GAP) GAP.fp_ngen GAP.fp_ipop GAP.fp_npop GAP.fp_nobj GAP.fp_obj 16

Genetic Algorithm Statistics (GAS) GAS.[Field name] Description GAS.cg GAS.medianfit GAS.meanfit GAS.bestfit GAS.bestgenes Current generation number The median fitness values of each objective ( No. of objectives No. of generations ) The average fitness values of each objective ( No. of objectives No. of generations ) The best fitness values of each objective ( No. of objectives No. of generations ) The best gene values for each objective over the generations (No. of genes No. of generations No. of objectives ) GAS.ne The number of the total objective function evaluations 17

Genetic Algorithm Statistics (GAS) GAS.cg Current generation number GAS.medianfit Median fitness values (obj gen) GAS.meanfit Average fitness values (obj gen) GAS.bestfit Best fitness values (obj gen) GAS.bestgenes Best gene values (genes gen obj) GAS.ne Number of objective function evaluations 18

GOSET Genetic Operators 19

GOSET Genetic Operators Diversity control Scaling Selection Death Mating & crossover Mutation Migration Elitism Random search 20

Diversity Control Maintain population diversity Penalize individuals with many neighbors Four different diversity controls are available in GOSET 21

Diversity Control Method 1 Fitness weight is inversely proportional to the number of neighboring individuals within the threshold distance a Threshold distance b c Fitness weight for a = 1 Fitness weight for b = 1/4 Fitness weight for c = 1/2 22

Diversity Control Method 2 Given an arbitrary weight vector, evaluate the weighted sum of genes for each individuals Group individuals with similar weighted sum Repeat multiple times with different weight vectors and the largest penalty function value is used for final fitness weight value 23

Diversity Control Method 2 Random weight vector X Group individuals according to weighted sum 1 2 3 4 5 Fitness weight value ½ 1 ½ ¼ Fitness weight value = 1 Number of individuals in the bin 24

Diversity Control Method 3 Evaluate the sum of infinity norm between the individual of interest and all other individuals Fitness weight is increasing as the distance sum increases Fitness weight for k' th individual = where d c is the distance constant (GAP.dc_dc) i I exp 1 θ k - θ d c i 25

Diversity Control Method 3 a b Fitness weight for a = 0.8 Fitness weight for b = 0.2 26

Diversity Control Method 4 Similar to Diversity Control Method 3 Only evaluate the sum of distances between the individual of interest and a certain number (GAP.dc_nt) of randomly chosen individuals 27

Diversity Control Method 4 GAP.dc_nt =3 a b Fitness weight for a = 0.7 Fitness weight for b = 0.1 28

Scaling Purpose: maintain appropriate evolution pressure throughout evolution process Without scaling Early Evolution: a few strong individuals usually dominate population quickly Late Evolution: most individuals have similar fitness values and the evolution slows Seven scaling methods available 29

No Scaling f max f f = ax + b Scaling is not applied and the actual fitness value is used f min f min a = 1 b = 0 f max f Fitness functions must be constructed carefully Good for tournament selection 30

Offset Scaling f f = ax + b Linear scaling f max - f min 0 f min a = 1 b = -f min f max f Minimum fitness value is mapped to zero Default scaling algorithm 31

Standard Linear Scaling f f = ax + b k f avg Linear scaling f avg Average fitness value does not change after scaling af min +b a = ( k 1) f f max f min f avg f avg avg b = f max f avg (1 a) f Most fit individual has mapped fitness k times bigger than that of average fit individual k = GAP.sc_kln 32

Modified Linear Scaling f f = ax + b k f med Linear scaling f med af min +b a = ( k 1) f f max f min f med f max f med med b = k = GAP.sc_kln f med (1 a) f Median fitness value is preserved after scaling Most fit individual is mapped so that its fitness value is k times bigger than the median fit individual 33

Mapped Linear Scaling k f f = ax + b Linear scaling 1 f min f max k 1 a = b = fmin a + 1 f f max min k = GAP.sc_kln f The minimum fitness value is mapped to 1, and the maximum fitness value is mapped to k 34

Sigma Truncation f max f avg +k f std kf std 0 f = ax + b f min f avg f max a = 1 b = ( f k f ) k c avg = GAP.sc_cst c std f Linear scaling Fitness values offset so that f avg is mapped to k f std Resulting negative fitness values are clipped to zero Useful when most individuals have large fitness value but there are few individuals with small fitness values 35

Quadratic Scaling k max 1 k min f f min 2 f = ax + bx + c f avg f max Non-linear scaling a b c k k max min 2 f max f max 1 2 = f avg f avg 1 2 f min f min 1 = GAP.sc_kmxq = GAP.sc_kmnq 1 k 1 k max min 36

Selection Purpose: select individuals from the population to constitute a mating pool When the multiple regions are used, selection operation is restricted to each region and picks the same number of individuals as those in the current region Roulette wheel selection Tournament selection Custom selection 37

Roulette Wheel Selection An individual is selected with the probability proportional to its fitness value It is more likely that the better individual is selected - the principle of the survival of the fittest Individuals with fitness values Mating pool 19 76 44 27 8 53 31 76 Assign a piece proportional to the fitness value Winner 38

Tournament Selection Individuals are randomly chosen from the population and the one with best fitness value is selected The number of individuals for the tournament is a design parameter (GAP.sl_nts) Population Randomly pick multiple individuals Winner Mating pool 39

Death Purpose: Create a list of individuals who die and are replaced by the children There are six different death algorithms Custom death algorithm can be used 40

Death Algorithms Replacing parents Parents are replaced by their own children Random selection The parents to be replaced are randomly chosen Tournament of fitness Individuals to be replaced based on aggregate fitness GAP.dt_nts parents are randomly chosen for tournament Individual with worst aggregate fitness value marked for death 41

Death Algorithms Tournament on age Tournament based on the age. Among randomly chosen GAP.dt_nts parents, the oldest dies. Custom algorithm The custom function handle is assigned to GAP.dt_cah Random algorithm The death algorithm is randomly chosen among the first four death algorithms at each generation. 42

Mating-Crossover Crossover operation is performed on the normalized gene values and the actual gene values are refreshed based on the normalized gene values When the resulting gene value is illegal, it is automatically adjusted using the ring-mapping Ring-mappng maps a value to the modulus after division by 1 Example 1.2 0.2 and -2.1 0.9 There are five different mating-crossover algorithms 43

Single-Point Crossover Similar to the single point crossover operator in binary-coded GAs In multiple-chromosome setting, single point crossover occurs in each chromosome Crossover points 1 Parent 1 0.21 0.83 0.55 0.98 0.26 2 Child 1 0.83 0.21 1 0.34 2 0.98 0.77 1 Parent 2 0.17 0.42 0.34 0.24 0.77 2 Child 2 0.42 0.17 1 0.55 2 0.24 0.26 44

Simple Blend Crossover Children are generated from the weighted sum of their parents Gene values of children have same distance from the average gene value of parents Parents (3p-q)/2 p (p+q)/2 q (3q-p)/2 Children 45

Types of Simple Blend Crossover Scalar simple blend crossover Each gene has different ratio of blending Example P1=[ 0 0.8 0.3] P2=[1 0.2 0.5] C1=[0.25 0.95 0.38] C2=[0.75 0.05 0.42] Vector simple blend crossover All genes are blended using same ratio Example P1=[ 0 0.8 0.3] P2=[1 0.2 0.5] C1=[0.25 0.65 0.35] C2=[0.75 0.55 0.45] 46

Simulated Binary Crossover Mimics the effect of single-point crossover operator in binary-coded GA Simulated binary crossover uses probability density function that simulates the single-point crossover in binary-coded GA 1 Probability density per offspring 0.9 0.8 0.7 0.6 0.5 0.4 0.3 0.2 0.1 η c = 2 η c = 5 0 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 Positions of offspring solutions 47

Simulated Binary Crossover Scalar simulated binary crossover Each gene has different ratio Vector simulated binary crossover All genes use same ratio 48

Random Algorithm Mating crossover algorithm changes randomly among the five methods Single point crossover Scalar simple blend crossover Vector simple blend crossover Scalar simulated binary crossover Vector simulated binary crossover The interval of changing algorithm is determined by GAP.mc_gac 49

Mutation Applied to the normalized gene values Actual gene values are updated based on mutated normalized gene values When resulting gene value is illegal, it is adjusted automatically using the ring-mapping Ring-mapping maps a value to the modulus after division by 1 Examples: 1.2 0.2 and -2.1 0.9 There are six different mutation algorithms 50

Total Mutation Each gene value is replaced by a new randomly generated gene value New value has no relationship to old value Mutation point Original chromosome 0.23 0.18 0.72 0.51 0.88 Replace current gene value with randomly generated gene value Mutated chromosome 0.23 0.18 0.43 0.51 0.88 51

Relative Partial Mutation Under mutation is multiplied by (1+N) where N is a Gaussian random variable with the standard deviation of GAP.mt_prgm Mutation point Original chromosome 0.23 0.18 0.72 0.51 0.88 1+N = 1+(-0.055) Mutated chromosome 0.23 0.18 0.68 0.51 0.88 52

Absolute Partial Mutation Gene under mutation is added with a Gaussian random variable N whose standard deviation is GAP.mt_pagm Mutation point Original chromosome 0.23 0.18 0.72 0.51 0.88 + N = 0.55 Mutated chromosome 0.23 0.73 0.72 0.51 0.88 53

Relative Vector Mutation Chromosome multiplied by RV= v dir N(0,GAP.mt_srvm) where v dir is a normalized random vector and N is a Gaussian random variable with stand. dev. of GAP.mt_srvm IF RV =[ 0.03-0.15-0.08 0.18-0.08 ] Original chromosome 0.23 0.18 0.72 0.51 0.88 1+ RV Mutated chromosome 0.24 0.15 0.78 0.60 0.81 54

Absolute Vector Mutation Chromosome under mutation is added RV = v dir N(0,GAP.mt_savm) where v dir is a normalized random vector and N is a Gaussian random variable with the stand. dev. of GAP.mt_savm IF RV =[ -0.01 0.02 0.01 0-0.01 ] Original chromosome 0.23 0.18 0.72 0.51 0.88 + RV Mutated chromosome 0.22 0.20 0.73 0.51 0.87 55

Integer Mutation Other mutation operators do not act on integers Integer gene value mutated with probability of GAP.mt_pigm Gene value replaced by a randomly generated value Range for third gene = { 3, 4, 5, 6, 7 } Mutation point Original chromosome 0.23 0.18 0.75 6 Replace current gene value with randomly generated gene value Corresponding integer Mutated chromosome 0.23 0.18 0.25 56 4

Migration Multiple regions / migration captures effects of geographical separation in biological systems An individual is migrated with the probability of GAP.mg_pmig Migration occurs every GAP.mg_tmig generations 57

Migration Region 1 Region 2 Randomly pick one individual and move to other region Region 3 58

Elitism (Single Objective) Purpose: protect the best individual Old population New population Genetic operation Pick the best individual Put the better Individual back Winner 59

Random Search Purpose: search the vicinity of the best individual for better solution Pick the best individual Randomly generates mutants Compare and put the better individual back Pick the best Individual among the mutants 2D Solution space 60

Random Search Relative random search mutants are generated using relative vector mutation with the standard deviation of GAP.rs_srp Absolute random search - mutants are generated using absolute vector mutation with the standard deviation of GAP.rs_sap The relative random search is selected with the probability of GAP.rs_frp and the absolute random search is chosen with the probability of (1- GAP.rs_frp) 61

Random Search Random search starts from (GAP.rs_fgs GAP.fp_ngen) th generation (GAP.rs_fps GAP.fp_npop) mutants are randomly generated 62