在这里我们使用最为常用的欧几里得距离
?
问题可以表达为:
?...根据热力学的原理,在温度为T时,出现能量差为dE的降温的概率为P(dE), 表示为:
其中k是一个常数,且dE<0(温度总是降低的)。
1)温度越高,出现一次能量差为dE的降温的概率就越大。...为了通俗易懂,接着拿上文小算例N={(0,1),(1,2),(3,4),(4,5),(6,6),(8,7)}举例,比较3.1及3.2计算Δ过程不难看出,对于未改变的点,即以
为中心点、以
为中心点时...int K = 100; //两点间距离的最大值为K(距离默认为1-K)
const int max_count = 10; //当前温度的最大迭代次数
const double T0 = 50000.0...while (T > T_end) // 当温度低于结束温度时,退火结束
{
for (int count = 0;count <= max_count;count++) //count记录当前温度迭代次数