- Simulated annealing (SA) is a probabilistic technique for approximating the global optimum of a given function.1
- it is a metaheuristic to approximate global optimization in a large search space. Metaheuristics use the neighbours of a solution as a way to explore the solutions space, and although they prefer better neighbours, they also accept worse neighbours in order to avoid getting stuck in local optima.1
- a slow decrease in the probability of accepting worse solutions as it explores the solution space. Accepting worse solutions is a fundamental property of metaheuristics because it allows for a more extensive search for the optimal solution.1
- The goal is to bring the system, from an arbitrary initial state, to a state with the minimum possible energy.1
- probabilistically decides between moving the system to state s' or staying in state s. These probabilities ultimately lead the system to move to states of lower energy.1
- this step is repeated until the system reaches a state that is good enough for the application, or until a given computation budget has been exhausted.1
- vertices are all possible states, edges are the candidate moves.
- The diameter of the search graph must be small.
-
tiling game. the domino game.: as many neighboring sides of tiles of the same color as possible.
-
exactly solve only for relatively small input size.
-
Simulating a process that involves first heating and them slowliy cooling some material.
-
monicrystalline state of silicon. smallest energy possible
-
tiling game, 'bond' between two neighboring tiles is stronger if sides with the same color face each other.
-
the tiles widly jump about
-
the lower the temprature gets, the harder it becomdes to tear a tile from its positioni
-
the more stable bonds they have with their neighors, the stonger they stick to their position.
-
method of steepest descent, only climbs upward, never downward.
-
P395-Algorithm
- The neighbours of a state
- a move: the states are altered in order to find neighbouring states. These moves usually result in minimal alterations of the last state.
- Acceptance probabilities: P(e, e', T), depends on the energies e = E(s) and e' = E(s') of the two states, and on a global time-varying parameter T called the temperature. 1)When T tends to zero, the probability P(e, e', T) must tend to zero. For sufficiently small values of T, the system will then increasingly favor moves that go "downhill". With T=0 the procedure reduces to the greedy algorithm, which makes only the downhill transitions. 2) for a large T, the evolution of s is sensitive to coarser energy variations, while it is sensitive to finer energy variations when T is small.
- 1 not essential condition: the probability P(e, e', T) was equal to 1 when e'<\e
- 2 not essential condition: the probability of accepting a move decreases when the difference e'-e increases
- The annealing schedule: end with T=0
- total mileage traveled becomes as small as possible
- Find some solution to start with(Put the cities in some arbitrary order).
- One approach: randomly choose a segment of the tour and traverse it in the opposite direction.
- Second approach: visit soome city at a different point in time.
- If the new one is better, we keep it, otherwise we return to the older tour.(only climbs upward.)
- the state space, the energy (goal) function E(), the candidate generator procedure neighbour(), the acceptance probability function P(), and the annealing schedule temperature() AND initial temperature.
- perfectly aligned stack of paper
- turn the vibration from strong to gentle.
- solution can be judged by number.
- An initial solution can be easily computed
- There are simple adjustment rules that locally change a solution.
- Every solution can be turned into every other solution by the adjustment rules.
- often used when the search space is discrete1
- simulated annealing may be preferable to alternatives such as brute-force search or gradient descent.
- connecting the cooling schedule to the search progress.
- move back to a solution that was significantly better rather than always moving from the current state.
- restarting based on a fixed number of steps, based on whether the current energy is too high compared to the best energy obtained so far, restarting randomly, etc.
- Boltzmann factor can be used as probability between two state.(代价函数,接受准则)
- Implement simulated annealing in c++ using generic programming and object-oriented programming
- Choose TSP problem and implement in c++
- Fixed memory error in code
- Batch run the program and analysis the simulated annealing algorithm in solving NP-complete problem.
- Monte Carlo time step???
- draw figure in R
- draw 10 configuration (for p=0.9999)
- tempering techniques, more efficient Monte Carlo algorithms
- Sometimes, an optimization problem can also be formulated as a Monte Carlo sampling problem.
- SA is an optimization method, not simulation method.
- The temperature parameter
[2]: Monte Carlo Strategies in Scitific Computing. we are interested in finding the minimum of a target function, h(x), defined on a possibly complex configuration space. when T is sufficiently small, resulting random draws will most likely be located in the vicinity of the global minimum of h(x).