7.1.6. Simulated Annealing (SA)




This scheduler is based on a modified single objective "Simulated Annealing" algorithm and uses a modification of the downhill Simplex Method. The term simulated annealing derives from the physical process of heating and then slowly cooling a substance to obtain a strong crystalline structure. Simulated Annealing is also called "Monte Carlo annealing", "probabilistic hill climbing" or "stochastic relaxation" algorithm.

Simulated Annealing is an optimization strategy which has been invented in the early eighties by Kirkpatrick. The simulated annealing algorithm lowers the temperature by slow steps until the system "freezes" and no further changes occur. The temperature annealing was first introduced by "Metropolis" in 1953. The initial temperature, the sequence of temperatures and the number of iterations influence the annealing schedule.

The temperature is computed with the formula:

		T = T0*(1-Niter/Ntot)*P
	
where T0 is the initial temperature, Niter is the current iteration step and Ntot is the maximum number of iterations. Larger values of the annealing coefficient P spend more iterations at lower temperature.

The entries in the DOE table are used as initial configuration. Then a new configuration is constructed and, if the energy of this new state is lower than the previous one, the change is accepted unconditionally and the system is updated. Otherwise, if the energy is greater, the new configuration is accepted probabilistically.

So, the algorithm works by iteratively proposing changes and either accepting or rejecting them. This procedure allows the system to move consistently towards lower energy states and jump out of local minima due to the probabilistic steps.

Simulated Annealing Scheduler Panel

Figure 7.9. Simulated Annealing Scheduler Panel

The user must specify:

  1. Num. of Max Designs: to be analyzed, Ntot in the formula. The default value is set to 500.

  2. Initial Temperature: T0 in the formula. The initial temperature influences the annealing schedule. Larger values of the initial temperature perturb more the initial configurations.

The user can also specify:
  1. Final Termination Accuracy: the algorithm will stop when it cannot find solution with improvements higher that the convergence value. The default is set to 1.0E-5.

  2. Annealing Coefficient: P in the formula. Like the initial temperature, it influences the annealing schedule. Larger values of the annealing coefficient spend more iterations at lower temperature.

  3. Constraint penalty: the value is the constant that multiplies the distance from the feasible boundary.

    • The value can be problem dependent. The default value is 1000.

    • It is suggested to give a value to the penalty at least 2 orders of magnitude higher than the expected objective function value. The Automatic checkbox will let the scheduler choose the most appropriate penalty value for the search algorithm.

  4. Random Generator Seed: the modification of this value allows the execution of different runs starting from the same initial population. The Seed is an integer number used for sequence repeatability. If two Simulated Annealing Sequences are evaluated with the same seed, they will generate and return identical sequences of numbers. If the seed value is 0, the sequence is automatically seeded to a value based on the machine clock.


Return to modeFRONTIER Index