ga solver en matlab
TRANSCRIPT
8/3/2019 GA Solver en Matlab
http://slidepdf.com/reader/full/ga-solver-en-matlab 1/9
GA Solver en Matlab
8/3/2019 GA Solver en Matlab
http://slidepdf.com/reader/full/ga-solver-en-matlab 2/9
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>
8/3/2019 GA Solver en Matlab
http://slidepdf.com/reader/full/ga-solver-en-matlab 3/9
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.
8/3/2019 GA Solver en Matlab
http://slidepdf.com/reader/full/ga-solver-en-matlab 4/9
GA Solver
There are several steps to the GA:
population generation
scoring
loop
fitness
scalingselection
crossover
mutation
scoring
migration
outputtermination testing
end loop
Each of these steps can be controlled by the options structure created
by GAOPTIMSET.
8/3/2019 GA Solver en Matlab
http://slidepdf.com/reader/full/ga-solver-en-matlab 5/9
GA Solver
Example:
Minimize 'rastriginsfcn' fitness function of numberOfVariables = 2
x = ga(@rastriginsfcn,2)Display plotting functions while GA minimizes
options = gaoptimset('PlotFcns',...
{@gaplotbestf,@gaplotbestindiv,@gaplotexpectation,@gaplotstopping});
[x,fval,reason,output] =ga(@rastriginsfcn,2,options)
8/3/2019 GA Solver en Matlab
http://slidepdf.com/reader/full/ga-solver-en-matlab 6/9
Opciones del algoritmo I
GAOPTIMSET Create a genetic algorithm options structure.
GAOPTIMSET returns a listing of the fields in the options structure aswell 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 thepassed argument VALUE for the specified PARAM.
OPTIONS = GAOPTIMSET('PARAM1',VALUE1,'PARAM2',VALUE2,....) will create astructure 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 namedOPTIONS. OPTIONS is created by altering the PARAM specified of OLDOPTS to
become the VALUE passed.
OPTIONS = GAOPTIMSET(OLDOPTS,'PARAM1',VALUE1,'PARAM2',VALUE2,...) willreassign those fields in OLDOPTS specified by PARAM1, PARAM2, ... toVALUE1, VALUE2, ...
8/3/2019 GA Solver en Matlab
http://slidepdf.com/reader/full/ga-solver-en-matlab 7/9
Opciones del algoritmo IPopulationType - 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
[ positive scalar | {20} ]
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/3/2019 GA Solver en Matlab
http://slidepdf.com/reader/full/ga-solver-en-matlab 8/9
Opciones del algoritmo ITimeLimit - 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
[ {@gacreationuniform} ]
FitnessScalingFcn - Function used to scale fitness scores.
[ @fitscalingshiftlinear | @fitscalingprop | @fitscalingtop |
{@fitscalingrank} ]
8/3/2019 GA Solver en Matlab
http://slidepdf.com/reader/full/ga-solver-en-matlab 9/9
Opciones del algoritmo ISelectionFcn - Function used in selecting parents for next generation
[ @selectionremainder | @selectionrandom |@selectionroulette | @selectiontournament |{@selectionstochunif} ]
CrossoverFcn - Function used to do crossover [ @crossoverheuristic | @crossoverintermediate |
@crossoversinglepoint | @crossovertwopoint |
{@crossoverscattered} ]MutationFcn - Function used in mutating genes
[ @mutationuniform | {@mutationgaussian} ]
HybridFcn - Another optimization function to be used once GAhas normally terminated (for whatever reason)
[ @fminsearch | @patternsearch | @fminunc | {[]} ]Display - Level of display
[ 'off' | 'iter' | 'diagnose' | {'final'} ]OutputFcns - Function(s) called in every generation. This is more
general than PlotFcns.
[ @gaoutputgen | {[]} ]PlotFcns - Function(s) used in plotting various quantities
during simulation[ @gaplotbestf | @gaplotbestindiv | @gaplotdistance |@gaplotexpectation | @gaplotgeneology | @gaplotselection |@gaplotrange | @gaplotscorediversity | @gaplotscores |@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'} ]