群体智能:粒子群优化&遗传算法&蚁群优化

群体智能:粒子群优化&遗传算法&蚁群优化

遗传算法

遗传算法是一种搜索启发式算法,是一种基于“适者生存”的高度并行、随机和自适应的优化算法,通过复制、交叉、变异将问题解编码表示的“染色体”群一代代不断进化,最终收敛到最适应的群体,从而求得问题的最优解或满意解。
遗传算法在计算时不依赖于梯度信息或其它辅助知识,而只需要影响搜索方向的目标函数和相应的适应度函数。

遗传算法流程

编码,随机产生初始群体。所谓初始群体,可以理解为随机找几组目标函数的解,用二进制数表示。
个体评价:计算群体中各个个体的适应度。适应度主要取决于目标函数。(有些可直接利用目标函数值作为个体的适应度。)
选择运算:将选择算子作用于群体。选择的目的是把优化的个体直接遗传到下一代或通过配对交叉产生新的个体再遗传到下一代。选择操作是建立在群体中个体的适应度评估基础上的,选择可以理解为保留“好父母”。
交叉运算【核心】:根据交叉率将种群中的两个个体随机地交换某些基因,能够产生新的基因组合,期望将有益基因组合在一起。
变异运算:对群体中的个体码串随机挑选一个或多个基因座并对这些基因座的基因值做变动(以变异概率P.做变动,即将二进制中的0变1,1变0)。
循环,新一代的群体循环整个过程,直至将得到的具有最大适应度个体作为最优解输出。

粒子群优化算法

(1)初始化(包括随机位置和速度)
(2)计算每个粒子适应度
(3)更新每个粒子历史最好适应度极其位置,更新全局最好适应度极其位置。
(4)更新每个粒子,即
v(n+1)=v(n)+ab(历史最好位置-当前位置)+cd(全局最好位置-当前位置)
x(n+1)=x(n)+v(n+1)
a、c为权重参数一般取值为2;b、d为随机参数,0-1之间的随机数。
(5)循环直至适应度函数值达到预期要求。

你可能感兴趣的:(群体智能:粒子群优化&遗传算法&蚁群优化)