1.模拟退火(SA)
模拟退火算法 伪代码
s:=s0;e:=E(s)//设定目前状态为s0,其能量E(s0)
k:=0//评估次数
kwhile k<kmax and e>emax//若还有时间(评估次数k还不到kmax)且结果还不够好(能量e不够低)则:
sn:=neighbour(s)//随机选取一临近状态
snen:=Esn)//sn的能量为E(sn)
if random()<P(e,en,temp(k/kmax)) then//决定是否移至临近状态sn
s:=sn; e:=en//移至临近状态snk:=k+1//评估完成,次数k加一
returns//回转状态s
2.遗传算法(GA)
将问题编码为字符串
GA运行的核心是适应度函数
*关于引导机器人的GA实例
三个流行的遗传算子:选择,交叉(重组)和突变
选择算子的方法:轮盘选择,精英选择,锦标赛选择
3.遗传规划(GP)
常见遗传算子:交叉,逆转,变异
在一个GP中,不能像GA那样生成二进制或其他方式的随机字符串
3个策略生成随机种群:成长,充实和混合法
4.禁忌搜索(TS)
禁忌表,特赦表
最近访问的那部分状态空间,在一段时间过去之前仍然被禁止访问,如果有足够的好处则可以忽略这个禁忌
5.蚁群算法(S-ACO)