羅曉賓 郭德龍 周錦程
【摘 要】求解函數(shù)優(yōu)化問題的方法有很多種,如傳統(tǒng)求解函數(shù)優(yōu)化問題的算法有:罰函數(shù)、解析法等。但這些傳統(tǒng)算法都存在運(yùn)行慢、收斂性差、迭代次數(shù)過多缺點(diǎn)。針對(duì)這些問題,本文引入粒子群優(yōu)化算法進(jìn)行函數(shù)優(yōu)化問題求解,該算法收斂速度快、結(jié)構(gòu)簡單、調(diào)節(jié)參數(shù)少、易于實(shí)現(xiàn)等優(yōu)點(diǎn)。經(jīng)過充分發(fā)揮粒子群算法的優(yōu)點(diǎn),解決了傳統(tǒng)優(yōu)化算法中存在的不足。最后,仿真實(shí)驗(yàn)結(jié)果表明,粒子群優(yōu)化算法是可行的和有效的。
【關(guān)鍵詞】PSO算法;函數(shù)優(yōu)化;最優(yōu)解
中圖分類號(hào): TP18?文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 2095-2457(2019)15-0106-003
DOI:10.19694/j.cnki.issn2095-2457.2019.15.051
Particle Swarm Algorithm for Solving Function Optimization Problems
LUO Xiao-bin1,2 GUO De-long1,2 ZHIU Jin-cheng1,2
(1.School of Mathematics and Statistics Qiannan Normal University for Nationalities,
Duyun Guizhou 558000,China;
2.Key Laboratory of Complex Systems and Intelligent Computing,School of Mathematics and Statistics,
Duyun Guizhou 558000,China)
【Abstract】There are many ways to solve function optimization problems,Such as the traditional solution function optimization algorithm algorithms are:Penalty function,analytic method and so on.However,these traditional algorithms are running slow,poor convergence,too many times the number of iterations.to deal with these problems,In this paper, particle swarm optimization algorithm is introduced to solve the function optimization problem,The algorithm has the advantages of fast convergence,simple structure,few adjustment parameters and easy realization.After giving full play to the advantages of particle swarm optimization algorithm,Which solves the shortcomings in the traditional optimization algorithm.Finally,the simulation results show that,Particle swarm optimization algorithm is feasible and effective.
【Key words】Particle swarm optimization;Function optimization;Optimal solution
0 引言
在當(dāng)今的生產(chǎn)和工程技術(shù)應(yīng)用中有一些問題最后歸結(jié)為求函數(shù)優(yōu)化問題,而傳統(tǒng)的優(yōu)化算法只能解決一些簡單的函數(shù)優(yōu)化問題并且要求函數(shù)可導(dǎo)和連續(xù)的條件,對(duì)于一些復(fù)雜的函數(shù)優(yōu)化問題,它會(huì)陷入局部最優(yōu),收斂速度很慢。雖然傳統(tǒng)算法在這個(gè)領(lǐng)域取得了一定的研究,但是在某些問題上還存在很多缺陷。因此,本文提出了一種求解粒子群優(yōu)化算法的函數(shù)優(yōu)化問題,與傳統(tǒng)算法相比,PSO算法簡單易懂,波動(dòng)性沒有變化,在實(shí)際求目標(biāo)函數(shù)中該算法利用粒子飛行速度和位置來決定適應(yīng)度?;诹W尤核惴ㄈ菀桌斫?、操作簡單、便于實(shí)現(xiàn)且參數(shù)少等優(yōu)點(diǎn)。通過仿真實(shí)驗(yàn)結(jié)果表明:PSO克服了傳統(tǒng)算法的一些局限尋優(yōu)問題,同時(shí)收斂速度也優(yōu)于傳統(tǒng)優(yōu)化算法,更好的解決了局部優(yōu)化問題。
1 問題描述
假如目標(biāo)函數(shù)F(X)的決定變量是一個(gè)n維向量X=(X ,X ,…,X ) ,即使帶約束的優(yōu)化問題,則可以經(jīng)過引進(jìn)懲罰函數(shù)等手段將帶約束的優(yōu)化問題改變?yōu)椴粠Ъs束的優(yōu)化問題[1],固然是關(guān)于最大值問題, 能夠經(jīng)過單一的改變轉(zhuǎn)為最小值問題,如此優(yōu)化問題則可以合并為談?wù)撃繕?biāo)函數(shù)F(X)在各個(gè)決定分量區(qū)間min x max ,[min ,max ]i=1,2,…,n,n上的最小值問題。區(qū)間[min ,max ],i=1,2,…,n,n通過求解約束, 我們可以找到目標(biāo)函數(shù)的最優(yōu)搜索n維空間。
2 粒子群算法的介紹
2.1 粒子群算法的基本原理
自粒子群算法提出以來就被廣泛關(guān)注,它是通過鳥群覓食思想的一種智能優(yōu)化算法。將鳥群的個(gè)體當(dāng)作是沒有重量的微粒,和鳥群集體飛行搜索到最佳飛行方向相似,粒子也跟隨當(dāng)前最優(yōu)而運(yùn)動(dòng)[2]。粒子群算法具有較好的搜索能力、容易理解、操作簡單、參數(shù)少等優(yōu)點(diǎn),在實(shí)際運(yùn)用該算法的時(shí)候?qū)⒑瘮?shù)待求目標(biāo)比作粒子,這些粒子在搜索空間中都以當(dāng)前搜素到最優(yōu)位置的粒子飛行,以達(dá)到整體尋優(yōu)的目的[3]。
如下圖1所示。粒子群算法求解抽象成顆粒的問題,隨機(jī)獲得初始化的粒子后計(jì)算其適應(yīng)度,粒子群優(yōu)化的位置和單個(gè)顆粒的最優(yōu)位置的選取,然后分別更新粒子的速度和位置,如是滿足終止條件,輸出最佳的結(jié)果,否則,返回第二步重新計(jì)算。在計(jì)算中需要注意適應(yīng)度誤差應(yīng)當(dāng)在允許的范圍內(nèi),或者迭代計(jì)算超過了允許的最大迭代次數(shù),這些因素都影響著滿足終止條件,從而直接影響輸出的最優(yōu)結(jié)果。下圖1利用粒子群算法程序更好的說明了粒子群算法的基本原理。
2.2 標(biāo)準(zhǔn)粒子群算法的流程圖
3 粒子群算法求解函數(shù)優(yōu)化問題的實(shí)現(xiàn)步驟
4 數(shù)值仿真實(shí)驗(yàn)與結(jié)果分析
選取以下函數(shù)進(jìn)行仿真實(shí)驗(yàn):
仿真結(jié)果與統(tǒng)計(jì)數(shù)據(jù)見表1、表2。該實(shí)驗(yàn)是用Matlab R2010a 7.10.0編寫,在操作系統(tǒng):Windows7處理器:Intel(R)Celeron(R)CPU 1007U@1.50GHz安裝內(nèi)存:4.00GB系統(tǒng)類型:64位操作系統(tǒng)電腦上進(jìn)行的。其中參數(shù)設(shè)置如下:c1=c2=1.49445,群體規(guī)模M=20,Wmax,Wmin分別為1,-1,為防止粒子飛出可行區(qū)域,設(shè)定最大速度Vmax和最大位移Xmax等于函數(shù)定義域范圍。
5 結(jié)論
傳統(tǒng)優(yōu)化算法求解函數(shù)優(yōu)化問題時(shí),對(duì)于復(fù)雜的函數(shù)優(yōu)化問題,在求解過程當(dāng)中存在很多缺陷,所以,基于優(yōu)化算法和粒子群算法對(duì)函數(shù)的優(yōu)化問題,提出了PSO解決函數(shù)優(yōu)化問題,該算法具有收斂快,易于理解,參數(shù)少,計(jì)算精確等優(yōu)點(diǎn),仿真實(shí)驗(yàn)結(jié)果表明該算法十分有效,可以看作是傳統(tǒng)方法的補(bǔ)充和拓展。
【參考文獻(xiàn)】
[1]楊艷,李樹波.一種改進(jìn)的權(quán)均值粒子群優(yōu)化算法[J].軟件導(dǎo)刊,2013(5):58-60.
[2]林偉民,周寧寧.線性遞減的粒子群優(yōu)化算法[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014(10):73-76.
[3]趙會(huì)洋,王爽,楊志鵬.粒子群優(yōu)化算法研究綜述[J].福建電腦,2007(3):28-28.
[4]汪靈枝.模擬退火改進(jìn)粒子群優(yōu)化算法求解函數(shù)優(yōu)化問題[J].柳州師專學(xué)報(bào),2006(3):107-109.
[5]雷秀娟,史忠科,王來軍.粒子群優(yōu)化算法在多目標(biāo)優(yōu)化中的應(yīng)用與仿真[J].計(jì)算機(jī)工程與應(yīng)用,2006(2):32-33.