Link
Solution
这种算法都是玄学
每次先random_shuffle来随机改变序列(好像并不能增加随机性?不管了反正本来就是玄学)
每次random地改动一个元素所在的集合,如果更优直接改掉;
否则,有一定的概率改掉,直观地想下,这个概率应该需要逐渐减小的(否则不就等于每次都无视之前所做的努力吗。。),由此就引入了温度的概念。
从初始温度开始模拟退火,每次循环的温度降低一些,接受不优解的概率是,通过随机数来实现。
Code
1 | //Code by Lucida |
这种算法都是玄学
每次先random_shuffle来随机改变序列(好像并不能增加随机性?不管了反正本来就是玄学)
每次random地改动一个元素所在的集合,如果更优直接改掉;
否则,有一定的概率改掉,直观地想下,这个概率应该需要逐渐减小的(否则不就等于每次都无视之前所做的努力吗。。),由此就引入了温度的概念。
从初始温度开始模拟退火,每次循环的温度降低一些,接受不优解的概率是TT0,通过随机数来实现。
1 | //Code by Lucida |