一、遗传
0.随机设定初始解
1.计算其目标函数值
2.计算适应度(直接用目标值或者排序)
3.根据适应度设置轮盘赌,随机挑两个
4.二进制编码,杂交,解码
5得到下一代,回到1
二、蚁群aca(tsp,vrp)
0.随机设定初始解
1.信息素挥发 设定挥发系数
2.信息素迭代新增 每只蚂蚁增加的信息素可以设为(1或者参数或者其他好处)/边长
3.循环(代数)
套
循环(寻径一次的t—1次找点,概率由信息素浓度决定)
三、粒子群pso
0.生成随机解,随机速度
1.计算个体最优和群体最优
2.计算速度,有惯性系数*速度+个体最优解做差提供方向*random0—1随机数*个体加速常数+*群体最优解做差提供方向*random0—1随机数*群体加速常数
3.根据速度生成新的解,回到1
四、退火算法SA
0.生成一个随机解,设定温度和降温函数(线性递减,指数(比例),慢递减(t/(1+at)a为任意常数,感觉作用是t很小的时候,让t减小的平滑),以及停止的温度
1.循环(内循环)的生成随机解(例如100次),解的移动幅度由温度*随机数决定,每次用metropolis准则(p=exp[−(Ej−Ei)/T])判断非更优解是否接受
2.更新温度,更新上次(内)循环最优解,开启下一次循环(也就是步骤1)