模拟退火算法

时间:2015-06-04 10:39:16

标签: algorithm matlab

我正在进行模拟退火,我对Metropolis标准的应用存在一些问题。我用两种方法: 首先,我对生成的每个邻居应用metroplolis标准,当我在我的算法中执行此操作时(我正在使用matlab),我的算法几乎拒绝所有邻居,只接受两个或三个,甚至不是最好的解决方案,并且最后,我得到的结果不是理想的最佳结果。 第二,当我生成一个新的neighboor时,我将他的能量与当前解决方案的能量进行比较,如果它更少,我保留这个邻居,如果不是这样的话,那么我应用了Metroplis的标准,看看我是否保留是不是。通过这种方式,我得到了满意的结果。所以我想知道它是否总是模拟退火的逻辑,因为我还不知道何时应用这个大都市标准。是在每个生成的邻居吗?如果是这样的话,我的第二种方法是正确的吗?并且随机应该只在0和1之间?或者是否可以在其他间隔中产生随机?感谢

0 个答案:

没有答案