导航:首页 > 源码编译 > 多目标优化算法的原理

多目标优化算法的原理

发布时间:2022-07-28 23:40:17

❶ 多目标优化算法有哪些

主要内容包括:多目标进化算法、多目标粒子群算法、其他多目标智能优化算法、人工神经网络优化、交通与物流系统优化、多目标生产调度和电力系统优化及其他。

❷ 学习多目标优化需要掌握哪些python知识

多目标优化

目标优化问题一般地就是指通过一定的优化算法获得目标函数的最优化解。当优化的目标函数为一个时称之为单目标优化(Single-
objective Optimization Problem,
SOP)。当优化的目标函数有两个或两个以上时称为多目标优化(Multi-objective Optimization Problem,
MOP)。不同于单目标优化的解为有限解,多目标优化的解通常是一组均衡解。

多目标优化算法归结起来有传统优化算法和智能优化算法两大类。
1. 传统优化算法包括加权法、约束法和线性规划法等,实质上就是将多目标函数转化为单目标函数,通过采用单目标优化的方法达到对多目标函数的求解。
2. 智能优化算法包括进化算法(Evolutionary Algorithm, 简称EA)、粒子群算法(Particle Swarm Optimization, PSO)等。

Pareto最优解:

若x*∈C*,且在C中不存在比x更优越的解x,则称x*是多目标最优化模型式的Pareto最优解,又称为有效解。
一般来说,多目标优化问题并不存在一个最优解,所有可能的解都称为非劣解,也称为Pareto解。传统优化技术一般每次能得到Pareo解集中的一个,而
用智能算法来求解,可以得到更多的Pareto解,这些解构成了一个最优解集,称为Pareto最优解。它是由那些任一个目标函数值的提高都必须以牺牲其
他目标函数值为代价的解组成的集合,称为Pareto最优域,简称Pareto集。

Pareto有效(最优)解非劣解集是指由这样一些解组成的集合:与集合之外的任何解相比它们至少有一个目标函数比集合之外的解好。

求解多目标优化问题最有名的就是NSGA-II了,是多目标遗传算法,但其对解的选择过程可以用在其他优化算法上,例如粒子群,蜂群等等。这里简单介绍一下NSGA-II的选择算法。主要包含三个部分:
1. 快速非支配排序
要先讲一下支配的概念,对于解X1和X2,如果X1对应的所有目标函数都不比X2大(最小问题),且存在一个目标值比X2小,则X2被X1支配。
快速非支配排序是一个循环分级过程:首先找出群体中的非支配解集,记为第一非支配层,irank=1(irank是个体i的非支配值),将其从群体中除去,继续寻找群体中的非支配解集,然后irank=2。
2. 个体拥挤距离
为了使计算结果在目标空间比较均匀的分布,维持种群多样性,对每个个体计算拥挤距离,选择拥挤距离大的个体,拥挤距离的定义为:
L[i]d=L[i]d+(L[i+1]m−L[i−1]m)/(fmaxm−fminm)
L[i+1]m是第i+1个个体的第m目标函数值,fmaxm 和 fminm是集合中第m个目标函数的最大和最小值。
3. 精英策略选择
精英策略就是保留父代中的优良个体直接进入子代,防止获得的Pareto最优解丢失。将第t次产生的子代种群和父代种群合并,然后对合并后的新种群进行非支配排序,然后按照非支配顺序添加到规模为N的种群中作为新的父代。

❸ 多目标优化算法的多目标是什么意思

多目标优化的本质在于,大多数情况下,某目标的改善可能引起其他目标性能的降低,同时使多个目标均达到最优是不可能的,只能在各目标之间进行协调权衡和折中处理,使所有目标函数尽可能达到最优,而且问题的最优解由数量众多,甚至无穷大的Pareto最优解组成。

❹ 多目标优化可以用哪些方法

一般有两大类方法,一列是通过加权把多目标算法整合为单目标算法,得到唯一一个解,一个是nasa
方法,使用支配解集和非支配解集概念,得到多组解

❺ pso的多目标优化

在多目标优化问题中,每个目标函数可以分别独立进行优化,然后为每个目标找到最优值。但是,很少能找到对所有目标都是最优的完美解,因为目标之间经常是互相冲突的,只能找到Pareto最优解。
PSO算法中的信息共享机制与其他基于种群的优化工具有很大的不同。在遗传算法(GA)中,染色体通过交叉互相交换信息,是一种双向信息共享机制。但是在PSO算法中,只有gBest(或nBest)给其他微粒提供信息,是一种单向信息共享机制。由于点吸引特性,传统的PSO算法不能同时定位构成Pareto前锋的多个最优点。虽然通过对所有目标函数赋予不同的权重将其组合起来并进行多次运行,可以获得多个最优解,但是还是希望有方法能够一次同时找到一组Pareto最优解。
在PSO算法中,一个微粒是一个独立的智能体,基于其自身和同伴的经验来搜索问题空间。前者为微粒更新公式中的认知部分,后者为社会部分,这二者在引导微粒的搜索方面都有关键的作用。因此,选择适当的社会和认知引导者(gBest和pBest)就是MO-PSO算法的关键点。认知引导者的选择和传统PSO算法应遵循相同的规则,唯一的区别在于引导者应按照Pareto支配性来确定。社会引导者的选择包括两个步骤。第一步是建立一个从中选取引导者的候选池。在传统PSO算法中,引导者从邻居的pBest之中选取。而在MO-PSO算法中更常用的方法是使用一个外部池来存储更多的Pareto最优解。第二步就是选择引导者。gBest的选择应满足如下两个标准:首先,它应该能为微粒提供有效的引导来获得更好的收敛速度;第二,它还需要沿Pareo前锋来提供平衡的搜索,以维持种群的多样性。文献中通常使用两种典型的方法:(1)轮盘选择模式,该方式按照某种标准进行随机选择,其目的是维持种群的多样性;(2)数量标准:按照某种不涉及随机选择的过程来确定社会引导者。
Moore最早研究了PSO算法在多目标优化中的应用,强调了个体和群体搜索二者的重要性,但是没有采用任何维持多样性的方法。Coello在非劣最优概念的基础上应用了一个外部“容器”来记录已找到的非支配向量,并用这些解来指导其它微粒的飞行。Fieldsend采用一种称为支配树的数据结构来对最优微粒进行排序。Parsopoulos应用了权重聚合的方法。Hu应用了动态邻域,并在此基础上利用扩展记忆,按词典顺序依次优化各个目标。Ray使用聚集机制来维持多样性,并用一个多水平筛来处理约束。Lu使用了动态种群策略。Bartz-Beielstein采用归档技术来提高算法性能。Li在PSO算法中采用NSGA-II算法中的主要机制,在局部最优微粒及其后代微粒之间确定局部最优微粒;并此基础上又提出一种新的算法,在适应值函数中使用最大最小策略来确定Pareto支配性。张利彪使用多个目标函数下各最优位置的均值来指导微粒飞行。Pulido使用多个子种群并采用聚类技术来求解多目标规划问题。Mahfouf采用加权聚合方法来计算微粒的适应值,并据此确定引导微粒的搜索。Salazar-Lechuga使用适应值共享技术来引导微粒的搜索。Gong提出微粒角度的概念,并使用最小微粒角度和微粒密度来确定局部最优和全局最优微粒。基于AER模型,Zhang提出一种新的智能PSO模型,来将种群驱向Pareto最优解集。Ho提出一种新的适应值分配机制,并使用寿命(Age)变量来保存和选择最优历史记录。Huang将CLPSO算法应用到多目标规划中。Ho提出另一种基于Pareto的与尺度无关的适应值函数,并使用一种基于正交试验设计的智能运动机制(IMM)来确定微粒的下一步运动。Branke系统研究了多种个体最优微粒的选择方法对MOPSO算法性能的影响。张勇考虑储备集更新策略在多目标PSO算法中的关键作用,提出一种两阶段储备集更新策略。
原萍提出一种分布式PSO算法—分割域多目标PSO算法(DRMPSO),并将其应用到基站优化问题。向量评价PSO算法(VEPSO)是一种受向量评价遗传算法(VEGA)的启发提出的一种算法,在VEPSO算法中,每个种群仅使用多个目标函数之一来进行评价,同时各种群之间互相交互经验。将每个种群分配到一台网络PC上,即可直接使VEPSO算法并行化,以加速收敛。Vlachogiannis应用并行VEPSO算法来确定发电机对输电系统的贡献。熊盛武利用PSO算法的信息传递机制,在PSO算法中引入多目标演化算法常用的归档技术,并采用环境选择和配对选择策略,使得整个群体在保持适当的选择压力的情况下收敛于Pareto最优解集。
由于适应值的计算非常消耗计算资源,为了减少计算量,需要减少适应值评价的次数。Reyes-Sierra采用适应值继承和估计技术来实现该目标,并比较了十五种适应值继承技术和四种估计技术应用于多目标PSO算法时的效果。
保持MOPSO中的多样性的方法主要有两种:sigma方法和ε-支配方法。Villalobos-Arias在目标函数空间中引入条块划分来形成聚类,从而保持多样性。

❻ 什么是多目标优化问题

多目标就是多个目标实现,比如车间调度:既要实现短的生产周期、又要低成本、高的设备利用率、还要质量要求。多目标一般前置多条件约束,且条件还是多项式不确定问题,属于N-P难题。

阅读全文

与多目标优化算法的原理相关的资料

热点内容
程序员数学线性代数 浏览:622
看帧率app如何使用 浏览:523
从DHC服务器租用IP地址 浏览:473
编译怎么学 浏览:329
数码管显示0到9plc编程 浏览:665
服务器是为什么服务的 浏览:765
java定义数据类型 浏览:874
安卓pdf手写 浏览:427
什么是app开发者 浏览:284
android闹钟重启 浏览:101
程序员失职 浏览:520
在云服务器怎么改密码 浏览:588
服务器pb什么意思 浏览:942
51驾驶员的是什么app 浏览:672
php静态变量销毁 浏览:890
编程买苹果电脑 浏览:764
flac算法 浏览:501
reactnative与android 浏览:665
程序员是干什么的工作好吗 浏览:260
kbuild编译ko 浏览:473