找回密码
 立即注册
查看: 383|回复: 20

浅谈多目标优化

[复制链接]
发表于 2023-2-6 18:34 | 显示全部楼层 |阅读模式
学术小白,一知半解,这个也是看了多篇文献和其他大神的总结之后从我自己的笔记中节选出来的,仅供参考。如果有什么错误的地方还望指正。
Part 0:多目标优化的概念
Part 1: 多目标优化不完全发展史
Part 2: 常用解法
Part 0:多目标优化的概念
概念:
单目标优化的情况下,只有一个目标,任何两解都可以依据单一目标比较其好坏,可以得出没有争议的最优解。
多目标化与传统的单目标优化相对。多目标优化的概念是在某个情景中在需要达到多个目标时,由于容易存在目标间的内在冲突,一个目标的优化是以其他目标劣化为代价,因此很难出现唯一最优解,取而代之的是在他们中间做出协调和折衷处理,使总体的目标尽可能的达到最优。
在这个情况下,一般可以把多目标优化问题写成以下数学模型:



其中f(x)表示所有需要考虑的目标函数,目标都是使之达到最小值; Rm是其变量的取值范围

没有转化为单目标问题的帕累托模型:优化的结果是帕累托前沿上 (Pareto Front)取得一个最优解的集合,并选择所需要的解来优化资源配置。由于大部分社会行动都存在一系列不同的目标,多目标优化的思路目前广泛应用在工程设计,基因工程,互联网推送等等领域。

Part 1: 多目标优化不完全发展史
多目标优化的概念的初次出现是在经济学领域: 1881年,牛津大学的Professor F.Y.Edgeworth 定义了 多条件经济决策优化 (Optimum for multicriteria economic decision making)的概念以此用于其对于平衡不同顾客要求的研究中 。
几乎是同一时期,1906 年在瑞士洛桑大学的首席政治经济学教授 Vilfreto Pareto 提出了著名的帕累托优化(Pareto Optimum)理论: “只有当一个目标不得不以牺牲其他目标为条件进行优化,一个社会才达到了资源分配的最优化。” “The optimum allocation of the resources of a society is not attained so long as it is possible to make at least one individual better off in his own estimation while keeping others as well off as before in their own estimation.”
1967年 进化算法 (Evolutionary Algorithm)被 Richard S. Rosenburg 首次利用于多目标优化问题的解决中,详见他的博士论文:“Stimulation of genetic populations with biochemical properties”
1971年后, Pareto 的理论经过翻译之后在英语世界传播,在 Stadler 和Steuer 的带领下被广泛应用于应用数学 (Applied Mathematics)和 工程 (Engineering)领域。
于此同时,1985年开始,在大洋彼岸的日本Pareto优化的理论得到了学术界热烈的关注,并在理论方面得到了极大的深究和发展,这其中的代表人物有 Sawaragi, Nakayama, Tanino
1991年 MIT的 Marco Dorigo 和 Thoma Stutzle 提出了多目标蚁群算法(Ant Colony Optimization)
1993年, Carlos M. Fonseca 和 Peter J. Fleming 提出了多目标遗传算法
这30年里多目标优化被广泛的运用在工程设计中
许多多目标优化的社区和会议也加速了这个理论的应用进程
2002年 Carlos A. Coello Coello 提出了多目标粒子群算法 (MOPSO)
2006年,张青富和李辉首次提出了基于分解的多目标优化算法 (A multi-objective evolutionary algorithm based on decomposition)MOEAD算法加快了运算速度,是目前为止比较经典的算法之一。
Part 2.1 常用解法模型
i) 线性加权
线性加权是多目标优化广泛使用的一种模型.SAW(Simple Additive Weighting)是其中经典的一类线性加权求和方法.它忽略不同目标函数有不同的单位和范围,通过给不同的目标函 数制定相应的权重,将所有的目标函数进行线性加权,用一个综合的效用函数来代表总体优化的目标.最优的效用函数对应的解即被认为是问题的最优解,从而将多目标优化问题转化成单目标优化问题.对于第i个目标函数f (x),用W 表示它的权重,那么多目标优化模型可以转化成下图公式。


SAW 模型中主要包括两个步骤,第1个是缩放,第2个是制定权重.缩放过程统一将各个目标函数从它们的原始值缩放,或和目标函数的最大值、最小值比较,或和目标函数的平均值比较.如针对目标函数 f(x),已知它的最大值是fmax,最小值是fmin ,采用的缩放方式如下图式


线性加权模型,其优点在于实现简单,仅用缩放后的值来代表原目标,求解也相对比较容易.其缺陷在于刻画目标和解不够精细,例如响应时间和开销,这两个目标的单位分别是时间和金钱,用先缩放再加权的方法把它们直接相加,对原始目标的信息有一定的丢失和遗漏. 另外,缩放过程需要提前知道目标的信息,如最大值、最小值或者平均值,而这些信息往往很难确定.而制定权重过程需要依据的用户、供应商对不同目标的偏好程度也很难提前获知.即使在已了解偏好程度的情况下,如何准确地制定权重仍然是棘手的问题.例如,将响应时间的权重设为0.2还是0.21,对于用户来说可能没有大的区别,但是对最优解有不可忽略的影响.因此,采用线性加权模型虽然简便,但解的优劣程度难以保证.
线性加权法严格意义上和part 1 “加权求和”一致,是把多目标优化转换成单目标问题解决,而由于无法精准确定权重,以及线性相加缺乏理论基础,主要适用于多个评价指标相互独立的情况,但是由于过程简单便捷,目前被广泛应用。,如式(6)所示.其中,Throughput为网络的吞吐量,ResponseTime为延迟,a为常数,O<a<1.Power公式考虑了吞吐量和延迟之间的相互关系,可以用来评价网络中资源分配策略的有效性,用以确定最优负载.Power公式亦可用来评价Web服务的效率。

ii) 基于相互关系
一个典型的基于相互关系的评价公式为计算机网络中延迟和吞吐量综合优化过程中常用的Power公式,如图:



Throughput为网络的吞吐量,ResponseTime为延迟,a为常数,O<a<1

Power公式考虑了吞吐量和延迟之间的相互关系,可以用来评价网络中资源分配策略的有效性,用以确定最优负载.Power公式亦可用来评价Web服务的效率。
iii) \varepsilon 一约束
\varepsilon一约束(\varepsilon—constraint)的多目标优化模型由Haimes等人于1971年提出,它从 k 个目标中选择一个作为优化的目标,剩余的( k一1)个目标则通过加界限的方式转化为约束条件.对于最小化的目标,加入上界作为限制条件;对于最大化的目标则加入下界作为限制条件.例如,模型可将式(minimize{f1( x),f2(x),… ,fk(x)), X∈x 转化为下图公式。
\varepsilon一约束模型通过将目标转变成约束条件的形式,将原多目标优化问题转换成单目标优化问题,之后即可用单目标优化的方法来求解该问题.
iv) 帕累托
帕累托(Pareto)是多目标优化中经典的模型,并且它完全基于原始数据,没有将问题转化成单 目标问题分析。具体概念已在第一部分详细阐明。帕累托模型由于不需要对目标进行缩放和归一化,也不需要设定或者引入新的参数、变量(如权重、界限值),直接基于原始目标函数和值进行操作,可以适用于任何目标、任何函数.它不会丢失目标函数和解的信息,解的优劣可以较好保证.但帕累托模型的最优解是一个集合,其中包含不止一个最优解,因此要穷尽并求出所有的帕累托最优解有一定的难度.
v) 基于回报值
基于回报值的优化模型旨在深入刻画优化的本质需求,将评价指标转化为回报值,描述系统或服务的指标属性对优化目标的作用,针对需求进行更为合理、有效的优化.基于回报值的优化往往结合性能评价同时开展.在优化过程中,研究不同评价指标对求解目标的本质影响,形式化刻画评价指标与回报值的量化关系,给出转化公式;随后将回报值进行叠加,得到最终的优化函数.不同需求情形下,回报值的意义不尽相同.例如,在考虑服务过程时,回报值可以定义为服务的利润,即收益减开销.在考虑服务计算的性能和能耗的综合优化过程中,可以将性能转化为完成用户任务所得到的收益,性能的高低决定了收益或收益速率的多少;将能耗转化为运行服务的开销,统一用经济模型进行表述。这样,将性能和能耗的综合优化问题转化为服务过程中的利润最大化问题,不仅符合服务计算的商业模式需求,也可以为优化提供理论依据.
基于回报值的多目标优化思路是对优化问题本质需求的一种探索性解法.它旨在刻画系外在表现指标与内在用户需求之间的相互联系,适用于针对可量化用户需求的优化问题建模和求解.由于回报值可以精确量化表达,因而该优化模型可以得到理论最优解.但是,大规模服务计算中的状态空间很大,同时考虑到决策行为的多样性,基于回报值的优化模型可能会遇到状态爆炸问题,需要通过状态合并、近似分析等技术手段加以克服。
vi) 以上几种多目标模型的比较
多目标模型适用性解的优劣解空间的大小求解的难易
线性加权一般
基于相互关系
e-约束一般一般一般
帕累多模型
基于回报值的模型一般一般
Part 2.2 常用解法
多目标优化的理论和求解方法是一个长期的研究课题,目前存在着理论不完善、算法不成熟等问题。在理论方面,对最优解质量或满意度的客观度量还没有一个非常成熟的理论与与实用性好的方法;在多目标优化算法中,其收敛性的数学证明还存在不足;在计算精度方面,数值计算本身的误差也常导致结果的误差,产生伪有效解;进化算法中进化算子的误差也会导致过早收敛于单个解,即产生漂移现象。另外,算法计算速度的提高、高维多目标优化等,也是值得研究的问题,这些都可作为进一步研究的方向。
i) 多目标进化算法(multi-objective evolutionary algorithm,EA)

此算法适用于求解复杂的多目标优化问题并得到了广泛的应用。多目标进化算法是一种基于群体的启发式方法,针对含多个互相冲突的目标的优化问题。主要模拟生物自然选择与进化的过程,采用随机搜素策略,主要运用重组、变异和选择这三个算子实现优化问题的求解。在多目标进化算法中,使用一维的串结构数据来表示变量,也称为基因型个体(individual)。一定数量的个体组成了种群(population),种群中个体的数目称为种群规模(population size)变量会经历基因重组->变异->评估并选择,产生新的个体,适应程度更好(目标值更小)的个体将在一代代淘汰中留下,成为优胜个体,即非支配解 (进化后期的红点)。
ii)模糊优化
多目标最优解同各子目标最优解密切相关,但子目标之间,各子目标最优解同多目标最优解之间的关系是模糊的,所以用模糊优化方法能得到某种意义下的满意结果。模糊方法应用于多目标优化主要有以下途径:其一是构造模糊性的多目标优化算法。模糊性多目标优化算法的基本原理为在各单目标最优解的模糊集中寻求使各个目标都尽可能优的满意解。其基本步骤为:先求出各个单目标的约束最优解再将各最优解模糊化,然后求能使各模糊最优解交集的隶属函数取最大值的解,此解便为最优解[21]。为了通过赋予权数来反映各目标的重要程度,可按照各目标的重要程度,选择不同的隶属度函数类型和调整隶属度函数的参数,来调整各单目标最优解的模糊集的分布状态,从而可得出不同权重分配下的多目标最优解。但隶属度函数在本质上,也是一种评价函数,所以笔者认为仍存在其评价意义的准确性,多目标最优的真实性。  
iii) 神经网络
人工神经网络模拟人脑处理机制,实现了大规模并行处理和分布式存储,并具有容错性、自适应性和自组织性。目前神经网络在多目标优化中的应用多为和其它优化方法的结合,如和模糊理论结合构造评价准则、取代单目标优化方法。并不是在多目标优化策略方面的应用。关秦川[22]提出一种解决工程结构多目标模糊优化的新方法。以目标函数值的满意程度作为学习样本,采用神经网络取代传统的隶属度函数,解决了确定隶属度函数显式表达式困难,人为确定理由不充分的问题。彭观等[23] 采用神经网络方法求解切削加工多目标优化问题,给出了 Boltzmann 机神经网络模型和算法,证明了神经网络的可行性。朱学军[24]用Kolmogorov 多层神经网络映射存在定理的基础上导出的用神经网络进行结构近似分析的方法,用均匀试验设计方法选取特征样本点供神经网络训练,将神经网络与Pareto 遗传算法有机地结合,使多目标优化的计算效率进一步提高。神经网络在多目标优化中还可有其它应用。如可用均匀设计和正交设计的方法选取权重系数,并将权系数和优化结果作为训练样本,建立函数关系,这样改变权系数后,可用网络结构求出最优解。也可根据神经网络有很强的并行计算能力的特点,应用在分层优化中,或和遗传算法结合,从有效解集中选择最优解。
iv) 多目标粒子群算法
粒子群优化算法 ( PSO )是一种源于对鸟群捕食行为的研究而发明的进化计算技术 ,最先由 Barnhart博士和 Kennedy博士于 1995年提出 [ 7 ]。它是一种基于迭代的优化工具 ,系统初始化一组随机解 ,通过迭代搜寻最优值 ,不但具有全局寻优能力 ,而且具有较强的局部寻优能力。在基本粒子群算法 [ 8, 9 ]中 , 粒子群由 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 [13 ]。外部精英集用来存放每代产生的非劣解子集 A,每次迭代过程只对 B 中的粒子进行速度和位置的更新 , 并对更新后的 B 中的粒子基于适应度支配思想与 A中的粒子进行比较 ,若 xi ∈B ,  xj ∈A,使得 xi 支配 xj,则删除 xj,使 xi 加入 A 更新外部精英集 ;且精英集的规模要利用一些技术维持在一个上限范围内 ,如密度评估技术、分散度技术等。最后 ,算法终止的准则可以是最大迭代次数 Tmax、计算精度ε或最优解的最大凝滞步数 Δt等。
Reference:

  • Review: Multi-objective optimization methods and application in energy saving Yunfei Cui ,Zhiqiang Geng, Qunxiong Zhu, Yongming Han
  • MULTIOBJECTIVE OPTIMIZATION: HISTORY AND PROMISE Olivier L. DE WECK

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
发表于 2023-2-6 18:40 | 显示全部楼层
公式没有显示,不是原创?
[思考]
发表于 2023-2-6 18:49 | 显示全部楼层
Emmmm 的确有公式的 等我更新 (虽然估计会很久
[思考]
发表于 2023-2-6 18:52 | 显示全部楼层
写的很好,快快更新哦
发表于 2023-2-6 18:59 | 显示全部楼层
打扰一下,目前准研究生,老师找我,希望我选优化,这个好就业吗
发表于 2023-2-6 19:05 | 显示全部楼层
嗯...其实我也不是专业的....有这个文章主要是因为之前一个咨询项目用到了多目标优化 整个研究下来会觉得它比较成熟的应用还是在工程领域 其他的比如互联网推荐系统等 还是在很理论的阶段
发表于 2023-2-6 19:08 | 显示全部楼层
很久(指半年及以上[调皮]
发表于 2023-2-6 19:17 | 显示全部楼层
哪个大学呀
发表于 2023-2-6 19:18 | 显示全部楼层
现在快一年了
发表于 2023-2-6 19:27 | 显示全部楼层
可以分享下原文链接吗
懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Unity开发者联盟 ( 粤ICP备20003399号 )

GMT+8, 2024-6-27 21:58 , Processed in 0.109766 second(s), 26 queries .

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表