1. 爬山法
方法:选择一个随机解,然后生成一个新的解的集合,集合中的解是将该随机解的每个维度进行一定的修改。然后从中选择最低成本的一个解。循环执行。。。
改进:随机重复爬山法
2.模拟退火法
方法:选择一个随机解,然后随机选择一个维度进行修改,若成本降低或者满足一定的概率(),则接受新解,循环执行。。。
概率计算公式:p=pow(math.e,-(costhigh-costlow)/T)
T为一个温度,有一个初值,然后按照一定规律逐渐降低。
3. 遗传算法
方法:先生成一定量(N个)的随机解,对N个随机解进行计算,选择其中一部分(n个)最优解作为新的解的集合。对n个最优解进行变异或者交叉(又称配对)生成新的N个随机解,然后循环迭代,迭代次数通过参数决定或者直至没有更优解产生。
变异:修改解中任一维度
交叉:新解由现有两个解交叉生成。