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