CN115511039A - 基于nsga-ⅱ的改进多目标优化的方法 - Google Patents
基于nsga-ⅱ的改进多目标优化的方法 Download PDFInfo
- Publication number
- CN115511039A CN115511039A CN202211070337.0A CN202211070337A CN115511039A CN 115511039 A CN115511039 A CN 115511039A CN 202211070337 A CN202211070337 A CN 202211070337A CN 115511039 A CN115511039 A CN 115511039A
- Authority
- CN
- China
- Prior art keywords
- individuals
- individual
- population
- dominant
- nsga
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/004—Artificial life, i.e. computing arrangements simulating life
- G06N3/006—Artificial life, i.e. computing arrangements simulating life based on simulated virtual individual or collective life forms, e.g. social simulations or particle swarm optimisation [PSO]
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Evolutionary Computation (AREA)
- Artificial Intelligence (AREA)
- Molecular Biology (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Software Systems (AREA)
- Health & Medical Sciences (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
本发明属于计算机应用技术领域,尤其涉及一种基于NSGA‑Ⅱ的改进多目标优化的方法。本发明通过对NSGA‑Ⅱ算法中非支配排序方法、非支配个体的拥挤距离计算赋值以及交叉、变异操作的改进,使本发明所提供的多目标优化的方法所得到的解的分布更为集中,进而解决了现有NSGA‑Ⅱ算法在多目标优化应用中所存在的技术问题,同时,本发明所提供的方法简单、操作方便、适合大规模推广使用。
Description
技术领域
本发明属于计算机应用技术领域,尤其涉及一种基于NSGA-Ⅱ的改进多目标优化的方法。
背景技术
NSGA-Ⅱ算法是含有精英保留策略的快速非支配多目标优化算法,其原理是在NSGA算法的基础上改进而来。其加入了快速非支配排序的方法,用来降低算法计算的复杂度,减少算法的计算时间;其次使用精英保留策略,用以保留优势个体;最后增加拥挤度计算方法,扩大个体选择、交叉和变异操作的范围。
但是在算法计算时,针对三个及三个以上目标模型的求解结果并不理想,存在着计算效率不高、种群多样性不足和解集分布性较差的不足。首先是计算效率不高,在多目标优化的情况下,计算所消耗的时间大量增加,效率低下;然后是种群多样性不足的问题,在进行个体选择、交叉和变异的时候,算法求解有时会陷入局部最优的状况,导致最终结果偏差较大;最后是解集分布性较差的问题,NSGA-Ⅱ求解的是一组解集,解集分布性差说明算法的稳定性不好。
发明内容
本发明针对上述的NSGA-Ⅱ算法针对多目标优化计算时所存在的技术问题,提出一种方法简单、操作方便且稳定性好、计算结果偏差小的基于NSGA-Ⅱ的改进多目标优化的方法。
为了达到上述目的,本发明采用的技术方案为,本发明提供一种基于 NSGA-Ⅱ的改进多目标优化的方法,包括以下步骤:
a、首先,通过随机产生出规模为N的初始种群;
b、确定出初始种群的非支配个体,然后对非支配个体进行非支配排序并计算拥挤距离,并对初始种群所有个体进行等级分类并确定其拥挤距离;
c、完成个体选择操作,然后利用交叉、变异操作产生下一代子代种群;
d、通过对父代种群和子代种群的合并生成规模为2N的新种群;
e、对d步骤得到的新种群进行非支配排序,并分层计算拥挤距离,选择出 N个个体,产生新的父代种群;
f、判断e步骤产生的新的父代种群是否达到设定的最大循环代数,若达到则完成多目标的优化,若未达到,则重复c~f步骤;
其中,所述非支配排序的方法为:假设gi为种群中支配个体i的数量,被个体i支配的个体集合为Gi,首先通过循环对比得到种群之中全部gi为0的个体,令gi为0的个体的非支配排序值为1,这些个体共同构成非支配集合R1;然后将R1里每个个体所支配个体集合中的每个个体的gj减去1,当gj减去1为0时把个体j存入集合R2中,令这些个体的非支配排序值为2,然后,对集合R2中个体重复之前的操作,直到所有个体都含有非支配排序值。
作为优选,所述非支配个体的拥挤距离计算赋值的方法为:该个体排序值为原排序值与支配该个体的其余个体数目之和。
作为优选,所述c步骤,采用锦标赛选择策略完成个体选择操作。
作为优选,所述c步骤中,交叉操作中交叉算子的算法为:
其中,θ为交叉算子系数,由Ra和Rb决定,Ra和Rb为个体a和个体b的非支配排序值,x1`和x2`分别表示为父代个体进行交叉操作后产生的新子代个体,x1和x2为参与交叉操作随机选择的个体。
作为优选,所述c步骤中,变异操作的公式为:
x1`=x1+[β-1](xmax-xmin)
式中:β为变异系数,为经验值;x1`为产生新的子代个体,x1为参与变异操作随机选择的原个体,xmax和xmin为个体能取到的最大值和最小值。
与现有技术相比,本发明的优点和积极效果在于,
1、本发明提供一种基于NSGA-Ⅱ的改进多目标优化的方法,通过对 NSGA-Ⅱ算法中非支配排序方法、非支配个体的拥挤距离计算赋值以及交叉、变异操作的改进,使本发明所提供的多目标优化的方法所得到的解的分布更为集中,进而解决了现有NSGA-Ⅱ算法在多目标优化应用中所存在的技术问题,同时,本发明所提供的方法简单、操作方便、适合大规模推广使用。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为实施例1提供的传统的NSGA-Ⅱ算法在多目标优化中解的分布情况;
图2为实施例1提供的本发明所提供的基于NSGA-Ⅱ的改进多目标优化的方中解的分布情况。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和实施例对本发明做进一步说明。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开说明书的具体实施例的限制。
实施例1,本实施例提供一种基于NSGA-Ⅱ的改进多目标优化的方法
首先,通过随机产生出规模为N的初始种群。
然后,确定出初始种群的非支配个体,假设有k个目标函数fi(x),其中i是 1,2.....k中的任意整数。若x1和x2对于任意的目标函数都存在fi(x1)<fi(x2),则可以称x1支配x2;若对于任意的目标函数都有fi(x1)≤fi(x2),同时至少有一个目标函数使得fj(x1)≤fj(x2)成立,则x1弱支配于x2,其中j是1,2.....k中的任意整数,且 i≠j。若是存在目标函数使得fi(x1)≤fi(x2)成立同时存在目标函数满足 fj(x1)>fj(x2),则x1和x2互不支配。
然后对非支配个体进行非支配排序并计算拥挤距离,在本实施例中,非支配个体进行非支配排序方法为假设gi为种群中支配个体i的数量,被个体i支配的个体集合为Gi,首先通过循环对比得到种群之中全部gi为0的个体,令gi为 0的个体的非支配排序值为1,这些个体共同构成非支配集合R1;然后将R1里每个个体所支配个体集合中的每个个体的gj减去1,当gj减去1为0时把个体j存入集合R2中,令这些个体的非支配排序值为2,然后,对集合R2中个体重复之前的操作,直到所有个体都含有非支配排序值。
具体的说,gi为种群中支配个体i的数量,即,如果a和b支配i,那么gi为 2,同时,c和d被i支配,那么Gi为c和d的集合。如果gi=0,那么代表i不被任何个体支配,此时i的非支配排序值为1,这些gi=0的个体就构成了非支配集合R1。然后,将将R1里每个个体所支配个体集合中的每个个体的gj减去1,拿本实施例的假设而言,被i支配的个体有c和d两个,假设c的gc为1,d的gd为2,那么如果gc-1=0,那么c就存入集合R2中,c的非支配排序值为2,那么暂时不去考虑d,去考虑到R2中所被支配的个体,再进行减1和存集合操作,由于d被2个个体支配,再后期肯定会形成减1为0的情况,为此,通过这样的操作,直到所有个体都含有非支配排序值。
而在NSGA-Ⅱ算法中,对于拥挤度的计算过程一般为:
取单个前沿中个体按照一个目标上的值从小到大排序;
将最大目标值作为max,最小目标值保留作为min。并且这两个极值点的拥挤距离都被设置为inf即无穷大。在这个目标上计算每个个体最相邻个体之间的距离,即i-1和i+1的目标值的差。并使用max和min对次值进行归一化。遍历目标,将目标上已经归一化的拥挤距离相加。进入下一层front前沿,拥挤距离越大越好,最后按照拥挤距离重新排序各层,进而排序种群。
上述方法在进行非支配排序赋值时,没有考虑个体周围的密度状况,所有种群多样性不足,为此,对其进行改进,在对同一层非支配个体进行赋值时要考虑该个体周围的密度信息,即该个体排序值为原排序值与支配该个体的其余个体数目之和。例如:个体x原本排序值为4,但其被个体y、z所支配,则改进之后的排序值应该为6。通过充分考虑个体周围的密度信息,保证了种群分布的多样性。然后,对初始种群所有个体进行等级分类并确定其拥挤距离即可。
接着完成个体选择操作,这里采用锦标赛选择策略,即每次从种群中取出一定数量个体(放回抽样),然后选择其中最好的一个进入子代种群。重复该操作,直到新的种群规模达到原来的种群规模。二元锦标赛就是一次性在总体中取出二个个体,然后在这些个体中取出最优的个体放入保留到下一代种群的集合中。具体的操作步骤如下:从种群中随机选择N个个体,个体被选中的概率相同,将其中适应度值最好的个体放入下一代种群,然后一直重复以上操作,直到新的种群规模达到原来种群的规模大小。
然后利用交叉操作和变异操作产生下一代子代种群,在本实施例中,考虑到传统NSGA-Ⅱ算法一般采用模拟二进制交叉(SBX)算子,将交叉操作应用于父代个体中,并随机确定一个交叉点,将两个父代个体交叉点的部分基因代码进行互换,完成整个交叉操作。SBX算子可以很好的让子代继承父代的基因,但是SBX算子全局搜索能力比较弱。因此使用算术交叉算子对NSGA-Ⅱ算法中的SBX交叉算子进行替代,提高算法的全局搜索能力。具体的说,交叉操作中交叉算子的算法为:
其中,θ为交叉算子系数,由Ra和Rb决定,Ra和Rb为个体a和个体b的非支配排序值,x1`和x2`分别表示为父代个体进行交叉操作后产生的新子代个体,x1和x2为参与交叉操作随机选择的个体。
而变异操作和交叉操作一样用于产生新的子代个体,具体变异公式如下:
x1`=x1+[β-1](xmax-xmin)
式中:β为变异系数,为经验值;x1`为产生新的子代个体,x1为参与变异操作随机选择的原个体,xmax和xmin为个体能取到的最大值和最小值。
接着通过对父代种群和子代种群的合并生成规模为2N的新种群;
然后,对得到的新种群进行非支配排序,并分层计算拥挤距离,选择出N 个个体,产生新的父代种群;
最后,判断产生的新的父代种群是否达到设定的最大循环代数,若达到则完成多目标的优化,若未达到,则重复选择操作等步骤,直到达到最大循环代数,这里的最大循环代数也是经验值。
测试:选取相应数据进行算法测试:
设置种群大小N为50,最大迭代次数Gen为100,交叉概率Px为0.8,变异概率Py为0.03
由图2可以看出,在面对三目标模型进行求解时,相比图1,改进之后的算法生成的解集分布更加平顺,结果更加稳定。图1中相关解的分布较为分散,而图2中相关解的分布更为集中,证明算法的改进在一定程度上切实有效。
以上所述,仅是本发明的较佳实施例而已,并非是对本发明作其它形式的限制,任何熟悉本专业的技术人员可能利用上述揭示的技术内容加以变更或改型为等同变化的等效实施例应用于其它领域,但是凡是未脱离本发明技术方案内容,依据本发明的技术实质对以上实施例所作的任何简单修改、等同变化与改型,仍属于本发明技术方案的保护范围。
Claims (5)
1.一种基于NSGA-Ⅱ的改进多目标优化的方法,其特征在于,包括以下步骤:
a、首先,通过随机产生出规模为N的初始种群;
b、确定出初始种群的非支配个体,然后对非支配个体进行非支配排序并计算拥挤距离,并对初始种群所有个体进行等级分类并确定其拥挤距离;
c、完成个体选择操作,然后利用交叉、变异操作产生下一代子代种群;
d、通过对父代种群和子代种群的合并生成规模为2N的新种群;
e、对d步骤得到的新种群进行非支配排序,并分层计算拥挤距离,选择出N个个体,产生新的父代种群;
f、判断e步骤产生的新的父代种群是否达到设定的最大循环代数,若达到则完成多目标的优化,若未达到,则重复c~f步骤;
其中,所述非支配排序的方法为:假设gi为种群中支配个体i的数量,被个体i支配的个体集合为Gi,首先通过循环对比得到种群之中全部gi为0的个体,令gi为0的个体的非支配排序值为1,这些个体共同构成非支配集合R1;然后将R1里每个个体所支配个体集合中的每个个体的gj减去1,当gj减去1为0时把个体j存入集合R2中,令这些个体的非支配排序值为2,然后,对集合R2中个体重复之前的操作,直到所有个体都含有非支配排序值。
2.根据权利要求1所述的基于NSGA-Ⅱ的改进多目标优化的方法,其特征在于,所述非支配个体的拥挤距离计算赋值的方法为:该个体排序值为原排序值与支配该个体的其余个体数目之和。
3.根据权利要求1所述的基于NSGA-Ⅱ的改进多目标优化的方法,其特征在于,所述c步骤,采用锦标赛选择策略完成个体选择操作。
5.根据权利要求1所述的基于NSGA-Ⅱ的改进多目标优化的方法,其特征在于,所述c步骤中,变异操作的公式为:
x1`=x1+[β-1](xmax-xmin)
式中:β为变异系数,为经验值;x1`为产生新的子代个体,x1为参与变异操作随机选择的原个体,xmax和xmin为个体能取到的最大值和最小值。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211070337.0A CN115511039A (zh) | 2022-08-31 | 2022-08-31 | 基于nsga-ⅱ的改进多目标优化的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211070337.0A CN115511039A (zh) | 2022-08-31 | 2022-08-31 | 基于nsga-ⅱ的改进多目标优化的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115511039A true CN115511039A (zh) | 2022-12-23 |
Family
ID=84501057
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211070337.0A Pending CN115511039A (zh) | 2022-08-31 | 2022-08-31 | 基于nsga-ⅱ的改进多目标优化的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115511039A (zh) |
-
2022
- 2022-08-31 CN CN202211070337.0A patent/CN115511039A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110544011B (zh) | 一种智能化的体系作战效能评估和优化方法 | |
CN111832101B (zh) | 一种水泥强度预测模型的构建方法及水泥强度预测方法 | |
CN114186749B (zh) | 基于强化学习及遗传算法的柔性车间调度方法及模型 | |
Gong et al. | An improved multiobjective differential evolution based on Pareto-adaptive ϵ-dominance and orthogonal design | |
CN106445881B (zh) | 一种基于多层次信息反馈的多目标混合蛙跳算法在车辆前轴尺寸设计中的应用方法 | |
CN110118566B (zh) | 机器人运行路径生成方法及装置 | |
CN109947652A (zh) | 一种软件缺陷预测的改进排序学习方法 | |
CN111191343A (zh) | 一种基于随机排序学习的多模多目标差分演化算法 | |
CN110533221A (zh) | 基于生成式对抗网络的多目标优化方法 | |
CN112180853A (zh) | 基于多种群策略的柔性作业车间调度混合优化方法 | |
CN110111606A (zh) | 一种基于eemd-iaga-bp神经网络的船舶交通流预测方法 | |
CN116542382A (zh) | 基于混合优化算法的污水处理溶解氧浓度预测方法 | |
CN115481727A (zh) | 一种基于进化计算的意图识别神经网络生成与优化方法 | |
CN115617690A (zh) | 基于改进自适应遗传算法的并行测试任务调度方法 | |
CN109034479B (zh) | 一种基于差分进化算法的多目标调度方法及装置 | |
Su et al. | Comparing the Performance of Evolutionary Algorithms for Sparse Multi-Objective Optimization via a Comprehensive Indicator [Research Frontier] | |
CN114065896A (zh) | 基于邻域调整和角度选择策略的多目标分解进化算法 | |
CN113762602A (zh) | 一种风电场短期风速预测方法 | |
Weise et al. | An improved generic bet-and-run strategy with performance prediction for stochastic local search | |
CN117149615A (zh) | 一种测试用例执行路径的生成方法及相应的装置 | |
CN115511039A (zh) | 基于nsga-ⅱ的改进多目标优化的方法 | |
CN116955959A (zh) | 一种基于多目标演化算法的时间序列预测集成方法 | |
CN113220437B (zh) | 一种工作流多目标调度方法及装置 | |
CN113470732B (zh) | 微生物代谢网络模型多优化目标确定方法及其应用 | |
CN113554144A (zh) | 用于多目标进化特征选择算法的自适应种群初始化方法和存储设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |