用于约束多目标优化问题的双群体差分进化算法精编
智能决策中的多目标优化算法

智能决策中的多目标优化算法智能决策是一种通过使用计算机处理大量的数据和信息,来找到最优解的方法。
在实际应用中,我们通常会面临多个目标和约束条件,因此需要采用多目标优化算法来解决这些问题。
本文将介绍几种常见的多目标优化算法,以及它们在智能决策中的应用。
一、Pareto优化算法Pareto优化算法是一种基于Pareto优化原则的算法,它的目标是通过找到最优解来使所有目标最大化。
在这种算法中,当我们改变一个目标时,另一个目标也会随之变化。
因此,这种算法通常用于需要考虑多个目标的问题,如金融投资、资源管理等。
例如,在金融投资中,我们需要同时考虑收益率和风险。
使用Pareto优化算法可以帮助我们找到一组投资组合,使得收益率最高、风险最小化。
这种方法可以帮助我们制定更科学的投资策略,从而获得更高的收益。
二、粒子群算法粒子群算法是一种优化算法,它模拟了鸟群或鱼群等动物集体行为的过程。
在这种算法中,每个个体代表一个解,而整个群体代表整个搜索空间。
个体的移动方向由当前最优解和自身历史最优解决定。
在智能决策中,粒子群算法可以用于解决复杂的多目标优化问题。
例如,在制造业中,我们需要同时考虑成本、质量和效率等多个目标。
使用粒子群算法可以帮助我们找到最优解,从而实现高效的生产。
三、遗传算法遗传算法是一种模拟自然进化过程的算法。
它通过模拟遗传变异、选择和适应度优化等过程来找到最优解。
在这种算法中,每个个体代表一个解,而整个种群代表整个搜索空间。
个体之间通过交叉和变异来产生后代,并根据适应度进行优胜劣汰的选择。
在智能决策中,遗传算法可以用于解决很多多目标优化问题,如车辆运输、机器人路径规划等。
例如,在车辆运输中,我们需要考虑多个目标,如成本、时间和能源等。
使用遗传算法可以帮助我们找到最优解,从而降低成本、提高效率。
四、模拟退火算法模拟退火算法是一种优化算法,它通过模拟固体退火过程来搜索最优解。
在这种算法中,每个解都给出了一个能量值,而算法通过在解空间中不断寻找低能量的解来找到最优解。
《多目标优化方法》课件

多目标遗传算法在实际应用中取得了广泛的应用,如电力系统优化、机器人路 径规划、生产调度等。这些案例证明了多目标遗传算法在解决实际多目标优化 问题中的有效性和优越性。
04 多目标粒子群优化算法
粒子群优化算法简介
粒子群优化算法是一种基于群体 智能的优化算法,通过模拟鸟群 、鱼群等生物群体的行为规律来
实现优化问题的求解。
粒子群优化算法的基本原理是, 每个粒子代表一个潜在的解,通 过不断更新粒子的位置和速度,
寻找最优解。
粒子群优化算法具有简单易实现 、全局搜索能力强等优点,被广
泛应用于各种优化问题中。
多目标粒子群优化算法的改进策略
引入精英策略
保留种群中的最优解,作为其他 粒子的学习对象,以加快收敛速
02 多目标优化问题概述
多目标优化问题的定义
多目标优化问题是指在多个目标之间 进行权衡和优化的数学问题。这些目 标可能是相互冲突的,需要在满足一 定约束条件下进行最优解的寻找。
多目标优化问题广泛应用于各种领域 ,如工程设计、经济规划、物流运输 等,旨在解决实际问题的多个目标之 间的权衡和优化。
多目标优化问题的分类
度并避免陷入局部最优解。
动态调整惯性权重
惯性权重是影响粒子群优化算法性 能的关键参数,通过动态调整惯性 权重,可以平衡算法的全局搜索和 局部搜索能力。
多种群并行搜索
将种群分成多个子种群,并行进行 搜索,以提高算法的搜索效率。
多目标粒子群优化算法的应用实例
多目标优化问题
组合优化问题
多目标粒子群优化算法被广泛应用于 解决多目标优化问题,如多目标调度 问题、多目标路径规划问题等。
《多目标优化方法》 ppt课件
目录
CONTENTS
多目标优化算法

多目标优化算法
多目标优化算法是指在多个优化目标存在的情况下,寻找一组非劣解集合,这些解在所有目标上都不被其他解所支配,也即没有其他解在所有目标上都比它好。
常见的多目标优化算法包括遗传算法、粒子群优化算法、模拟退火算法等。
遗传算法是一种常用的多目标优化算法,它通过模拟生物进化的过程来搜索解空间。
遗传算法的基本流程包括选择、交叉和变异三个操作。
选择操作根据每个解的适应度值来选择部分解作为父代解,交叉操作将父代解进行交叉得到子代解,变异操作对子代解进行变异,最终得到新一代的解。
通过多次迭代,遗传算法能够得到一组非劣解。
粒子群优化算法是另一种常用的多目标优化算法,它模拟鸟类群体中的信息传递和协作行为。
粒子群优化算法的基本原理是每个粒子根据自己的当前位置和速度,以及整个群体中最好的位置来更新自己的运动方向和速度。
通过不断的迭代,粒子群优化算法能够搜索到解空间中的非劣解。
模拟退火算法也可以用于解决多目标优化问题。
它通过模拟金属退火过程中温度的下降来改善解的质量,以找到更好的解。
模拟退火算法的基本思想是从一个初始解开始,根据一定的概率接受比当前解更优或稍差的解,通过逐渐降低概率接受次优解的方式,最终在解空间中搜索到一组非劣解。
多目标优化算法的应用非常广泛,例如在工程设计中,可以用于多目标优化设计问题的求解;在资源调度中,可以用于多目
标优化调度问题的求解;在机器学习中,可以用于多目标优化模型参数的求解等。
通过使用多目标优化算法,可以得到一组非劣解集合,为决策者提供多种选择,帮助其在多个目标之间进行权衡和决策。
多目标优化和进化算法

多目标优化和进化算法
多目标优化(Multi-Objective Optimization,简称MOO)是指在优化问题中存在多个目标函数需要同时优化的情况。
在实际问题中,往往存在多个目标之间相互制约、冲突的情况,因此需要寻找一种方法来平衡这些目标,得到一组最优解,这就是MOO的研究范畴。
进化算法(Evolutionary Algorithm,简称EA)是一类基于生物进化原理的优化算法,其基本思想是通过模拟进化过程来搜索最优解。
进化算法最初是由荷兰学者Holland于1975年提出的,随后经过不断的发展和完善,已经成为了一种重要的优化算法。
在实际应用中,MOO和EA经常被结合起来使用,形成了一种被称为多目标进化算法(Multi-Objective Evolutionary Algorithm,简称MOEA)的优化方法。
MOEA通过模拟生物进化过程,利用选择、交叉和变异等操作来生成新的解,并通过多目标评价函数来评估每个解的优劣。
MOEA能够在多个目标之间进行平衡,得到一组最优解,从而为实际问题提供了有效的解决方案。
MOEA的发展历程可以追溯到20世纪80年代初,最早的研究成果是由美国学者Goldberg和Deb等人提出的NSGA(Non-dominated Sorting Genetic Algorithm),该算法通过非支配排序和拥挤度距离来保持种群的多样性,从而得到一组最优解。
随后,又出现了许多基于NSGA的改进算法,如NSGA-II、
MOEA/D、SPEA等。
总之,MOO和EA是两个独立的研究领域,但它们的结合产生了MOEA这一新的研究方向。
MOEA已经在许多领域得到了广泛应用,如工程设计、决策分析、金融投资等。
多目标优化算法

多目标优化算法多目标优化算法是一类用于解决具有多个目标函数的优化问题的算法。
在实际问题中,往往存在多个相互矛盾的目标,这就需要同时考虑多个目标并找到它们之间的最佳折衷。
多目标优化算法的目标是找到一组解,并使得这组解在各个目标函数上都达到最优或接近最优的状态。
多目标优化问题定义在传统的单目标优化问题中,优化目标是通过一个优化函数来定义的,而在多目标优化问题中,需要考虑多个优化目标。
一般情况下,多目标优化问题可以被定义为以下形式:$$ \\text{Minimize } f_i(\\textbf{x}), \\text{ for } i = 1, 2, ..., M $$其中M是目标函数数量,$f_i(\\textbf{x})$ 表示第i个目标函数,$\\textbf{x}$ 是决策变量向量。
多目标优化算法分类多目标优化算法可以根据其基本工作原理和搜索策略进行分类。
常见的多目标优化算法包括:•Pareto 改进算法•加权和方法•Pareto 前沿算法•基于群体智能的算法Pareto 改进算法Pareto 改进算法是一种基于 Pareto 最优解概念的算法,通过不断改进解的质量来逼近真实 Pareto 前沿。
通常采用种群演化的方式进行搜索,并通过比较解的Pareto 支配关系来选择较优解并进行改进。
加权和方法加权和方法是一种将多个目标函数加权求和转化为单目标优化问题的方法。
通过给每个目标函数赋予不同的权重,并将这些目标函数的值加权求和,转化为单目标问题进行求解。
但是权重的选择通常需要经验或者基于问题的特性进行调整。
Pareto 前沿算法Pareto 前沿算法主要利用 Pareto 支配关系来确定优劣解。
通过维护一个解集合,其中任意两个解互相不支配,从而构建出 Pareto 前沿。
通常采用进化算法或遗传算法进行求解。
基于群体智能的算法基于群体智能的多目标优化算法是利用群体智能算法(如粒子群算法、蚁群算法等)来求解多目标优化问题。
差分进化算法原理

差分进化算法原理差分进化算法是一种基于群体智能的优化算法,由Storn和Price于1995年提出。
该算法通过模拟生物遗传进化的过程,在群体中引入变异、交叉、选择等操作,从而优化目标函数。
相对于传统优化算法,差分进化算法具有收敛速度快、全局搜索能力强等优点,因此在实际工程优化中得到广泛应用。
差分进化算法的基本原理是通过不断改进目标函数来优化群体中的个体。
算法的基本流程如下:1. 初始化:随机生成足够多的初始个体,构成初始群体。
2. 变异:对于每个个体,根据固定的变异策略生成一个变异个体。
3. 交叉:将原个体和变异个体进行交叉,得到一个新的个体。
4. 选择:从原个体和交叉个体中选择更优的一个作为下一代的个体。
5. 更新群体:将新个体代替原个体,同时保留所有代的最优解。
变异策略和交叉方法是差分进化算法的核心部分。
1. 变异策略:变异策略是指在进化过程中,对每个个体进行的变异操作。
常用的变异策略有DE/rand/1、DE/rand/2和DE/best/1等。
“DE”表示差分进化,“rand”表示随机选择其他个体进行变异,“best”表示选择当前代的最优解。
以DE/rand/1为例,其变异操作步骤如下:(1)从群体中随机选择两个个体(除当前个体之外);(2)根据固定的变异因子F,生成一个变异向量v;(3)计算原个体与变异向量v的差分,得到新的个体。
变异因子F的值通常取0.5-1.0,表示变异向量中各项的取值在变量取值范围内随机变化的程度。
2. 交叉方法:交叉方法是指在变异个体和原个体之间进行的交叉操作。
常用的交叉方法有“二项式交叉”和“指数交叉”等。
以二项式交叉为例,其交叉操作步骤如下:(1)对于变异向量v中的每一维,以一定的概率Cr选择变异向量中的该维,否则选择原个体中的该维;(2)得到新的个体。
Cr表示交叉率,通常取值在0.1-0.9之间。
差分进化算法的收敛性和全局搜索能力与变异策略和交叉方法的选择密切相关。
基于协同进化的多目标约束进化算法
第41卷 第2期吉林大学学报(信息科学版)Vol.41 No.22023年3月Journal of Jilin University (Information Science Edition)Mar.2023文章编号:1671⁃5896(2023)02⁃0321⁃08基于协同进化的多目标约束进化算法收稿日期:2022⁃03⁃17基金项目:吉林省科技厅基金资助项目(20200201276JC);吉林省教育厅基金资助项目(20200822KJ)作者简介:刘仁云(1968 ),女,辽宁大连人,长春师范大学教授,博士,主要从事最优化理论及应用研究,(Tel)86⁃131****0345(E⁃mail)liurenyun@㊂刘仁云1a ,张 旭1a ,姚亦飞1b ,于繁华2(1.长春师范大学a.数学学院;b.计算机科学与技术学院,长春130032;2.北华大学计算机科学与技术学院,吉林吉林132013)摘要:针对约束多目标优化算法(COA:Constrained Optimization Algorithms)中存在的难以有效兼顾收敛性和多样性的问题,提出了采用协同进化策略的多目标优化算法(CoMaC)㊂首先,将一个COA 转化为一个带动态约束处理的多目标进化算法㊂然后采用差分进化(DE:Differential Evolution)生成第1种群,并将其中的已知可行解选入第2种群,并与第1种群协同进化㊂第1种群通过保持原约束条件的全局搜索加快收敛㊂第2种群通过局部搜索进化,保持并获得更多可行解㊂最后采用标准约束多目标测试函数进行实验,以测试所提出算法的性能㊂实验结果表明,与使用惩罚函数处理约束问题(PF:Penalty Function)和使用动态处理约束边界方法(DCMaOP:Dynamic Constrained Many Objective optimization Problem)相比,所提算法在反向世代距离(IGD:Inverted Generational Distance)和超体积(HV:Hypervolume)两个指标上均取得了良好的结果,说明所提算法可以有效地兼顾收敛性和多样性㊂关键词:多目标进化算法;动态约束处理;协同进化;全局搜索中图分类号:TP391文献标志码:AMulti⁃Objective Constrained Evolutionary Algorithm Based on CoevolutionLIU Renyun 1a ,ZHANG Xu 1a ,YAO Yifei 1b ,YU Fanhua 2(1a.College of Mathematics;1b.College of Computer Science and Technology,Changchun Normal University,Changchun 130032,China;2.College of Computer Science and Technology,Beihua University,Jilin 132013,China)Abstract :A CoMaCOA(Co⁃evolution Multi⁃Objective Constrained)optimization algorithm is proposed to deal with the problem that it cannot be combined convergence and diversity effectively in multi⁃objective COA (Constrained Optimization Algorithms ).First,a COA is transformed into the multi⁃objective evolutionaryalgorithm with dynamic constraint processing.Then,DE (Differential Evolution)is used to generate the first population.The second population is generated by the known feasible solution in the first population and coevolved with the first.The first population accelerates convergence by global search that does not deal with constraints.The second population evolves through local search to maintain and obtain more feasible solutions.Finally,the standard constrained multi⁃objective test function is used for experiments in order to test the performance of the proposed algorithm.The experiment result shows that the proposed algorithm achieves goodresults on both IGD (Inverted Generational Distance)and HV (Hypervolume),comparing with PF (Penalty Function)method and dynamic boundary processing to constrain problem DCMaOP(Dynamic Constrained Many Objective optimization Problem).It shows that the algorithm is both effective in convergence and diversity.Key words :multi⁃objective evolutionary algorithm;dynamic constraint processing;co⁃evolution;global search223吉林大学学报(信息科学版)第41卷0 引 言在科学和工程应用领域中,存在着具有各种制约条件的多目标优化问题,这类问题称为约束多目标优化(CMOP:Constrained Multi⁃objective Optimization Problem)㊂此类问题曾经通过增加约束处理技术解决,使无约束多目标优化问题转变为CMOP[1⁃3]㊂但随着解决实际问题要求的不断提高,类似的方案渐渐不再适用㊂于是,一些新的约束多目标优化算法被提出㊂例如,基于惩罚函数处理优化问题的方法,即构造惩罚适应度函数fitness(x),用惩罚函数值p(x)与目标函数值f(x)的和衡量个体的违约程度[4]; Fan等[5]提出了一种动态处理约束边界的方案,在收敛速度方面效果良好㊂近年来,针对出现越来越多的大规模㊁高维㊁动态优化等问题,协同进化算法发挥了积极作用[6⁃8]㊂Li等[9]采用了该算法思想:一个种群面向收敛性存档,另一个种群面向多样性存档;前者对目标和约束同时优化,后者仅对目标优化;二者在协同进化环境中合作㊂Wang等[10]同样采用协同进化的算法思想,建立了针对每个目标的种群进化机制:先将CMOP分解为有约束的单目标问题,进一步构建收集子种群的非劣解集,再进行协同进化以获得更好的结果㊂上述针对约束多目标问题的算法取得了一定的效果,但也存在一些缺陷,主要表现为:无法在提高收敛速度的同时,摆脱高度依赖搜索阶段参数选择的限制[4⁃5];在收敛性和多样性等性能上,低维优化问题远不如高维CMOP的平衡性能好[9]㊂为此,张磊等[11]提出了一种不处理约束条件的全局搜索和局部搜索的协同进化策略,所采用的差分(DE:Differential Evolution)机制和约束处理技术可以兼顾多样性和收敛性㊂受此启发,笔者提出了一种动态约束边界与基于协同进化相融合的约束多目标优化算法,实验结果表明,该算法在获得良好收敛性能的同时又能很好地兼顾多样性㊂1 相关研究1.1 CMOP及其相关定义一般地,CMOP如下min F(x)=(f(x),f2(x), ,f n(x)),(1)s.t. g i(x)≤0, i=1,2, ,r,g j(x)=0, i=1,2, ,s,x=(x1,x2, ,x D)T∈Ω,其中Ω为决策空间,R n为目标空间;F:Ω→R n为目标函数(n是目标的数量),x为D维决策变量;有r个不等式约束g i(x)≤0,s个等式约束g j(x)=0㊂等式约束可转化为不等式约束,如下:g j(x)=hj(x)-δ≤0, j=1,2, ,s,(2)其中δ为等式约束容忍阈值,设为0.0001㊂G(x)为g i(x)和g j(x)的约束违背函数,如下:G(x)=∑i=1r max(0,g i(x))+∑j=1s max(0,hj)(x)-δ㊂(3) 定义1(可行解) 决策变量x=(x1,x2, ,x D)满足G(x)=0时,x为可行解,否则x为不可行解㊂一个可行解集S F包含一个约束优化问题的所有可行解S F={x x是可行解,x∈Ω}㊂定义2(Pareto支配) 在多目标优化中,两个解的比较主要依赖于Pareto支配关系㊂给定两个向量a=(a1,a2, ,a p),b=(b1,b2, ,b p),当且仅当每个指标a i≤b i,且至少有一个指标a j<b j时,称a Pareto优于(支配)b㊂对两个解x1和x2,如果目标向量f(x1)Pareto优于(支配)f(x2),则x1Pareto优于(支配)x2(记为x1≺x2)[12]㊂定义3(Pareto最优解) 如果没有Pareto优于(支配)x*的其他解决方案,则x*就是Pareto最优(非支配)解㊂通常,非支配的概念为多目标优化问题提供一组解决方案,这个集合称为Pareto集(非支配集)㊂相应的目标向量集称为Pareto 前沿(PF)[13]㊂1.2 将CMOP 转换为CMaOP近年来,在许多研究中,多目标优化技术的优势被用于处理约束㊂通常约束条件是作为一个整体加在一起,将约束优化问题(COA:Constrained Optimization Algorithms)转化为双目标问题㊂由于这些约束具有不同的特性,例如,一些约束很容易满足,而另一些则不容易满足㊂但作为一个约束总和的缺陷是容易丢失信息㊂因此,笔者采取的方法是将每个约束转化为一个目标,由CMOP 转换的约束多目标优化(CMaOP:Constrained Many Objective optimization Problem)说明如下:min y =(f (x ),φ1(x ),φ2(x ), ,φm (x )),s.t. g =g (x )=(g 1(x ),g 2(x ), ,g m (x ))≤0,(4)其中φi (x )(i =1,2, ,m )为g i (x )的约束违背函数,定义为 φi (x )=max{g i (x ),0}, i =1,2, ,m ㊂(5)1.3 CMaOP 转换为DCMaOP求解CMaOPs 的多目标进化算法(MaOEAs:Many Objective Evolutionary Algorithms)将面临与求解COA 相同的约束处理困难㊂MOEAs 能很好地解决无约束的MOP (Multi⁃objective OptimizationProblem)[14⁃16]㊂如果要使约束边界非常宽松,就像没有约束一样,一个MaOEA 只要种群总是可行的,即可直接应用,并具有高效的搜索能力㊂笔者采用Zeng 等[17]提出的动态约束处理方法解决上述问题㊂该方法改变约束边界,使大多数个体可行㊂首先,将方程(4)中的CMaOP 的原边界扩大到e (0),使其足够大,保证初始种群P (0)中的所有个体都可行,则有e (0)=(e (0)1,e (0)2, ,e (0)m ),e (0)i=max x ∈p (0){g i (x )}, i =1,2, ,m ㊂(6) 随着种群的演化,变宽的边界e(0)逐渐减小㊂这种减少是足够小的,所以总是有一个几乎可行的种群㊂最终,边界能收缩到原始边界0㊂这个过程构造一个动态处理约束边界的多目标优化方法DCMaOP (Dynamic Constrained ManyObjective optimization Problem),它是一系列CMaOPs 问题,其公式如下:min y =(f (x ),φ1(x ),φ2(x ), ,φm (x )),s.t. g (x )≤e (0){,(7)min y =(f (x ),φ1(x ),φ2(x ), ,φm (x )),s.t. g (x )≤e (1){,(8) min y =(f (x ),φ1(x ),φ2(x ), ,φm (x )),s.t. g (x )≤e(S )=0{,(9)其中e (0)≥e (1)≥ ≥e (S )=0,e (τ)(τ=0,1,2, ,S )为弹性约束边界,τ为环境状态㊂各环境状态的边界e (τ)为e (τ)=(e (τ)1,e (τ)2, ,e (τ)m ),(10)e (τ)i=A i e -(τ/B i )2-ε, i =1,2, ,m ,其中ε为控制弹性边界收敛速度的正参数,它无限接近于零,A i 和B i 为常数,可用e τ(τ=0,1,2, ,S )计算㊂在初始状态τ=0时,弹性边界方程为e (0)i=max x ∈p (0){g i (x )}=A i -ε, i =1,2, ,m ㊂(11)当最终状态τ=S 时,弹性边界由e (S )i=0=A i e -(S /B i )2-ε, i =1,2, ,m (12)恢复为0㊂根据式(11)和式(12),A i 和B i 可由323第2期刘仁云,等:基于协同进化的多目标约束进化算法A i =max x ∈p (0){g i (x )}+ε, i =1,2, ,m ,(13)B i =Sln max x ∈p (0){g i (x )}+εæèçöø÷ε, i =1,2, ,m(14)计算㊂2 算法描述下面给出这种协同进化策略CoMaC 的主要框架(算法1)㊂首先,第1种群由算法随机生成的初始种群构成,然后将其中的可行解选出构成第2种群;其次,采用对第1种群与第2种群之间的协同进化策略进行迭代,进化到满足条件为止㊂这时,约束边界将随着演化过程而缩小,直到整个种群是e⁃可行的㊂如果种群中的某些个体在某一状态下是e⁃不可行的,算法将无限迭代进化以达到e⁃可行种群,MaxG 为最大迭代数㊂2.1 第1种群与第2种群的协同进化策略图1描述了两种群协同进化策略㊂首先,由随机生成的第1种群负责全局搜索,暂不考虑约束处理策略(CHM:Constraint Handling Method),而采用无CHM 的多目标进化算法实现全局搜索;由于不考虑约束是否满足,在全局搜索时比基于CHM 的约束搜索方法的种群收敛速度更快;同时,对第2种群采取局部搜索机制,只选择收敛性好的可行解保留在第2种群中㊂这种CHM 有助于算法快速地寻找更多的可行解,促进了可行解的收敛;其次,利用局部搜索和全局搜索生成的可行个体对第2种群进行更新;最后,通过局部搜索和全局搜索生成的个体进行环境选择,生成新的第1种群成员㊂当第2种群中的个体数量大于种群规模N p 时,需要维持第2种群㊂算法2总结了第2种群的更新和维护机制㊂首先,保留第2种群中的非优势个体,将剩余个体从中移除㊂如果种群规模仍然大于N p ,则移除拥挤距离较低的个体,以获得更好的分布㊂在算法初始运行时,第2种群的可行解的后代会加速第1种群的收敛㊂随着算法的运行,第1种群的可行后代也会提高第2种群的收敛速度㊂因此,第1种群的全局搜索和第2种群的局部搜索是互补的㊂显然,这种协同进化策略解决了传统CMOEAs 收敛不足的问题㊂算法1 CoMac㊂输入:Generationnumber T max ,population size N p ,environment states S ,the current feasible solutions㊂输出:The second population A ㊂图1 第1种群和第2种群共同进化示意图Fig.1 Co⁃evolution schematic diagram of the first and the second populations1)/*Initialization */2)Add the current feasible solutions to A ;3)The initial main population pop 0=initialize();4)Add the feasible solutions of pop0to A ;G =1;5)Set e =e (0),τ=0,g =0㊂6)/*Main loop*/7)while (G <T max and τ<S )8)If all individuals in the current population are e⁃feasible, then change elastic constraint boundary e =e (τ+1),τ=τ+1㊂9)Childpop G =Evolve(pop G -1)by SBX and polynomial mutation;10)Add the feasible solutions of childpop G to A ;11)Offspring A =Evolve (A )by DE and polynomial mutation;12)Add the feasible solutions of Offspring A to A ;13)Update the second population A according to algorithm 2;14)Get the pop G from pop G -1,childpop G and Offspring A by environmental selection;15)G =G +1;g =g +1;423吉林大学学报(信息科学版)第41卷16)end算法2 Update mechanism of the second population㊂输入:The second population A ㊂输出:The updated second population A ㊂1)if the population size of A is more than N p ,then 2)Delete the dominated solutions of A ;3)if the population size of A is large to N p ,then4)CrowdDis =CrowdingDistance(A );5)Sort CrowdDis in descending order and select the top N p individuals as A ;6)end 7)end2.2 算法框架笔者提出的CoMac 将第1种群和第2种群之间的协同进化策略整合到DE 框架中㊂选择DE 作为多目标优化框架的原因是其鲁棒性高,易于实现㊂CoMac 方法示意图见图1㊂算法1中,步骤1)~5)为启动CoMac㊂在初始化时,加入已知的稳态可行解,即初始种群pop0随机生成,然后求出第1群每个独立解的目标值,根据目标函数对种群进行评价㊂通过方程(2)评估一个解的整体约束违背情况,识别出pop0的可行解并加入到第2种群A 中;步骤7)~步骤16)是CoMac 的主循环㊂步骤8),约束边界将随着演化过程而缩小,但它不会改变,直到整个pop 是e⁃可行的㊂如果种群中的某些个体在某一状态下是e⁃不可行的,算法将无限迭代进化以达到e⁃可行种群㊂步骤9),使用SBX 和多项式变异算子产生子个体,与DE 相同㊂生成的N p 个子个体构成了子群体Childpop G ㊂将Childpop G 的可行解保存到A 中㊂步骤11),使用DE 算子和多项式变异算子对第2种群进行局部搜索,并将结果保存为Offspring A ㊂将Offspring A 的可行解保存到A 中㊂步骤13),根据算法1保持第2种群㊂步骤14),individ⁃与DE 的环境选择方法相同,从第2种群的主种群㊁子种群和后代的结合中,逐步筛选出N p 个新的主种群㊂最终CoMac 的输出是最后的第2种群㊂笔者提出了一种基于协同进化的约束多目标进化算法CoMac,用于解决COAs,使已知的可行解在第2种群中保持,并与其一起进化第1种群㊂第1种群是通过不处理约束条件的全局搜索加快收敛速度,第2种群通过局部搜索进行进化,以获得更多可行的解决方案,保持了可行解的多样性㊂3 实验与分析为验证笔者算法的性能,选择Belegundu㊁Binh(2)等测试问题集进行测试及分析㊂选择近几年新提出的惩罚函数(PF:Penalty Function)处理约束问题和DCMaOP 方案作为对比㊂3.1 评价指标反转世代距离(IGD:Inverted Generational Distance)是既可评价算法收敛性又可评价多样性的指标;超体积指标(HV:Hypervolume)可同时评价解集的收敛性与分布性㊂本实验中IGD 为Pareto 前沿近似解集与真实前沿之间最小距离的平均值;HV 为目标空间区域中由非支配解集覆盖的部分㊂设P *为均匀采样在真实Pareto 前沿上的解集,Pareto 前沿近似解集为P R ,如下:I IGD (P R ,P *)=1P *∑x ∈P *dist(x ,P R ),(15)H HV (S )=vol(∪x ∈P R[f 1(x ),r *1]×[f 2(x ),r *2]× ×[f m (x ),r *m ]),(16)其中dist(x ,P )为P *中的个体x 到P R 上最近点的距离;vol(㊃)为Lebesgue 测度;P *为集合P *中的基数;r *=[r *1,r *2, ,r *m ]为目标空间分布的参考点,是Pareto 前沿极值点的1.1倍㊂考察IGD 和HV 的值,如果算法的收敛性和多样性越好,则IGD 值应该越小,或HV 值越大,这时P R 与Pareto 前沿面越近似㊂523第2期刘仁云,等:基于协同进化的多目标约束进化算法3.2 实验参数设置设种群N =450,两个子种群N 1=300,N 2=150,当函数评估次数达到1000时,算法终止;算法对所有测试问题集独立运行20次,结果取平均值[18]㊂3.3 实验结果分析将笔者算法与小生境Pareto 遗传算法(NPGA:Niche Pareto Genetic Algorithms)和DCMaoP 算法进行比较,对测试集Belegundu 和Binh(2),在IGD 和HV 指标上均能取得较好结果,如表1所示(IGD 和HV为最优结果)㊂表1 IGD ,HV 和可行比的均值比较分布情况,如图2所示㊂前期搜索可行解所建立的第1种群P 1(图2浅色粒子)在目标空间分布比较均匀,保持了协同进化初期良好的多样性;中期,第2种群P 2(图2深色粒子,b 图左下方)引导P 1跳出不可行域实现进化,再对P 1改变约束边界继续维持种群多样性,克服了收敛到局部Pareto 前沿的缺陷;后期,P 2的多样性策略产生效果,P 1中的个体逐渐聚集于Pareto 前沿的端点(c 图弧形线),完成引导种群演化过程㊂可见,基于改变约束边界与多目标协同进化相结合的方法在维持种群多样性㊁收敛性方面都具有良好结果㊂图2 Belegundu 的协同进化过程Fig.2 Coevolution of Belegundu综上所述,第1阶段的种群搜索和进化方式保证了高质量的可行解,可产生多个子种群,保持了种群多样性;第2阶段两种群以基于改变约束边界的方式实现协同演化,通过交叉变异机制实现各任务的协同,在兼顾收敛性和多样性的同时,实现了改变约束边界与协同进化两种优化方式的良好结合㊂在不连续Pareto 前沿的测试集Belegundu 上,笔者算法取得了良好的结果㊂笔者在测试问题Belegundu 和Binh(2)上测试了4种子种群规模(N 1,N 2)的效果:分别为(300,50)㊁623吉林大学学报(信息科学版)第41卷(300,100)㊁(300,150)㊁(300,200),以便考察种群数量对算法性能的影响㊂算法独立运行51次,评价标准为IGD 平均值,函数评价次数为3000,如表2所示㊂可见,在进化阶段,子种群数量具有相对较低的敏感性㊂表2 N 2取不同值时的IGD 均值对比Tab.2 Comparison of IGD mean values of N 2with different values实例(300,50)(300,100)(300,150)(300,200)Belegundu0.00120.00110.00060.0011Binh(2)0.12040.10940.10880.10884 结 语笔者提出了一种基于协同进化的多目标约束优化算法,通过改变约束边界与结合稳态演化方法提高了前期搜索速度和有效性,并采用两个种群协同进化策略找到最优可行解,算法有效地兼顾了进化过程中的收敛性和多样性,并通过测试集和实例比较验证了算法的可行性㊂参考文献:[1]HUSSEIN R,DEB K.A Generative Kriging Surrogate Model for Constrained and Unconstrained Multi⁃Objective Optimization [C]∥Proceedings of the Genetic and Evolutionary Computation Conference 2016.[S.l.]:IEEE,2016:573⁃580.[2]NING W,GUO B,YAN Y,et al.Constrained Multi⁃Objective Optimization Using Constrained Non⁃Dominated Sorting Combined with an Improved Hybrid Multi⁃Objective Evolutionary Algorithm [J].Engineering Optimization,2017,49(10):1645⁃1664.[3]LONG Q.A Constraint Handling Technique for Constrained Multi⁃Objective Genetic Algorithm [J].Swarm and Evolutionary Computation,2014,15:66⁃79.[4]LIU Z,WANG Y.Handling Constrained Multiobjective Optimization Problems with Constraints in Both the Decision and Objective Spaces [J].IEEE Transactions on Evolutionary Computation,2019,23(5):870⁃884.[5]FAN Z,LI W,CAI X,et al.Push and Pull Search for Solving Constrained Multi⁃Objective Optimization Problems [J].Swarm and Evolutionary Computation,2019,44:665⁃679.[6]YAZDANI D,OMIDVAR M N,BRANKE J,et al.Scaling up Dynamic Optimization Problems:A Divide⁃and⁃Conquer Approach [J].IEEE Transactions on Evolutionary Computation,2019,24(1):1⁃15.[7]WANG H,JIAO L,YAO X.Two_Arch2:An Improved Two⁃Aarchive Algorithm for Many Objective Optimization [J].IEEE Transactions on Evolutionary Computation,2015,19(4):524⁃541.[8]GOH C K,TAN K C.A Competitive Cooperative Coevolutionary Paradigm for Dynamic Multiobjective Optimization [J].IEEE Transactions on Evolutionary Computation,2009,13(1):103⁃127.[9]LI K,CHEN R,FU G,et al.Two⁃Archive Evolutionary Algorithm for Constrained Multiobjective Optimization [J].IEEE Transactions on Evolutionary Computation,2019,23(2):303⁃315.[10]WANG J,LIANG G,ZHANG J.Cooperative Differential Evolution Framework for Constrained Multiobjective Optimization [J].IEEE Transactions on Cybernetics,2019,49(6):2060⁃2072.[11]张磊,毕晓君,王艳娇.基于重新匹配策略的ε约束多目标分解优化算法[J].电子学报,2018,46(5):1032⁃1040.ZHANG L,BI X J,WANG Y J.The εConstrained Multi⁃Objective Decomposition Optimization Algorithm Based on Re⁃Matching Strategy [J].Acta Electronica Sinica,2018,46(5):1032⁃1040.[12]NEDJAH N,MOURELLE L D.Evolutionary Multi⁃Objective Optimisation:A Survey [J].International Journal of Bio⁃Inspired Computation,2015,7(1):1⁃25.[13]QIAN F,XU B,QI R,et al.Self⁃Adaptive Differential Evolution Algorithm with Alpha⁃Constrained⁃Domination Principle for Constrained Multi⁃Objective Optimization [J].Soft Comput,2012,16(8):1353⁃1372.[14]ZHANG Q F,LI H.MOEA /D:A Multiobjective Evolutionary Based on Decomposition [J].IEEE Trans Evolut Comput,2007,11(6):712⁃731.[15]WANG R,PURSHOUSE R C,FLEMIN G P J.Preference⁃Inspired Coevolutionary Algorithms for Many⁃Objective Optimization723第2期刘仁云,等:基于协同进化的多目标约束进化算法823吉林大学学报(信息科学版)第41卷[J].IEEE Trans Evolut Comput,2013,17(4):474⁃494.[16]JARA E C.Multi⁃Objective Optimization by Using Evolutionary Algorithms:The P⁃Optimality Criteria[J].IEEE Trans Evolut Comput,2014,18:167⁃179.[17]ZENG S Y,CHEN S,ZHAO J,et al.Dynamic Constrained Multi⁃Objective Model for Solving Constrained Optimization Problem[C]∥IEEE Congress on Evolutionary Computation.CEC2011.New Orleans:IEEE,2011:2041⁃2046. [18]CAI X,MEI Z,FAN Z,et al.A Constrained Decomposition Approach with Grids for Evolutionary Multiobjective Optimization [J].IEEE Transactions on Evolutionary Computation,2018,22(4):564⁃577.(责任编辑:刘东亮)。
多目标进化算法总结
MOGAi x 是第t 代种群中个体,其rank 值定义为:()(,)1t i i rank x t p =+()t i p 为第t 代种群中所有支配i x 的个体数目适应值(fitness value )分配算法:1、 将所有个体依照rank 值大小排序分类;2、 利用插值函数给所有个体分配适应值(从rank1到rank *n N ≤),一般采用线性函数3、 适应值共享:rank 值相同的个体拥有相同的适应值,保证后期选择时同一rank 值的个体概率相同最后采用共享适应值随机选取的方法选择个体进入下一代一种改进的排序机制(ranking scheme): 向量,1,(,,)a a a q y y y =⋅⋅⋅和,1,(,,)b b b q y y y =⋅⋅⋅比较 goal vector :()1,,q g g g =⋅⋅⋅ 分为以下三种情况:1、()(),,1,,1; 1,,;1,,; a i i a j j k q i k j k q y g y g ∃=⋅⋅⋅-∀=⋅⋅⋅∀=+⋅⋅⋅>∧≤2、(),1,,; a i i i q y g ∀=⋅⋅⋅>当a y 支配b y 时,选择a y 3、(),1,,; a j j j q y g ∀=⋅⋅⋅≤ 当b y 支配a y 时,选择b y优点:算法思想容易,效率优良 缺点:算法容易受到小生境的大小影响 理论上给出了参数share σ的计算方法NPGA基本思想: 1、初始化种群Pop2、锦标赛选择机制:随机选取两个个体1x 和2x 和一个Pop 的 子集CS (Comparison Set )做参照系。
若1x 被CS 中不少于一 个个体支配,而2x 没有被CS 中任一个体支配,则选择2x 。
3、其他情况一律称为死结(Tie ),采用适应度共享机制选择.个体适应度:i f小生境计数(Niche Count ):(),i j Popm Sh d i j ∈=⎡⎤⎣⎦∑共享函数:1-,()0,share shareshare d d Sh d d σσσ⎧≤⎪=⎨⎪>⎩共享适应度(the shared fitness ):iif m选择共享适应度较大的个体进入下一代优点:能够快速找到一些好的非支配最优解域 能够维持一个较长的种群更新期 缺点:需要设置共享参数需要选择一个适当的锦标赛机制限制了该算法的实际应用效果NPGA II基本思想: 1、初始化种群Pop2、Pareto 排序:非支配个体rank=0;其余个体 rank=支配该个体的个体数目3、锦标赛选择机制:种群中任选两个个体1x 和2x , 若()()12rank x rank x <,则选择1x ; 若是()()12rank x rank x =,称为死结(Tie ), 采用适应度共享机制选择。
求解约束优化问题的偏好多目标进化算法
Mu l t i ‘ o b j e c t i v e e v o l u t i o n a r y a l g o r i t h m b a s e d o n p r e f e r e n c e
f o r c o ns t r a i ne d o p t i mi z a t i o n pr o b l e ms
求解 约 束优 化 问题 的偏 好 多 目标进 化 算 法
董 宁 , 王 宇 平
( 1 . 西安 电子 科 技 大 学 数 学 与 统 计 学 院 , 陕 西 西安 2 .西 安 电子 科 技 大 学 计 算 机 学 院 , 陕西 西安 7 1 0 0 7 1 ; 7 约 束 优 化 问题 转 化 为 双 目标 优 化 问题 , 用 进 化 算 法 求 解 转 化 的双 目标 问题 . 设计 了新的混合 交叉
算 子 以提 高 算 法 在 进 化 过 程 中 的搜 索 能力 , 加快算法收敛 ; 借 鉴 多 目标 优 化 加 权 度 量 法 中成 绩 标 量 函数 的
c r o s s o v e r o p e r a t o r i s p r o p o s e d t O i mp r o v e t h e s e a r c h a b i l i t y i n t h e e v o l u t i o n a r y p r o c e s s ,a n d a l s o a n o v e l f i t n e s s f u n c t i o n wi t h p r e f e r e n c e b a s e d o n t h e a c h i e v e me n t s c a l a r i z i n g f u n c t i o n( AS F) wh i c h i s u s e d i n t h e
有约束多目标粒子群算法matlab程序
有约束多目标粒子群算法matlab程序约束多目标粒子群算法(Constrained Multi-Objective Particle Swarm Optimization,CMOPSO)是一种用于处理多目标优化问题的进化算法。
以下是一个简单的MATLAB 示例程序,演示了如何实现CMOPSO。
请注意,这只是一个基本的框架,你可能需要根据你的具体问题进行适当的修改。
```matlabfunction [paretoFront, paretoSet] = cmopso(objectiveFunction, constraintFunction, nParticles, nIterations, nObjectives)% 参数设置nVariables = 2; % 例子中假设有两个变量w = 0.5; % 权重因子c1 = 2; % 学习因子1c2 = 2; % 学习因子2vMax = 0.2; % 最大速度nConstraints = 2; % 约束数量% 初始化粒子群particles.position = rand(nParticles, nVariables);particles.velocity = rand(nParticles, nVariables);particles.bestPosition = particles.position;particles.bestValue = inf(nParticles, nObjectives);% 迭代优化for iteration = 1:nIterations% 更新粒子位置和速度for i = 1:nParticles% 计算适应值fitness = objectiveFunction(particles.position(i, :));% 计算约束违反度constraintViolation = constraintFunction(particles.position(i, :));% 更新粒子最优解if all(constraintViolation <= 0) && dominates(fitness, particles.bestValue(i, :))particles.bestPosition(i, :) = particles.position(i, :);particles.bestValue(i, :) = fitness;end% 更新全局最优解if all(constraintViolation <= 0) && dominates(fitness, globalBestValue)globalBestPosition = particles.position(i, :);globalBestValue = fitness;end% 更新粒子速度和位置r1 = rand(1, nVariables);r2 = rand(1, nVariables);particles.velocity(i, :) = w * particles.velocity(i, :) + ...c1 * r1 .* (particles.bestPosition(i, :) - particles.position(i, :)) + ...c2 * r2 .* (globalBestPosition - particles.position(i, :));% 速度限制particles.velocity(i, :) = min(max(particles.velocity(i, :), -vMax), vMax);% 更新粒子位置particles.position(i, :) = particles.position(i, :) + particles.velocity(i, :);endend% 获取Pareto 前沿和Pareto 集paretoFront = [];paretoSet = [];for i = 1:nParticlesif all(constraintFunction(particles.position(i, :)) <= 0)isDominated = false;for j = 1:size(paretoFront, 1)if dominates(particles.bestValue(i, :), paretoFront(j, :))isDominated = true;break;elseif dominates(paretoFront(j, :), particles.bestValue(i, :))paretoFront(j, :) = [];break;endendif ~isDominatedparetoFront = [paretoFront; particles.bestValue(i, :)];paretoSet = [paretoSet; particles.bestPosition(i, :)];endendendendfunction result = dominates(a, b)% 判断a 是否支配bresult = all(a <= b) && any(a < b);end```请注意,这只是一个简单的示例,具体问题的约束函数和目标函数需要根据你的应用进行修改。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用于约束多目标优化问题的双群体差分进化算法精编
Document number:WTT-LKK-GBB-08921-EIGG-22986 用于约束多目标优化问题的双群体差分进化算法 孟红云1 张小华2 刘三阳1
(1.西安电子科技大学 应用数学系,西安,710071; 2.西安电子科技大学 智能信息处理研究所,西安,710071) 摘 要:首先给出一种改进的差分进化算法,然后提出一种基于双群体搜索机制的求解约束多目标优化问题的差分进化算法.该算法同时使用两个群体,其中一个用于保存搜索过程中找到的可行解,另一个用于记录在搜索过程中得到的部分具有某些优良特性的不可行解,避免了构造罚函数和直接删除不可行解.此外,将本文算法、NSGA-Ⅱ和SPEA的时间复杂度进行比较表明,NSGA-Ⅱ最优,本文算法与SPEA相当.对经典测试函数的仿真结果表明,与NSGA-Ⅱ相比较,本文算法在均匀性及逼近性方面均具有一定的优势. 关键字: 差分进化算法;约束优化问题;多目标优化问题; 中图分类号:TP18 1 引言 达尔文的自然选择机理和个体的学习能力推动进化算法的出现和发展,用进化算法求解优化问题已成为一个研究的热点[1-3].但目前研究最多的却是无约束优化问题.然而,在科学研究和工程实践中,许多实际问题最终都归结为求解一个带有约束条件的函数优化问题,因此研究基于进化算法求解约束优化问题是非常有必要的.不失一般 性,以最小化问题为例,约束优化问题(Constrained Optimization Problem,COP)可定义如下:
)(COP
qjxhpixgtsxfxfxfxFjikRxn,,1,0)( ,,1,0)( ..,,,)(min21
(1) 其中)(xF为目标函数,)(),(xhxgji称为约束条件,nnRxxxx),,,(21
称为n维决策向量.将满足所有约束条件的
解空间S称为(1)的可行域.特别的,当1k时,(1)为单目标优化问题;当1k时,(1)为多目标优化问题.)(xgi为第i个不等式约束,)(xhj是第j个等式约束.另一方面,对于等式约束0)(xhj可通过容许误差(也称容忍度)0将它转化为两个不等式约束:
0)(0)(xhxh
jj
(2) 故在以后讨论问题时,仅考虑带不等式约束的优化问题.进一步,如果x使得不等式约束0)(xgi,则称约束
xg
i
在x处是积极的.在搜索空间S中,满足约束条件的决策变
量x称为可行解,否则称为不可行解. 定义1(全局最优解)**2*1*,,,nxxxx是COP的全局最优解,是指Sx*且)(*xF不劣于可行域内任意解y所对应的目标函数)(yF,表示为)( )(*yFxF. 对于单目标优化问题,)( )(*yFxF等价为)()(*yFxF,而对于多目标优化问题是指不存在y,使得)(yFPareto优于)(*xF .
目前,进化算法用于无约束优化问题的文献居多,与
之比较,对约束优化问题的研究相对较少[4-6]。文[7]对当前基于进化算法的各种约束处理方法进行了较为详细的综述.对于约束优化问题的约束处理方法基本上分为两类:基于罚函数的约束处理技术和基于多目标优化技术的约束处理 技术.由于罚函数法在使用中不需要约束函数和目标函数的解析性质,因此经常被应用于约束优化问题,但该类方法对罚因子有很强的依赖性,需要根据具体问题平衡罚函数与目标函数.为了避免复杂罚函数的构造,Verdegay等[8]将进化算法中的竞争选择用于约束处理,并在比较两个解的性能时提出了三个准则,但他的第三个准则—可行解优于不可行解—这一准则合理性不强 .然而该文的这一准则却为进化算法求解约束优化问题提供了新思路,获得了良好效果. 因为在现实中存在一大类约束优化问题,其最优解位于约束边界上或附近,对于这类问题,在最优解附近的不可行解的适应值很可能优于位于可行域内部的大部分可行解的适应值,因此无论从适应值本身还是从最优解的相对位置考虑,这样的不可行解对找到最优解都是很有帮助的,故如何有效利用搜索过程中的部分具有较好性质的不可行解是解决此类问题的难点之一.基于以上考虑,本文拟给出一种求解约束多目标优化问题的基于双群体机制的差分进化算法,并对文中算法的时间复杂度与NSGA-Ⅱ[9]和SPEA[10]进行比较,最后用实验仿真说明文中算法的可行性及有效性. 2 用于约束优化的双群体差分进化算法 差分进化算法 差分进化算法是一类简单而有效的进化算法,已被成功应用于求解无约束单目标和多目标优化问题 [11-14].该算法在整个运行过程中保持群体的规模不变,它也有类似于遗传算法的变异、交叉和选择等操作,其中变异操作定义如下: 321rrrPPFPC
(3) 其中1rP,32,rrPP为从进化群体中随机选取的互不相同的三个个体,F为位于区间]1,5.0[中的参数.(3)式表示从种群中随机取出的两个个体32,rrPP的差,经参数F放大或缩小后被加到第三个个体1rP上,以构成新的个体
nccC,,1
.为了增加群
体的多样性,交叉操作被引入差分进化算法,具体操作如下: 针对父代个体),,(1nrxxP的每一分量ix,产生位于区间]1,0[
中的随机数ip,根据ip与参数CR的大小关系确定是否用ic替换ix,以得到新的个体),,(1nrxxP, 其中 , , iiixcxififCRpCRpii.如果新个体rP优于父代个体rP,则用
rP来替换rP,否则保持不变.在差分进化算法中,选择操作采取的是贪婪策略,即只有当产生的子代个体优于父代个体时才被保留,否则,父代个体被保留至下一代. 大量研究与实验发现差分进化算法在维护群体的多样性及搜索能力方面功能较强,但收敛速度相对较慢,因此 本文拟给出一种改进的差分进化算法用于多目标优化问题,仿真实验表明,改进的差分进化算法在不破坏原有算法维护群体多样性的前提下,可改善差分进化算法的收敛速度. 基于双群体的差分进化算法 2.2.1 基本概念 以下仅讨论带不等式约束的多目标优化问题
njuxlxxxpixgtsxfxfxFjjjnik,,1,,,, ,,1,0)( ..,,min)(min11
(4) 定义 x称为(4)的不可行解,是指至少存在一个pi1,满足0xgi.
定义 x违反约束的强度,即约束违反度函数定义为
piixgxP1,0max)(
,本文取2.
定义 x违反约束的数目piixgNumxN1)(,其中
0 , 10 , 0xx
xNum.
定义 不可行解x优于不可行解y,是指x的约束向量xNxP,Pareto优于y的约束向量yNyP,.
2.2.2 基本思想 由上一节分析可知,在搜索过程中遇到的不可行解不能简单丢掉.因此,在设计算法时不但要考虑算法的收敛速度,而且还必须保证群体中可行解的优势地位;另一方面,对于多目标优化问题,维持搜索群体的多样性与考虑群体的收敛速度是同等重要的.基于此考虑,本节采用基于双群体的差分进化算法求解约束多目标优化问题,其中群体fPoP用来保存搜索过程中遇到的可行解,cPoP用来保存 搜索过程中遇到的占优不可行解,同时fPoP具有较强的记忆功能,可记忆fPoP中每一个体搜索到的最优可行解和整个群体fPoP到目前为止搜索到的最优可行解,分别记为lbest和gbest,其中lbest表示个体对自身的思考和认知,gbest表示个体间的信息交流,这一点和PSO算法类似.与此同时,我们还通过一种改进的差分进化算法产生新的群体,在产生新群体的过程中,群体cPoP中的部分个体参与了个体再生,并通过新生成的个体更新fPoP、cPoP、lbest和gbest.
为了避免性能较优的不可行解被删除,本文拟采用双群体搜索机制,其中群体1,,,21NfxxxPoP用于记录可行解,群体cPoP 2,,,21Nyyy记录不可行解,21,NN分别为群体fPoP
与cPoP的规模,满足21NN,1,,,21Nzzzlbest和3,,,21Nggggbest分别为群体fPoP中每一个个体ix搜索到最优
可行解iz和群体fPoP迄今为止搜索到最优可行解. 2.2.3 改进的差分进化算法 为了维护群体fPoP的多样性和收敛性,同时有效的利用
已搜索到的不可行解的某些优良特性,下面给出一种改进的差分进化算法,并通过以下两种方式产生新的个体. 方法1:3422211rrrrrxgFxzFxC 其中frrrPoPxxx321,,,lbestzr2,gbestgr4. 方法2:5423211rrrrrygFyzFxC
其中frPoPx1,crrPoPyy53,,lbestzr2,gbestgr4. 方法1的目的在于通过向最优个体学习,改善算法的收敛速度.方法2的主要目的在于和不可行个体进行信息交流,共享不可行解的一些优良特性,增加群体的多样