基于dijsktra算法的最短路径求解_【优化算法】多目标优化与帕累托解

多目标优化与帕累托解

1. 多目标优化

多目标优化问题(muhiob—jective optimization problem,MOP)的定义是什么呢?感觉从文献里面查询会比较准确,所以我就找了知网检索第一个文献《基于粒子群算法求解多目标优化问题》,里面说到了相关的形式。

通常一个多目标优化问题可以表示如下:

其中,决策向量,目标向量,和目标函数,是系统约束。

我们会发现多目标优化问题与线性规划问题很类似。这篇文章中写到了利用改进的粒子群优化算法(PSO)对多目标优化问题提出了自己的想法

其与单目标优化问题的本质区别在于,它的解并非唯一,而是存在一组由众多Pareto最优解组成的最优解集合,集合中的各个元素称为Pareto最优解或非劣最优解。(注意,是不止一个的最优解)

2.算法使用

多目标优化问题解决的过程就是去搜索最优解的过程,其中我们使用不同的算法去搜索最优解。

2.1 多目标进化算法

多目标进化算法的基本原理描述如下:多目标进化算法从一组随机生成的种群出发,通过对种群执行选择、交叉和变异等进化操作,经过多代进化,种群中个体的适应度不断提高,从而逐步逼近多目标优化问题的Pareto最优解集。与单目标进化算法不同,多目标进化算法具有特殊的适应度评价机制

2.2 多目标模拟退火算法

模拟退火算法是一个有效的全局优化算法,这类算法的最大优点是对搜索空间(目标函数的性质)不加任何限制,可以是不连续的、不可微的,并且也能求得Pareto边界上多个不同方向的Pareto最优解;但是其需要大量的迭代次数,因而收敛速度慢、优化效率较低。

2.3 多目标蚁群优化算法

蚁群算法的基本原理描述如下:基于对自然界真实蚁群的集体觅食行为的研究,模拟真实的蚁群协作过程。算法由若干个蚂蚁共同构造解路径,通过在解路径上遗留并交换信息素的方法反馈信息提高解的质量,进而找到最短路径,达到优化的目的。

2.4 多目标粒子群算法

这就是就是刚才提到的那篇文章中使用的算法。

粒子群算法思想描述如下:初始化种群后,种群的大小记为N。基于适应度支配的思想,将种群划分成两个子群,一个称为非支配子集A,另一个称为支配子集B,两个子集的基数分别为、,满足两个子群基数之和为N。

3. Pareto曲线

21ff75a16009b983e5c3a994f79a9509.png

这个时候我们知道了求解的算法,求出来的解是什么形式呢?

  • 帕累托最优解(图中红线上每一个点)
  • 最优解的集合称为Pareto最优集
  • 帕累托最优的结果的集合往往是Pareto前沿(图中红线),也叫Pareto边界

测试函数

测试函数是什么?如果看到了一些多目标优化的问题,在结尾处都会使用一个叫做测试函数的东西,大部分多目标优化问题算法都用其做测试以验证算法的有效性

常见的有:

  • ZDT1(x)
  • ZDT2(x)
  • ZDT3(x)
  • ZDT4(x)
  • ZDT6(x)
  • P1(x)
  • P2(x)
  • MOP2(x)
  • MOP3(x)
  • DTLZ1(x, nobj = 3)
  • DTLZ2(x, nobj = 3)
  • DTLZ3(x, nobj = 3)
  • DTLZ7(x, nobj = 3)

主要用法就是给定测试函数中的函数,然后根据测试函数的固定流程生成帕累托解的图像进行对比。

参考

  • 张利彪 周春光 马 铭 刘小华《基于粒子群算法求解多目标优化问题》
  • 肖晓伟 肖 迪 林锦国 肖玉峰《多目标优化问题的研究概述》
  • 张勇德 黄莎白《多目标优化问题的蚁群算法研究》
  • 维基百科
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值