◎林彬 王正鋒
基于差分進(jìn)化算法求解非線性方程組
◎林彬 王正鋒
非線性方程組在現(xiàn)實(shí)生活中的應(yīng)用非常廣泛,特別是在工程學(xué)、計(jì)算機(jī)科學(xué)、信號(hào)與信號(hào)處理、通信及航空等學(xué)科和領(lǐng)域內(nèi)經(jīng)常遇到,許多實(shí)際問題都需要轉(zhuǎn)化為方程或方程組后才能求解。然而,一些傳統(tǒng)的方法已不能很好地解決這類問題。近年來,一種新穎的方法即差分進(jìn)化算法在各種算法中脫穎而出。和傳統(tǒng)算法相比,它具有實(shí)現(xiàn)簡單,穩(wěn)定性較強(qiáng),求得近似解快等優(yōu)點(diǎn),在非線性函數(shù)的優(yōu)化問題中得到了廣泛應(yīng)用。本文主要運(yùn)用差分進(jìn)化算法來求解非線性方程組,通過仿真體現(xiàn)了差分進(jìn)化算法在求解非線性方程組時(shí)的高效性和通用性。
方程求根問題一直以來都是一個(gè)具有重要實(shí)踐意義的問題。在科學(xué)技術(shù)和工程應(yīng)用等領(lǐng)域中涉及的一些問題,通常需要先轉(zhuǎn)化為方程或方程組的求根問題,然后再進(jìn)行求解。其中,非線性方程組的求解是比較常見的一類問題,因而其求解方法一直以來都是數(shù)學(xué)和工程應(yīng)用中的重要研究內(nèi)容。
近十幾年來,國內(nèi)外的許多專家學(xué)者對(duì)非線性方程組的求解問題作了大量的研究,提出了許多行之有效的方法,常用的有牛頓法、迭代法、梯度法和共軛方向法等。但這些方法對(duì)方程組的要求較高,在求解一些相對(duì)復(fù)雜的方程組時(shí)還存在著一些缺陷。近年來,進(jìn)化算法被廣泛應(yīng)用于優(yōu)化問題的求解中。由于差分進(jìn)化算法在求解非凸、多峰以及非線性函數(shù)等的優(yōu)化問題上表現(xiàn)出顯著的穩(wěn)定性,在同樣精度的要求下,差分進(jìn)化算法的收斂速度更快,因而在求解優(yōu)化問題及其他領(lǐng)域中得到了廣泛的應(yīng)用。
差分進(jìn)化算法 (DE) 是最近幾年流行的、比較新穎的一種進(jìn)化算法,又稱為差異演化算法、微分進(jìn)化算法、微分演化算法、差分演化算法等,它是由Storn等人于1996年為求解切比雪夫多項(xiàng)式而提出的。該算法是對(duì)生物進(jìn)化進(jìn)行模擬的一種隨機(jī)模型,通過一次一次的迭代,使得適應(yīng)環(huán)境的那些個(gè)體被保留了下來。
算法的基本思想及特點(diǎn)。DE的基本思想是從一個(gè)隨機(jī)生成的初始群體開始,從中隨機(jī)選取兩個(gè)個(gè)體,將其差向量作為第三個(gè)個(gè)體的隨機(jī)變化源,再對(duì)差向量進(jìn)行加權(quán),然后按照特定的規(guī)則和第三個(gè)個(gè)體相加,從而產(chǎn)生變異個(gè)體,該過程稱為變異;然后,將變異個(gè)體與某個(gè)預(yù)先決定的目標(biāo)個(gè)體進(jìn)行參數(shù)混合,從而產(chǎn)生新的實(shí)驗(yàn)個(gè)體,該過程稱為交叉;如果新的實(shí)驗(yàn)個(gè)體的適應(yīng)度值比目標(biāo)個(gè)體的適應(yīng)度值要好,則在下一代實(shí)驗(yàn)個(gè)體中選取新的目標(biāo)個(gè)體來替換原有的目標(biāo)個(gè)體,否則保留下當(dāng)前的目標(biāo)個(gè)體,該過程稱為選擇。在每一代的進(jìn)化過程中,每一個(gè)個(gè)體只能作一次目標(biāo)個(gè)體,DE算法通過反復(fù)地迭代計(jì)算,淘汰劣質(zhì)個(gè)體,保留優(yōu)良個(gè)體,使得搜索結(jié)果向全局最優(yōu)解逼近。
DE算法是一種基于實(shí)數(shù)編碼的,用于優(yōu)化函數(shù)最小值的進(jìn)化算法,變異是DE的主要操作。算法根據(jù)種群中個(gè)體間的差異向量來進(jìn)行變異,從而達(dá)到修正各個(gè)體的值的目的。并且,DE采取基于種群的全局搜索策略,使遺傳操作簡單化。同時(shí),DE會(huì)根據(jù)當(dāng)前的搜索情況動(dòng)態(tài)調(diào)整搜索策略,使得全局收斂能力較強(qiáng),而且不需要借助問題的特征信息,因此適用于求解一些常規(guī)數(shù)學(xué)規(guī)劃方法不能求解的復(fù)雜環(huán)境下的優(yōu)化問題。
由方程組的收斂圖可以看出,差分進(jìn)化算法的收斂速度極快,能夠快速的得到近似解。
本文運(yùn)用差分進(jìn)化算法對(duì)非線性方程組其進(jìn)行求解,并將求解的結(jié)果與用擬牛頓法、粒子群優(yōu)化算法求解的結(jié)果進(jìn)行了對(duì)比。實(shí)驗(yàn)證明,差分進(jìn)化算法更適用于求解一般型的非線性方程組及其同類型的實(shí)際問題,而且計(jì)算效果良好,簡單可行,精度高。
(作者單位:桂林理工大學(xué) 理學(xué)院)




廣西自然科學(xué)基金項(xiàng)目(2015GXNSFBA139005)資助; 2014年桂林理工大學(xué)應(yīng)用數(shù)學(xué)重點(diǎn)學(xué)科立項(xiàng)資助