Next: , Previous: , Up: Scalar optimization   [Index]


1.5 Simulated annealing backend samin of scalar optimization

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: , Previous: , Up: Scalar optimization   [Index]