Next: de_min, Previous: line_min, Up: Scalar optimization [Index]
This simulated annealing algorithm implicitely honours bound constraints.
samin: simulated annealing minimization of a function. See samin_example.m usage: [x, obj, convergence, details] = samin("f", {args}, {control}) Arguments: * "f": function name (string) * {args}: a cell array that holds all arguments of the function, * {control}: a cell array with 11 elements * LB - vector of lower bounds * UB - vector of upper bounds * nt - integer: # of iterations between temperature reductions * ns - integer: # of iterations between bounds adjustments * rt - (0 < rt <1): temperature reduction factor * maxevals - integer: limit on function evaluations * neps - integer: number of values final result is compared to * functol - (> 0): the required tolerance level for function value comparisons * paramtol - (> 0): the required tolerance level for parameters * verbosity - scalar: 0, 1, or 2. * 0 = no screen output * 1 = only final results to screen * 2 = summary every temperature change * minarg - integer: which of function args is minimization over? Returns: * x: the minimizer * obj: the value of f() at x * convergence: 0 if no convergence within maxevals function evaluations 1 if normal convergence to a point interior to the parameter space 2 if convergence to point very near bounds of parameter space (suggest re-running with looser bounds) * details: a px3 matrix. p is the number of times improvements were found. The columns record information at the time an improvement was found * first: cumulative number of function evaluations * second: temperature * third: function value Example: see samin_example