**Syntax**

` >>> ANNEAL`

**Parent Command**

` >> OPTION`

**Subcommand**

` >>>> ITERATION
>>>> LIST
>>>> SCHEDULE
>>>> STEP
>>>> TEMPERATURE`

**Description**

This command invokes Simulated Annealing to minimize the objective function S. The following steps are performed by iTOUGH2, controlled by a number of fourth-level commands:

(1) Define the range of possible parameter values using command `>>>> RANGE` in block `> PARAMETER.`

(2) Define an initial value of the control parameter tau using command `>>>> TEMPERATURE.`

(3) iTOUGH2 generates random perturbations delta(**p**) of the parameter vector **p**. The probability density function of the perturbation is either Gaussian or uniform; the initial standard deviations of these distributions are given by command `>>>> DEVIATION (p)`.

(4) The objective function S(**p**_{k+1}) for the new parameter set **p**_{k+1} = **p**_{k} + delta(**p**) is evaluated.

(5) If the objective function is decreased (i.e., delta(S)=S(**p**_{k+1}) – S(**p**_{k}) < 0), the change is retained. If the objective function is increased (i.e., delta(S) > 0), the perturbation is accepted with probability P=exp(-delta(S)/tau)

(6) After a sufficient number of perturbations have been accepted (see command `>>> STEP (a)`), tau is lowered according to the annealing schedule (see command `>>>> SCHEDULE).`

(7) Steps (3) through (6) are repeated until the maximum number of temperature reductions (see command `>>>> ITERATION` (a)) is reached.

This scheme of always taking a downhill step and sometimes taking an uphill step with probability P depending on tau is known as the Metropolis algorithm. Simulated Annealing may be especially useful for the minimization of a discontinuous cost function in order to optimize operational parameters.

**Example**

` > PARAMETER
>> pumping RATE
>>> SINK: EXT_1
>>>> RANGE: -1E-1 -1E-4
>>>> LOGARITHM
<<<<
<<<
<<`

> COMPUTATION

>> TIME: 1 [YEARS]

2.0

>> USER specified cost function: Extraction cost

>>> SINK: EXT_1

>>>> NO DATA

>>>> WEIGHT (=specific costs): 1.0

<<<<

<<<

<<

> COMPUTATION

>> OPTION

>>> a cost function is minimized using L1-ESTIMATOR

>>> perform minimization using Simulated ANNEALing

>>>> initial TEMPERATURE : -0.05 (=5 % of initial cost)

>>>> update after maximum : 100 STEPS

>>>> annealing SCHEDULE: 0.95

>>>> Simulated Annealing ITERATIONS: 50

<<<<

<<<

<<

**See Also**

` >>> GAUSS-NEWTON | >>> GRID SEARCH | >>> LEVENBERG-MARQUARDT | >>>> ITERATION (a) | >>>> SCHEDULE | >>>> STEP (a) | >>>> TEMPERATURE
`