病态线性方程组的粒子群算法
摘要:本文提出了一种求解病态线性方程组的新方法 :粒子群算 法。首先,详细介绍了粒子群算法;然后,为了利用粒子群算法,通过变 分原理将病态线性方程组的求解问题转化为求解无约束函数最优化问题; 最后,给出了计算机模拟结果并与其他方法作了对比。
尖键词:粒子群算法病态线性方程组最优化
粒子群优化算法(Particle Swarm Optimization,PSO)最初是由 Kennedy和Eberhart于1995年提出的一类基于智能的随机优化算法
[1],其思想来源于对鸟群捕食行为的研究,POS算法有着算法简单、容 易
实现,并且可调参数等特点,适用于求解大量非线性、不可微和多峰 值的复杂优化问题。由于PSO算法的程序实现起来异常简洁,需要调整 的参数也少,因而已应用于多个学科和工程领域[2]。
在图像恢复、带限信号外推、解卷积、模型参数估计、Fredholm 第一类积分方程求解、地震勘探等许多领域,都需要求解病态线性方程 组。由于病态方程组的条件数很大,数据误差和计算过程中引入的舍入 误差使解不稳定,即不管原始数据的误差多么小,都可能造成解的很大 变化,使所得解严重失真;同时,也使这类方程的求解变得相当困难
[3]。
1粒子群算法
粒子群优化算法(Particle Swarm Optimization,PSO)最初 Kennedy 和Eberhart[1]提出的,源自于对鸟群捕食行为研究,是一种迭代的优化 算法。
粒子群优化算法(POS)首先在可行解空间中随机初始化个粒子 每一个粒子都对应着优化问题的一个解,并且由目标函数确定一个适应 值
,
(Fitness Value)。每个粒子都在解空间中运动,通常粒子将追随当前最 优粒子
而动,并经过迭代逐步搜索,最后得到最优解。在整个迭代 搜索 过程中,粒子始终跟踪两个最优值,一个是粒子本身迄今找到的最优解; 另外一个为全体粒子迄今找到的最优解。在维搜索空间中
,记第
个粒子当前的位置为,其速度为,粒子找到的个体历史最优位置为,全 局 最优位置为。
个体历史最优位置是粒子本身的经验,全局最优位置是粒子群的经 验,每个粒子位置就是按照这两个经验值更新。对于次迭代,每一个粒子 按照下面两式进行更新变化:
(1) (2)
,为解空间的维数,即自变量的个数。加速常数分别调节向和方向飞 行的最大步长,合适的可以提升算法的寻优能力。但是各学者对的确切 取值观点还不尽一致,一般情况下取。是在范围內取值的随机实数。
个体最优位置是个体所搜寻到的最好的解,每迭代一次之后,粒子 都会向新位置运动,实现位置更新。这里需要有一个判定的过程,也就 是个体最优位置的更新过程:
Stepl初始化粒子群(速度和位置)、惯性因子、加速常数、最大 迭代 次
数和算法终止的最小允许误差。
Step2利用适应度函数(2)评价每个粒子的初始适应值。 Step3:将初始适应值作为当前每个粒子的局部最优值
应值对应的位置作为每个粒子的局部最优值所在的位置。
,并将各适
Step4:将最佳初始值作为当前全局最优值,并将最优适应值对应的 位置作
为全局最优值所在的位置。
Step5依据⑴更新每个粒子当前的飞行速度。
Step6:对每个粒子的飞行速度进行幅度处理,使之不能超过设定的 最大飞
行速度。
Step7依据(2)更新每个粒子当前所在的位置。
Steps :比较当前每个粒子的适应值是否比历史局部最优值好,如 果好,则
将当前粒子适应值作为粒子的局部最优值,其对应的位置作为 每个粒子的局部最优值所在位置。
Step9:在当前群中找出全局最优值,并将当前全局最优值对应的 位置作为粒
子群全局最优值所在的位置。
StepIO重复(step5)〜(step9)直到满足设定的最小误差或者达到
最大迭代次数。
Stepl 1输出粒子群全局最优值和其对应的位置以及每个粒子的 局部最优值
和其对应的位置。
3数值试验
为了验证PSO算法求解病态线性方程的有效性,本文以Hilbert矩 阵为系数矩阵的严重病态方程组为例,考虑方程组:(1)
其中是维Hilbert矩阵,其元素满足”从而病态方程组的精确解为。
为了和文献[5]中提出的蚁群算法求解病态线性方程组的结果作对 比,本文取。则方程组(1)的系数矩阵的范数条件数为,为严重病态问题。 通过变分原理得到与(1)等价的最优问题:
选取粒子数60,”最大迭代次数为100000得到了满意的结果,见表1, 表1还列出了文献[5]提出的蚁群算法及其他算法求得的结果,比较发 现,本文提出的POS算法求解病态线性方程组,方法稳定,结果满意。
参考文南犬
[1] J.Kermedy,R.EberhartPartiele Swarm Optimizatio n[A].
In:Proeeedi ngs of IEEE Iniern ati onal Confereneeon Neural etworks[C].Piseataway:NJ:IEEECS,1995:194A 1984.
[2]
谢晓峰,张文俊,杨之廉,等•粒子群算法综述[J]•控制与决
策,2003,18(2):129 -134.
[3] 殷福亮,殷福新,林淑云•解病态线性方程组的遗传算法[J]•大连
理工大学学报,1994,34(6):732〜737.
[4] 李庆扬,尖治,白峰杉•数值计算原理[M].北京:清华大学出版
社,2000,165-171.
[5] Duan Haib in,Wang Daobo,Zhu Jia nqian g.Nobel method
based
on ant colony optimization for soving ill-conditioned linear systems of equati on s[J].Jour nal of Systems Engin eeri ng and
Electro ni cs,2005,16(3):604 610.
[6]
郑洲顺,黄光辉,杨晓辉•求解病态线性方程组的混合算法[J]•贵工业大学学报,2008,37⑶:12〜15.
[7] 卓金武MATLAB在数学建模中的应用[M]•北京:北京航空 航天大
学出版社,2011:6 (-65.
州