多目标优化

概念:

单目标优化的情况下,只有一个目标,任何两解都可以依据单一目标比较其好坏,可以得出没有争议的最优解。

多目标化与传统的单目标优化相对。多目标优化的概念是在某个情景中在需要达到多个目标时,由于容易存在目标间的内在冲突,一个目标的优化是以其他目标劣化为代价,因此很难出现唯一最优解,取而代之的是在他们中间做出协调和折衷处理,使总体的目标尽可能的达到最优。

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

常用解法模型:

(1)线性加权

线性加权是多目标优化广泛使用的一种模型。

SAW(Simple Additive Weighting)是其中经典的一类线性加权求和方法.它忽略不同目标函数有不同的单位和范围,通过给不同的目标函 数制定相应的权重,将所有的目标函数进行线性加权,用一个综合的效用函数来代表总体优化的目标.最优的效用函数对应的解即被认为是问题的最优解,从而将多目标优化问题转化成单目标优化问题.对于第i个目标函数f (x),用W 表示它的权重,那么多目标优化模型可以转化成下图公式

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

线性加权模型,其优点在于实现简单,仅用缩放后的值来代表原目标,求解也相对比较容易其缺陷在于刻画目标和解不够精细,例如响应时间和开销,这两个目标的单位分别是时间和金钱,用先缩放再加权的方法把它们直接相加,对原始目标的信息有一定的丢失和遗漏. 另外,缩放过程需要提前知道目标的信息,如最大值、最小值或者平均值,而这些信息往往很难确定.而制定权重过程需要依据的用户、供应商对不同目标的偏好程度也很难提前获知.即使在已了解偏好程度的情况下,如何准确地制定权重仍然是棘手的问题.例如,将响应时间的权重设为0.2还是0.21,对于用户来说可能没有大的区别,但是对最优解有不可忽略的影响.因此,采用线性加权模型虽然简便,但解的优劣程度难以保证.

线性加权法严格意义上是把多目标优化转换成单目标问题解决,而由于无法精准确定权重,以及线性相加缺乏理论基础,主要适用于多个评价指标相互独立的情况,但是由于过程简单便捷,目前被广泛应用。

2)基于相互关系

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

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

Power公式考虑了吞吐量和延迟之间的相互关系,可以用来评价网络中资源分配策略的有效性,用以确定最优负载.Power公式亦可用来评价Web服务的效率。

(3)ɛ-约束

(4)帕累托pareto

帕累托是多目标优化中经典的模型,并且它完全基于原始数据,没有将问题转化成单目标问题分析。帕累托模型由于不需要对目标进行缩放和归一化,也不需要设定或者引入新的参数、变量(如权重、界限值),直接基于原始目标函数和值进行操作,可以适用于任何目标、任何函数.它不会丢失目标函数和解的信息,解的优劣可以较好保证.但帕累托模型的最优解是一个集合,其中包含不止一个最优解,因此要穷尽并求出所有的帕累托最优解有一定的难度。

(5)基于回报值

基于回报值的优化模型旨在深入刻画优化的本质需求,将评价指标转化为回报值,描述系统或服务的指标属性对优化目标的作用,针对需求进行更为合理、有效的优化。基于回报值的优化往往结合性能评价同时开展。在优化过程中,研究不同评价指标对求解目标的本质影响,形式化刻画评价指标与回报值的量化关系,给出转化公式;随后将回报值进行叠加,得到最终的优化函数。不同需求情形下,回报值的意义不尽相同。例如,在考虑服务过程时,回报值可以定义为服务的利润,即收益减开销.在考虑服务计算的性能和能耗的综合优化过程中,可以将性能转化为完成用户任务所得到的收益,性能的高低决定了收益或收益速率的多少;将能耗转化为运行服务的开销,统一用经济模型进行表述。这样,将性能和能耗的综合优化问题转化为服务过程中的利润最大化问题,不仅符合服务计算的商业模式需求,也可以为优化提供理论依据。

基于回报值的多目标优化思路是对优化问题本质需求的一种探索性解法.它旨在刻画系外在表现指标与内在用户需求之间的相互联系,适用于针对可量化用户需求的优化问题建模和求解.由于回报值可以精确量化表达,因而该优化模型可以得到理论最优解.但是,大规模服务计算中的状态空间很大,同时考虑到决策行为的多样性,基于回报值的优化模型可能会遇到状态爆炸问题,需要通过状态合并、近似分析等技术手段加以克服。

常用解法:

多目标优化的理论和求解方法是一个长期的研究课题,目前存在着理论不完善、算法不成熟等问题。在理论方面,对最优解质量或满意度的客观度量还没有一个非常成熟的理论与与实用性好的方法;在多目标优化算法中,其收敛性的数学证明还存在不足;在计算精度方面,数值计算本身的误差也常导致结果的误差,产生伪有效解;进化算法中进化算子的误差也会导致过早收敛于单个解,即产生漂移现象。另外,算法计算速度的提高、高维多目标优化等,也是值得研究的问题,这些都可作为进一步研究的方向。、

(1)多目标进化算法(multi-objective evolutionary algorithm,EA)

此算法适用于求解复杂的多目标优化问题并得到了广泛的应用。多目标进化算法是一种基于群体的启发式方法,针对含多个互相冲突的目标的优化问题。主要模拟生物自然选择与进化的过程,采用随机搜素策略,主要运用重组、变异和选择这三个算子实现优化问题的求解。在多目标进化算法中,使用一维的串结构数据来表示变量,也称为基因型个体(individual)。一定数量的个体组成了种群(population),种群中个体的数目称为种群规模(population size)变量会经历基因重组->变异->评估并选择,产生新的个体,适应程度更好(目标值更小)的个体将在一代代淘汰中留下,成为优胜个体,即非支配解 (进化后期的红点)。

(2)模糊优化

多目标最优解同各子目标最优解密切相关,但子目标之间,各子目标最优解同多目标最优解之间的关系是模糊的,所以用模糊优化方法能得到某种意义下的满意结果。模糊方法应用于多目标优化主要有以下途径:其一是构造模糊性的多目标优化算法。模糊性多目标优化算法的基本原理为在各单目标最优解的模糊集中寻求使各个目标都尽可能优的满意解。其基本步骤为:先求出各个单目标的约束最优解再将各最优解模糊化,然后求能使各模糊最优解交集的隶属函数取最大值的解,此解便为最优解。为了通过赋予权数来反映各目标的重要程度,可按照各目标的重要程度,选择不同的隶属度函数类型和调整隶属度函数的参数,来调整各单目标最优解的模糊集的分布状态,从而可得出不同权重分配下的多目标最优解。但隶属度函数在本质上,也是一种评价函数。

(3)神经网络

人工神经网络模拟人脑处理机制,实现了大规模并行处理和分布式存储,并具有容错性、自适应性和自组织性。目前神经网络在多目标优化中的应用多为和其它优化方法的结合,如和模糊理论结合构造评价准则、取代单目标优化方法。并不是在多目标优化策略方面的应用。关秦川提出一种解决工程结构多目标模糊优化的新方法。以目标函数值的满意程度作为学习样本,采用神经网络取代传统的隶属度函数,解决了确定隶属度函数显式表达式困难,人为确定理由不充分的问题。彭观等 采用神经网络方法求解切削加工多目标优化问题,给出了 Boltzmann 机神经网络模型和算法,证明了神经网络的可行性。朱学军用Kolmogorov 多层神经网络映射存在定理的基础上导出的用神经网络进行结构近似分析的方法,用均匀试验设计方法选取特征样本点供神经网络训练,将神经网络与Pareto 遗传算法有机地结合,使多目标优化的计算效率进一步提高。神经网络在多目标优化中还可有其它应用。如可用均匀设计和正交设计的方法选取权重系数,并将权系数和优化结果作为训练样本,建立函数关系,这样改变权系数后,可用网络结构求出最优解。也可根据神经网络有很强的并行计算能力的特点,应用在分层优化中,或和遗传算法结合,从有效解集中选择最优解。

(4)多目标粒子群算法

粒子群优化算法 ( Particle Swarm Optimization )是一种源于对鸟群捕食行为的研究而发明的进化计算技术,具有全局最优解和局部最优解,是基于群体协作的迭代优化算法。

PSO初始化为一群随机粒子(随机解),然后通过迭代找到最优解,在每一次迭代中,粒子通过跟踪两个“极值”来更新自己。第一个就是粒子本身所找到的最优解,这个解叫做个体极值pBest,另一个极值是整个种群找到的最优解,这个极值是全局极值gBest。另外也可以不用整个种群而只是用其中一部分最优粒子的邻居,那么在所有邻居中的极值就是局部极值。

粒子群算法基本思想 :
1 )初始化种群后 , 种群的大小记为 N 。基于适应度支配的思想 , 将种群划分成两个子群 , 一个称为非支配子集 A, 另一个称为支配子集 B , 两个子集的基数分别为 n1 n2
2 )外部精英集用来存放每代产生的非劣解子集 A, 每次迭代过程只对 B 中的粒子进行速度和位置的更新 ;
3 )并对更新后的 B 中的粒子基于适应度支配思想与 A 中的粒子进行比较 , xi B , ϖ xj A, 使得 xi 支配 xj, 则删除 xj, 使 xi 加入 A 更新外部精英集 ; 且精英集的规模要利用一些技术维持在一个上限范围内 , 如密度评估技术、分散度技术等。
4 )最后 , 算法终止的准则可以是最大迭代次数 Tmax 、计算精度 ε 或最优解的最大凝滞步数 Δt

(5)遗传算法GA

遗传算法 ( Genetic Algorithm ) 是受自然进化理论启发的一系列搜索算法。通过模仿自然选择和繁殖的过程,遗传算法可以为涉及搜索,优化和学习的各种问题提供高质量的解决方案。

遗传算法具有以下概念:基因型(Genotype)、种群(Population)、适应度函数(又称目标函数)(Fitness function)、遗传算子(选择(Selection)、交叉(Crossover)、变异(Mutation))

NSGA-Ⅱ

NSGA-Ⅱ算法是带有精英保留策略的快速非支配多目标优化算法,是一种生成Pareto前沿的遗传算法。

 

1 、Perato支配

支配:由于多个目标函数的存在、对于可行解(满足优化条件的解),无法利用传统的大小关系比较进行优劣关系比较和排序,定义多目标情况下的个体间关系。

Perato支配:又称Perato占优,对于两个可行解 I1 和 I2,对所有目标而言,I1 均优于 I2,则我们称 I1 支配I2。

2、 Perato最优解

Perato最优解又称非支配解,对于解A而言,在变量空间中找不到其他的解能够优于解A (注意这里的优于一定要两个目标函数值都优于A对应的函数值),那么解A就是Perato最优解。

3 、Perato前沿

Perato最优解经目标函数映射构成了该优化问题的Pareto前沿面。

4 、非支配排序

假设种群大小为P,遍历整个种群,计算每个个体p的被支配个数n_p和该个体支配的解的集合S_p这两个参数。对整个种群分层,形成各支配等级。

5、拥挤度

为了使得到的解在目标空间中更加均匀,这里引入了拥挤度概念,从二目标优化问题来看,就像是该个体在目标空间所能生成的最大外接矩形(该矩形不能触碰目标空间其他的点)的边长之和。

6、精英保留

精英保留策略可以避免最优个体不会因为杂交操作而被破坏。遗传算法中的基因,并不一定真实地反映了待求解问题的本质,因此各个基因之间未必就相互独立,如果只是简单地进行杂交,很可能把较好的组合给破坏了。对遗传算法来说,能否收敛到全局最优解是其首要问题。

把群体在进化过程中迄今出现的精英个体(适应度值最高的个体)不进行配对交叉而直接复制到下一代中,具有精英保留的标准遗传算法是全局收敛的。

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值