compute_initial_temp
A SA function which allows to compute the initial temperature of the simulated annealing
Syntax
T_init = compute_initial_temp(x0,f,proba_init, ItMX [, param] )
Arguments
- x0
- the starting point 
- f
- the objective function which will be send to the simulated annealing for optimization 
- proba_init
- the initial probability of accepting a bad solution (usually around 0.7) 
- ItMX
- the number of iterations of random walk (usually around 100) 
- param
- optional, a data structure managed with the parameters module. - The - optim_safunction is sensitive to the following fields.- "neigh_func"
- a function which computes a neighbor of a given point. The default neighbourhood function is - neigh_func_default.
- "type_accept"
- the type of acceptation function. If the type is equal to "sa", then the initial temperature is computed from - T_init = - f_sum ./ log(proba_init). If the type is equal to "vfsa", it is computed from- T_init = abs(f_sum / log(1/proba_init - 1)).
 
- T_init
- The initial temperature corresponding to the given probability of accepting a bad solution 
Description
This function computes an initial temperature given an initial probability of accepting a bad solution. This computation is based on some iterations of random walk.
Examples
deff('y=f(x)','y=sum(x.^2)'); x0 = [2 2]; Proba_start = 0.7; It_Pre = 100; x_test = neigh_func_default(x0); saparams = init_param(); saparams = add_param(saparams,'neigh_func', neigh_func_default); T0 = compute_initial_temp(x0, f, Proba_start, It_Pre, saparams);
See also
- optim_sa — A Simulated Annealing optimization method
- neigh_func_default — A SA function which computes a neighbor of a given point
- temp_law_default — A SA function which computed the temperature of the next temperature stage
| Report an issue | ||
| << accept_func_vfsa | Utilities | neigh_func_csa >> |