Next: d2_min, Previous: siman, Up: Scalar optimization [Index]
A simulated annealing (stochastic) optimizer, changing each parameter separately, so not suitable for non-bound constraints. Requires specification of lower and upper bounds for each parameter and attempts to scan the whole region so defined.
No gradient or hessian of the objective function is used. The settings
fract_prec
and max_fract_change
are not honoured.
Maximal stepwidth is continuously adjusted according to the ratio of accepted steps. Temperature is increased at the start until accepted steps cover the whole parameter range, if this is not the case at the initial temperature.
Accepts the additional settings T_init
(initial temperature,
default 0.1), mu_T
(factor of temperature decrease, default 1.2),
iters_fixed_T
(subiterations within one temperature step, default
100), iters_adjust_step
(number of subiterations after which
maximal stepwidth is adjusted, default 5), niter_check_tolfun
(number of iterations to compare with if checking the value of the
objective function for convergence, default 5), trace_steps
(set
field trace
of outp with a matrix with a row for each step,
first column iteration number, second column repeat number within
iteration, third column value of objective function, fourth column
temperature, rest columns parameter values, default false
), and
siman_log
(set field log
of outp with a matrix with
a row for each iteration, first column temperature, second column value
of objective function, rest columns numbers of tries with decrease, no
decrease but accepted, no decrease and rejected, steps corrected back
into bounds, and steps yielding a new best value of the objective
function).
Steps with increase diff
of objective function are accepted if
rand (1) < exp (- diff / T)
, where T
is the temperature of
the current iteration.
If converged, the returned value of cvg will be 1
, if
MaxIters
is exceeded before convergence, cvg will be
0
. The returned structure outp, additionally to the
possible fields trace
and log
described above, will have
the fields niter
and user_interaction
.
Interpretation of Display
: if set to "iter"
,
informational text is printed after each iteration and at the end of
optimization. If set to "final"
, informational text is printed
only at the end of optimization.
No parallel execution is performed in this backend.
Options save_state
and recover_state
are not honoured.
Next: d2_min, Previous: siman, Up: Scalar optimization [Index]