


SET_OPTIONS Set options for the various optimizers
Usage:
options = set_options('option1', value1, 'option2', value2, ...)
SET_OPTIONS is an easy way to set all options for the global optimization
algorithms PSO, DE, GA, ASA in GODLIKE. All options, and their possible
values are:
======================================================================
General Settings:
======================================================================
Display : string, either 'off' (default), 'on' or 'CommandWindow',
'Plot'. This option determines the type of display that
is used to show the algorithm's progress. 'CommandWindow'
(or simply 'on') will show relevant information in the
command window, whereas 'Plot' will make a plot in every
iteration of the current population. Note that 'Plot'
will only work if the number of decision variables is 1
or 2 in case of single-pbjective optimization, or between
1 and 3 objectives for multi-objective optimization.
Please note that using any other display setting than
'off' can significantly slow down the optimization.
MaxFunEvals : positive scalar, defining the maximum number of
allowable function evaluations. The default is 100,000.
Note that every objective and constraint function
evaluation will be counted as 1 function evaluation. For
multi-objective optimization, each objective function
will be counted.
MaxIters : positive scalar, defining the maximum number of
iterations that can be performed. The default is 20.
MinIters : positive scalar. This option defines the minimum amount
of iterations GODLIKE will perform. This is particularly
useful in multi-objective problems with small population
sizes, because this combination increases the probability
that GODLIKE reports convergence (all fronts are Pareto
fronts), while a Pareto front of much better quality is
obtained if some additional shuffles are performed. The
default value is 2.
======================================================================
Options specific to the GODLIKE Algorithm:
======================================================================
ItersLb : positive scalar. This sets the minimum number of
iterations that will be spent in one of the selected
heuristic optimizers, per GODLIKE iteration. The default
value is 10.
ItersUb : positive scalar. This sets the maximum TOTAL amount of
iterations that will be spent in all of the selected
heuristic optimizers combined. The default value is 100.
======================================================================
General Settings for Single-Objective Optimization:
======================================================================
TolIters: positive scalar. This option defines how many consecutive
iterations the convergence criteria must hold for each
individual algorithm, before that algorithm is said to
have converged. The default setting is 15 iterations.
TolX : positive scalar. Convergence is assumed to be attained,
if the coordinate differences in all dimensions for a
given amount of consecutive iterations is less than
[TolX]. This amount of iterations is [TolIters] for each
individual algorithm, and simply 2 for GODLIKE-iterations.
The default value is 1e-4.
TolFun : positive scalar. Convergence is said to have been
attained if the value of the objective function decreases
less than [TolFun] for a given amount of consecutive
iterations. This amount of iterations is [TolIters] for
each individual algorithm, and simply 2 for the
GODLIKE-iterations. The default value is 1e-4.
AchieveFunVal : scalar. This value is used in conjunction with the
[TolX] and [TolFun] settings. If set, the algorithm will
FIRST try to achieve this function value, BEFORE enabling
the [TolX] and [TolFun] convergence criteria. By default,
it is switched off (equal to AchieveFunVal = inf).
======================================================================
General Settings for Multi-Objective Optimization:
======================================================================
SkipTest : If set to 'on', some initial tests that are performed on
the objective and constraint functions. These tests
automatically determine whether the function accepts
vectorized input or not, and how many objectives the
problem has. The default is 'on', but it may be switched
'off'. In case it's switched 'off', the algorithm assumes
all functions accept vectorized input, AND the number of
objectives (the next option) has been given, AND the
dimensionality of the problem is also given (two options
down). The 'off'-switch will be ignored if either of these
demands is not true.
NumObjectives : Positive scalar. Sets the number of objectives manually.
When the objective function is a single function that
returns multiple objectives, the algorithm has to first
determine how many objectives there are. This takes some
function evaluations, which may be skipped by setting this
value manually.
======================================================================
Options specific to the Differential Evolution algorithm:
======================================================================
Flb : scalar. This value defines the lower bound for the range
from which the scaling parameter will be taken. The
default value is -1.5.
Fub : scalar. This value defines the upper bound for the range
from which the scaling parameter will be taken. The
default value is +1.5. These two values may be set equal
to each other, in which case the scaling parameter F is
simply a constant.
CrossConst : positive scalar. It defines the probability with which a
new trial individual will be inserted in the new
population. The default value is 0.95.
======================================================================
Options specific to the Genetic Algorithm:
======================================================================
Crossprob : positive scalar, defining the probability for crossover
for each individual. The default value is 0.25.
MutationProb : positive scalar, defining the mutation probability for
each individual. The default value is 0.1.
Coding : string, can either be 'binary' or 'real'. This decides
the coding, or representation, of the variables used by
the genetic algorithm. The default is 'Binary'.
NumBits : positive scalar. This options sets the number of bits
to use per decision variable, if the 'Coding' option is
set to 'Binary'. Note that this option is ignored when
the 'Coding' setting is set to 'real'. The default
number of bits is 52 (maximum precision).
======================================================================
Options specific to the Adaptive Simulated Annealing Algorithm:
======================================================================
T0 : positive scalar. This is the initial temperature for
all particles. If left empty, an optimal one will be
estimated; this is the default.
CoolingSchedule : function handle, with [iteration], [T0], and[T] as
parameters. This function defines the cooling schedule
to be applied each iteration. The default is
@(T,T0,iteration) T0 * 0.87^iteration
It is only included for completeness, and testing
purposes. Only in rare cases is it beneficial to change
this setting.
ReHeating : positive scalar. After an interchange operation in
GODLIKE, the temperature of an ASA population should
be increased to allow the new individuals to move
over larger portions of the search space. The default
value is
======================================================================
Options specific to the Particle Swarm Algorithm:
======================================================================
eta1 : scalar < 4. This is the 'social factor', the
acceleration factor in front of the difference with the
particle's position and its neighorhood-best. The
default value is 2. Note that negative values result in
a Repulsive Particle Swarm algorithm.
eta2 : scalar < 4. This is the 'cooperative factor', the
acceleration factor in front of the difference with the
particle's position and the location of the global
minimum found so far. The default value is 2.
eta3 : scalar < 4. This is the 'nostalgia factor', the
acceleration factor in front of the difference with the
particle's position and its personal-best. The default
value is 0.5.
omega : scalar. This is the 'inertial constant', the tendency of
a particle to continue its motion undisturbed. The
default value is 0.5.
NumNeighbors : positive scalar. This defines the maximum number of
'neighbors' or 'friends' assigned to each particle. The
default value is 5.
NetworkTopology: string, equal to either 'fully_connected', 'star', or
'ring'. This defines the topology of the social network
for each particle. In case 'star' is selected (the
default), the setting for NumNeighbors will define the
total number of partiles per star; the same holds in
case 'ring' is selected. When 'fully_connected' is
selected however, the value for NumNeighbors will be
ignored (all particles are connected to all other
particles).
see also GODLIKE, pop_multi, pop_single.