[发明专利]一种基于分解的高维多目标进化方法在审
申请号: | 202010145618.2 | 申请日: | 2020-03-05 |
公开(公告)号: | CN111369000A | 公开(公告)日: | 2020-07-03 |
发明(设计)人: | 孙树栋;代进伦;吴自高;刘亚琼 | 申请(专利权)人: | 西北工业大学 |
主分类号: | G06N3/12 | 分类号: | G06N3/12 |
代理公司: | 西北工业大学专利中心 61204 | 代理人: | 金凤 |
地址: | 710072 *** | 国省代码: | 陕西;61 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 分解 多目标 进化 方法 | ||
1.一种基于分解的高维多目标进化方法,其特征在于包括下述步骤:
步骤1,参数设置:代数g=0,最大迭代次数Gmax,目标数量M≥4,种群规模N;
步骤2,生成N个参考向量W={W1,W2,...,WN}:
步骤2.1,采用正常边界交点方法在一个单位超平面L上生成分布均匀的参考点RP={RP1,RP2,...,RPN};
步骤2.2,基于参考点RP1,RP2,...,RPN在目标空间中构建均匀分布的参考向量W1,W2,...,WN,参考向量满足以下条件:
其中表示参考向量Wi的第j维度的分量值,且i=1,2,...,N,j=1,2,...,M,H表示将每个目标划分为H等份,生成参考向量的数量为N,其中
步骤3,随机生成规模为N的初始种群Pg=0,并进行个体适应度评价:
步骤3.1,在满足约束条件下,从决策空间中随机生成种群规模为N的初始种群Pg={X1,X2,...,Xi...,XN},其中Xi={x1,x2,...,xD},i=1,2,...,N,D表示决策变量Xi的维度,g表示当前种群的代数;
步骤3.2,计算种群Pg中所有个体的目标向量F(X)=(f1(X),f2(X),...,fM(X)),X∈Pg,并令个体X的适应度值为Fit(F(X))=F(X);
步骤3.3,基于所有个体的目标向量F(X),计算理想点Z*、极值点Znad和最差点Zworst,但在实际多目标优化过程中,理想点Z*、最差点Zworst和极值点Znad无法提前预知,基于当前种群Pg中个体的目标向量计算理想点Z*、最差点Zworst和极值点Znad为:
(1)理想点其中任意X∈Pg;
(2)最差点其中任意X∈Pg;
(3)极值点其中而极值点表示极小值点对应的自变量,即
步骤3.4,归一化种群Pg中所有个体的目标向量;
通过归一化将每个目标的目标值范围转换到区间[0,1],归一化通过进行,其中fi(X)表示个体X实际目标值,f′i(X)表示个体X执行归一化后的目标向量,其中i∈1,2,...,M,后续提到的目标向量若不具体说明,则都是经过归一化处理之后的目标向量,且令fi(X)=f′i(X),即用fi(X)表示归一化之后的目标向量;
步骤4,基于参考向量W1,W2,...,WN将种群Pg中的个体分配到子种群SP={SPi,i∈1,2,...,N}:
步骤4.1,参考向量关联子种群:初始化N个参考向量W1,W2,...,WN对应N个为空的关联子种群SP1,SP2,...,SPN,即参考向量Wi关联子种群SPi;
步骤4.2,分配个体到每个子种群SPi:
(a)首先计算种群Pg中每个个体的目标向量F(Xi)与所有参考向量Wj之间的夹角
(b)比较θij的大小;
(c)如果将第i个体Xi的目标向量F(Xi)与第j参考向量Wj关联,即将第i个个体Xi分配给由第j个参考向量Wj构建的子种群SPj;
(d)重复执行步骤a-c,直到种群Pg中所有个体Xi都分配到子种群中;
步骤5,执行基于领域子种群的选择操作选择父代个体执行遗传操作:
步骤5.1,对种群Pg中的所有个体按下述规则进行非支配排序:对于种群中的任意两个个体a和b,当且仅当对于fi(a)≤fi(b)且fi(a)<fi(b),那么个体aPareto支配个体b;
步骤5.1.1,预排序:
(a)预先对多目标优化问题的M个目标定义一个排序;
(b)按照第一个目标的目标值f1(X)将种群Pg中所有个体进行升序排序,如果两个个体的第一个目标值f1(X)相等,则按照第二个目标的目标值f2(X)对两个个体进行升序排序,如果两个个体所有目标值都相等,则两个个体任意排序;
(c)重复步骤b,直到种群Pg中所有的个体按目标排序完成,设置排序后的结果为X1,X2,…,XN;
步骤5.1.2,非支配排序:
(a)按照排序X1,X2,...,XN的顺序依次选择个体执行非支配排序,预先设定r=0个非支配层{F1,F2,…},Fi为第i非支配层,i∈1,2,...,r,令k=0;
(b)对于任意一个个体Xm,m∈1,2,...,N,首先检查个体Xm与非支配层Fk中所有个体的支配关系,如果非支配层Fk中不存在任何个体支配个体Xm,则将个体Xm的排名设为k,即个体Xm属于第k非支配层Fk;个体Xm与非支配层Fk中的个体比较时,个体Xm先与非支配层Fk中的最后一个个体比较,再与非支配层Fi中倒数第二个个体比较,最后和非支配层Fk中第一个个体比较,即在非支配层中执行倒序比较;
(c)如果个体Xm被非支配层Fk中至少一个个体所支配且k<r;
(d)则令k加1,并重复执行步骤b-c,否则为个体Xm创建新的排名r+1,即个体Xm属于第(r+1)非支配层Fr+1;
(e)执行非支配排序后,排名后的非支配层记为F1,F2,…,Fr;
步骤5.2,选择执行交叉、变异操作的个体:
步骤5.2.1,确定邻域种群:
(a)首先定义参考向量的邻域参考向量,计算任意两个参考向量之间的欧式距离且i≠j,表示Wi和Wj之间的夹角;
(b)然后计算距离每个参考向量Wi最近的T个参考向量,用B(i)={i1,i2,...,iT}表示接近Wi的T个邻域参考向量的集合,该集合中的各元素为
(c)相应的,最接近子种群SPi的T个邻域子种群为对应的参考向量Wi的T个邻域参考向量所构建的T个子种群,记为SPi1,SPi2,...,SPiT;
步骤5.2.2,从邻域种群中选择两个父代个体:
(a)个体一Xi为随机从子种群SPi中选择非支配排名靠前的一个个体;
(b)个体二Xj从子种群SPi的任一邻域种群SPi1,SPi2,...,SPiT中随机选择;
步骤5.2.3,对两父代个体执行遗传操作:对于选择的两个个体Xi和Xj,执行遗传操作,即模拟二进制交叉和多项式变异,产生两个个体X′i和X′j,重复执行N/2次后产生N个子代个体,即新种群Q;为了提高种群的多样性和收敛速度,根据选择个体的适应度值自适应调整交叉概率和变异概率,其中交叉概率为变异概率为K1和K2是两个常系数,k表示第k个目标,k∈1,2,...,M,fk(Xi)表示个体Xi的第k个目标值,fk(Xj)表示个体Xj的第k个目标值;
步骤6,基于子代种群Q中的个体更新子种群SP1,SP2,...,SPN:
步骤6.1,采用步骤3.2对新种群Q中所有个体进行适应度评价:计算新种群Q中所有个体的目标值F(X)和适应度值Fit(F(X));
步骤6.2,基于新种群Q,采用步骤3.3更新理想点Z*和最差点Znad;
步骤6.3,采用步骤3.4归一化新种群Q中所有个体;
步骤6.4,基于步骤5.1.2(e)对种群Pg中个体排名后的非支配层F1,F2,…,Fr为基础,采用步骤5.1.2(b)对新种群Q中所有个体进行非支配排序,更新非支配层F1,F2,…,Fr中的个体,通过Q中未排名个体与非支配层F1,F2,…,Fr中已排名个体比较支配关系,能有效提高算法的效率;
步骤6.5,执行步骤6.4后,是将种群Pg和种群Q组合得到组合种群R=Pg∪Q并更新非支配层F1,F2,…,Fr,其中组合种群R的规模为2N;
步骤6.6,更新子种群SP1,SP2,...,SPN:采用步骤4.2个体分配机制,将新种群Q中的个体分配给子种群SPi,i∈{1,2,...,N};
步骤7,对组合种群R执行环境选择,更新下一代种群Pg+1:环境选择过程是从R中的2N个体选择性能优异的N个体作为下一代的父代种群,环境选择策略包括局部环境选择策略及全局环境选择策略;
步骤7.1,局部环境选择策略:
步骤7.1.1,根据步骤6.4更新的子种群SP1,SP2,...,SPN,首先计算每个子种群SPi中个体的目标向量F(Xi)到参考向量Wi的欧氏距离即目标向量F(Xi)到参考向量Wi的垂直距离,其中||F(Xi)||表示目标向量F(Xi)的模长,||Wi||表示参考向量Wi的模长,F(Xi),Wi表示个体的目标向量F(Xi)和参考向量Wi之间的夹角,sinF(Xi),Wi表示夹角F(Xi),Wi的正弦值;
步骤7.1.2,计算每个子种群SPi中个体的目标向量F(Xi)的位置到构建参考向量Wi的参考点的距离其中||F(Xi)-Wi||表示向量(F(Xi)-Wi)的模长,即目标向量F(Xi)的位置到参考向量Wi的参考点的距离,如果子种群SPi中某个体位于构建的超平面L之下,即该个体支配第i个参考点,此时为负;
步骤7.1.3,在每个子种群SPi中,综合两个距离和选择个体,选择标准为表示在每个子种群SPi中选择两个距离之和最小的前min(2,|SPi|)两个个体,但在执行步骤6.6个体分配时,每个子种群SPi中可能没有个体、只有一个个体或有多个个体,如果子种群SPi中没有个体,不进行选择;如果子种群SPi中只有一个个体,则选择该个体;否则选择两个距离和之和最小的前两个个体;
步骤7.2,全局环境选择策略:
步骤7.2.1,全局环境选择策略是对执行局部环境选择策略后得到的所有个体基于非支配排名进行删减,选择N个个体进入下一代种群,用|Fig|表示执行局部环境选择策略后非支配层Fig中的个体数,如果所有前r个非支配层中的个体数量之和大于种群规模N,而前r-1个非支配层中的个体数量之和小于种群规模N,即且则执行全局环境选择策略从第r非支配层中选择个个体进入下一代种群;
步骤7.2.2,计算非支配层中相邻个体的欧式距离,若第i个个体和第j个个体相邻,则第i个个体和第j个个体的欧式距离为且i≠j,令K=|Fig|表示非支配层中个体的数量;
步骤7.2.3,计算非支配层中所有相邻个体的平均距离并执行全局选择:
(a)如果相邻距离大于平均距离的个体数量大于选择相邻距离最大的前个个体进入下一代种群;
(b)如果相邻距离大于平均距离的个体数量为K′且首先选择相邻距离大于平均距离的K′个个体进入下一代种群;
(c)然后从相邻距离小于平均距离的个体中选择K″个个体进入下一代种群,其中选择过程如下:
1)对相邻距离小于平均距离的个体按照某一目标进行升序排序,首先选择排序中的第一个个体进入下一代种群,因为往往排序后的第一个个体是极值点所对应的目标向量,对维护种群多样性具有重要的意义,然后计算即排序后的第i个个体和第(i+s)个个体的距离,初始s=2;
2)如果选择第(i+s)个个体Xi+s进入下一代种群;
3)如果执行s加1,再比较和的大小,直到然后选择第(i+s)个个体Xi+s进入下一代种群;
4)然后以第(i+s)个个体Xi+s作为初始个体,并令i等于i+s,按照升序排序的顺序计算第i个个体和第(i+s)个个体之间的欧式距离,直到选择的个体数量达到K″,其中表示相邻距离大于平均距离的所有相邻距离的最小值,δ是控制选择范围的参数;
步骤8,循环执行步骤4-步骤7,直至代数g>Gmax,计算终止并输出高维多目标优化问题的Pareto解集。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西北工业大学,未经西北工业大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202010145618.2/1.html,转载请声明来源钻瓜专利网。