模拟退火
此词条暂由彩云小译翻译,未经人工整理和审校,带来阅读不便,请见谅。
}}
Simulated Annealing can be used to solve combinatorial problems. Here it is applied to the travelling salesman problem to minimize the length of a route that connects all 125 points.
模拟退火可以用来解决组合问题。这里我们将它应用到[[旅行推销员问题最小化连接所有125个点的路径长度]。]
Simulated annealing (SA) is a probabilistic technique for approximating the global optimum of a given function. Specifically, it is a metaheuristic to approximate global optimization in a large search space for an optimization problem. It is often used when the search space is discrete (e.g., the traveling salesman problem). For problems where finding an approximate global optimum is more important than finding a precise local optimum in a fixed amount of time, simulated annealing may be preferable to alternatives such as gradient descent.
Simulated annealing (SA) is a probabilistic technique for approximating the global optimum of a given function. Specifically, it is a metaheuristic to approximate global optimization in a large search space for an optimization problem. It is often used when the search space is discrete (e.g., the traveling salesman problem). For problems where finding an approximate global optimum is more important than finding a precise local optimum in a fixed amount of time, simulated annealing may be preferable to alternatives such as gradient descent.
是一种用于逼近给定函数全局最优值的概率模拟退火。具体来说,它是一个亚启发式近似全局优化在一个大的搜索空间为最佳化问题。当搜索空间是离散的(例如,旅行推销员问题)时,经常使用它。对于那些在一定时间内找到一个近似的全局最优解比找到一个精确的局部最优解更重要的问题,模拟退火可能比诸如梯度下降法之类的替代方法更可取。
The name and inspiration come from annealing in metallurgy, a technique involving heating and controlled cooling of a material to increase the size of its crystals and reduce their defects. Both are attributes of the material that depend on its thermodynamic free energy. Heating and cooling the material affects both the temperature and the thermodynamic free energy.
The name and inspiration come from annealing in metallurgy, a technique involving heating and controlled cooling of a material to increase the size of its crystals and reduce their defects. Both are attributes of the material that depend on its thermodynamic free energy. Heating and cooling the material affects both the temperature and the thermodynamic free energy.
这个名字和灵感来自于冶金学中的退火,这种技术包括对材料进行加热和控制冷却,以增加其晶体的尺寸并减少其缺陷。两者都是材料的属性,取决于它的热力学自由能。加热和冷却材料都会影响温度和热力学自由能。
Simulated annealing can be used to approximate the global minimum for a function with many variables. In 1983, this approach was used by Kirkpatrick, Gelatt Jr.,Vecchi, [1] for a solution of the traveling salesman problem. They also proposed its current name, simulated annealing.
Simulated annealing can be used to approximate the global minimum for a function with many variables. In 1983, this approach was used by Kirkpatrick, Gelatt Jr.,Vecchi, for a solution of the traveling salesman problem. They also proposed its current name, simulated annealing.
模拟退火可以用来逼近具有多个变量的函数的全局最小值。1983年,这种方法被柯克帕特里克、小格拉特和维奇用来解决旅行推销员问题。他们还提出了它现在的名字---- 模拟退火。
This notion of slow cooling implemented in the simulated annealing algorithm is interpreted as a slow decrease in the probability of accepting worse solutions as the solution space is explored. Accepting worse solutions is a fundamental property of metaheuristics because it allows for a more extensive search for the global optimal solution. In general, simulated annealing algorithms work as follows. The temperature progressively decreases from an initial positive value to zero. At each time step, the algorithm randomly selects a solution close to the current one, measures its quality, and moves to it according to the temperature-dependent probabilities of selecting better or worse solutions, which during the search respectively remain at 1 (or positive) and decrease towards zero.
This notion of slow cooling implemented in the simulated annealing algorithm is interpreted as a slow decrease in the probability of accepting worse solutions as the solution space is explored. Accepting worse solutions is a fundamental property of metaheuristics because it allows for a more extensive search for the global optimal solution. In general, simulated annealing algorithms work as follows. The temperature progressively decreases from an initial positive value to zero. At each time step, the algorithm randomly selects a solution close to the current one, measures its quality, and moves to it according to the temperature-dependent probabilities of selecting better or worse solutions, which during the search respectively remain at 1 (or positive) and decrease towards zero.
模拟退火算法中实现的缓慢冷却的概念被解释为在探索解决方案空间时接受较差解决方案的概率缓慢下降。接受较差的解是元启发法的一个基本属性,因为它允许对全局最优解进行更广泛的搜索。一般来说,模拟退火算法的工作原理如下。温度从最初的正值逐渐降低到零。该算法在每个时间步随机选择一个接近当前解的解,测量其质量,并根据温度相关的概率选择更好或更坏的解,在搜索过程中分别保持在1(或正)和向零递减。
The simulation can be performed either by a solution of kinetic equations for density functions[2][3] or by using the stochastic sampling method.[1][4] The method is an adaptation of the Metropolis–Hastings algorithm, a Monte Carlo method to generate sample states of a thermodynamic system, published by N. Metropolis et al. in 1953.[5]
The simulation can be performed either by a solution of kinetic equations for density functions or by using the stochastic sampling method. The method is an adaptation of the Metropolis–Hastings algorithm, a Monte Carlo method to generate sample states of a thermodynamic system, published by N. Metropolis et al. in 1953.
模拟可以通过求解密度函数的动力学方程或采用随机抽样方法进行。这种方法是对 Metropolis-Hastings 算法的一种改进,该算法是一种用来生成蒙特卡罗方法热力学系统状态样本的方法,由 n. Metropolis 等人发表。1953年。
Overview
The state of some physical systems, and the function E(s) to be minimized, is analogous to the internal energy of the system in that state. The goal is to bring the system, from an arbitrary initial state, to a state with the minimum possible energy.
The state of some physical systems, and the function E(s) to be minimized, is analogous to the internal energy of the system in that state. The goal is to bring the system, from an arbitrary initial state, to a state with the minimum possible energy.
某些物理系统的状态,以及要最小化的函数 e (s) ,类似于处于该状态的系统的内能。我们的目标是使系统,从一个任意的初始状态,到一个能量最小的状态。
hill climb algorithm, as there are many local maxima. By cooling the temperature slowly the global maximum is found.|500px]]
爬山算法,因为有许多局部极大值。通过慢慢降温,我们发现了全球最大温度。 | 500px ]
The basic iteration
At each step, the simulated annealing heuristic considers some neighboring state s* of the current state s, and 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. Typically 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.
At each step, the simulated annealing heuristic considers some neighboring state s* of the current state s, and 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. Typically 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.
在每个步骤中,模拟退火启发式考虑当前状态的一些相邻状态 s * ,然后根据概率决定是将系统移动到状态 s * 还是保持在状态 s * 。 这些可能性最终导致系统进入低能状态。通常,这个步骤会重复进行,直到系统达到对应用程序足够好的状态,或者直到给定的计算预算用完。
The neighbours of a state
Optimization of a solution involves evaluating the neighbours of a state of the problem, which are new states produced through conservatively altering a given state. For example, in the travelling salesman problem each state is typically defined as a permutation of the cities to be visited, and its neighbours are the set of permutations produced by reversing the order of any two successive cities. The well-defined way in which the states are altered to produce neighbouring states is called a "move", and different moves give different sets of neighbouring states. These moves usually result in minimal alterations of the last state, in an attempt to progressively improve the solution through iteratively improving its parts (such as the city connections in the traveling salesman problem).
Optimization of a solution involves evaluating the neighbours of a state of the problem, which are new states produced through conservatively altering a given state. For example, in the travelling salesman problem each state is typically defined as a permutation of the cities to be visited, and its neighbours are the set of permutations produced by reversing the order of any two successive cities. The well-defined way in which the states are altered to produce neighbouring states is called a "move", and different moves give different sets of neighbouring states. These moves usually result in minimal alterations of the last state, in an attempt to progressively improve the solution through iteratively improving its parts (such as the city connections in the traveling salesman problem).
解决方案的优化包括评估问题状态的邻居,这些邻居是通过保守地改变给定状态而产生的新状态。例如,在中东旅行推销员问题,每个州通常被定义为要参观的城市的排列,而其邻州则是通过颠倒任意两个连续城市的顺序而产生的排列组合。这种明确界定的改变各国以产生邻国的方式被称为“移动” ,不同的移动会产生不同的邻国集合。这些移动通常会导致最后一个状态的最小改变,以尝试通过迭代改进解决方案的各个部分(例如旅行推销员问题中的城市连接)来逐步改进解决方案。
Simple heuristics like hill climbing, which move by finding better neighbour after better neighbour and stop when they have reached a solution which has no neighbours that are better solutions, cannot guarantee to lead to any of the existing better solutions模板:Snd their outcome may easily be just a local optimum, while the actual best solution would be a global optimum that could be different. 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; they can find the global optimum if run for a long enough amount of time.
Simple heuristics like hill climbing, which move by finding better neighbour after better neighbour and stop when they have reached a solution which has no neighbours that are better solutions, cannot guarantee to lead to any of the existing better solutions their outcome may easily be just a local optimum, while the actual best solution would be a global optimum that could be different. 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; they can find the global optimum if run for a long enough amount of time.
像爬山这样的简单的启发式方法,通过寻找更好的邻居来寻找更好的邻居,当他们达成一个没有更好的邻居的解决方案时就停止,不能保证会导致任何现有的更好的解决方案,他们的结果可能很容易地只是一个局部的最佳解决方案,而实际的最佳解决方案将是一个可能不。元启发法利用解的邻域作为探索解空间的方法,尽管它们更喜欢更好的邻域,但它们也接受更差的邻域以避免陷入局部最优; 如果运行足够长的时间,它们可以找到全局最优。
Acceptance probabilities
The probability of making the transition from the current state [math]\displaystyle{ s }[/math] to a candidate new state [math]\displaystyle{ s' }[/math] is specified by an acceptance probability function [math]\displaystyle{ P(e, e', T) }[/math], that depends on the energies [math]\displaystyle{ e = E(s) }[/math] and [math]\displaystyle{ e' = E(s') }[/math] of the two states, and on a global time-varying parameter [math]\displaystyle{ T }[/math] called the temperature. States with a smaller energy are better than those with a greater energy. The probability function [math]\displaystyle{ P }[/math] must be positive even when [math]\displaystyle{ e' }[/math] is greater than [math]\displaystyle{ e }[/math]. This feature prevents the method from becoming stuck at a local minimum that is worse than the global one.
The probability of making the transition from the current state [math]\displaystyle{ s }[/math] to a candidate new state [math]\displaystyle{ s' }[/math] is specified by an acceptance probability function [math]\displaystyle{ P(e, e', T) }[/math], that depends on the energies [math]\displaystyle{ e = E(s) }[/math] and [math]\displaystyle{ e' = E(s') }[/math] of the two states, and on a global time-varying parameter [math]\displaystyle{ T }[/math] called the temperature. States with a smaller energy are better than those with a greater energy. The probability function [math]\displaystyle{ P }[/math] must be positive even when [math]\displaystyle{ e' }[/math] is greater than [math]\displaystyle{ e }[/math]. This feature prevents the method from becoming stuck at a local minimum that is worse than the global one.
从当前状态数学到候选状态数学的转变概率是由接受概率密度函数 / 数学 p (e,e’ ,t) / 数学确定的,这取决于两个状态的能量数学 e (s) / 数学 e (s’) / 数学,以及全球时变参数数学 t / 数学,称为温度。能量较小的状态比能量较大的状态要好。概率密度函数的数学 p / 数学必须是积极的,即使数学 e / 数学大于数学 e / 数学。这个特性可以防止方法陷入比全局最小值更糟糕的局部最小值。
When [math]\displaystyle{ T }[/math] tends to zero, the probability [math]\displaystyle{ P(e, e', T) }[/math] must tend to zero if [math]\displaystyle{ e' \gt e }[/math] and to a positive value otherwise. For sufficiently small values of [math]\displaystyle{ T }[/math], the system will then increasingly favor moves that go "downhill" (i.e., to lower energy values), and avoid those that go "uphill." With [math]\displaystyle{ T=0 }[/math] the procedure reduces to the greedy algorithm, which makes only the downhill transitions.
When [math]\displaystyle{ T }[/math] tends to zero, the probability [math]\displaystyle{ P(e, e', T) }[/math] must tend to zero if [math]\displaystyle{ e' \gt e }[/math] and to a positive value otherwise. For sufficiently small values of [math]\displaystyle{ T }[/math], the system will then increasingly favor moves that go "downhill" (i.e., to lower energy values), and avoid those that go "uphill." With [math]\displaystyle{ T=0 }[/math] the procedure reduces to the greedy algorithm, which makes only the downhill transitions.
当数学 t / math 趋于零时,如果 math e / math 趋于零,概率数学 p (e,e’ ,t) / math 必须趋于零,否则趋于正值。对于足够小的数学 t / math 值,系统会越来越倾向于走“下坡路”(即降低能量值) ,而避免走“上坡路”使用数学 t0 / math,过程简化为贪婪算法,只有下坡过渡。
In the original description of simulated annealing, the probability [math]\displaystyle{ P(e, e', T) }[/math] was equal to 1 when [math]\displaystyle{ e' \lt e }[/math]—i.e., the procedure always moved downhill when it found a way to do so, irrespective of the temperature. Many descriptions and implementations of simulated annealing still take this condition as part of the method's definition. However, this condition is not essential for the method to work.
In the original description of simulated annealing, the probability [math]\displaystyle{ P(e, e', T) }[/math] was equal to 1 when [math]\displaystyle{ e' \lt e }[/math]—i.e., the procedure always moved downhill when it found a way to do so, irrespective of the temperature. Many descriptions and implementations of simulated annealing still take this condition as part of the method's definition. However, this condition is not essential for the method to work.
在模拟退火的原始描述中,当数学 e’ e / math 时,概率数学 p (e,e’ ,t) / math 等于1。许多模拟退火的描述和实现仍然把这个条件作为方法定义的一部分。然而,这个条件并不是这个方法工作的必要条件。
The [math]\displaystyle{ P }[/math] function is usually chosen so that the probability of accepting a move decreases when the difference
The [math]\displaystyle{ P }[/math] function is usually chosen so that the probability of accepting a move decreases when the difference
数学 p / 数学函数的选择通常是为了降低接受移动的概率
[math]\displaystyle{ e'-e }[/math] increases—that is, small uphill moves are more likely than large ones. However, this requirement is not strictly necessary, provided that the above requirements are met.
[math]\displaystyle{ e'-e }[/math] increases—that is, small uphill moves are more likely than large ones. However, this requirement is not strictly necessary, provided that the above requirements are met.
数学 e’-e / 数学增加ー也就是说,小的上坡动作比大的动作更有可能。但是,如果符合上述要求,这一要求并非绝对必要。
Given these properties, the temperature [math]\displaystyle{ T }[/math] plays a crucial role in controlling the evolution of the state [math]\displaystyle{ s }[/math] of the system with regard to its sensitivity to the variations of system energies. To be precise, for a large [math]\displaystyle{ T }[/math], the evolution of [math]\displaystyle{ s }[/math] is sensitive to coarser energy variations, while it is sensitive to finer energy variations when [math]\displaystyle{ T }[/math] is small.
Given these properties, the temperature [math]\displaystyle{ T }[/math] plays a crucial role in controlling the evolution of the state [math]\displaystyle{ s }[/math] of the system with regard to its sensitivity to the variations of system energies. To be precise, for a large [math]\displaystyle{ T }[/math], the evolution of [math]\displaystyle{ s }[/math] is sensitive to coarser energy variations, while it is sensitive to finer energy variations when [math]\displaystyle{ T }[/math] is small.
考虑到这些性质,温度数学 t / math 在控制系统状态数学的演化方面起着至关重要的作用,因为它对系统能量变化的敏感性。准确地说,对于一个庞大的数学 t / math 来说,数学的进化对粗糙的能量变化是敏感的,而当数学 t / math 很小时,它对精细的能量变化是敏感的。
The annealing schedule
{{multiple image
{{multiple image
{多重图像
| align = right
| align = right
右对齐
| total_width = 400
| total_width = 400
总宽度400
| image_gap = 0
| image_gap = 0
图像缺口0
| image1 = SimulatedAnnealingFast.jpg
| image1 = SimulatedAnnealingFast.jpg
| image1 = SimulatedAnnealingFast.jpg
| alt1 = Fast
| alt1 = Fast
1 Fast
| caption1 = Fast
| caption1 = Fast
1 Fast
| image2 = SimulatedAnnealingSlow.jpg
| image2 = SimulatedAnnealingSlow.jpg
| image2 = SimulatedAnnealingSlow.jpg
| alt2 = Slow
| alt2 = Slow
2 Slow
| caption2 = Slow
| caption2 = Slow
2慢
| footer= Example illustrating the effect of cooling schedule on the performance of simulated annealing. The problem is to rearrange the pixels of an image so as to minimize a certain potential energy function, which causes similar colours to attract at short range and repel at a slightly larger distance. The elementary moves swap two adjacent pixels. These images were obtained with a fast cooling schedule (left) and a slow cooling schedule (right), producing results similar to amorphous and crystalline solids, respectively.
| footer= Example illustrating the effect of cooling schedule on the performance of simulated annealing. The problem is to rearrange the pixels of an image so as to minimize a certain potential energy function, which causes similar colours to attract at short range and repel at a slightly larger distance. The elementary moves swap two adjacent pixels. These images were obtained with a fast cooling schedule (left) and a slow cooling schedule (right), producing results similar to amorphous and crystalline solids, respectively.
冷却时间表对模拟退火性能的影响的例子。问题在于重新排列图像的像素点,使某个势能函数最小化,从而导致相似的颜色在短距离内相互吸引,在稍大的距离内相互排斥。Elementary 移动交换两个相邻的像素。这些图像获得了一个快速冷却时间表(左)和一个缓慢的冷却时间表(右) ,产生的结果分别类似于非晶和晶体固体。
}}
}}
}}
The name and inspiration of the algorithm demand an interesting feature related to the temperature variation to be embedded in the operational characteristics of the algorithm. This necessitates a gradual reduction of the temperature as the simulation proceeds. The algorithm starts initially with [math]\displaystyle{ T }[/math] set to a high value (or infinity), and then it is decreased at each step following some annealing schedule—which may be specified by the user, but must end with [math]\displaystyle{ T=0 }[/math] towards the end of the allotted time budget. In this way, the system is expected to wander initially towards a broad region of the search space containing good solutions, ignoring small features of the energy function; then drift towards low-energy regions that become narrower and narrower; and finally move downhill according to the steepest descent heuristic.
The name and inspiration of the algorithm demand an interesting feature related to the temperature variation to be embedded in the operational characteristics of the algorithm. This necessitates a gradual reduction of the temperature as the simulation proceeds. The algorithm starts initially with [math]\displaystyle{ T }[/math] set to a high value (or infinity), and then it is decreased at each step following some annealing schedule—which may be specified by the user, but must end with [math]\displaystyle{ T=0 }[/math] towards the end of the allotted time budget. In this way, the system is expected to wander initially towards a broad region of the search space containing good solutions, ignoring small features of the energy function; then drift towards low-energy regions that become narrower and narrower; and finally move downhill according to the steepest descent heuristic.
算法的名称和灵感要求在算法的运行特性中嵌入一个与温度变化有关的有趣特征。这需要随着模拟的进行逐渐降低温度。该算法首先将 math t / math 设置为一个高值(或无穷大) ,然后按照某种退火时间表(可能由用户指定,但必须在分配的时间预算结束时以 math t 0 / math 结束)逐步减少。通过这种方式,系统被期望最初走向包含良好解的搜索空间的广阔区域,忽略能量函数的小特征; 然后向越来越窄的低能量区域漂移; 最后根据梯度下降法启发式向下移动。
For any given finite problem, the probability that the simulated annealing algorithm terminates with a global optimal solution approaches 1 as the annealing schedule is extended.[6] This theoretical result, however, is not particularly helpful, since the time required to ensure a significant probability of success will usually exceed the time required for a complete search of the solution space.[citation needed]
For any given finite problem, the probability that the simulated annealing algorithm terminates with a global optimal solution approaches 1 as the annealing schedule is extended. This theoretical result, however, is not particularly helpful, since the time required to ensure a significant probability of success will usually exceed the time required for a complete search of the solution space.
对于任何给定的有限问题,随着退火时间表的扩展,模拟退火算法终止于全局最优解的概率接近1。然而,这一理论结果并不特别有用,因为确保取得重大成功的可能性所需的时间通常超过完全搜索解决方案空间所需的时间。
Pseudocode
The following pseudocode presents the simulated annealing heuristic as described above. It starts from a state s0 and continues until a maximum of kmax steps have been taken. In the process, the call neighbour(s) should generate a randomly chosen neighbour of a given state s; the call random(0, 1) should pick and return a value in the range [0, 1], uniformly at random. The annealing schedule is defined by the call temperature(r), which should yield the temperature to use, given the fraction r of the time budget that has been expended so far.
The following pseudocode presents the simulated annealing heuristic as described above. It starts from a state and continues until a maximum of steps have been taken. In the process, the call should generate a randomly chosen neighbour of a given state ; the call should pick and return a value in the range , uniformly at random. The annealing schedule is defined by the call , which should yield the temperature to use, given the fraction of the time budget that has been expended so far.
下面的伪代码展示了上面描述的模拟退火启发式代码。它从一个状态开始,一直持续到采取了最多个步骤。在这个过程中,调用应该产生一个给定状态的随机选择的邻居; 调用应该选择并返回一个范围内的值,均匀地随机。退火时间表是由调用定义的,它应该产生使用的温度,给定的部分时间预算已经花费到目前为止。
35px; width: 600px
- Let s = s0
- For k = 0 through kmax (exclusive):
- T ← temperature( (k+1)/kmax )
- Pick a random neighbour, snew ← neighbour(s)
- If P(E(s), E(snew), T) ≥ random(0, 1):
- s ← snew
- Output: the final state s
/ div
Selecting the parameters
In order to apply the simulated annealing method to a specific problem, one must specify the following parameters: 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 <init temp>. These choices can have a significant impact on the method's effectiveness. Unfortunately, there are no choices of these parameters that will be good for all problems, and there is no general way to find the best choices for a given problem. The following sections give some general guidelines.
In order to apply the simulated annealing method to a specific problem, one must specify the following parameters: the state space, the energy (goal) function , the candidate generator procedure , the acceptance probability function , and the annealing schedule AND initial temperature <init temp>. These choices can have a significant impact on the method's effectiveness. Unfortunately, there are no choices of these parameters that will be good for all problems, and there is no general way to find the best choices for a given problem. The following sections give some general guidelines.
为了将模拟退火方法应用于特定问题,必须指定以下参数: 状态空间、能量(目标)函数、候选生成程序、验收概率密度函数、退火时间表和初始温度。这些选择会对方法的有效性产生重大影响。不幸的是,这些参数中没有对所有问题都有好处的选择,也没有一般的方法来为给定的问题找到最佳选择。下面的章节给出了一些一般的指导原则。
Sufficiently near neighbour
Simulated annealing may be modeled as a random walk on a search graph, whose vertices are all possible states, and whose edges are the candidate moves. An essential requirement for the neighbour()
function is that it must provide a sufficiently short path on this graph from the initial state to any state which may be the global optimum模板:Snd the diameter of the search graph must be small. In the traveling salesman example above, for instance, the search space for n = 20 cities has n! = 2,432,902,008,176,640,000 (2.4 quintillion) states; yet the number of neighbors of each vertex is [math]\displaystyle{ \sum_{k=1}^{n-1} k=\frac{n(n-1)}{2}=190 }[/math] edges, and the diameter of the graph is [math]\displaystyle{ n-1 }[/math].
Simulated annealing may be modeled as a random walk on a search graph, whose vertices are all possible states, and whose edges are the candidate moves. An essential requirement for the function is that it must provide a sufficiently short path on this graph from the initial state to any state which may be the global optimum the diameter of the search graph must be small. In the traveling salesman example above, for instance, the search space for n = 20 cities has n! = 2,432,902,008,176,640,000 (2.4 quintillion) states; yet the number of neighbors of each vertex is [math]\displaystyle{ \sum_{k=1}^{n-1} k=\frac{n(n-1)}{2}=190 }[/math] edges, and the diameter of the graph is [math]\displaystyle{ n-1 }[/math].
模拟退火可以被建模为一个搜索图上的随机游动,其顶点都是可能的状态,其边是候选移动。函数的一个基本要求是它必须提供一条足够短的路径,从初始状态到任何可能是全局最优的状态,搜索图的直径必须很小。例如,在上面的旅行推销员例子中,n 20个城市的搜索空间有 n!2,432,902,008,176,640,000(2.4次方)状态; 然而每个顶点的邻接数是 math { k 1} ^ n-1} k frac { n (n-1)}{2}190 / math 棱,图的直径是 math n-1 / math。
Transition probabilities
To investigate the behavior of simulated annealing on a particular problem, it can be useful to consider the transition probabilities that result from the various design choices made in the implementation of the algorithm. For each edge [math]\displaystyle{ (s,s') }[/math] of the search graph, the transition probability is defined as the probability that the simulated annealing algorithm will move to state [math]\displaystyle{ s' }[/math] when its current state is [math]\displaystyle{ s }[/math]. This probability depends on the current temperature as specified by temperature()
, on the order in which the candidate moves are generated by the neighbour()
function, and on the acceptance probability function P()
. (Note that the transition probability is not simply [math]\displaystyle{ P(e, e', T) }[/math], because the candidates are tested serially.)
To investigate the behavior of simulated annealing on a particular problem, it can be useful to consider the transition probabilities that result from the various design choices made in the implementation of the algorithm. For each edge [math]\displaystyle{ (s,s') }[/math] of the search graph, the transition probability is defined as the probability that the simulated annealing algorithm will move to state [math]\displaystyle{ s' }[/math] when its current state is [math]\displaystyle{ s }[/math]. This probability depends on the current temperature as specified by , on the order in which the candidate moves are generated by the function, and on the acceptance probability function . (Note that the transition probability is not simply [math]\displaystyle{ P(e, e', T) }[/math], because the candidates are tested serially.)
为了研究模拟退火在特定问题上的行为,考虑算法实现过程中的各种设计选择所产生的过渡概率是很有用的。对于搜索图的每条边的数学(s,s’) / 数学,转移概率被定义为当模拟退火 / 数学处于当前状态时,它将转移到状态 / 数学的概率。这个概率取决于当前的温度,由函数生成的候选移动的顺序,以及验收概率密度函数。(请注意,转移概率不是简单的数学 p (e,e’ ,t) / 数学,因为候选人被连续测试。)
Acceptance probabilities
The specification of neighbour()
, P()
, and temperature()
is partially redundant. In practice, it's common to use the same acceptance function P()
for many problems, and adjust the other two functions according to the specific problem.
The specification of , , and is partially redundant. In practice, it's common to use the same acceptance function for many problems, and adjust the other two functions according to the specific problem.
和的规范是部分冗余的。在实践中,对许多问题通常使用相同的验收函数,并根据具体问题调整另外两个函数。
In the formulation of the method by Kirkpatrick et al., the acceptance probability function [math]\displaystyle{ P(e, e', T) }[/math] was defined as 1 if [math]\displaystyle{ e' \lt e }[/math], and [math]\displaystyle{ \exp(-(e'-e)/T) }[/math] otherwise. This formula was superficially justified by analogy with the transitions of a physical system; it corresponds to the Metropolis–Hastings algorithm, in the case where T=1 and the proposal distribution of Metropolis–Hastings is symmetric. However, this acceptance probability is often used for simulated annealing even when the neighbour()
function, which is analogous to the proposal distribution in Metropolis–Hastings, is not symmetric, or not probabilistic at all. As a result, the transition probabilities of the simulated annealing algorithm do not correspond to the transitions of the analogous physical system, and the long-term distribution of states at a constant temperature [math]\displaystyle{ T }[/math] need not bear any resemblance to the thermodynamic equilibrium distribution over states of that physical system, at any temperature. Nevertheless, most descriptions of simulated annealing assume the original acceptance function, which is probably hard-coded in many implementations of SA.
In the formulation of the method by Kirkpatrick et al., the acceptance probability function [math]\displaystyle{ P(e, e', T) }[/math] was defined as 1 if [math]\displaystyle{ e' \lt e }[/math], and [math]\displaystyle{ \exp(-(e'-e)/T) }[/math] otherwise. This formula was superficially justified by analogy with the transitions of a physical system; it corresponds to the Metropolis–Hastings algorithm, in the case where T=1 and the proposal distribution of Metropolis–Hastings is symmetric. However, this acceptance probability is often used for simulated annealing even when the function, which is analogous to the proposal distribution in Metropolis–Hastings, is not symmetric, or not probabilistic at all. As a result, the transition probabilities of the simulated annealing algorithm do not correspond to the transitions of the analogous physical system, and the long-term distribution of states at a constant temperature [math]\displaystyle{ T }[/math] need not bear any resemblance to the thermodynamic equilibrium distribution over states of that physical system, at any temperature. Nevertheless, most descriptions of simulated annealing assume the original acceptance function, which is probably hard-coded in many implementations of SA.
在 Kirkpatrick 等人提出的方法中,接受概率密度函数 / 数学 p (e,e’ ,t) / math 被定义为1 if math e’ e / math,和 math exp (- (e’-e) / t) / math otherwise。这个公式表面上是通过类比物理系统的转变来证明的; 它相当于大都会-黑斯廷斯算法,在 t 1和大都会-黑斯廷斯的提案分布是对称的情况下。然而,这种接受概率经常用于模拟退火,即使函数类似于 Metropolis-Hastings 中的建议分布,不是对称的,或者根本不是概率的。因此,模拟退火算法的跃迁概率并不对应于类似物理系统的跃迁,并且在恒温数学 t / math 中状态的长期分布不需要与该物理系统在任何温度下状态上的热力学平衡分布有任何相似之处。尽管如此,大多数关于模拟退火的描述都假定了最初的验收函数,这个函数在许多 SA 实现中可能是硬编码的。
In 1990, Moscato and Fontanari [7], and independently Dueck and Scheuer 引用错误:没有找到与</ref>
对应的<ref>
标签, proposed that a deterministic update (i.e. one that is not based on the probabilistic acceptance rule) could speed-up the optimization process without impacting on the final quality. Moscato and Fontanari conclude from observing the analogous of the "specific heat" curve of the "threshold updating" annealing originating from their study that "the stochasticity of the Metropolis updating in the simulated annealing algorithm does not play a major role in the search of near-optimal minima". Instead, they proposed that "the smoothening of the cost function landscape at high temperature and the gradual definition of the minima during the cooling process are the fundamental ingredients for the success of simulated annealing." The method subsequently popularized under the denomination of "threshold accepting" due to Dueck and Scheuer's denomination. In 2001, Franz, Hoffmann and Salamon showed that the deterministic update strategy is indeed the optimal one within the large class of algorithms that simulate a random walk on the cost/energy landscape [8].
doi=10.1016/0021-9991(90)90201-B}}</ref>, proposed that a deterministic update (i.e. one that is not based on the probabilistic acceptance rule) could speed-up the optimization process without impacting on the final quality. Moscato and Fontanari conclude from observing the analogous of the "specific heat" curve of the "threshold updating" annealing originating from their study that "the stochasticity of the Metropolis updating in the simulated annealing algorithm does not play a major role in the search of near-optimal minima". Instead, they proposed that "the smoothening of the cost function landscape at high temperature and the gradual definition of the minima during the cooling process are the fundamental ingredients for the success of simulated annealing." The method subsequently popularized under the denomination of "threshold accepting" due to Dueck and Scheuer's denomination. In 2001, Franz, Hoffmann and Salamon showed that the deterministic update strategy is indeed the optimal one within the large class of algorithms that simulate a random walk on the cost/energy landscape .
Doi 10.1016 / 0021-9991(90)90201-B } / ref,提出一个确定性更新(即。一个不是基于概率接受规则)可以加快优化过程,而不影响最终的质量。Moscato 和 Fontanari 通过观察起源于他们研究的“阈值更新”退火的类似“比热”曲线得出结论: “模拟退火算法中 Metropolis 更新的随机性在近似最优极小值的搜索中不起主要作用”。相反,他们提出“在高温下平滑的成本函数和在冷却过程中逐渐定义的最小值是模拟退火成功的基本要素。”这种方法后来由于 Dueck 和 Scheuer 的命名而在“门槛接受”的命名下推广。在2001年,Franz,Hoffmann 和 Salamon 证明了确定性更新策略确实是大量算法中的最优策略,这些算法模拟了成本 / 能源景观上的随机游走。
Efficient candidate generation
When choosing the candidate generator neighbour()
, one must consider that after a few iterations of the simulated annealing algorithm, the current state is expected to have much lower energy than a random state. Therefore, as a general rule, one should skew the generator towards candidate moves where the energy of the destination state [math]\displaystyle{ s' }[/math] is likely to be similar to that of the current state. This heuristic (which is the main principle of the Metropolis–Hastings algorithm) tends to exclude "very good" candidate moves as well as "very bad" ones; however, the former are usually much less common than the latter, so the heuristic is generally quite effective.
When choosing the candidate generator , one must consider that after a few iterations of the simulated annealing algorithm, the current state is expected to have much lower energy than a random state. Therefore, as a general rule, one should skew the generator towards candidate moves where the energy of the destination state [math]\displaystyle{ s' }[/math] is likely to be similar to that of the current state. This heuristic (which is the main principle of the Metropolis–Hastings algorithm) tends to exclude "very good" candidate moves as well as "very bad" ones; however, the former are usually much less common than the latter, so the heuristic is generally quite effective.
在选择候选生成器的时候,必须考虑到在模拟退火 / 状态算法的几次迭代之后,当前状态的能量要比随机状态低得多。因此,作为一般规则,应该将生成器倾斜到候选移动,其中目标状态数学的能量可能与当前状态的能量相似。这种启发式(Metropolis-Hastings 算法的主要原则)倾向于排除”非常好”的候选动作和”非常坏”的动作; 然而,前者通常不如后者常见,因此这种启发式一般是相当有效的。
In the traveling salesman problem above, for example, swapping two consecutive cities in a low-energy tour is expected to have a modest effect on its energy (length); whereas swapping two arbitrary cities is far more likely to increase its length than to decrease it. Thus, the consecutive-swap neighbour generator is expected to perform better than the arbitrary-swap one, even though the latter could provide a somewhat shorter path to the optimum (with [math]\displaystyle{ n-1 }[/math] swaps, instead of [math]\displaystyle{ n(n-1)/2 }[/math]).
In the traveling salesman problem above, for example, swapping two consecutive cities in a low-energy tour is expected to have a modest effect on its energy (length); whereas swapping two arbitrary cities is far more likely to increase its length than to decrease it. Thus, the consecutive-swap neighbour generator is expected to perform better than the arbitrary-swap one, even though the latter could provide a somewhat shorter path to the optimum (with [math]\displaystyle{ n-1 }[/math] swaps, instead of [math]\displaystyle{ n(n-1)/2 }[/math]).
例如,在上面的旅行推销员问题中,在一个低能量旅游中交换两个连续的城市预计会对其能量(长度)产生适度的影响,而交换两个任意的城市更有可能增加而不是减少其长度。因此,预计连续交换邻居生成器的性能要优于任意交换生成器,尽管后者可以提供一条通往最优化的较短路径(使用数学 n-1 / math 交换,而不是数学 n (n-1) / 2 / math)。
A more precise statement of the heuristic is that one should try first candidate states [math]\displaystyle{ s' }[/math] for which [math]\displaystyle{ P(E(s), E(s'), T) }[/math] is large. For the "standard" acceptance function [math]\displaystyle{ P }[/math] above, it means that [math]\displaystyle{ E(s') - E(s) }[/math] is on the order of [math]\displaystyle{ T }[/math] or less. Thus, in the traveling salesman example above, one could use a neighbour()
function that swaps two random cities, where the probability of choosing a city-pair vanishes as their distance increases beyond [math]\displaystyle{ T }[/math].
A more precise statement of the heuristic is that one should try first candidate states [math]\displaystyle{ s' }[/math] for which [math]\displaystyle{ P(E(s), E(s'), T) }[/math] is large. For the "standard" acceptance function [math]\displaystyle{ P }[/math] above, it means that [math]\displaystyle{ E(s') - E(s) }[/math] is on the order of [math]\displaystyle{ T }[/math] or less. Thus, in the traveling salesman example above, one could use a function that swaps two random cities, where the probability of choosing a city-pair vanishes as their distance increases beyond [math]\displaystyle{ T }[/math].
关于这种启发式的一个更精确的陈述是,人们应该尝试第一个候选状态的数学 s / math,对于这个状态的数学 p (e (s) ,e (s’) ,t) / math 是很大的。对于上面提到的“标准”接受函数数学 p / math,它意味着数学 e (s’)-e (s) / math 的顺序是数学 t / math 或更少。因此,在上面的旅行推销员的例子中,我们可以使用一个交换两个随机城市的函数,其中选择一个城市对的概率消失了,因为它们的距离增加超过了数学 t / math。
Barrier avoidance
When choosing the candidate generator neighbour()
one must also try to reduce the number of "deep" local minima—states (or sets of connected states) that have much lower energy than all its neighbouring states. Such "closed catchment basins" of the energy function may trap the simulated annealing algorithm with high probability (roughly proportional to the number of states in the basin) and for a very long time (roughly exponential on the energy difference between the surrounding states and the bottom of the basin).
When choosing the candidate generator one must also try to reduce the number of "deep" local minima—states (or sets of connected states) that have much lower energy than all its neighbouring states. Such "closed catchment basins" of the energy function may trap the simulated annealing algorithm with high probability (roughly proportional to the number of states in the basin) and for a very long time (roughly exponential on the energy difference between the surrounding states and the bottom of the basin).
在选择候选生成器时,还必须尽量减少“深”局部最小状态(或连通状态集合)的数量,这些状态的能量要比所有相邻状态的能量低得多。这种能量函数的“封闭集水盆地”可能会以高概率(大致与盆地的状态数量成正比)和很长一段时间(周围状态和盆地底部之间的能量差大致呈指数形式)困住模拟退火算法。
As a rule, it is impossible to design a candidate generator that will satisfy this goal and also prioritize candidates with similar energy. On the other hand, one can often vastly improve the efficiency of simulated annealing by relatively simple changes to the generator. In the traveling salesman problem, for instance, it is not hard to exhibit two tours [math]\displaystyle{ A }[/math], [math]\displaystyle{ B }[/math], with nearly equal lengths, such that (1) [math]\displaystyle{ A }[/math] is optimal, (2) every sequence of city-pair swaps that converts [math]\displaystyle{ A }[/math] to [math]\displaystyle{ B }[/math] goes through tours that are much longer than both, and (3) [math]\displaystyle{ A }[/math] can be transformed into [math]\displaystyle{ B }[/math] by flipping (reversing the order of) a set of consecutive cities. In this example, [math]\displaystyle{ A }[/math] and [math]\displaystyle{ B }[/math] lie in different "deep basins" if the generator performs only random pair-swaps; but they will be in the same basin if the generator performs random segment-flips.
As a rule, it is impossible to design a candidate generator that will satisfy this goal and also prioritize candidates with similar energy. On the other hand, one can often vastly improve the efficiency of simulated annealing by relatively simple changes to the generator. In the traveling salesman problem, for instance, it is not hard to exhibit two tours [math]\displaystyle{ A }[/math], [math]\displaystyle{ B }[/math], with nearly equal lengths, such that (1) [math]\displaystyle{ A }[/math] is optimal, (2) every sequence of city-pair swaps that converts [math]\displaystyle{ A }[/math] to [math]\displaystyle{ B }[/math] goes through tours that are much longer than both, and (3) [math]\displaystyle{ A }[/math] can be transformed into [math]\displaystyle{ B }[/math] by flipping (reversing the order of) a set of consecutive cities. In this example, [math]\displaystyle{ A }[/math] and [math]\displaystyle{ B }[/math] lie in different "deep basins" if the generator performs only random pair-swaps; but they will be in the same basin if the generator performs random segment-flips.
一般来说,不可能设计一个候选生成器,既能满足这个目标,又能优先考虑具有类似能量的候选人。另一方面,人们通常可以通过对生成器进行相对简单的改变来大大提高模拟退火的效率。例如,在旅行推销员问题中,不难发现两个长度几乎相等的旅行数学 a / 数学 b / 数学,比如(1)数学 a / 数学是最优的; (2)每一个将数学 a / 数学转换为数学 b / 数学的城市对交换序列都要经过比两者都长得多的旅行; (3)数学 a / 数学可以通过翻转一组连续的城市转换为数学 b / 数学。在这个例子中,如果生成器只进行随机对偶交换,数学 a / math 和数学 b / math 位于不同的“深盆”中; 但是如果生成器执行随机分段翻转,它们将位于同一盆中。
Cooling schedule
The physical analogy that is used to justify simulated annealing assumes that the cooling rate is low enough for the probability distribution of the current state to be near thermodynamic equilibrium at all times. Unfortunately, the relaxation time—the time one must wait for the equilibrium to be restored after a change in temperature—strongly depends on the "topography" of the energy function and on the current temperature. In the simulated annealing algorithm, the relaxation time also depends on the candidate generator, in a very complicated way. Note that all these parameters are usually provided as black box functions to the simulated annealing algorithm. Therefore, the ideal cooling rate cannot be determined beforehand, and should be empirically adjusted for each problem. Adaptive simulated annealing algorithms address this problem by connecting the cooling schedule to the search progress. Other adaptive approach as Thermodynamic Simulated Annealing[9], automatically adjusts the temperature at each step based on the energy difference between the two states, according to the laws of thermodynamics.
The physical analogy that is used to justify simulated annealing assumes that the cooling rate is low enough for the probability distribution of the current state to be near thermodynamic equilibrium at all times. Unfortunately, the relaxation time—the time one must wait for the equilibrium to be restored after a change in temperature—strongly depends on the "topography" of the energy function and on the current temperature. In the simulated annealing algorithm, the relaxation time also depends on the candidate generator, in a very complicated way. Note that all these parameters are usually provided as black box functions to the simulated annealing algorithm. Therefore, the ideal cooling rate cannot be determined beforehand, and should be empirically adjusted for each problem. Adaptive simulated annealing algorithms address this problem by connecting the cooling schedule to the search progress. Other adaptive approach as Thermodynamic Simulated Annealing, automatically adjusts the temperature at each step based on the energy difference between the two states, according to the laws of thermodynamics.
用来证明模拟退火的物理类比是假设冷却速率足够低,以至于当前状态的概率分布在任何时候都接近热力学平衡。不幸的是,弛豫时间——温度变化后必须等待平衡恢复的时间——强烈地依赖于能量函数的“地形”和当前的温度。在模拟退火算法中,松弛时间以一种非常复杂的方式也依赖于候选生成器。请注意,所有这些参数通常作为黑盒函数提供给模拟退火算法。因此,理想的冷却速率不能事先确定,而应根据每个问题进行经验调整。自适应模拟退火算法通过连接冷却计划和搜索进度来解决这个问题。其他的自适应方法,如热力学模拟退火,根据美国热力学定律协会的说法,可以根据两种状态之间的能量差自动调节每一步的温度。
Restarts
Sometimes it is better to move back to a solution that was significantly better rather than always moving from the current state. This process is called restarting of simulated annealing. To do this we set s
and e
to sbest
and ebest
and perhaps restart the annealing schedule. The decision to restart could be based on several criteria. Notable among these include 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.
Sometimes it is better to move back to a solution that was significantly better rather than always moving from the current state. This process is called restarting of simulated annealing. To do this we set s
and e
to sbest
and ebest
and perhaps restart the annealing schedule. The decision to restart could be based on several criteria. Notable among these include 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.
有时候,回到一个明显更好的解决方案,而不是总是从当前状态移动。这个过程被称为模拟退火的重新启动。为此,我们将代码 s / code 和 e / code 设置为代码 sbest / code 和代码 ebest / code,并可能重新启动退火时间表。重新启动的决定可能基于几个标准。其中值得注意的包括基于固定步数的重新启动,基于当前的能量与目前获得的最佳能量相比是否太高,随机重新启动等。
Related methods
- Interacting Metropolis–Hasting algorithms (a.k.a. Sequential Monte Carlo[10]) combined simulated annealing moves with an acceptance-rejection of the best fitted individuals equipped with an interacting recycling mechanism.
- Quantum annealing uses "quantum fluctuations" instead of thermal fluctuations to get through high but thin barriers in the target function.
- Stochastic tunneling attempts to overcome the increasing difficulty simulated annealing runs have in escaping from local minima as the temperature decreases, by 'tunneling' through barriers.
- Tabu search normally moves to neighbouring states of lower energy, but will take uphill moves when it finds itself stuck in a local minimum; and avoids cycles by keeping a "taboo list" of solutions already seen.
- Dual-phase evolution is a family of algorithms and processes (to which simulated annealing belongs) that mediate between local and global search by exploiting phase changes in the search space.
- Reactive search optimization focuses on combining machine learning with optimization, by adding an internal feedback loop to self-tune the free parameters of an algorithm to the characteristics of the problem, of the instance, and of the local situation around the current solution.
- Stochastic gradient descent runs many greedy searches from random initial locations.
- Genetic algorithms maintain a pool of solutions rather than just one. New candidate solutions are generated not only by "mutation" (as in SA), but also by "recombination" of two solutions from the pool. Probabilistic criteria, similar to those used in SA, are used to select the candidates for mutation or combination, and for discarding excess solutions from the pool.
- Memetic algorithms search for solutions by employing a set of agents that both cooperate and compete in the process; sometimes the agents' strategies involve simulated annealing procedures for obtaining high quality solutions before recombining them.[11] Annealing has also been suggested as a mechanism for increasing the diversity of the search [12].
- Graduated optimization digressively "smooths" the target function while optimizing.
- Ant colony optimization (ACO) uses many ants (or agents) to traverse the solution space and find locally productive areas.
- The cross-entropy method (CE) generates candidates solutions via a parameterized probability distribution. The parameters are updated via cross-entropy minimization, so as to generate better samples in the next iteration.
- Harmony search mimics musicians in improvisation process where each musician plays a note for finding a best harmony all together.
- Stochastic optimization is an umbrella set of methods that includes simulated annealing and numerous other approaches.
- Particle swarm optimization is an algorithm modelled on swarm intelligence that finds a solution to an optimization problem in a search space, or model and predict social behavior in the presence of objectives.
- The runner-root algorithm (RRA) is a meta-heuristic optimization algorithm for solving unimodal and multimodal problems inspired by the runners and roots of plants in nature.
- Intelligent water drops algorithm (IWD) which mimics the behavior of natural water drops to solve optimization problems
- Parallel tempering is a simulation of model copies at different temperatures (or Hamiltonians) to overcome the potential barriers.
See also
}}
References
- ↑ 1.0 1.1 Kirkpatrick, S.; Gelatt Jr, C. D.; Vecchi, M. P. (1983). "Optimization by Simulated Annealing". Science. 220 (4598): 671–680. Bibcode:1983Sci...220..671K. CiteSeerX 10.1.1.123.7607. doi:10.1126/science.220.4598.671. JSTOR 1690046. PMID 17813860.
- ↑ Khachaturyan, A.; Semenovskaya, S.; Vainshtein, B. (1979). "Statistical-Thermodynamic Approach to Determination of Structure Amplitude Phases". Sov.Phys. Crystallography. 24 (5): 519–524.
- ↑ Khachaturyan, A.; Semenovskaya, S.; Vainshtein, B. (1981). "The Thermodynamic Approach to the Structure Analysis of Crystals". Acta Crystallographica. 37 (A37): 742–754. Bibcode:1981AcCrA..37..742K. doi:10.1107/S0567739481001630.
- ↑ Černý, V. (1985). "Thermodynamical approach to the traveling salesman problem: An efficient simulation algorithm". Journal of Optimization Theory and Applications. 45: 41–51. doi:10.1007/BF00940812.
- ↑ Metropolis, Nicholas; Rosenbluth, Arianna W.; Rosenbluth, Marshall N.; Teller, Augusta H.; Teller, Edward (1953). "Equation of State Calculations by Fast Computing Machines". The Journal of Chemical Physics. 21 (6): 1087. Bibcode:1953JChPh..21.1087M. doi:10.1063/1.1699114.
- ↑ Granville, V.; Krivanek, M.; Rasson, J.-P. (1994). "Simulated annealing: A proof of convergence". IEEE Transactions on Pattern Analysis and Machine Intelligence. 16 (6): 652–656. doi:10.1109/34.295910.
- ↑ Moscato, P.; Fontanari, J.F. (1990), "Stochastic versus deterministic update in simulated annealing", Physics Letters A, 146 (4): 204–208, doi:10.1016/0375-9601(90)90166-L
- ↑ Franz, A.; Hoffmann, K.H.; Salamon, P, "Best optimal strategy for finding ground states", Physical Review Letters, 86 (3): 5219–5222, doi:10.1103/PhysRevLett.86.5219
- ↑ De Vicente, Juan; Lanchares, Juan; Hermida, Román (2003). "Placement by thermodynamic simulated annealing". Physics Letters A. 317 (5–6): 415–423. Bibcode:2003PhLA..317..415D. doi:10.1016/j.physleta.2003.08.070.
- ↑ Del Moral, Pierre; Doucet, Arnaud; Jasra, Ajay (2006). "Sequential Monte Carlo samplers - P. Del Moral - A. Doucet - A. Jasra - 2006 - Journal of the Royal Statistical Society: Series B (Statistical Methodology) - Wiley Online Library". Journal of the Royal Statistical Society, Series B. 68 (3): 411–436. arXiv:cond-mat/0212648. doi:10.1111/j.1467-9868.2006.00553.x.
- ↑ Moscato, Pablo (June 1993). "An introduction to population approaches for optimization and hierarchical objective functions: A discussion on the role of tabu search". Annals of Operations Research. 41 (2): 85–121. doi:10.1007/BF02022564.
- ↑ Moscato, P. (1989). "On Evolution, Search, Optimization, Genetic Algorithms and Martial Arts: Towards Memetic Algorithms". Caltech Concurrent Computation Program (report 826).
Further reading
- A. Das and B. K. Chakrabarti (Eds.), Quantum Annealing and Related Optimization Methods, Lecture Note in Physics, Vol. 679, Springer, Heidelberg (2005)
- Weinberger, E. (1990). "Correlated and uncorrelated fitness landscapes and how to tell the difference". Biological Cybernetics. 63 (5): 325–336. doi:10.1007/BF00202749.
- Press, WH; Teukolsky, SA; Vetterling, WT; Flannery, BP (2007). "Section 10.12. Simulated Annealing Methods". Numerical Recipes: The Art of Scientific Computing (3rd ed.). New York: Cambridge University Press. ISBN 978-0-521-88068-8. http://apps.nrbook.com/empanel/index.html#pg=549.
- Strobl, M.A.R.; Barker, D. (2016). "On simulated annealing phase transitions in phylogeny reconstruction". Molecular Phylogenetics and Evolution. 101: 46–55. doi:10.1016/j.ympev.2016.05.001. PMC 4912009. PMID 27150349.
- V.Vassilev, A.Prahova: "The Use of Simulated Annealing in the Control of Flexible Manufacturing Systems", International Journal INFORMATION THEORIES & APPLICATIONS, VOLUME 6/1999
External links
- Simulated Annealing A Javascript app that allows you to experiment with simulated annealing. Source code included.
- "General Simulated Annealing Algorithm" An open-source MATLAB program for general simulated annealing exercises.
- Self-Guided Lesson on Simulated Annealing A Wikiversity project.
- Google in superposition of using, not using quantum computer Ars Technica discusses the possibility that the D-Wave computer being used by Google may, in fact, be an efficient simulated annealing co-processor.
模板:Major subfields of optimization
Category:Metaheuristics
类别: 启发式元推理
Category:Optimization algorithms and methods
类别: 优化算法和方法
Category:Monte Carlo methods
类别: 蒙特卡罗方法
This page was moved from wikipedia:en:Simulated annealing. Its edit history can be viewed at 模拟退火/edithistory
- 有参考文献错误的页面
- Articles with short description
- Articles with long short description
- All articles with unsourced statements
- Articles with unsourced statements from June 2011
- Articles with invalid date parameter in template
- Pages using columns-list with unknown parameters
- Metaheuristics
- Optimization algorithms and methods
- Monte Carlo methods
- 待整理页面