Find Pareto front of multiple fitness functions using genetic algorithm
x = gamultiobj(fitnessfcn,nvars)
x = gamultiobj(fitnessfcn,nvars,A,b)
x = gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq)
x = gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub)
x = gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,nonlcon)
x = gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,options)
x =
gamultiobj(fitnessfcn,nvars,A,b,Aeq,beq,lb,ub,nonlcon,options)
x = gamultiobj(problem)
[x,fval]
= gamultiobj(___)
[x,fval,exitflag]
= gamultiobj(___)
[x,fval,exitflag,output]
= gamultiobj(___)
[x,fval,exitflag,output,population,scores]
= gamultiobj(___)
finds x
= gamultiobj(fitnessfcn
,nvars
)x
on
the Pareto Front of the objective
functions defined in fitnessfcn
. nvars
is
the dimension of the optimization problem (number of decision variables).
The solution x
is local, which means it might not
be on the global Pareto front.
Note: Passing Extra Parameters (Optimization Toolbox) explains how to pass extra parameters to the objective function and nonlinear constraint functions, if necessary. |
finds
a local Pareto set x
= gamultiobj(fitnessfcn
,nvars
,A
,b
)x
subject to the linear inequalities $$A\ast x\le b$$. See Linear Inequality Constraints (Optimization Toolbox). gamultiobj
supports
linear constraints only for the default PopulationType
option
('doubleVector'
).
finds
a local Pareto set x
= gamultiobj(fitnessfcn
,nvars
,A
,b
,Aeq
,beq
)x
subject to the linear equalities $$Aeq\ast x=beq$$ and the linear inequalities $$A\ast x\le b$$, see Linear Equality Constraints (Optimization Toolbox).
(Set A = []
and b = []
if no inequalities exist.) gamultiobj
supports
linear constraints only for the default PopulationType
option
('doubleVector'
).
defines
a set of lower and upper bounds on the design variables x
= gamultiobj(fitnessfcn
,nvars
,A
,b
,Aeq
,beq
,lb
,ub
)x
so
that a local Pareto set is found in the range $$LB\le x\le UB$$, see Bound Constraints (Optimization Toolbox).
Use empty matrices for Aeq
and beq
if
no linear equality constraints exist. gamultiobj
supports
bound constraints only for the default PopulationType
option
('doubleVector'
).
finds a Pareto set subject to the
constraints defined in x
= gamultiobj(fitnessfcn
,nvars
,A
,b
,Aeq
,beq
,lb
,ub
,nonlcon
)nonlcon
. The function nonlcon
accepts x
and
returns vectors c
and ceq
, representing
the nonlinear inequalities and equalities respectively. gamultiobj
minimizes fitnessfcn
such
that c(x)
≤ 0
and ceq(x) = 0
. (Set lb = []
and ub = []
if no bounds exist.) gamultiobj
supports
nonlinear constraints only for the default PopulationType
option
('doubleVector'
).
or x
= gamultiobj(fitnessfcn
,nvars
,A
,b
,Aeq
,beq
,lb
,ub
,options
)
finds
a Pareto set x
=
gamultiobj(fitnessfcn
,nvars
,A
,b
,Aeq
,beq
,lb
,ub
,nonlcon
,options
)x
with the default optimization parameters
replaced by values in options
. Create options
using optimoptions
(recommended) or gaoptimset
.
finds
the Pareto set for x
= gamultiobj(problem
)problem
, where problem
is
a structure. Create problem
by exporting a problem
from the Optimization app, as described in Importing and Exporting Your Work (Optimization Toolbox).
gamultiobj
uses a controlled, elitist genetic
algorithm (a variant of NSGA-II [1]). An elitist
GA always favors individuals with better fitness value (rank). A controlled
elitist GA also favors individuals that can help increase the diversity
of the population even if they have a lower fitness value. It is important
to maintain the diversity of population for convergence to an optimal
Pareto front. Diversity is maintained by controlling the elite members
of the population as the algorithm progresses. Two options, ParetoFraction
and DistanceFcn
,
control the elitism. ParetoFraction
limits the
number of individuals on the Pareto front (elite members). The distance
function, selected by DistanceFcn
, helps to maintain
diversity on a front by favoring individuals that are relatively far
away on the front. The algorithm stops if the spread,
a measure of the movement of the Pareto front, is small.
[1] Deb, Kalyanmoy. Multi-Objective Optimization Using Evolutionary Algorithms. Chichester, England: John Wiley & Sons, 2001.