ConstraintTolerance | Determines the feasibility with respect to nonlinear constraints. Also,
max(sqrt(eps),ConstraintTolerance) determines
feasibility with respect to linear constraints. For an options
structure, use TolCon . | Positive scalar | {1e-3} |
CreationFcn
| I* Function that creates the initial population.
Specify as a name of a built-in creation function or a function handle. See
Population Options. | {'gacreationuniform'} |
{'gacreationlinearfeasible'}* | Custom creation
function
|
CrossoverFcn
| I* Function that the algorithm uses to create
crossover children. Specify as a name of a built-in crossover function or a
function handle. See Crossover Options. | {'crossoverscattered'} for ga ,
{'crossoverintermediate'}* for
gamultiobj |
'crossoverheuristic' |
'crossoversinglepoint' |
'crossovertwopoint' |
'crossoverarithmetic' | Custom crossover
function
|
CrossoverFraction
| The fraction of the population at the next generation, not including elite children, that the
crossover function creates. | Positive scalar | {0.8} |
Display
| Level of display. | 'off' | 'iter' | 'diagnose' | {'final'}
|
DistanceMeasureFcn
| Function that computes distance measure of individuals. Specify as a name of a built-in
distance measure function or a function handle. The value applies to
decision variable or design space (genotype) or to function space
(phenotype). The default 'distancecrowding' is in
function space (phenotype). For gamultiobj only. See
Multiobjective Options. For
an options structure, use a function handle, not a name. | {'distancecrowding'} means the same as
{@distancecrowding,'phenotype'} |
{@distancecrowding,'genotype'} | Custom distance
function
|
EliteCount
| NM Positive integer
specifying how many individuals in the current generation are guaranteed
to survive to the next generation. Not used in gamultiobj . | Positive integer | {ceil(0.05*PopulationSize)} | {0.05*(default
PopulationSize)} for mixed-integer problems |
FitnessLimit
| NM If the fitness function
attains the value of FitnessLimit , the algorithm
halts. | Scalar | {-Inf} |
FitnessScalingFcn
| Function that scales the values of the fitness function. Specify as a name of a
built-in scaling function or a function handle. Option unavailable for
gamultiobj . | {'fitscalingrank'} | 'fitscalingshiftlinear' |
'fitscalingprop' | 'fitscalingtop'
| Custom fitness scaling
function
|
FunctionTolerance | The algorithm stops if the average relative change in the best fitness function value
over MaxStallGenerations generations is less than or
equal to FunctionTolerance . If
StallTest is 'geometricWeighted' ,
then the algorithm stops if the weighted average
relative change is less than or equal to
FunctionTolerance . For
gamultiobj , the algorithm stops when the geometric
average of the relative change in value of the spread over
options.MaxStallGenerations generations is less than
options.FunctionTolerance , and the final spread is
less than the mean spread over the past
options.MaxStallGenerations generations. See gamultiobj Algorithm. For an options structure, use
TolFun . | Positive scalar | {1e-6} for ga , {1e-4} for gamultiobj |
HybridFcn
| I* Function that continues the optimization after
ga terminates. Specify as a name or a function
handle. Alternatively, a cell array specifying the hybrid
function and its options. See ga Hybrid Function. For gamultiobj , the only hybrid
function is @fgoalattain . See gamultiobj Hybrid Function. See When to Use a Hybrid Function. | Function name or handle | 'fminsearch' | 'patternsearch' | 'fminunc' |
'fmincon' | {[]} or 1-by-2 cell array
| {@solver, hybridoptions} , where solver =
fminsearch , patternsearch ,
fminunc , or fmincon
{[]} |
InitialPenalty | NM I* Initial
value of penalty parameter | Positive scalar | {10} |
InitialPopulationMatrix
| Initial population used to seed the genetic algorithm. Has up to
PopulationSize rows and N columns,
where N is the number of variables. You can pass a
partial population, meaning one with fewer than
PopulationSize rows. In that case, the genetic
algorithm uses CreationFcn to generate the remaining
population members. See Population Options For an options structure, use
InitialPopulation . | Matrix | {[]} |
InitialPopulationRange
| Matrix or vector specifying the range of the individuals in the initial population.
Applies to gacreationuniform creation function.
ga shifts and scales the default initial range to
match any finite bounds. For an options structure, use
PopInitRange . | Matrix or vector | {[-10;10]} for
unbounded components, {[-1e4+1;1e4+1]} for unbounded
components of integer-constrained problems, {[lb;ub]} for
bounded components, with the default range modified to match one-sided
bounds. |
InitialScoresMatrix
| I* Initial scores used to determine fitness. Has up to
PopulationSize rows and has Nf
columns, where Nf is the number of fitness functions
(1 for ga , greater than
1 for gamultiobj ). You can pass
a partial scores matrix, meaning one with fewer than
PopulationSize rows. In that case, the solver fills
in the scores when it evaluates the fitness functions. For an
options structure, use InitialScores . | Column vector for single objective | matrix for multiobjective
| {[]} |
MaxGenerations
| Maximum number of iterations before the algorithm halts. For an options
structure, use Generations . | Positive integer |{100*numberOfVariables} for ga , {200*numberOfVariables} for gamultiobj |
MaxStallGenerations
| The algorithm stops if the average relative change in the best fitness function value
over MaxStallGenerations generations is less than or
equal to FunctionTolerance . If
StallTest is 'geometricWeighted' ,
then the algorithm stops if the weighted average relative change is less
than or equal to FunctionTolerance . For
gamultiobj , the algorithm stops when the geometric
average of the relative change in value of the spread over
options.MaxStallGenerations generations is less than
options.FunctionTolerance , and the final spread is
less than the mean spread over the past
options.MaxStallGenerations generations. See gamultiobj Algorithm. For an options structure, use
StallGenLimit . | Positive integer | {50} for ga , {100} for gamultiobj |
MaxStallTime
| NM The algorithm stops if there is no improvement in
the objective function for MaxStallTime seconds, as
measured by tic and toc . For an
options structure, use StallTimeLimit . | Positive scalar | {Inf} |
MaxTime
| The algorithm stops after running after MaxTime seconds, as measured
by tic and toc . This limit is enforced
after each iteration, so ga can exceed the limit when
an iteration takes substantial time. For an options structure,
use TimeLimit . | Positive scalar | {Inf} |
MigrationDirection | Direction of migration. See Migration Options | 'both' | {'forward'}
|
MigrationFraction | Scalar from 0 through 1 specifying the fraction of individuals in each subpopulation that
migrates to a different subpopulation. See Migration Options | Scalar | {0.2} |
MigrationInterval | Positive integer specifying the number of generations
that take place between migrations of individuals between subpopulations.
See Migration Options. | Positive integer | {20} |
MutationFcn
| I* Function that produces mutation children. Specify
as a name of a built-in mutation function or a function handle. See Mutation Options. | {'mutationgaussian'} for ga ,
{'mutationadaptfeasible'}* for
gamultiobj | 'mutationuniform' |
Custom mutation
function
|
NonlinearConstraintAlgorithm
| Nonlinear constraint algorithm. See Nonlinear Constraint Solver Algorithms. Option unchangeable for
gamultiobj . For an options structure,
use NonlinConAlgorithm . | {'auglag'} for ga , {'penalty'} for gamultiobj
|
OutputFcn
| Functions that ga calls at each iteration. Specify as a function
handle or a cell array of function handles. See Output Function Options. For an options structure,
use OutputFcns . | Function handle or cell array of function handles |
{[]} |
ParetoFraction
| Scalar from 0 through 1 specifying the fraction of individuals to keep on the first
Pareto front while the solver selects individuals from higher fronts, for
gamultiobj only. See Multiobjective Options. | Scalar | {0.35} |
PenaltyFactor | NM I* Penalty
update parameter. | Positive scalar | {100} |
PlotFcn
| Function that plots data computed by the algorithm. Specify as a name of a built-in
plot function, a function handle, or a cell array of built-in names or
function handles. See Plot Options. For an options
structure, use PlotFcns . | ga or gamultiobj : {[]} |
'gaplotdistance' | 'gaplotgenealogy' | 'gaplotselection' |
'gaplotscorediversity' |'gaplotscores' | 'gaplotstopping' |
'gaplotmaxconstr' | Custom plot function
ga only:
'gaplotbestf' | 'gaplotbestindiv' | 'gaplotexpectation' |
'gaplotrange'
gamultiobj
only: 'gaplotpareto' | 'gaplotparetodistance' | 'gaplotrankhist' |
'gaplotspread'
|
PlotInterval | Positive integer specifying the number of generations
between consecutive calls to the plot functions. | Positive integer | {1} |
PopulationSize
| Size of the population. | Positive integer | {50} when numberOfVariables
<= 5 , {200} otherwise | {min(max(10*nvars,40),100)} for
mixed-integer problems |
PopulationType
| Data type of the population. Must be 'doubleVector' for
mixed integer problems. | 'bitstring' | 'custom' | {'doubleVector'}
ga ignores
all constraints when PopulationType is set to 'bitString' or 'custom' .
See Population Options.
|
SelectionFcn
| I* Function that selects parents of crossover and
mutation children. Specify as a name of a built-in selection function or a
function handle. gamultiobj uses only
'selectiontournament' .
| {'selectionstochunif'} for ga ,
{'selectiontournament'} for
gamultiobj |
'selectionremainder' |
'selectionuniform' |
'selectionroulette' | Custom selection
function
|
StallTest | NM Stopping test type. | 'geometricWeighted' | {'averageChange'}
|
UseParallel | Compute fitness and nonlinear constraint functions in
parallel. See Vectorize and Parallel Options (User Function Evaluation) and How to Use Parallel Processing in Global Optimization Toolbox. | true | {false}
|
UseVectorized
| Specifies whether functions are vectorized. See Vectorize and Parallel Options (User Function Evaluation) and
Vectorize the Fitness Function. For an options structure, use Vectorized
with the values 'on' or
'off' . | true | {false}
|