当前位置:
文档之家› 多目标遗传算法NSGA-II
多目标遗传算法NSGA-II
在NSGA-II中,我们计算两个属性Sp 和np来帮助我们识别更好的个体。
快速非支配排序
假设种群大小为P,该算法需要计算每个个体p的被支配个数np和该个体支配的解的集合Sp 这两个参数。 遍历整个种群
该算法的伪代码如下:
拥挤度
• 为了使得到的解在目标空间中更加均匀,引入了拥挤度的概念
•为所有个体的拥挤距离初始化零。 •审视所有的个人和目标值。通过用Inf值分配绑定解决方案 来选择它们。 •计算每个目标的第m个最大值和最小值,得到归一化的分 母。 •对第i个个体的m个目标的拥挤距离求和
计算拥挤度是为了保存下来相似程度较低的解,保持解空间的多样性
精英保留策略
1 首先将父代种群Pt和子代种群Qt合成种群Rt 2 根据以下规则从种群Rt生成新的父代种群Rt+1
(1)根据Pareto等级从低到高的顺序,将整层种 群放入父代种群Rt+1中,真到某一层个体不能 全部放入父代种群Rt+1。 (2)将该层个体根据拥挤度从大到小排列,依次 放入父代种群Rt+1中,直到父代种群Rt+1f填满。
单目标优化——》多目标优化
NSGA-II 在常规遗传算法上的改进
• 1 快速非支配算子设计 • 多目标优化问题的设计关键在于求取Pareto最优解集。
• 2 通过优先选择拥挤距离较大的个体
• 3 精英策略选择算子
• NAS中的性能评估也可以是一个多目标问题 • 测试集上的准确率 • 参数数量
遗传算法解决多目标优化问题
多目标优化问题:
• 包含多个可能有冲突的目标函数
NSGA-Ⅱ算法,即带有精英保留策略的快 速非支配多目标优化算法,是一种基于 Pareto最优解的多目标优化算法。
•希望找到能够很好平衡全部优化目标的解集
几个概念:支配
当多目标问题中多个目标存在冲突的时候,我们可以用“支配”的概念来决定解的好坏。 Pareto等级
非支配解:假设任何二解S1 及S2 对所有目标而言,S1均优 于S2,则我们称S1 支配S2,若S1 的解没有被其他解所支配, 则S1 称为非支配解(不受支配解),也称Pareto解(帕雷 托解)
支配解:若解S2的所有目标均劣于S1,则称S1优于S2,也称 S1支配S2,S2为受支配解。
Pareto前沿面:找到所有Pareto解之后,这些解组成的平面 叫做Pareto前沿面(Non-dominated front)。在目标函数较 多时,前沿面通常为超曲面。