Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Change language to: English - Português - 日本語 - Русский

See the recommended documentation of this function

Aide de Scilab >> Optimisation : recuit simulé > Utilities > compute_initial_temp

# 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_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, f, Proba_start, It_Pre, saparams);```

• 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