一种基于指标和方向向量相结合的多目标优化方法及系统与流程

文档序号:11408385阅读:455来源:国知局
一种基于指标和方向向量相结合的多目标优化方法及系统与流程

本发明涉及多目标优化领域,尤其涉及一种基于指标和方向向量相结合的多目标优化方法及系统。



背景技术:

在解决工程实践和科学研究中的优化问题时,如果仅考虑一个目标函数,称为单目标优化问题;如果考虑的目标函数不止一个,且各目标函数之间会通过决策变量相互制约、互不独立,即某个目标函数被改善的同时,会使其他目标函数的性能在一定程度上有所下降,这样的情况被称为多目标优问题。单目标优化问题的最优解通常是一个唯一确定的最优解,而多目标优化问题的解因目标函数间的不可调和性,它的最优解通常是一个集合,它通常被称作为pareto最优解或非支配解。

在生活中常常会面临到多目标优化问题,比如说:当我们需要从a地出发抵达b地时,希望所花时间最少、所走路程最短并费用最低,但现实情况常常是在最短的路径上,所花的时间不一定最少,费用不一定最低;然而选择所花时间最短的方式时,行驶的路程和花去的费用不一定最低;同样费用最低的时候,时间和路程也不一定最短,这三个要素看似统一,却又互相制约,这就是一个典型的多目标优化问题。求解这样的问题会得到一系列的最优解,最终选择哪种方式取决于决策者的需求。所以多目标优化问题会求解出尽可能多的pareto最优解,让决策者有更多的选择,在更多最好办法的比较中选出自己最需要的方式。

目前多目标优化问题在车辆路径规划、电力系统、车间管理调度、云计算、数据挖掘、雷达探测系统等很多领域都能广泛的应用到,所以研究多目标优化问题是很有价值的。

传统多目标优化算法主要有两种方式:加权法和约束法。加权法是将每个目标函数分配一个权值,然后将分配了权值的目标函数全部相加,即转化为单目标优化问题,算法执行一次只能求出一个最优解(一种权值分配方式只有一个最优解)。约束法是以其中一个目标为优化对象,其他目标函数为约束条件,这样转化为带约束条件的单目标优化问题,但运行一次也只能求出部分pareto解集,效率低且相应参数并不是很好设置。

进化算法(evolutionaryalgorithm,eas),则是一种通过模拟自然界的生物进化过程的群体搜索算法,在没有任何先验知识的情况下,通过迭代的方式不断搜索对比保留最优解,从而得到整个pareto最优集合。即首先将第t代种群中优秀的个体以一定的选择方式选择出来,组成第t代的pareto最优集,然后对这个pareto最优集进行交叉变异产生第t+1代新种群,第t+1代种群就取代了第t代种群,再重复之前的步骤,当进化到预先设定好的终止条件时,将pareto最优集作为输出,即为该算法求解出的多目标优化问题最优解集。进化算法的出现,给求解多目标优化问题带来了新的思路和方向。

多目标进化算法能够高效的求解多目标优化问题主要是因为:1)运行一次能产生一个pareto最优解集,在每一次迭代过程中会优化整个解集,而不是只优化最优解,这样计算资源的消耗是比较低的;2)对目标函数的性质没有要求,不需要目标函数必须可微、可导或者连续,即对需要优化的问题类型没有特定要求,适合所有黑盒问题的优化;3)容易理解和使用,不需要投入过多的人力资源;4)适合并行计算环境,可以用计算机同时运行多个算法,多个进程之间不会相互影响,这样能够更加高效的解出多个多目标优化问题。

多目标进化算法按的选择方式主要可以分为三类:基于pareto支配、基于分解和基于指标。

(1)基于pareto支配

采用pareto支配的多目标进化算法,主要有:非支配排序遗传算法ii(nsgaii),pareto加强进化算法2(spea2),基于表层pareto选择算法ii(pesa-ii)。基于pareto支配的方式会优先考虑收敛性,然后考虑分布性,虽然它们在处理2-3个目标的时候表现十分优异,然而面对目标个数逐渐增多的情况,表现的不太理想。其主要原因是:1)随着目标个数的增多,在种群中成非支配关系的个体迅速增多,从而导致基于pareto支配关系的选择压力严重降低,个体之间的好坏难以区分,也就削弱了算法的搜索能力;2)由于pareto支配关系在高维情况下效果不好,此时算法更新个体的主导因素变为分布性保持机制,这样很可能会对算法的收敛性造成负面影响。针对这样的特点,deb和jain提出了改进的nsga-ii算法,即nsga-iii,用均匀分布的参考点代替nsga-ii的聚类操作数--拥挤距离算子,在求解高维多目标优化问题时,性能表现较好。

(2)基于分解

基于分解方法的主要思想是将多目标优化算法分解为多个单目标优化算法,通过线性或非线性的聚合函数来实现,这种方式里用到了领域的思想,并起到了至关重要的作用。其主要代表算法有moea/d。基于分解的方法和基于pareto支配一样,都是优先考虑收敛性,再考虑分布性。moea/d算法,在高维目标空间,通过选择聚合函数,一般可以很好的接近pareto前沿,通过不同的权重向量保持种群的多样性。然而,在高维目标空间,一个有很好的聚合函数值的个体很有可能会远离相应的权重向量,那么这个较优的个体很有可能被替换,继而导致moea/d算法多样性的严重降低。因此,对于moea/d算法,如果聚合函数对应权重向量的优先级过高,则有很大的可能会失去一些重要的搜索区域。eag-moea/d算法将基于分解的思想与pareto支配及拥挤距离用进化文档的方式,相互制约、相互协调,对低维离散的多目标优化问题效果较好,对高维多目标优化问题的求解不是很理想。目前提出的moea/dd算法:与支配思想的结合,以及moea/d_du都能较好的解决moea/d算法中,高维情况下多样性不足的缺点。

(3)基于指标

为了对比不同多目标进化算法的性能,研究学者提出了可以评估解集中含有大量个体的质量指标,如评估收敛性的igd指标、ε指标、r2指标,评估分布性的ss指标,以及兼具收敛性和分布性的超体积指标等。2004年,zitzler等人提出ibea算法,将质量指标用到多目标进化算法中,这是一种基于指标的适应值分配策略,用于配对选择和环境选择,并构建了一种基于指标的多目标进化算法框架。这种算法的基本思想是利用质量指标指导进化过程,将多目标优化问题转化成对给定指标的单目标优化问题,由于它不以目标函数为优化对象,从而避免了因目标个数增加带来选择压力变小的问题,成为目前求解高维多目标优化问题的重要方法之一。ibea引起了很多学者的广泛关注,一些新的基于指标的多目标进化算法被提出,如:mombi、将指标和混合蛙跳智能算法相结合来求解多目标优化问题[5]和two-arc2将pareto支配和指标从两个档案上作了结合,面对高维多目标优化问题的求解效果较好。

尽管最近在这一领域取得了很多成就,多目标优化进化的研究还有大量可以探索的空间。

高维多目标优化问题的一个难点是:在收敛到pareto真实前沿的同时还要保持较高的多样性;目前提出的适合高维的多目标进化算法,如nsga-iii通过均匀分布的参考点来取代拥挤距离,从而提高种群的收敛性和分布性,虽然对高维多目标优化问题取得了较好的效果,但因为pareto支配关系在目标个数越来越多的情况下,非支配解数量急剧增多,选择压力越来越小,pareto最优解难以逼近pareto真实前言,这一本质属性难以彻底消除。

因此,现有技术还有待于改进和发展



技术实现要素:

鉴于上述现有技术的不足,本发明的目的在于提供一种基于指标和方向向量相结合的多目标优化方法及系统,旨在解决现有多目标优化算法不能实现同时提高计算结果的收敛性和多样性的问题。

本发明的技术方案如下:

一种基于指标和方向向量相结合的多目标优化方法,其中,包括步骤:

a、将方向向量、进化种群、理想点向量进行初始化;

b、根据初始化的进化种群生成新个体;

c、将新个体与初始化进化种群进行合并,获取合并后进化种群中所有的非支配解,对合并后进化种群进行迭代直至合并后进化种群中非支配解的个数与初始化的进化种群的大小相等,并输出迭代后的进化种群所对应的解。

所述基于指标和方向向量相结合的多目标优化方法,其中,所述步骤a具体包括:

a1、初始化方向向量λ=(λ1,λ2,...,λm)t,其中h为预先设定的取值为自然数的参数,m为目标个数,初始化方向向量λ的总个数

a2、获取第i个方向向量与初始化方向向量λ中其余n-1个方向向量的夹角,并获取方向向量之间夹角的最小值ai;

a3、随机生成初始化进化种群ep=(x1,...,xn);其中xi个体的适应度值f(xi),i∈{1,2,...,n},ep的大小为n;

a4、设置当前迭代次数gen=0;

a5、初始化理想点向量z*=(z1*,...,zm*),其中zk*=min(fk(xi)),i∈{1,...,n},k∈{1,...,m}。

所述基于指标和方向向量相结合的多目标优化方法,其中,所述步骤b中初始化的进化种群根据模拟二进制交叉算子或背包算子来生成新个体。

所述基于指标和方向向量相结合的多目标优化方法,其中,所述步骤b具体包括:

b1、随机选择第i个子问题,i的取值为1到n之间,且第i个问题只能被选择一次;

b2、从初始化进化种群ep中随机选择两个个体k和l作为副本,并将第k个子问题对应的个体xk和第l个子问题对应的个体xl产生新个体y,当新个体y超过预先设置的决策空间ω的范围则执行步骤b3,当新个体y未超过预先设置的决策空间ω的范围则执行步骤b4;

b3、重新随机生成新解并代替新个体y;

b4、计算新个体y的目标函数值向量f(y)=(f1(y),...,fm(y));

b5、更新理想点向量为其中k∈{1,...,m};

b6、将新个体y放置于新个体集y中,其中y=y+{y},其中新个体集φ的初始值为φ。

所述基于指标和方向向量相结合的多目标优化方法,其中,所述步骤c具体包括:

c1、将新个体集y与初始化进化种群ep合并,得到合并后进化种群ep’,其中ep′=y∪ep,其中合并后进化种群ep’的大小记为np,其中np=sizeof(ep);

c2、获取合并后进化种群ep’中所有的非支配解,并置于非支配解集s中,其中非支配解集s的初始值为φ,并将非支配解集s的大小记为n’,其中n′=sizeof(s);

c3、将合并后进化种群ep’清空;

c4、当n’≤2n时则将已清空的ep’置为等于非支配解集s,当n’>2n时则根据agi=min(angle(f(xj),λi))获取非支配解集s中距离第i个方向向量最小角度的个体xk,其中k∈[1,n']、j={1,...,n'},x∈s;

c5、判断距离第i个方向向量最小角度的个体xk所对应的agi是否小于方向向量之间夹角的最小值ai,若agi小于ai时则ep'=ep'+{xk},xi∈s且s=s/{xk};

c6、计算非支配解集s中xi个体的适应度值i∈{1,2,...,sizeof(s)},并获取使得xi个体的适应度值取值为0所对应的个体xd,其中i的取值范围是1至n’-2n;

c7、若则进行迭代,得到ep”=ep”+{xi},xi∈s,此时迭代后的进化种群ep”的大小m=n。

一种基于指标和方向向量相结合的多目标优化系统,其中,包括:

初始化模块,用于将方向向量、进化种群、理想点向量进行初始化;

新个体生成模块,用于根据初始化的进化种群生成新个体;

迭代输出模块,用于将新个体与初始化进化种群进行合并,获取合并后进化种群中所有的非支配解,对合并后进化种群进行迭代直至合并后进化种群中非支配解的个数与初始化的进化种群的大小相等,并输出迭代后的进化种群所对应的解。

所述基于指标和方向向量相结合的多目标优化系统,其中,所述初始化模块具体包括:

方向向量初始化单元,用于初始化方向向量λ=(λ1,λ2,...,λm)t,其中h为预先设定的取值为自然数的参数,m为目标个数,初始化方向向量λ的总个数

第一夹角获取单元,用于获取第i个方向向量与初始化方向向量λ中其余n-1个方向向量的夹角,并获取方向向量之间夹角的最小值ai;

进化种群初始化单元,用于随机生成初始化进化种群ep=(x1,...,xn);其中xi个体的适应度值f(xi),i∈{1,2,...,n},ep的大小为n;

设置单元,用于设置当前迭代次数gen=0;

理想点向量初始化单元,用于初始化理想点向量z*=(z1*,...,zm*),其中zk*=min(fk(xi)),i∈{1,...,n},k∈{1,...,m}。

所述基于指标和方向向量相结合的多目标优化系统,其中,所述新个体生成模块中初始化的进化种群根据模拟二进制交叉算子或背包算子来生成新个体。

所述基于指标和方向向量相结合的多目标优化系统,其中,所述新个体生成模块具体包括:

子问题选择单元,用于随机选择第i个子问题,i的取值为1到n之间,且第i个问题只能被选择一次;

新个体产生及判断单元,用于从初始化进化种群ep中随机选择两个个体k和l作为副本,并将第k个子问题对应的个体xk和第l个子问题对应的个体xl产生新个体y,当新个体y超过预先设置的决策空间ω的范围则启动新解代替单元,当新个体y未超过预先设置的决策空间ω的范围则启动目标函数值向量计算单元;

新解代替单元,用于重新随机生成新解并代替新个体y;

目标函数值向量计算单元,用于计算新个体y的目标函数值向量f(y)=(f1(y),...,fm(y));

更新单元,用于更新理想点向量为其中k∈{1,...,m};

新个体集获取单元,用于将新个体y放置于新个体集y中,其中y=y+{y},其中新个体集φ的初始值为φ。

所述基于指标和方向向量相结合的多目标优化系统,其中,所述迭代输出模块具体包括:

合并单元,用于将新个体集y与初始化进化种群ep合并,得到合并后进化种群ep’,其中ep′=y∪ep,其中合并后进化种群ep’的大小记为np,其中np=sizeof(ep);

非支配解获取单元,用于获取合并后进化种群ep’中所有的非支配解,并置于非支配解集s中,其中非支配解集s的初始值为φ,并将非支配解集s的大小记为n’,其中n′=sizeof(s);

清空单元,用于将合并后进化种群ep’清空;

个体获取单元,用于当n’≤2n时则将已清空的ep’置为等于非支配解集s,当n’>2n时则根据agi=min(angle(f(xj),λi))获取非支配解集s中距离第i个方向向量最小角度的个体xk,其中k∈[1,n']、j={1,...,n'},x∈s;

第二夹角获取单元,用于判断距离第i个方向向量最小角度的个体xk所对应的agi是否小于方向向量之间夹角的最小值ai,若agi小于ai时则ep'=ep'+{xk},xi∈s且s=s/{xk};

适应度值计算单元,用于计算非支配解集s中xi个体的适应度值并获取使得xi个体的适应度值取值为0所对应的个体xd,其中i的取值范围是1至n’-2n;

迭代单元,用于若则进行迭代,得到ep”=ep”+{xi},xi∈s,此时迭代后的进化种群ep”的大小m=n。

有益效果:本发明所提供的基于指标和方向向量相结合的多目标优化方法及系统,能够用来替代pareto占优关系,有效地缓解非支配个体所占比例过大带来的选择压力变小的问题。而且二元ε指标严格满足pareto占优一致性,计算复杂度较指标而言也比较低,而且不需要额外的参数设置,计算简单

附图说明

图1为本发明所述基于指标和方向向量相结合的多目标优化方法较佳实施例的流程图。

图2a是dtlz7_m3的使用夹角第一示意图。

图2b是dtlz7_m3的使用夹角第二示意图。

图2c是dtlz7_m3的使用夹角第三示意图。

图3a是删除非劣解方式第一示意图。

图3b是删除非劣解方式第二示意图。

图3c是删除非劣解方式第三示意图。

图4是x个体与λ方向向量的夹角θ的示意图。

图5为本发明所述基于指标和方向向量相结合的多目标优化系统较佳实施例的结构框图

具体实施方式

本发明提供一种基于指标和方向向量相结合的多目标优化方法及系统,为使本发明的目的、技术方案及效果更加清楚、明确,以下对本发明进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

请参阅图1,图1为本发明所述基于指标和方向向量相结合的多目标优化方法较佳实施例的流程图,如图1所示,其包括步骤:

步骤s100、将方向向量、进化种群、理想点向量进行初始化;

步骤s200、根据初始化的进化种群生成新个体;

步骤s300、将新个体与初始化进化种群进行合并,获取合并后进化种群中所有的非支配解,对合并后进化种群进行迭代直至合并后进化种群中非支配解的个数与初始化的进化种群的大小相等,并输出迭代后的进化种群所对应的解。

本发明的实施例中,提出了ε指标,将ε指标与方向向量相结合,可以有效改善ε指标的边缘效应。对于方向向量的选择,从种群多样性的的角度出发,可采用均匀分布的方向向量。这样当pareto最优前沿与方向向量比较一致的时候,引入的方向向量可以使指标边缘效应得到缓解,而当pareto最优前沿和方向向量不一致的时候,指标会起到进化过程的主导作用,而指标的边缘效应由于方向向量选走了一些个体也不会明显。从实验结果来看,基于二进制的加法指标和方向向量相结合能同时改善算法的收敛性和多样性,能很好的处理各种情况的多目标优化问题。

基于指标的方式在区分个体优劣时,不是根据各个目标函数值进行比较,而是将所有目标函数转换成一个用于衡量个体贡献度的数值。因此基于指标的方式,不受目标个数的限制,能够有效的替代pareto支配在高维情况下难以收敛的问题。

而将将指标与方向向量做了一个结合,称为edv,其中的指标选用ε二进制加法指标,因其计算简单、计算复杂度低的特性,相比于超体积指标(在目标个数增多时,计算复杂度呈指数增长)更加适合高维多目标优化问题。将ε指标与方向向量相结合,可以有效改善ε指标的边缘效应。当pareto最优前沿与方向向量比较一致的时候,引入方向向量可以使指标边缘效应得到缓解,而当pareto最优前沿和方向向量不一致的时候,指标会起到进化过程的主导作用,而指标的边缘效应由于方向向量选走了一些个体也不会明显。

为了更清楚的理解本发明的技术方案,下面介绍关于多目标优化问题的数学模型一些基本概念。

定义1.1多目标优化问题(mops)

一个由n维决策变量,m个目标函数,j个不等式约束条件和k个等式约束条件组成的多目标优化问题的定义如下:

最小化:f(x)=(f1(x),...,fm(x))t

其中在式(1-1)中,ai和bi表示不同的常数,由此构成决策变量x在i维度的取值范围,则ω称为决策(变量)空间,则x=(x1,...,xn)t∈ω是一个候选解。f:ω→rm由m个相互冲突的目标函数构成,rm为目标空间,得到的目标集可以表示为:θ={f(x)|x∈ω,gj(x)≥0,hk(x)=0},其中。当目标个数m>3时称为高维多目标优化问题,当目标个数为2或3时,称为低维多目标优化问题。

对于单目标优化问题,通过适应度值来比较个体的优劣。然后多目标优化问题的目标之间是相互冲突的,所以没办法像单目标优化问题那样通过一个适应度函数就可以比较个体优劣,因此多目标个体优劣的比较需要一个不同的方法,这里称为偏好关系(preferencerelation)。pareto占优关系是多目标优化问题最常见的一种偏好关系,其定义如下:

定义1.2pareto占优

给定两个可行解a,b∈ω,若a和b满足关系式(1-2)时,

记作b<a,也称为b支配a,a被b支配。

定义1.3非支配解

给定两个可行解a,b∈ω,a不支配b,b也不支配a,则称a和b为非支配关系。对于x∈a,找不到一个x'∈a支配x,则称x为集合a中的非支配解。

定义1.4pareto最优解集

在可行解中找不到一个b∈ω,满足b<a,其中a∈ω,则称a为pareto最优解,所有pareto最优解的集合称为pareto最优解集,对应的目标向量称为pareto最优前言。

当了解了关于多目标优化问题的数学模型一些基本概念后,下面进一步介绍基于二进制质量指标的适应值评价流程。

一般情况下,质量指标是指一个能将包含n个个体的pareto集合映射到一个具体数字的函数,比如说基于超体积概念的超体积指标,能够被用来评价一个集合的质量,然而超体积的计算复杂度非常高,因为对一个集合超体积的计算是np难问题。因此用二进制加法ε指标iε+,它可以用来比较两个pareto集合整体的质量,从而了解彼此之间的关系,从而指导算法往更好的方向进化。对于a、b两个集合,iε+(a,b)的定义如下:

二进制加法指标iε+给出了pareto集合对于每一个目标维度在整个目标空间里需要平移的最小距离,这样近似于一种弱支配的关系。iε+可以看作是pareto支配关系的一种延伸,它其实和普通的基于pareto的适应度值分配方式很近似,因此可以用它直接计算个体的适应度值。值得注意的是iε+指标是严格满足pareto支配关系。

假设种群p是决策空间ω的一个样本,种群p中个体x的适应值评估函数f1(x)定义如下:

其中c=maxx,y∈p|i(x,y)|,然后v>0为比例因子,一般取较小的值,本算法取0.01的实验效果较好。适应度值f1(x)越大,表明该个体对整个解集质量指标的贡献度越大,若删除该个体则对解集整体的质量损失越大,越应该保留到后代。也就是说,若x<y,则有fi(x)>fi(y);若fi(a)>fi(b),则认为a优于b。

优选的,在所述基于指标和方向向量相结合的多目标优化方法中,所述步骤s100具体包括:

步骤s101、初始化方向向量λ=(λ1,λ2,...,λm)t,其中h为预先设定的取值为自然数的参数,m为目标个数,初始化方向向量λ的总个数

步骤s102、获取第i个方向向量与初始化方向向量λ中其余n-1个方向向量的夹角,并获取方向向量之间夹角的最小值ai;

步骤s103、随机生成初始化进化种群ep=(x1,...,xn);其中xi个体的适应度值f(xi),i∈{1,2,...,n},ep的大小为n;

步骤s104、设置当前迭代次数gen=0;

步骤s105、初始化理想点向量z*=(z1*,...,zm*),其中zk*=min(fk(xi)),i∈{1,...,n},k∈{1,...,m}。

优选的,在所述基于指标和方向向量相结合的多目标优化方法中,所述步骤s200具体包括:

步骤s201、随机选择第i个子问题,i的取值为1到n之间,且第i个子问题只能被选择一次;

步骤s202、从初始化进化种群ep中随机选择两个个体k和l作为副本,并将第k个子问题对应的个体xk和第l个子问题对应的个体xl产生新个体y,当新个体y超过预先设置的决策空间ω的范围则执行步骤s203,当新个体y未超过预先设置的决策空间ω的范围则执行步骤s204;

步骤s203、重新随机生成新解并代替新个体y;

步骤s204、计算新个体y的目标函数值向量f(y)=(f1(y),...,fm(y));

步骤s205、更新理想点向量为其中k∈{1,...,m};

步骤s206、将新个体y放置于新个体集y中,其中y=y+{y},其中新个体集φ的初始值为φ。

在步骤s201中,初始化方向向量λ=(λ1,λ2,...,λm)t中第i个方向向量对应的问题为第i个子问题,这里的子问题并非是将多目标转化为单目标,这里只是把第i个方向向量对应的解称为第i个子问题的解。子问题只是一个叫法,只与方向向量有关。子问题的作用就是把解与均匀分布的方向向量关联上。

在随机选择第i个子问题时,是计算机随机产生一个1到n的随机数,即1到n中的每一个整数都是以相同的概率被选到,但这里把它设置成如果这个数出现了一次,则下次不会再被选到。

其中,在步骤s203执行完毕后,会跳转执行步骤s205;步骤s204执行完毕后,也是直接跳转执行步骤s205。

对于连续优化问题初始化的进化种群使用模拟二进制交叉算子(sbx)。第一次进化的时候,新个体从大小为n的ep中产生n个新个体,此时ep中的解不是全部都是非劣解。但从第二次进化开始,ep中留下的都是非劣解,其大小可能小于n,也可能大于n,但不会超过2n。因为ep中最多只保留2n个非劣解。

当进化文档的非劣解超过初始种群大小两倍的时候,采用方向向量和指标分别来判定非劣解的去留,其设计思想是给方向向量上分配n个最近的非劣解,剩下的非劣解中用二进制质量指标排序,保留最好的n个非劣解,所以这里进化文档的大小设置为工作种群的两倍。一部分由方向向量来决定,一部分由指标适应度值来决定。优先以方向向量为主,将所有方向向量夹角最小的非劣解选出来,这里可能并不是每一个方向向量都能真正参与到进化中,比如当所有非劣解到方向向量最小夹角比该方向向量间的最小夹角要大的时候,该方向向量不参与非劣解的选择,则后面用基于指标的选择方式要多选出一个个体。方向向量夹角最小的非劣解选完之后,用iε+指标技术来指导文档选择,每次删除一个适应度值最差的个体,直到用方向向量选出的个体和指标选出的个体之和为2n时停止,即进化文档的非劣解总数最大始终不超过2n。

具体的,所述步骤s300具体包括:

步骤s301、将新个体集y与初始化进化种群ep合并,得到合并后进化种群ep’,其中ep′=y∪ep,其中合并后进化种群ep’的大小记为np,其中np=sizeof(ep);

步骤s302、获取合并后进化种群ep’中所有的非支配解,并置于非支配解集s中,其中非支配解集s的初始值为φ,并将非支配解集s的大小记为n’,其中n′=sizeof(s);

步骤s303、将合并后进化种群ep’清空;

步骤s304、当n’≤2n时则将已清空的ep’置为等于非支配解集s,当n’>2n时则根据agi=min(angle(f(xj),λi))获取非支配解集s中距离第i个方向向量最小角度的个体xk,其中k∈[1,n']、j={1,...,n'},x∈s;

步骤s305、判断距离第i个方向向量最小角度的个体xk所对应的agi是否小于方向向量之间夹角的最小值ai,若agi小于ai时则ep'=ep'+{xk},xi∈s且s=s/{xk};

步骤s306、计算非支配解集s中xi个体的适应度值i∈{1,2,...,sizeof(s)},并获取使得xi个体的适应度值取值为0所对应的个体xd,其中i的取值范围是1至n’-2n;

步骤s307、若则进行迭代,得到ep”=ep”+{xi},xi∈s,此时迭代后的进化种群ep”的大小m=n。

这里方向向量之间的距离用夹角的形式来判定,个体到方向向量的距离也用夹角来判定,是因为方向向量的长度一般为1左右,因此方向向量之间的距离也为1左右,当一个解的目标向量十分大的时候,它到方向向量的距离与方向向量之间的距离是没有可比性的,这样就无法判断这个方向向量在解空间是否有作用。但无论这个解的目标向量有多大,解到向量的夹角与向量之间的夹角始终是不会变的,而且对于所有的非劣解而言,到向量最短距离的个体,与这个向量的夹角也一定是最小的。通过夹角的方式,不仅能够用来判定到方向向量距离最近的个体,还可以判定这个方向向量在该次进化中有没有起到作用。

如图2a-图2c所示,图2a中顶部的4个点表示dtlz7在3个目标时的pareto最优解,直线表示均匀分布的方向;图2b中为dtlz7在3个目标时的pareto最优解。若每个方向上都保留一个和它夹角最小的个体,最后到每个方向向量夹角最小的个体可能都集中在了某一块区域,而其他pareto最优区域上可能没有个体,如图2c所示。所以这里很多方向向量没有起到提高种群多样性的作用,反而依照大量方向向量求出的最优个体基本都集中到某一块区域中去了,因此不应该对所有的方向向量分配相同的个体资源,当离这个方向向量最小夹角的个体比这个方向向量到其他方向向量最小夹角要小的时候,分配这个方向向量个体资源,保留这个个体;而当离这个方向向量夹角最小的个体比这个方向向量到其他方向向量最小夹角要大的时候,不分配它个体资源,在这个方向向量上不选择最优个体,而把这里的个体资源留给基于指标的方式来选择。

x个体与λ方向向量的夹角θ,在计算的时候不需要真的算出来,因为θ的大小始终为0到π/2之间,所以θ与sinθ正相关,可以用sinθ的值代替θ的值,这样不会影响比较的结果。

所以x个体与λ方向向量的夹角θ的示意图如图4所示。

对于进化文档ep中始终保存着最好的非支配解,ep的大小最大为2n,即ep进化完后最多存储2n个最优的非支配解。在进化过程中,首先将新产生个体集合y和ep中的解合并保留到ep中,然后把ep中的非劣解保存到存储器s中,记此时s的大小为n',同时将ep中的非劣解清空。如果此时s中个体总数小于2n,则直接把s保存到ep中。

如果s中个体总数大于2n,首先选出离每个方向向量最近一个的非劣解,将这个非劣解保留到ep中,并将这个非劣解从s中剔除。这样ep中最多可以选出n个与方向向量最近的非劣解,但最少也可能一个非劣解都选不出来,因为有可能产生的这些非劣解离所有的方向向量都不是很近(相对该与方向向量夹角最小的方向向量)。而因为ep中最多保留2n个非劣解,所以不管选出了多少个离方向向量最近的非劣解,s中还要用指标的方式删除n'-2n个对种群质量贡献较少的非劣解。因为之前从s中剔除的非劣解并非真正删除,而是优先进入了ep中,而s中本来是要删掉n'-2n个非劣解,这些非劣解一旦删除,便不会再保留到ep中去,是作为种群进化中所舍去的非劣解。所以如果方向向量选出的非劣解少,则相应以指标方式保留的非劣解会多一些,从而确保ep中进化后总能保留2n个非劣解。

用指标来选择较优的非劣解,首先将剔除掉离方向向量较近的非劣解集后的s中每个非支配解都需要通过公式(3-3)计算iε+指标适应度值,然后找出s中适应度值最小的个体d,其余非支配解的适应度值需要重新计算,根据质量指标适应度值计算定义(3-3),每个非劣解新的适应度值等于该个体适应度值减去删去个体与该个体之间ε指标累加项。这样一来,算法的计算复杂度就并不是很高了。如果s的大小还是大于2n-sizeof(ep),则继续丢弃剩余s中适应度值最小的非劣解,并重新计算其他非劣解的适应度值。直到s中非劣解的个数等于2n-sizeof(ep)时,不再丢弃非劣解,最后将s中的最优非支配解全部添加到ep中去。

当存储器s中非支配解个数过多时,需要每次删除一个s中最差的非劣解,而不是一次性删除s中最差的n'-2n个非劣解。因为若一次删除多个适应度最差的个体,可能会把连续的几个非劣解都删掉,这样会丢失一些信息度较高的解,不利于种群的进化。假设这个集合中最多只能保留6个个体,多出的个体需要删掉。在图3a图中的a~i个体都为非支配解,而a区域里的c、d和e三个个体紧密的靠在一起,所以c、d和e三个个体的适应度值相对其他个体会小一些,如果一次性删除3个个体,则这三个个体会一起被删掉,如图3b图所示,这样a区域中则一个个体都没有保留下去,会导致解集的分布不够均匀,且多样性损失巨大。如果每次只删除一个个体,首先会删除适应度值最小的d个体,然后其他个体的适应度值重新计算之后,适应度值最小的个体会由e个体变为f个体,因为此时f个体相对删掉d后的e个体更密集了,如此下去会得到一组更加均匀的非劣解,其解集的多样性损失也相对较少,如图3c所示。

基于上述方法,本发明还提供一种基于指标和方向向量相结合的多目标优化系统。如图5所示,所述基于指标和方向向量相结合的多目标优化系统包括:

初始化模块100,用于将方向向量、进化种群、理想点向量进行初始化;

新个体生成模块200,用于根据初始化的进化种群生成新个体;

迭代输出模块300,用于将新个体与初始化进化种群进行合并,获取合并后进化种群中所有的非支配解,对合并后进化种群进行迭代直至合并后进化种群中非支配解的个数与初始化的进化种群的大小相等,并输出迭代后的进化种群所对应的解。

优选的,在所述基于指标和方向向量相结合的多目标优化系统中,所述初始化模块100具体包括:

方向向量初始化单元,用于初始化方向向量λ=(λ1,λ2,...,λm)t,其中h为预先设定的取值为自然数的参数,m为目标个数,初始化方向向量λ的总个数

第一夹角获取单元,用于获取第i个方向向量与初始化方向向量λ中其余n-1个方向向量的夹角,并获取方向向量之间夹角的最小值ai;

进化种群初始化单元,用于随机生成初始化进化种群ep=(x1,...,xn);其中xi个体的适应度值f(xi),i∈{1,2,...,n},ep的大小为n;

设置单元,用于设置当前迭代次数gen=0;

理想点向量初始化单元,用于初始化理想点向量z*=(z1*,...,zm*),其中zk*=min(fk(xi)),i∈{1,...,n},k∈{1,...,m}。

优选的,在所述基于指标和方向向量相结合的多目标优化系统中,所述新个体生成模块200中初始化的进化种群根据模拟二进制交叉算子或背包算子来生成新个体。

优选的,在所述基于指标和方向向量相结合的多目标优化系统中,所述新个体生成模块200具体包括:

子问题选择单元,用于随机选择第i个子问题,i的取值为1到n之间,且第i个问题只能被选择一次;

新个体产生及判断单元,用于从初始化进化种群ep中随机选择两个个体k和l作为副本,并将第k个子问题对应的个体xk和第l个子问题对应的个体xl产生新个体y,当新个体y超过预先设置的决策空间ω的范围则启动新解代替单元,当新个体y未超过预先设置的决策空间ω的范围则启动目标函数值向量计算单元;

新解代替单元,用于重新随机生成新解并代替新个体y;

目标函数值向量计算单元,用于计算新个体y的目标函数值向量f(y)=(f1(y),...,fm(y));

更新单元,用于更新理想点向量为其中k∈{1,...,m};

新个体集获取单元,用于将新个体y放置于新个体集y中,其中y=y+{y},其中新个体集φ的初始值为φ。

优选的,在所述基于指标和方向向量相结合的多目标优化系统中,所述迭代输出模块300具体包括:

合并单元,用于将新个体集y与初始化进化种群ep合并,得到合并后进化种群ep’,其中ep′=y∪ep,其中合并后进化种群ep’的大小记为np,其中np=sizeof(ep);

非支配解获取单元,用于获取合并后进化种群ep’中所有的非支配解,并置于非支配解集s中,其中非支配解集s的初始值为φ,并将非支配解集s的大小记为n’,其中n′=sizeof(s);

清空单元,用于将合并后进化种群ep’清空;

个体获取单元,用于当n’≤2n时则将已清空的ep’置为等于非支配解集s,当n’>2n时则根据agi=min(angle(f(xj),λi))获取非支配解集s中距离第i个方向向量最小角度的个体xk,其中k∈[1,n']、j={1,...,n'},x∈s;

第二夹角获取单元,用于判断距离第i个方向向量最小角度的个体xk所对应的agi是否小于方向向量之间夹角的最小值ai,若agi小于ai时则ep'=ep'+{xk},xi∈s且s=s/{xk};

适应度值计算单元,用于计算非支配解集s中xi个体的适应度值i∈{1,2,...,sizeof(s)},并获取使得xi个体的适应度值取值为0所对应的个体xd,其中i的取值范围是1至n’-2n;

迭代单元,用于若则进行迭代,得到ep”=ep”+{xi},xi∈s,此时迭代后的进化种群ep”的大小m=n。

综上所述,本发明所提供的基于指标和方向向量相结合的多目标优化方法及系统,方法包括:将方向向量、进化种群、理想点向量进行初始化;根据初始化的进化种群生成新个体;将新个体与初始化进化种群进行合并,获取合并后进化种群中所有的非支配解,对合并后进化种群进行迭代直至合并后进化种群中非支配解的个数与初始化的进化种群的大小相等,并输出迭代后的进化种群所对应的解。本发明中能够用来替代pareto占优关系,有效地缓解非支配个体所占比例过大带来的选择压力变小的问题。而且二元ε指标严格满足pareto占优一致性,计算复杂度较指标而言也比较低,而且不需要额外的参数设置,计算简单。

应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1