Presentation is loading. Please wait.

Presentation is loading. Please wait.

GA Solver en Matlab.

Similar presentations

Presentation on theme: "GA Solver en Matlab."— Presentation transcript:

1 GA Solver en Matlab

2 GA Solver X = GA(FITNESSFCN,NVARS) finds the minimum of FITNESSFCN using GA. NVARS is the dimension (number of design variables) of the FITNESSFCN. FITNESSFCN accepts a vector X of size 1-by-NAVRS, and returns a scalar evaluated at X. X = GA(FITNESSFCN,NAVRS,OPTIONS) finds the minimum for FITNESSFCN with the default optimization parameters replaced by values in the structure OPTIONS. OPTIONS can be created with the GAOPTIMSET function. X = GA(PROBLEM) finds the minimum for PROBLEM. PROBLEM is a structure that has the following fields: fitnessfcn: <Fitness Function> nvars: <Number of design variables> options: <Options structure created with GAOPTIMSET> randstate: <Optional field to reset rand state> randnstate: <Optional field to reset randn state>

3 GA Solver [X, FVAL] = GA(FITNESSFCN, ...) returns FVAL, the value of the fitness function FITNESSFCN at the solution X. [X,FVAL,REASON] = GA(FITNESSFCN, ...) returns the REASON for stopping. [X,FVAL,REASON,OUTPUT] = GA(FITNESSFCN, ...) returns a structure OUTPUT with the following information: randstate: <State of the function RAND used before GA started> randnstate: <State of the function RANDN used before GA started> generations: <Total generations, excluding HybridFcn iterations> funccount: <Total function evaluations> message: <GA termination message> [X,FVAL,REASON,OUTPUT,POPULATION] = GA(FITNESSFCN, ...) returns the final POPULATION at termination. [X,FVAL,REASON,OUTPUT,POPULATION,SCORES] = GA(FITNESSFCN, ...) returns the SCORES of the final POPULATION.

4 GA Solver There are several steps to the GA: population generation
scoring loop fitness scaling selection crossover mutation migration output termination testing end loop Each of these steps can be controlled by the options structure created by GAOPTIMSET.

5 GA Solver Example: Minimize 'rastriginsfcn' fitness function of numberOfVariables = 2 x = Display plotting functions while GA minimizes options = gaoptimset('PlotFcns',... [x,fval,reason,output] =

6 Opciones del algoritmo I
GAOPTIMSET Create a genetic algorithm options structure. GAOPTIMSET returns a listing of the fields in the options structure as well as valid parameters and the default parameter. OPTIONS = GAOPTIMSET('PARAM',VALUE) creates a structure with the default parameters used for all PARAM not specified, and will use the passed argument VALUE for the specified PARAM. OPTIONS = GAOPTIMSET('PARAM1',VALUE1,'PARAM2',VALUE2,....) will create a structure with the default parameters used for all fields not specified. Those FIELDS specified will be assigned the corresponding VALUE passed, PARAM and VALUE should be passed as pairs. OPTIONS = GAOPTIMSET(OLDOPTS,'PARAM',VALUE) will create a structure named OPTIONS. OPTIONS is created by altering the PARAM specified of OLDOPTS to become the VALUE passed. OPTIONS = GAOPTIMSET(OLDOPTS,'PARAM1',VALUE1,'PARAM2',VALUE2,...) will reassign those fields in OLDOPTS specified by PARAM1, PARAM2, ... to VALUE1, VALUE2, ...

7 Opciones del algoritmo I
PopulationType The type of Population being entered [ 'bitstring' | 'custom' | {'doubleVector'} ] PopInitRange Initial range of values a population may have [ Matrix | {[0;1]} ] PopulationSize Positive scalar indicating the number of individuals [ positive scalar | {20} ] EliteCount Number of best individuals that survive to next generation without any change [ positive scalar | {2} ] CrossoverFraction - The fraction of genes swapped between individuals [ positive scalar | {0.8} ] MigrationDirection - Direction that fittest individuals from the various sub-populations may migrate to other sub-populations ['both' | {'forward'}] MigrationInterval - The number of generations between the migration of the fittest individuals to other sub-populations MigrationFraction - Fraction of those individuals scoring the best that will migrate [ positive scalar | {0.2} ] Generations Number of generations to be simulated [ positive scalar | {100} ]

8 Opciones del algoritmo I
TimeLimit The total time (in seconds) allowed for simulation [ positive scalar | {INF} ] FitnessLimit The lowest allowed score [ scalar | {-Inf} ] StallGenLimit If after this number of generations there is no improvement, the simulation will end [ positive scalar | {50} ] StallTimeLimit If after this many seconds there is no improvement, the simulation will end [ positive scalar | {20} ] InitialPopulation - The initial population used in seeding the GA algorithm [ Matrix | {[]} ] InitialScores The initial scores used to determine fitness; used in seeding the GA algorithm [ column vector | {[]} ] [ positive scalar | {1} ] CreationFcn Function used to generate initial population [ ] FitnessScalingFcn - Function used to scale fitness scores. | ]

9 Opciones del algoritmo I
SelectionFcn Function used in selecting parents for next generation | @selectionroulette | @selectiontournament | ] CrossoverFcn Function used to do crossover | @crossoversinglepoint | ] MutationFcn Function used in mutating genes | ] HybridFcn Another optimization function to be used once GA has normally terminated (for whatever reason) | {[]} ] Display Level of display [ 'off' | 'iter' | 'diagnose' | {'final'} ] OutputFcns Function(s) called in every generation. This is more general than PlotFcns. | {[]} ] PlotFcns Function(s) used in plotting various quantities during simulation | @gaplotexpectation | @gaplotrange | @gaplotstopping | {[]} ] PlotInterval The number of generations between plotting results [ positive scalar | {1} ] Vectorized Objective function is vectorized and it can evaluate more than one point in one call [ 'on' | {'off'} ]

Download ppt "GA Solver en Matlab."

Similar presentations

Ads by Google