遗传算法与遗传编程:原理、应用与操作指南
1. 非支配排序遗传算法
非支配排序遗传算法(Nondominated Sorting Genetic Algorithm)是一种用于多目标优化的遗传算法。以下是该算法的基本步骤:
1. 初始化 :设置代数计数器 ( t = 0 ),初始化所有控制参数,创建并初始化包含 ( n_s ) 个个体的种群 ( C(0) )。
2. 循环迭代 :
- 设置前沿计数器 ( p = 1 )。
- 当存在未分配到前沿的个体时:
- 识别非支配个体。
- 为每个非支配个体分配适应度。
- 对前沿中的个体应用适应度共享。
- 移除已分配的个体。
- ( p = p + 1 )。
- 应用基于排名的共享适应度值进行繁殖。
- 选择新的种群。
- ( t = t + 1 )。
3. 终止条件 :当满足终止条件时,算法停止。
该算法引入了拥挤距离 ( d_a ) 的概念,用于比较两个解。如果 ( R_a ) 表示 ( x_a ) 的非支配排名,则拥挤比较运算符定义为:如果 ( (R_a < R_b) ) 或 ( ((R_a = R_b) ) 且 ( (d_a > d_b)) ),则 ( a \leq^* b )。对于不同非支配排名的解,排名较低的解更受青睐;如果排名相同,则位于帕累托前沿较不拥挤区域的解更受青睐。
2. 动态环境中的遗传算法
在动态环境中跟踪解是一个具有挑战性的问题。一种
超级会员免费看
订阅专栏 解锁全文
3576

被折叠的 条评论
为什么被折叠?



