[11.7日学习记录]多目标优化和帕累托最优解集(未完成)
目录
- 一.多目标优化问题MOP
- 1.1MOP定义
- 1.2支配和帕累托最优定义
- 二.求帕累托最优解集
- 2.1多目标进化算法MOEA
- 2.2 粒子群优化算法PSO
- Reference
一.多目标优化问题MOP
1.1MOP定义
先看几个定义才能理解帕累托最优方法
- 定义1:MOP(multi-object optimization problem:
Minf(x)=∣f1(x),f2(x),f3(x),.....,fm(x)∣Min f(x) = |f_1(x),f_2(x),f_3(x),.....,f_m(x)|Minf(x)=∣f1(x),f2(x),f3(x),.....,fm(x)∣
gi(x)≤0,i=1,2,...kg_i(x) \le0,i=1,2,...kgi(x)≤0,i=1,2,...k
hj(x)=0,j=1,2,3...ph_j(x)=0,j=1,2,3...phj(x)=0,j=1,2,3...p
其中m表示待优化目标的数目,x=(x1,x2,...xn)x=(x_1,x_2,...x_n)x=(x1,x2,...xn)是n维决策变量,gi(x)≤0(i=1,2..k)g_i(x)\le0(i=1,2..k)gi(x)≤0(i=1,2..k)表示k个不等式约束条件,hj(x)=0(j=1,2.....p)h_j(x)=0(j=1,2.....p)hj(x)=0(j=1,2.....p)表示p个等式约束。同时满足上述等式和不等式的空间RnR^nRn称为决策空间. RmR^mRm称为目标空间 - 例如你要买一个手机,如何才能花钱最少,游戏性能最高,摄像性能最好,品牌保障最优,这就是一个多目标优化问题。
1.2支配和帕累托最优定义
- 定义2:支配关系(domaince)
假设x1,x2是最小MOP的两个可行解,对任意i=1,2,....m,fi(x1)≤fi(x2)∧∃j∈[1,m],fj(x1)<fj(x2)对任意i=1,2,....m,f_i(x_1)\le f_i(x_2)\land\exist j \in[1,m],f_j(x_1)< f_j(x_2)对任意i=1,2,....m,fi(x1)≤fi(x2)∧∃j∈[1,m],fj(x1)<fj(x2)称x1支配x2,更通俗地说x1支配下是:对于所有目标函数,第一x1不比x2差。第二至少在一个目标函数上,x1严格比x2要好。
假设只有f1,f2两个函数,上图中点1支配点2;点5支配点1;点1和点4互不支配
不可支配解集(Non-dominated solution set),帕累托最优解集(Pareto-optimal set)
当一个解集中任何一个解都不能被该集合中其他解支配,那么就称该解集为不可支配解集
。所有可行中的不可支配解集被成为帕累托最优解集
帕累托最优前沿面(Pareto-optimal front)
帕累托最优解集的边界boundary被成为帕累托最优前沿面
Example of Pareto frontier, given that lower values are preferred to higher values. Point C is not on the Pareto Frontier because it is dominated by both point A and point B.
二.求帕累托最优解集
主要求帕累托最优解集和帕累托最优前沿启发式算法大致有两种,其他的基于具体应用的模型算法,时间原因不一一研读。
2.1多目标进化算法MOEA
多目标进化算法的基本原理描述如下 : 多目标进化算法从一组随机生成的种群出发 ,通过对种群执行选择、交叉和变异等进化操作 ,经过多代进化 ,种群中个体的适应度不断提高 , 从而逐步逼近多目标优化问题的 Pareto最优解集。与单目标进化算法不同 ,多目标进化算法具有特殊的适应度评价机制。为了充分发挥进化算法的群体搜索优势 ,大多数 MOEA均采用基于 Pareto排序的适应度评价方法。在实际应用中 ,为使算法更好地收敛到多目标优化问题的 Pareto最优解 ,现有的MOEA通常还采用了精英策略、小生境和设置外部集等关键技术
MOEA一般框架所描述的算法思想如下 : ==MOEA通过对种群 X ( t)执行选择、交叉和变异等操作产生下一代种群 X ( t + 1) 。在每一代进化过程中 ,首先将种群 X ( t)中的所有非支配个体都复制到外部集 A ( t)中 ,然后运用小生境截断算子剔除A ( t)中的支配和一些距离较近的非支配个体 ,以得到个体分布更为均匀的下一代外部集 A ( t + 1) ,并且按照概率 pe从 A ( t + 1)中选择一定数量的优秀个体进入下代种群。==在进化结束时 ,将外部集中的非劣解个体作为最优解输出 , 目前 , MOEA研究取得了大量成果 ,已被应用于许多领域 ,如工程领域、工业领域和科学领域。其中 ,工程领域的应用最多 ,如电子工程、水利工程、风电工程和控制等。
之前看到有代表性的是NSGA2(目前更先进的算法暂时还没去研究)
该方法由Kalyanmoy Deb等人于2002年提出(A Fast and Elitist Multiobjective Genetic Algorithm:
NSGA-II),该方法主要包括快速非支配排序,将每次交叉突变产生的解和前一代的解合并,然后利用非支配排序分层,其伪代码如下:
A. Fast Nondominated Sorting Approach
——————————————————
输入:父代子代个体构成的种群P
FOR each p ∈\in∈ P
Sp=∅\quad S_p =\emptysetSp=∅
np=0\quad n_p=0np=0
\quadFOR each q ∈\in∈ P
\qquadif p 支配 q then
\qquad \quad Sp∪qS_p \cup{q}Sp∪q
\qquadelse if q支配p
\qquad\quadnp=np+1n_p = n_p+1np=np+1
\quadEND FOR
\quadif np=0n_p=0np=0 then
\qquad prank=1p_{rank}=1prank=1
\qquad F1=F1∪pF_1 = F_1\cup pF1=F1∪p
i = 1
WHILE Fi≠∅F_i\neq \emptysetFi=∅
\quad Q=∅Q = \emptysetQ=∅
\quadFOR each p ∈Fi\in F_i∈Fi
\qquadFOR each q ∈Sp\in S_p∈Sp
\qquad \quadnq=np−1n_q = n_p-1nq=np−1
\qquad \quad if nq=0n_q=0nq=0 then
\qquad\qquadqrank=i+1q_{rank}=i+1qrank=i+1
\qquad\qquadQ=Q∪qQ = Q\cup qQ=Q∪q
i=i+1i = i +1i=i+1
Fi=QF_i = QFi=Q
输出:F1,F2,.....FiF_1,F_2,.....F_iF1,F2,.....Fi
——————————————————
B. Diversity Preservation
。。。待学习
C. Main Loop
。。。待学习
2.2 粒子群优化算法PSO
粒子群优化算法 ( PSO )是一种源于对鸟群捕食行为的研究而发明的进化计算技术 ,最先由 Barnhart博士和 Kennedy博士于 1995年提出 。它是一种基于迭代的优化工具 ,系统初始化一组随机解 ,通过迭代搜寻最优值 ,不但具有全局寻优能力 ,而且具有较强的局部寻优能力。在基本粒子群算法中 , 粒子群由 n个粒子组成 ,每个粒子的位置 xi 代表优化问题在 D维搜索空间中潜在的解。粒子在搜索空间中以一定的速度飞行 , 这个速度根据它本身的飞行经验和同伴的飞行经验来动态调整下一步飞行方向和距离。所有的粒子都有一个被目标函数决定的适应值 , 并且知道自己到目前为止发现的最好位置 (个体极值 pi )和当前的位置 ( xi ) 。除此之外 , 每个粒子还知道到目前为止整个群体中所有粒子发现的最好位置(全局极值 pg ) , 是所有最好位置中的最优值 。
粒子群算法的数学描述如下 :每个粒子 i包含为一个 D维的位置向量 xi = ( xi1 , xi2 , …, xiD )和速度向量 vi = ( vi1 , vi2 ,…, viD ) ,粒子 i搜索解空间时 ,保存其搜索到的最优经历位置pi = ( pi1 , pi2 , …, piD ) 。在每次迭代开始时 ,粒子根据自身惯性和经验及群体最优经历位置 pg = ( pg1 , pg2 , …, pgD )来调整自己的速度向量以调整自身位置。 c1、c2 是正常数 , 称之为加速因子 ; r1、r2 为 [ 0, 1 ]中均匀分布的随机数 , d为 D维中的维数 ;ω是惯性权重因子。由于粒子群算法具有高效的搜索能力 , 有利于得到多目标意义下的最优解 ;通过代表整个解集种群 ,按并行方式同时搜索多个非劣解 ,也即搜索到多个 Pareto最优解 ;同时 ,粒子群算法的通用性比较好 ,适合处理多种类型的目标函数和约束 ,并且容易与传统的优化方法结合 ,从而改进自身的局限性 ,更高效地解决问题。因此 ,将粒子群算法应用于解决多目标优化问题上具有很大的优势。
粒子群算法思想描述如下 :初始化种群后 ,种群的大小记为 N。基于适应度支配的思想 ,将种群划分成两个子群 ,一个称为非支配子集 A,另一个称为支配子集 B ,两个子集的基数分别为 n1、n2 ,满足两个子群基数之和为 N 。外部精英集用来存放每代产生的非劣解子集 A,每次迭代过程只对 B 中的粒子进行速度和位置的更新 , 并对更新后的 B 中的粒子基于适应度支配思想与 A中的粒子进行比较 ,若 xi ∈B , ϖ xj ∈A,使得 xi 支配 xj,则删除 xj,使 xi 加入 A 更新外部精英集 ;且精英集的规模要利用一些技术维持在一个上限范围内 ,如密度评估技术、分散度技术等。最后 ,算法终止的准则可以是最大迭代次数 Tmax、计算精度ε或最优解的最大凝滞步数 Δt等。
Reference
[1].帕累托wiki百科:[wiki百科对帕累托最优的定义]【OL】(https://zh.wikipedia.org/wiki/%E6%9F%8F%E6%8B%89%E5%9C%96%E6%95%88%E7%8E%87)
[2].Huaipeng Zhao的博客对多目标优化问题的记录【OL】
[3].岳彩通等.多模态多目标优化综述.控制与决策【A】2020.11.
[4]刘建军等.基于模型的多目标优化问题方法研究。仿真建模理论与方法【A】2020.11
[5]唐云岚等.Pareto最优概念的多目标进化算法综述.计算机科学【A】2008
[6]K. Deb, A. Pratap, S. Agarwal and T. Meyarivan, “A fast and elitist multiobjective genetic algorithm: NSGA-II,” in IEEE Transactions on Evolutionary Computation, vol. 6, no. 2, pp. 182-197, April 2002, doi: 10.1109/4235.996017.
[7]进化优化算法基于仿生和种群的计算机智能方法. 丹西蒙。
[11.7日学习记录]多目标优化和帕累托最优解集(未完成)相关推荐
- 多目标进化优化_SDIM 学术讲座|分解多目标优化与帕累托多任务学习
分解多目标优化与 帕累托多任务学习 2020年11月4日晚,香港城市大学电脑学系讲座教授.博士生导师.IEEE Fellow张青富教授应我院王振坤教授的邀请,在线举办了一场主题为"分解多目标 ...
- 多目标优化之帕累托最优
帕累托最优 维基百科:帕累托最优是指资源分配的一种理想状态.给定固有的一群人和可分配的资源,如果从一种分配状态到另一种状态的变化中,在没有使任何人境况变坏的前提下,使得至少一个人变得更好,这就是帕累托 ...
- OptaPlanner实现多目标优化之帕累托最优
目录 什么是 多目标优化之帕累托最优 Optaplanner如何实现帕累托最优 什么是 多目标优化之帕累托最优 知乎专栏文章[多目标优化之帕累托最优]已经对多目标优化之帕累托最优进行介绍,也可以通过参 ...
- 多个目标优化的帕累托前沿面如何可视化
在帕累托前沿面中,一般使用三维坐标系来可视化多个目标的优化情况.其中,坐标轴代表不同的目标,而帕累托前沿面则表示在各个目标之间取得平衡时所能达到的最优解的集合. 例如,假设有两个目标,分别为最小化成本 ...
- 多目标优化问题-帕累托
多目标优化问题的数学模型一般可以写成如下形式 f(表示n个目标函数,目标是都使之达到最小, 是其变量的约束集合,可以理解为变量的取值范围,下麦介绍具体的解之间的支配,占优关系,不用公式,通俗易懂. ...
- pareto最优解程序_NIPS 2018 | 作为多目标优化的多任务学习:寻找帕累托最优解
原标题:NIPS 2018 | 作为多目标优化的多任务学习:寻找帕累托最优解 选自arXiv 作者:Ozan Sener.Vladlen Koltun 参与:李诗萌.王淑婷 多任务学习本质上是一个多目 ...
- pareto最优解程序_作为多目标优化的多任务学习:寻找帕累托最优解
多任务学习本质上是一个多目标问题,因为不同任务之间可能产生冲突,需要对其进行取舍.本文明确将多任务学习视为多目标优化问题,以寻求帕累托最优解.而经过实验证明,本文提出的方法可以在现实假设下得到帕累托最 ...
- 使用帕累托最优解和熵权双基点法实现电力成本双目标优化——附matlab实现代码
一.问题描述 改进发电调度方式又是电力行业节能减排的主要环节. 改进发电调度方式需要在满足负荷需求和功率限制的条件下,使煤耗成本和购电成本尽可能降低,为解决此问题建立双目标优化模型. 二.双目标优化模 ...
- 双目标帕累托优化_结构力学中的优化分析(3) —— 结构优化分析
引言 上文中,我们主要介绍了优化分析的基本类型. 蒙特遇见卡罗:结构力学中的优化分析(1) -- 优化方法基本概念zhuanlan.zhihu.com 蒙特遇见卡罗:结构力学中的优化分析(2) -- ...
最新文章
- 为什么华为200万招聘AI博士,马斯克却推出脑机接口对抗AI?
- 第1关:实现一个顺序存储的线性表
- SSH-Struts第三弹:传智播客视频教程第一天上午的笔记
- 网络推广计划浅析如何增加网站蜘蛛的爬取频次?
- iOS 百度地图使用详解
- JavaSE(二十四)——冒泡排序、选择排序、直接插入排序以及二分查找
- 华为OJ平台——整形数组合并
- 让Kubernetes成为数据中心操作系统(DCOS)的一等公民
- DIDAO.Common --- 项目中的常用类及其中函数
- 13. PHP 表数据入口(table data gateway)
- 华为HCIE云计算培训笔记第3天
- MAC打开eclipse一直卡在core.ui的解决办法
- 校园实践-2015级软工07111501班级-校园二手交易项目组
- Google搜索命令语法
- Linux设置静态IP
- m3u8加密文件原理及下载脚本
- 束缚游戏 html,束缚游戏
- python实现去除图片水印
- kafka reassign 限速_为什么德国的高速就能不限速?
- 2018——幸福都是奋斗出来的