从差分进化算法在约束优化问题上求解精度差,收敛慢出发,改进DE。
一.改进方法
1.初始化和进化过程用广义反向学习产生反向种群。----增加种群多样性、提高搜索效率、加快收敛。
2.用自适应权衡模型计算个体适应度并排序。
3.改进变异策略和个体选择机制执行变异操作。-----提高种群多样性
4.原种群和变异种群混合适应度排序产生新种群,于常规贪婪选择不同
分析有效性,算法对比------收敛精度,速度提高。
二.约束优化问题
1.约束优化问题因约束条件限制使可行域小,搜索空间复杂使得算法对其求解难。
2.约束条件处理难,增加算法求解难度--(约束处理技术)
3.DE结构简单参数少,收敛性搜索能力强,将DE+约束处理技术解决约束优化问题
改进的自适应约束DE---个体评价侧重算法违法约束,后期解精度不高,种群保持一定的不可行解有利于提高收敛,也是找到全局最优解的关键。
变异过程父代向量随机排序,---多样性提高但是收敛变慢。
广义反向学习策略初始化种群,---利用了反向解信息,但进化过程没有用到,没有充分体现该策略的优势。
缩放因子的选择---是否对种群多样性和最优解有利。
三.了解相关知识
1.什么是约束优化问题
即决策变量有---等式约束,不等式约束,边界约束等的问题叫约束优化问题。决策空间是非常复杂的,对优化算法及约束处理技术的要求很严苛。并且对于等式约束一般转为不等式约束进行处理,一般加一个或者减一个校正因子。
2.广义反向学习策略是什么
就是求一个相反的解
3.自适应权衡模型机制
为了处理约束问题不满足约束条件的个体,即处理约束条件对适应度值的影响。将种群个体分为不可行,半可行,可行状态分别计算适应度值。不同状态下的个体计算适应度值的方式不一样。
1.不可行状态个体即不满足约束,用违约值代替适应度值。
2.半可行状态个体一部分满足约束,一部分不满足,要做相应转化后才能得适应度值。
3.可行状态个体满足约束,直接用适应度函数计算适应度值。
四.改进算法相关改进点
1.个体选择机制
利用广义反向学习策略从种群初始化到进化过程到结束,通过原种群和反向种群合并取最好的NP个作为下一代种群。父代种群与实验种群合并取最好的NP个。可加快进化,一定程度避免局部最优。
2.差分变异
a.个体排序及概率计算
差分变异过程为了更好利用有效个体,根据适应度值排序构造了一个概率选择模型来选择个体参与变异。
b.自适应变异策略
DE/rand/2后期效率低收敛慢,DE/best/2效率高,种群多样性难维持。这里就是一个概率选择策略的问题,这个概率前期应多选择DE/best/2加快收敛,后期应多选择DE/rand/2维持种群多样性。(并且注意超出边界的要边界处理--随机产生或边界融合)。
3.自适应F和CR
4.算法测试与分析
1.测试函数--算法比较--最好值,最差值,平均值,标准差,评价次数等...
2.参数调试
3.从收敛速度角度
4.从寻优精度的角度
5.从寻优稳定性的角度
6.其它角度,如陷入局部的概率,多样性如何,对有效个体利用率如何等