亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        求解非線(xiàn)性方程組的蛙跳和BFGS混合算法

        2013-10-15 07:38:38學(xué)
        計(jì)算機(jī)與現(xiàn)代化 2013年12期
        關(guān)鍵詞:優(yōu)化方法

        潘 學(xué)

        (廣西民族大學(xué)教務(wù)處,廣西 南寧 530006)

        0 引言

        在工程計(jì)算中,非線(xiàn)性方程組的求解問(wèn)題是最常見(jiàn)的問(wèn)題之一,如在數(shù)值天氣預(yù)報(bào)、石油地質(zhì)勘探、計(jì)算生物化學(xué)、控制領(lǐng)域和軌道設(shè)計(jì)等方面均有應(yīng)用。因此,尋找高效可靠的非線(xiàn)性方程組的求解方法是非常有必要的[1-2]。目前,求解非線(xiàn)性方程組主要有兩種途徑:一種是采用傳統(tǒng)的數(shù)值求解方法,比如牛頓迭代法、梯度下降法、BFGS方法和它們的改進(jìn)算法等[3]。這些方法具有較高的求解精度和較快的收斂速度,但對(duì)初始值非常敏感,如果選取的初始值不在這些傳統(tǒng)方法的收斂域內(nèi),這些方法將失效[4]。另一種是采用群智能優(yōu)化算法,如遺傳算法、模擬退火算法、差分進(jìn)化算法和人工魚(yú)群算法[5-6]等。這些算法的優(yōu)點(diǎn)是對(duì)函數(shù)本身沒(méi)有要求,對(duì)初始值不敏感,但容易陷入局部最優(yōu),導(dǎo)致求解精度不高。

        2003 年,美國(guó)學(xué)者 Eusuff和 Lansey[7]借鑒粒子群優(yōu)化算法的思想,將種群的個(gè)體看作青蛙,通過(guò)模擬青蛙在覓食過(guò)程中共享最優(yōu)信息的行為,提出了一種新的群智能優(yōu)化算法—混合蛙跳算法(Shuffled Frog Leaping Algorithm,SFLA)。SFLA是一種受自然生物啟示而產(chǎn)生的基于群體協(xié)同搜索的優(yōu)化方法,具有概念簡(jiǎn)單、參數(shù)少、計(jì)算速度快、易于實(shí)現(xiàn)等優(yōu)點(diǎn)。目前,SFLA已被成功運(yùn)用到解決貼片機(jī)貼裝順序優(yōu)化問(wèn)題、組合優(yōu)化和數(shù)值優(yōu)化等領(lǐng)域[8-9]。隨著研究的深入,學(xué)者們發(fā)現(xiàn),與其他群智能優(yōu)化算法一樣,蛙跳算法也存在早熟收斂和求解精度不夠高的缺點(diǎn)[10]。為了提高蛙跳算法的優(yōu)化性能,學(xué)者們提出了很多的改進(jìn)算法。比如,趙鵬軍等人[11]在子群內(nèi)部搜索中結(jié)合吸引排斥機(jī)制,有效避免了算法早熟收斂的問(wèn)題;何兵等人[12]將蛙跳算法和差分進(jìn)化算法進(jìn)行融合,提出了一種蛙跳和差分進(jìn)化混合算法,提高了算法的性能;葛宇等人[13]將Logistic混沌序列引入到蛙跳算法中,提出了自適應(yīng)混沌變異蛙跳算法,并用實(shí)驗(yàn)證明了該算法的有效性,等等。這些改進(jìn)算法在一定程度上提高了蛙跳算法的性能,但是仍然有各自的不足。

        基于以上的分析,本文在利用蛙跳算法求解非線(xiàn)性方程組時(shí),引入具有強(qiáng)局部收斂能力的BFGS算法,以提高蛙跳算法的局部細(xì)化搜索能力,進(jìn)而提高算法的求解精度。仿真實(shí)驗(yàn)結(jié)果表明,本文提出的蛙跳和BFGS混合算法在解決非線(xiàn)性方程組方面效果顯著,其求解精度比已有的一些求解方法的求解精度高,是求解非線(xiàn)性方程組的有效方法。

        1 模型的建立

        實(shí)函數(shù)非線(xiàn)性方程組的一般形式(假設(shè)有n個(gè)變量 x1,x2,...,xn和 n 個(gè)方程,且有解)為:

        一般地,方程組(1)式可以轉(zhuǎn)化為如下的最優(yōu)化問(wèn)題形式:

        則構(gòu)造適應(yīng)度函數(shù)可以設(shè)置為:

        則求解非線(xiàn)性方程組(1)的問(wèn)題就轉(zhuǎn)化為求適應(yīng)度函數(shù)Y最小值的優(yōu)化問(wèn)題。

        2 蛙跳和BFGS混合算法

        2.1 混合蛙跳算法的基本理論

        混合蛙跳算法是一種群體智能進(jìn)化算法,它模擬青蛙群體尋找食物時(shí)按子群分類(lèi)進(jìn)行信息交換的過(guò)程,將全局搜索與子群內(nèi)部搜索相結(jié)合,使算法能朝全局最優(yōu)解方向進(jìn)化?;旌贤芴惴ǖ臄?shù)學(xué)模型如下:

        設(shè)青蛙群體規(guī)模為F,其中第i個(gè)個(gè)體在D維空間中的坐標(biāo)為xi=(xi1,xi2,…,xiD),計(jì)算個(gè)體的適應(yīng)度f(wàn)(xi),根據(jù)適應(yīng)度將其按升序順序排列存儲(chǔ)于集合{(xi,fi),i=1,2,…,F(xiàn)}中,然后按照特定的劃分原則將整個(gè)青蛙群體分為S個(gè)子群{Y1,Y2,…,Ys},每個(gè)子群中包含N個(gè)個(gè)體,即滿(mǎn)足關(guān)系F=SN。族群劃分規(guī)則為:

        在每一個(gè)子群中,適應(yīng)度最優(yōu)的解記為 xb=(xb1,xb2,…,xbD),適應(yīng)度最差的解記為 xw=(xw1,xw2,…,xwD);群體中適應(yīng)度最優(yōu)的解記為xg=(xg1,xg2,…,xgD)。則在每次進(jìn)化中,對(duì)xw進(jìn)行更新操作,其搜索策略為:

        其中,r為[0,1]內(nèi)的均勻隨機(jī)數(shù),j=1,2,…,S,Dmax為最大移動(dòng)步長(zhǎng)。如果f(xw')優(yōu)于f(xw),則用xw'代替xw;若沒(méi)有改進(jìn),則用xg替換xb,重復(fù)執(zhí)行式(5)和式(6);如若仍沒(méi)有改進(jìn),則從搜索空間中隨機(jī)產(chǎn)生一個(gè)新的解代替原來(lái)的xw,并在指定迭代次數(shù)內(nèi)繼續(xù)執(zhí)行以上操作。隨后對(duì)所有族群的青蛙重新混合并排序,更新群體最佳青蛙位置xb,然后重新劃分族群,如果循環(huán)直到滿(mǎn)足終止條件,從而完成了蛙跳算法的進(jìn)化過(guò)程。

        2.2 BFGS 方法

        BFGS 方法[14]是由 Broyden、Fletcher、Goldfarb 和Shanno等人在1970年提出的。它是一個(gè)擬牛頓方法,具有二次終止性、整體收斂性和超線(xiàn)性收斂性,且算法所產(chǎn)生的搜索方向是共軛的。BFGS方法是一個(gè)有效的局部算法,用來(lái)求解優(yōu)化問(wèn)題的主要步驟如下:

        其中,Step5中不精確一維搜索方法使用的是Wolfe不精確一維搜索方法,即要求λk滿(mǎn)足:

        其中,α =0.1,β =0.5。

        2.3 蛙跳和BFGS混合算法的過(guò)程

        混合蛙跳算法具有良好的全局搜索能力,并具有對(duì)初始值、參數(shù)選擇不敏感、魯棒性強(qiáng)和容易實(shí)現(xiàn)等優(yōu)點(diǎn),是一種較好的全局優(yōu)化方法。但在優(yōu)化后期混合蛙跳算法的收斂速度有所變慢,而且求解精度不高,這是因?yàn)榛旌贤芴惴ㄈ狈α己玫木植考?xì)化搜索能力,導(dǎo)致搜索結(jié)果僅獲得滿(mǎn)意解域而不是最優(yōu)解。為了克服這些缺點(diǎn),本文在混合蛙跳算法的進(jìn)化后期階段引入BFGS方法,利用BFGS強(qiáng)的局部搜索能力和超收斂性來(lái)加快收斂速度,提高算法整體的局部搜索能力,進(jìn)而提高求解精度。由于BFGS是局部搜索算法,其優(yōu)化結(jié)果的好壞在很大程度上取決于初始值的選取,為此可以利用具有全局有所能力較強(qiáng)的混合蛙跳算法提供給BFGS方法良好的初始值。

        設(shè)群體中解的個(gè)數(shù)為M、子群數(shù)為S、最大子群內(nèi)部進(jìn)化代數(shù)為P以及最大全局進(jìn)化代數(shù)為G,適應(yīng)度函數(shù)為f(x)。針對(duì)最小值函數(shù)優(yōu)化問(wèn)題,本文提出的蛙跳和BFGS混合算法的偽代碼如下:

        3 實(shí)驗(yàn)結(jié)果與分析

        為了測(cè)試本文算法求解非線(xiàn)性方程組的性能,采用蛙跳和BFGS混合算法對(duì)3個(gè)非線(xiàn)性方程組[15]進(jìn)行測(cè)試,測(cè)試結(jié)果和幾種傳統(tǒng)的數(shù)值方法以及混合蛙跳算法的結(jié)果進(jìn)行比較。所有實(shí)驗(yàn)均在Intel(R)Core(TM)2 Duo CPU E4500、2G 內(nèi)存和 MATLAB 7.11.0的環(huán)境中運(yùn)行。算法中涉及的參數(shù)設(shè)置如下:種群中解個(gè)數(shù)M=300,子群數(shù)S=30,子群內(nèi)解個(gè)數(shù)N=10,子群內(nèi)部進(jìn)化代數(shù)P=25,BFGS的最大迭代次數(shù)K=10,ε=1E-7。為了減小誤差,本文算法的最后結(jié)果是算法獨(dú)立運(yùn)行20次的平均值。實(shí)驗(yàn)結(jié)果如表1~表3所示,圖1和圖2分別是基本混合蛙跳算法和本文算法對(duì)第一個(gè)非線(xiàn)性方程組和第二個(gè)非線(xiàn)性方程組的計(jì)算誤差的對(duì)比圖。

        表1 第一個(gè)非線(xiàn)性方程組的求解結(jié)果

        表2 第二個(gè)非線(xiàn)性方程組的求解結(jié)果

        表3 第三個(gè)非線(xiàn)性方程組的求解結(jié)果

        圖1 對(duì)第一個(gè)非線(xiàn)性方程組的計(jì)算誤差對(duì)比圖

        圖2 對(duì)第二個(gè)非線(xiàn)性方程組的計(jì)算誤差對(duì)比圖

        從表1可以看出,對(duì)于第一個(gè)非線(xiàn)性方程組,前面4種傳統(tǒng)算法的計(jì)算結(jié)果相差不大,誤差基本上是1E-4。而基本混合蛙跳算法的計(jì)算結(jié)果比傳統(tǒng)算法的結(jié)果要好,誤差降到了1E-10,而本文算法的計(jì)算誤差達(dá)到1E-32,比基本混合蛙跳算法的誤差降低了3倍。這表明,對(duì)于第一個(gè)非線(xiàn)性方程組,本文的計(jì)算精度比其它算法提高了很多。圖1是基本混合蛙跳算法和本文算法對(duì)第一個(gè)非線(xiàn)性方程組的計(jì)算誤差對(duì)比圖,從圖中可以看出,本文算法的收斂速度比基本混合蛙跳算法的收斂速度快。對(duì)于第二個(gè)非線(xiàn)性方程組,表2的實(shí)驗(yàn)結(jié)果表明,本文算法的誤差結(jié)果達(dá)到了0,這說(shuō)明本文算法獲得了精確解,而其它算法卻沒(méi)有達(dá)到這個(gè)精度。圖2是第二個(gè)非線(xiàn)性方程組的計(jì)算誤差圖,從圖2也可以看出,本文算法的收斂速度比基本混合蛙跳算法的收斂速度快。第三個(gè)方程組包含10個(gè)方程,從表3可以看出,相對(duì)于傳統(tǒng)算法,混合蛙跳算法和本文算法的計(jì)算誤差要小很多,特別本文算法,誤差比基本混合蛙跳算法降低了1倍。

        3個(gè)經(jīng)典的非線(xiàn)性方程組的實(shí)驗(yàn)結(jié)果表明,與傳統(tǒng)算法和基本混合蛙跳算法相比,本文算法能用更少的迭代次數(shù)找到更精確的解,計(jì)算精度有所提高。

        4 結(jié)束語(yǔ)

        為提高蛙跳算法的局部細(xì)化能力,進(jìn)而提高其計(jì)算精度,引入局部搜索能力強(qiáng)的BFGS算法,提出一種蛙跳算法和BFGS的混合算法。該混合算法較好地利用了蛙跳算法強(qiáng)的全局搜索能力和BFGS強(qiáng)的局部細(xì)化能力,不但可以加快算法的收斂速度,而且有效地提高了搜索精度,具有很強(qiáng)的魯棒性。3個(gè)非線(xiàn)性方程組的實(shí)驗(yàn)結(jié)果表明,該方法是一種較好的求解非線(xiàn)性方程組的算法,能獲得比傳統(tǒng)算法和基本蛙跳算法更好的求解精度和收斂速度。

        [1]王冬冬,周永權(quán).人工魚(yú)群算法在求解非線(xiàn)性方程組中的應(yīng)用[J].計(jì)算機(jī)應(yīng)用研究,2007,24(6):242-244.

        [2]陳海霞,楊鐵貴.基于極大熵差分進(jìn)化混合算法求解非線(xiàn)性方程組[J].計(jì)算機(jī)應(yīng)用研究,2010,27(6):2028-2030.

        [3]Li D H,F(xiàn)ukushima M.A modified BFGS method and its global convergence in nonconvex minimization[J].Journal of Computational and Applied Mathematics,2001,129(1-2):15-35.

        [4]付振岳,王順?lè)?,丁海燕,?并發(fā)遺傳退火算法求解復(fù)雜非線(xiàn)性方程組[J].云南大學(xué)學(xué)報(bào):自然科學(xué)版,2012,34(1):15-19.

        [5]劉利斌,歐陽(yáng)艾嘉,許衛(wèi)明,等.求解非線(xiàn)性方程組的BFGS差分進(jìn)化算法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(33):55-58.

        [6]高雷阜,齊微.改進(jìn)的粒子群理論及在非線(xiàn)性方程組中的應(yīng)用[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(35):48-50,76.

        [7]Eusuff M M,Lansey K E.Optimization of water distribution network design using the shuffled forg leaping algorithm[J].Journal of Water Resources Planning and Management,2003,129(3):210-225.

        [8]萬(wàn)博,盧昱,陳立云,等.求解CVRP的改進(jìn)混合蛙跳算法研究[J].計(jì)算機(jī)應(yīng)用研究,2011,28(12):4503-4506.

        [9]陳鐵梅,羅家祥,胡躍明.基于蟻群-混合蛙跳算法的貼片機(jī)貼裝順序優(yōu)化[J].控制理論與應(yīng)用,2011,28(12):1813-1820.

        [10]丁衛(wèi)平,王建東,管致錦.基于量子蛙跳協(xié)同進(jìn)化的粗糙屬性快速約簡(jiǎn)[J].電子學(xué)報(bào),2011,39(11):2597-2603.

        [11]趙鵬軍.基于差分?jǐn)_動(dòng)的混合蛙跳算法[J].計(jì)算機(jī)應(yīng)用,2010,30(10):2575-2577.

        [12]何兵,車(chē)林仙,劉初升.一種蛙跳和差分進(jìn)化混合算法[J].計(jì)算機(jī)工程與應(yīng)用,2011,47(18):4-8.

        [13]葛宇,王學(xué)平,梁靜.自適應(yīng)混沌變異蛙跳算法[J].計(jì)算機(jī)應(yīng)用研究,2011,28(3):945-947.

        [14]唐煥文,秦學(xué)志.實(shí)用最優(yōu)化方法[M].大連:大連理工大學(xué)出版社,2006.

        [15]Grosan C,Abraham A.A new approach for solving nonlinear equations systems[J].IEEE Transactions on Systems,Man and Cybernetics-Part A,2008,38(3):698-714.

        猜你喜歡
        優(yōu)化方法
        超限高層建筑結(jié)構(gòu)設(shè)計(jì)與優(yōu)化思考
        民用建筑防煙排煙設(shè)計(jì)優(yōu)化探討
        關(guān)于優(yōu)化消防安全告知承諾的一些思考
        一道優(yōu)化題的幾何解法
        由“形”啟“數(shù)”優(yōu)化運(yùn)算——以2021年解析幾何高考題為例
        學(xué)習(xí)方法
        可能是方法不對(duì)
        用對(duì)方法才能瘦
        Coco薇(2016年2期)2016-03-22 02:42:52
        四大方法 教你不再“坐以待病”!
        Coco薇(2015年1期)2015-08-13 02:47:34
        賺錢(qián)方法
        久亚洲精品不子伦一区| 日本人妻少妇精品视频专区| 日本丰满熟妇bbxbbxhd| 老头巨大挺进莹莹的体内免费视频| 久久精品一区二区免费播放| 亚洲天堂免费视频| 欧美v日韩v亚洲综合国产高清| 一本久道久久综合狠狠操| 中文字幕视频一区二区| 麻豆人妻性色av专区0000| 国产亚洲aⅴ在线电影| 国产强被迫伦姧在线观看无码| 狼狼综合久久久久综合网| 亚洲中文字幕无码专区| 国产免费一级在线观看| 免费人人av看| 熟女高潮av一区二区| 亚洲乱码中文字幕视频| 亚洲成av人片乱码色午夜| 国产亚洲日本精品无码| 久久中文字幕人妻熟av女蜜柚m| 国产精品无码久久久久久蜜臀AV| 国产一区亚洲一区二区| 久久亚洲免费精品视频| 日韩午夜理论免费tv影院| 黑人大荫道bbwbbb高潮潮喷| 日本一区二区三区中文字幕最新| 强d乱码中文字幕熟女1000部 | 91视频香蕉| 国产在视频线精品视频二代| 日产分东风日产还有什么日产| 精品亚洲一区二区三区四| 妺妺窝人体色www聚色窝| 免费观看又污又黄的网站| 亚洲动漫成人一区二区| 亚洲高清美女久久av| 亚洲综合av大全色婷婷| 尤物在线精品视频| 末发育娇小性色xxxxx视频| 98色花堂国产精品首页| 中文字幕麻豆一区二区|