返回信息流介于MATLAB的语法没感觉,想用C编一个退火算法,有写过的吗[ema0]
这是一条镜像帖。来源:北邮人论坛 / cpp / #96426同步于 2017/9/20
该镜像源已超过 30 天没有更新,可能在源站已被删除。
CPP机器人发帖
【问题】想用c编一个退火算法
sugelan
2017/9/20镜像同步4 回复
订阅后,新回复会通过你的通知中心匿名送达。
4 条回复
【 在 Nroskill 的大作中提到: 】
: 前几天用cpp帮本科舍友写了个退火算法实现求类似八皇后解的程序,感觉不难写,关键是初始温度和退火速度不知道怎么控制
: 发自「贵邮」
内循环的次数你怎么确定的?内循环中需要达到平稳状态吗
我不太明白一般学术界是怎么描述退火算法其中的这些术语的,我也是只是理解原理之后简单实现了一下。
以我实现的例子来说,简化一下为N皇后问题。初始状态在地图上随机播N个不重合的点,计算他们之间的冲突个数(在同一行同一列同一斜线的个数),然后开始进入循环。
每次循环随机选一个当前的点,将它改变为另一个随机的位置,计算冲突值,如果冲突值小于改变之前,那么接受,否则以一定几率(这个几率随温度和冲突值的差变化)接受。不论是否接受,退火。当冲突值为0的时候,直接返回当前状态,就是答案。
当温度小于一定的值,结束循环,并返回无答案的结果。
【 在 sugelan 的大作中提到: 】
: 内循环的次数你怎么确定的?内循环中需要达到平稳状态吗