萌新求助,关于模拟退火
  • 板块学术版
  • 楼主Setoff
  • 当前回复3
  • 已保存回复3
  • 发布时间2021/11/23 17:37
  • 上次更新2023/11/3 23:41:59
查看原帖
萌新求助,关于模拟退火
124628
Setoff楼主2021/11/23 17:37

如下,这是一个模拟退火的模板。

inline void sa(){
    double t=3000;
    while(t>1e-15){
    	int v=value(), d=v-ans;
        if(d<0) ans=v;
        else if(exp(d/t)*RAND_MAX>rand()) //do sth.
        t*=down;
    }
}

但是对于 if(exp(d/t)*RAND_MAX>rand()),这里的 d,有些时候是 -d

现在请教一下各位神仙,什么时候需要用 d,什么时候需要 -d

或者给一下经验。

谢谢。

2021/11/23 17:37
加载中...