Name

compute_initial_temp — A SA function which allows to compute the initial temperature of the simulated annealing

Calling Sequence

T_init = compute_initial_temp(x0,f,proba_init,ItMX,neigh_func,param_neigh_func)

Parameters

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)

neigh_func

a function which returns a neighbor of a given point (see the help page of neigh_func to see the prototype of this function)

param_neigh_func

some parameters (can be a list) which will be sent as parameters to neigh_func

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);

comp_t_params = init_param();
comp_t_params = add_param(comp_t_params,'neigh_func', neigh_func_default);

T0 = compute_initial_temp(x0, rastrigin, Proba_start, It_Pre, comp_t_sa);
 

See Also

optim_sa , neigh_func_default , temp_law_default

Authors

collette

Yann COLLETTE (ycollet@freesurf.fr)