一种求解非线性单目标优化问题的混合粒子群算法

一种求解非线性单目标优化问题的混合粒子群算法

PS:本文为原创文章:未经允许禁止转载(程序:PSOMA)

引言

传统的优化方法(如牛顿法、单纯形法)需要遍历整个搜索空间,无法在短时间内完成搜索,也容易陷入局部最优,并且最优解受初始点的选择影响甚大。

智能优化算法的出现,它们具有简单、通用和便于并行处理等特点,使之很容易用来求解复杂优化问题,但是对于复杂问题算法的收敛速度可能较慢。

本文贡献

提出了一个PSOMA的基础框架,可以将不同数值优化方法进行加入到局部策略中;

本文提出的算法求解的精度比不加入局部策略的算法的求解精度更高,收敛速度更快,也更适合解决复杂的数学问题

相关工作

一般的,一个单目标非线性规划的数学模型如下:

粒子群优化算法PSO

v_i\left( t+1 \right) =wv_{ij}\left( t \right) +C_1r_{1j}\left( t \right) \left( P_{ij}\left( t \right) -x_{ij}\left( t \right) \right) +C_2r_{2j}\left( t \right) \left( P_{gj}\left( t \right) -x_{ij}\left( t \right) \right)

x_{ij}\left( t+1 \right) =x_{ij}\left( t \right) +v_{ij}\left( t+1 \right)

粒子群优化算法流程

数学规划问题(M1)

一家彩电制造商计划推出两种新产品:一种19英寸液晶平板电视机,制造商建议零售价339美元;另一种21英寸液晶平板电视机,零售价为399美元。公司付出的成本为19英寸彩电每台195美元,21英寸彩电每台225美元,还要加上400000美元的固定成本。在竞争的销售市场中,每年销售处的彩电数量会影响彩电的平均售价。据统计,对每种类型的彩电,每多售出一台,平均销售价格会下降1美分。而且19英寸彩电的销售会影响21英寸彩电的销售,反之亦然,据估计,每售出一台21英寸彩电,19英寸彩电的平均售价会下降0.3美分,而每售出一台19英寸彩电,21英寸彩电的平均售价会下降0.4美分。问:每种彩电应该各生产多少台?收益最大。

测试函数(C1-C6

算法思想

算法流程

数值优化局部策略

如果局部搜索过程中,获得的最优解超出搜索区域,则进行边界处理1

x_k=\begin{cases} x_{\max},if\,\,x_{k}^{i}>x_{\max}\\ x_{\min},if\,\,x_{k}^{i}<x_{\min}\\ \end{cases}i=1,2,\cdots ,D

更新粒子最优值

if\,\,f\left( x_{k}^{'} \right) <g_{best}\,\,, \begin{cases} g_{best}=f\left( x_{k}^{'} \right)\\ x_k=x_{k}^{'}\\ \end{cases}

if\,\,f\left( x_{k}^{i'} \right) <p_{best}\left( i \right) \,\,, \begin{cases} p_{best}\left( i \right) =f\left( x_{k}^{i'} \right)\\ x_{k}^{i}=x_{k}^{i'}\\ \end{cases}

粒子群算法更新

if\,\,fit\left( x_{k}^{i} \right) <p_{best}\left( i \right) \,\, p_{best}\left( i \right) =fit\left( x_{k}^{i} \right)

if\,\,fit\left( x_{k}^{i} \right) <g_{best}\,\, g_{best}=fit\left( x_{k}^{i} \right)

v_{ij}\left( k+1 \right) =wv_{ij}\left( k \right) +c_1r_1\left( k \right) \left[ p_{ij}\left( k \right) -x_{ij}\left( k \right) \right] +c_2r_2\left( k \right) \left[ p_{gi}\left( k \right) -x_{ij}\left( k \right) \right]

x_{ij}\left( k+1 \right) =x_{ij}\left( k \right) +v_{ij}\left( k+1 \right)

如果粒子群算法更新最优解过程中,超出边界限制,则粒子的边界处理如下所示,即在搜索区域内随机初始化:

\begin{cases} v_{ij}\left( k+1 \right) =rand\cdot \left( v_{\max}-v_{\min} \right) +v_{\min},v_{ij}>v_{\max}|v_{ij}<v_{\min}\\ x_{ij}\left( k+1 \right) =rand\cdot \left( x_{\max}-x_{\min} \right) +x_{\min},x_{ij}>x_{\max}|x_{ij}<x_{\min}\\ \end{cases}

实验与分析

为了验证本文提出的算法的效果,做了一系列实验,实验所用系统为 Window10 Intel(R) Core(TM) i5-1135G7 @ 2.40GHz   2.42MATLAB R2018b

评价指标

本文使用平均误差来评价算法的好坏,误差均值越小,算法求解效果越好,收敛速度越快。

粒子群算法和PSOMA算法对比

PSOMA 带有不同数值优化对比

PSOMA 算法和其他经典算法对比

总结

本文通过以粒子群算法为框架,在其中加入了数值优化局部搜索方法,通过局部方法获得的最优解引导粒子群算法的粒子更新和搜索方向和位置的更新,同时根据粒子群算法的位置反过来引导局部策略向最优解方向进化,有效防止了局部策略陷入局部最优,也加快了粒子群算法的收敛速度和求解精度。通过一系列对比实验,发现比较适合的两种局部搜索策略(GRAD FRCG)可以用来求解非线性多目标优化问题,本文提出的算法求解方法优于经典的进化算法

缺点,对于没有准确数学模型的问题,无法求出导数的复杂问题、离散问题以及复杂约束问题,本文的算法无法用来求解。 由于加入了局部搜索策略本文的算法的运行时间略慢于不加局部策略的算法。 对于如何解决算法的缺陷问题,如何在多目标优化问题中加入数值策略,也是 进一步研究的方向。

PS:本文为原创文章:未经允许禁止转载

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浅忆孤寂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值