一种改进的粒子群算法在解非线性方程组中的应用
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一种改进的粒子群算法在解非线性方程组中的应用
宁必锋
【摘要】针对解决实际工程问题中,传统方法求解非线性方程组时对于初始值依赖性大的缺点,提出了改进的粒子群优化算法(pso),用混沌初始化替代随机初始化,使用谱系聚类法来避免早熟现象发生,根据聚类结果对粒子的速度进行更新,并应用于求解非线性方程组中,数据结果表明该方法提高了解的精确度,算法稳定性好.
【期刊名称】《吉林化工学院学报》
【年(卷),期】2013(030)005
【总页数】3页(P114-116)
【关键词】粒子群优化算法;混沌;谱聚类;非线性方程组
【作者】宁必锋
【作者单位】吉林化工学院理学院,吉林吉林132022
【正文语种】中文
【中图分类】TP301.6
求解非线性方程组一直是应用数学界和工程技术界的研究热点.国内外许多数学工作者给出了多种有效的求解方法.如:Newton-Raphson迭代法、消元法和智能计算方法等.其中Newton-Raphson迭代法局限性[1]是:(1)对初值比较敏感,每一次迭代都要计算Jacobi矩阵,计算量大;(2)当Jacobi矩阵奇异或接近奇异时,计算将不能进行.消元法[2]主要是利用计算机的代数系统演绎推导出多项式方程
组的零点集结构式,这个过程不但要求有较高的数学推导技巧,而且推导出的解析方程繁琐冗长.
由于智能计算方法在解决优化问题中的优势,许多研究者将粒子群优化(PSO)算法应用于求解非线性方程组中.与传统的智能优化算法相比较,PSO算法具有更强的全局搜索能力,能较快地收敛于全局优化解.它不依赖于初始值和目标函数是否可导,可以求解一般的非线性方程组.
因此本文在粒子群算法的基础上提出了一种改进的PSO算法,并用于非线性方程组的求解中.通过计算机编程实验能够计算出复杂非线性方程组的数值解,而且数值解的精度很高.
1 改进的PSO算法求解非线性方程组
2.1 非线性方程组转化为函数优化问题
式中:X=[x1,x2,…,xn]T∈Rn为未知量,f(x)=[f1(x),f2(x)…,fm(x)]T 为变量X的m维向量函数.把方程(1)写成分量的形式[3]:
式中,xi为所求解的n个未知变量.
若以‖·‖p表示向量空间 p-范数[4],则问题(1)转换为求解:
当p=2时,应用无约束优化方法求解问题(l)时,通常将其化为非线性最小二乘问题
因此方程组(2)等价于:
通过定理:非线性方程组f(x)=0的解与‖f(X)‖2的全局极小值是等价的[5].将解
非线性方程组的数值解问题转化为函数的优化问题.以式(5)作为粒子的适应度评价函数,函数值越小表示粒子的适应度越高.
2.2 基于混沌的聚类粒子群优化算法
2.2.1 混沌序列
本文采用的混沌序列迭代公式为:
其中μ =4,x0为(0,1)之间随机数.
2.2.2 谱系聚类法
定义1[6]假设A和B是两个聚类,则两类间的距离为:
其中da,b表示A类中的样本xa和B类中的样本xb之间的距离.nA表示A类中样本数量,mB示B类中样本数量.
谱系聚类法的步骤如下:
步1:初始化.令N个粒子自成一类,利用公式(7)计算各类之间的距离矩阵M(0),其中右上角标号(0):聚类开始运算前的状态.设定迭代次数h=0;
步2:求距离矩阵M(h)中的最小元素,将距离最小的两类合并为一类.
步3:计算新分类别之间的距离矩阵M(h+1);
步4:阈值MinC=6,若M(h+1)的最小分量超过阈值MinC则停.否则h=h+1. 2.2.3 粒子群的速度更新
经过聚类,由函数值的分类选择粒子速度更新公式.
若第i个粒子xi属于Xj类中,且它的适应值低于它本身经历过的最优位置的适应值,则速度更新公式为[7]:
其中为第k代第i个粒子本身经历过的最优解的位置为第k代第Xj类中最优解的
位置.
若它的函数值优于它本身经历过的最优位置的函数值,但不如整个粒子群迄今为止搜索的最优解的函数值则速度更新公式为[8]:
其中为粒子群迄今为止搜索到的最优解的位置.
若它的函数值优于整个粒子群迄今为止搜索到的最优解的函数值时,应用速度更新:
2.3 算法步骤
Step1利用混沌序列在D维问题空间中初始化N粒子的位置(i=1,2…N)和速度(i=1,2…N)目标函数值f().
Step 2将式(5)作为目标函数,然后计算每个粒子的函数值,p……ii=,f(),并且初始化f()=f()(i=1,…N).
Step 3初始化当前代全局最优解的位置.寻找
并且初始化和
Step 4在当前代中继续迭代混沌序列并且用混沌序列产生的粒子位置与当前代粒子位置进行比较,若是好于当前粒子位置则替换.
Step 5执行谱系聚类法根据分类用式(8)(9)(10)对粒子的速度进行更新.
Step 6根据公式:
来更新粒子的位置.
Step 7达到最大迭代次数或达到最优解精度则停止迭代,否则 k=k+1.
3 求解非线性方程组的实验研究及结果分析
本文选取了非线性的方程组作为实验问题,对其均采用基于混沌的聚类粒子群优化
算法,并将实验结果与其它方法的求解结果进行比较分析.
例题[9]非线性方程组:
求解非线性方程组F(x)=0可以等价于求‖F(x)‖2的全局极小值,也可以转化为非线性最小二乘法或者无约束极大极小优化模型.运用软件MATLAB进行数值实验,求解结果数值比较如表1所示,图1为粒子的进化曲线.表1是采用不同方法对非线性方程组F(x)=0求解的结果,其中Newton-Raphson迭代法的数值结果来自文献[9],遗传算法、神经网络算法和改进的粒子群算法的结果是取自上面50次运算的均值.
通过对比实验结果可以看出,改进的粒子群算法的求解结果要优于遗传算法算法的求解结果,而且比神经网络算法的求解精度高.通过求其均值可以看到,改进的粒子群算法的求解结果与Newton-Raphson迭代法求得的结果已经很接近.并且该方法还不用考虑非线性方程组F(X)=0是否连续可导的等问题.
表1 例题的求解结果数值比较?
图1 粒子的进化曲线
4 结论
文中提出了改进的粒子群算法,该算法可以快速、十分精确的求出非线性方程组的全部解,并且可以很好地计算非线性方程组的多组近似解,而且解的数值精度都明显高于其它智能进化算法和传统解析算法.Matlab仿真实验结果验证了算法的可行性和有效性,通过图表显示此算法的稳定性较好,该算法为求解复杂非线性方程组的解提供了一种实用的方法,同时也是粒子群优化算法在应用方面的探索性研究. 参考文献:
【相关文献】
[1]蔡大用,白峰杉.现代科学计算[M].北京:科学出版社,2001.
[2]张纪元.机械学的数学方法洲[M].上海:上海交通大学出版社,2003.
[3]刘丽芳.粒子群算法的改进及应用.[D].太原理工大学.2008.
[4]陈长忆,粒子群算法及其工程应用研究,[D],电子科技大学,2007.
[5]孙明杰,陈月霞,胡倩.求解奇异非线性方程组的粒子群优化算法[J].黑龙江科技学院学报,2006,16(6):369-373.
[6]高新波,模糊聚类分析及其应用,西安:西安电子科技大学出版社,2004.
[7]宁必锋.基于离差平方和法的粒子群优化算法[J].电子设计工程:2011(24):11-13.
[8]钱伟懿,宁必锋.基于混沌的聚类粒子群优化算法[J].计算机工程与设计.2011(32):685-688.
[9]孔敏,沈祖和.解非线性方程组的极大墒方法[J].高等学校计算数学学报.1999,21(1):1-7.。