多目标粒子群算法

1、前言

单目标粒子群算法详解见链接 https://blog.csdn.net/weixin_41230454/article/details/127933567

多目标粒子群算法(MOPSO)是由Coello Coello等人在2004年提出的。 它是PSO的多目标算法,求解的是帕累托的最优解集。

它同粒子群一样,粒子群中的粒子通过共享信息,向着全局最佳粒子和它们自己的个人最佳位置移动。 然而,与PSO不同的是,有不止一个标准来确定和定义最佳(全局或局部)。

2、多目标粒子群算法介绍

MOPSO算法引入了“档案”的概念

档案保存有当前粒子群与所有历史粒子群的综合Pareto最优解,档案按如下规则进行更新: 若档案中未保存有解,则将当前粒子群的 Pareto 最优解放入其中; 若档案中已经保存有解,则将当前粒子群的 Pareto 最优解与档案中的解进行比较,若新解被档案中某解支配,则放弃该新解; 若新解不被档案中任意解支配,则将新解放入档案中; 若新解可支配档案中某解,则将该解从档案中删除。粒子群的历史最优位置从档案中获取,若档案中的解不止一个,则通过轮盘赌方法选择一个为历史最优位置; 粒子自身的历史最优位置是通过不断与之前位置进行支配排序而得到的: 若新位置可支配自身历史最优位置,则更新历史最优位置,否则历史最优位置保持不变。

形象理解 粒子看作50个人,可能潜在的700个解看做为打开的700个房间。 初始:50个人每人随机进一个屋子,这个屋子的各项指标(温度,湿度等)叫做目标函数,这50个人心中都有一个脑子pbest,自己知道哪个屋子最好。 第一次按算法更新:50个人进入下一个房子。 下一个房子就是新解,有新的目标函数,如果这个屋子在各项指标都比上一个屋子好,那么pbest就是这个新解了,如果都没上一个好,pbest还是上一个pbest,如果互相不支配,那么随机从新解和pbest里选一个作为下次寻找房子的pbest。 Gbest相当于这50个人有个对讲机,他们每次寻找房子后都互相通气儿,有个全局意义上的最好的房子,为了能把这700个房子都找完,他们要做的就是为gbest设定为不密集的区域的房子(当然这个房子是非劣的房子)。 外部档案集相当于一个外界的笔记本,每次寻找后这50个人告诉了笔记本他们这次找到的10个非劣解房子,和笔记本里记录的30个房子比较下,40个房子里有两个房子被其他房子的目标支配,那么把他们删掉,剩下38个房子。但是笔记本只有30个空间,那么依据拥挤距离删掉8个,剩下30个。 那么这样寻找了100回合,最后在外部档案集里就是一个均匀的30个非劣解房子集合,这时候从这30个房子里去多目标决策挑选。

3、算法仿真

仿真结果
仿真结果

关注公众号,获取全部改进代码

❤️ 扫一扫,添加我的公众号或者搜索【无人机开发】 alt

本文由 mdnice 多平台发布

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值