随机搜索:利用随机数,随机选择组合,新解优于之前则结果进行替换。
爬山算法:1,创建一个随机解;
2,获取周围临近解;
3,新解优于之前解,则进行替换,重复2过程;
4,如果周围没有更优解则结束。
模拟退火算法:1,创建一个随机解;
2,创建一个随机跳跃值及跳跃方向;
3,新解优于之前则替换,或者新解比之前要差,但是公式P值足够大,也进行替换(可能下次可以找到更优的 解):
其中,newcost为新解,nowcost为之前的解,T为初始温度,一般初始值需要足够大。
4,如果有进行降温计算,则需要更新T值:T=r*T,r为设定的降温率(取值在0-1之间),r约接近1,则降温慢,找 到最优解的概率高,但花费时间长。
5,单T值小于开始设定的的大小后,算法结束。
遗传算法:1,设定种群大小(popSize),变异及交叉概率(mutprob),进入下次迭代的最优解个数(eliteSize),运行次数(count);
2,创建随机解群为初始种群;
3,根据eliteSize大小直接进入下轮,剩余的进行变异及交叉概率进行求解;
4,变异:随机改变输入参数中一个值。交叉:两个解中部分参数进行替换:
变异,输入in2的参数进行了改变:
交叉:
5,第3步获取的解及第4步的交叉、变异获取的解作为下个种群,继续进行计算,直到运行次数结束,获取最优解。