Change language to:
English - Français - Português

See the recommended documentation of this function

Scilab manual >> Simulated Annealing > compute_initial_temp

# 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 [, 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_sa function 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();

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