非線性規(guī)劃的粒子群算法_第1頁
非線性規(guī)劃的粒子群算法_第2頁
非線性規(guī)劃的粒子群算法_第3頁
非線性規(guī)劃的粒子群算法_第4頁
非線性規(guī)劃的粒子群算法_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

XX大學(xué)智能優(yōu)化算法課內(nèi)實驗報告書院系名稱:學(xué)生姓名:專業(yè)名稱:班級:學(xué)號:時間:非線性規(guī)劃問題的粒子群算法1.1背景介紹1.1.1非線性規(guī)劃簡介具有非線性約束條件或目的函數(shù)的數(shù)學(xué)規(guī)劃,是運(yùn)籌學(xué)的一個重要的分支,非線性規(guī)劃研究一個n元實函數(shù)在一組等式或不等式的約束條件下的機(jī)制問題且目的函數(shù)和約束條件至少有一個是未知量的非線性函數(shù),目的函數(shù)和約束條件都是線性函數(shù)的情形則屬于線性規(guī)劃。非線性規(guī)劃是20世紀(jì)50年代才開始形成的一門新興學(xué)科。1951年H.W庫恩和A.W塔克發(fā)表的關(guān)于最優(yōu)性條件的論文是非線性規(guī)劃正式誕生的一個重要標(biāo)志。在50年代可得出了可分離規(guī)劃和二次規(guī)劃的n種解法,它們大都是以G.B.丹齊克提出的解線性規(guī)劃的單純形法為基礎(chǔ)的。50年代末到60年代末出現(xiàn)了許多解非線性規(guī)劃問題的有效的算法,70年代又得到進(jìn)一步的發(fā)展。非線性規(guī)劃在工程、管理、經(jīng)濟(jì)、科研、軍事等方面都有廣泛的應(yīng)用,為最優(yōu)設(shè)計提供了有力的工具。非線性規(guī)劃問題廣發(fā)存在于科學(xué)與工程領(lǐng)域,是一類比較難以解決的優(yōu)化問題,沒有普遍使用的解法。傳統(tǒng)的求解該問題的方法(如罰函數(shù),可行方向法,以及變尺度法等)是基于梯度的方法所以目的函數(shù)與約束式必須是可微的,并且這些方法只能保證求的局部最優(yōu)解。1.1.2粒子群算法簡介粒子群算法(ParticleSwarmoptimization,PSO)的基本概念源于對于鳥群捕食行為的簡化社會模型的模擬,1995年由Kenndy和Eberhart等人提出,它同遺傳算法類似,通過個體間的協(xié)作和競爭實現(xiàn)全局搜索系統(tǒng)初始化為一組隨機(jī)解,稱之為粒子。通過粒子在搜索空間的飛行完畢尋優(yōu),在數(shù)學(xué)公式中即為迭代,它沒有遺傳算法的交叉及變異算子,而是粒子在解空間追隨最優(yōu)的粒子進(jìn)行搜索。PSO算法的改善重要在參數(shù)選擇、拓?fù)浣Y(jié)構(gòu)以及與其他優(yōu)化算法相融合方面。據(jù)此當(dāng)前典型的改善算法有:自適應(yīng)PSO算法、模糊PSO算法、雜交PSO算法、混合粒子算法(HPSO)和離散PSO算法等等。其中自適應(yīng)和模糊PSO算法是EberhartShi研究了慣性因子ω對優(yōu)化性能的影響,發(fā)現(xiàn)較大的ω值有助于跳出局部極小點,較小的ω值有助于算法的收斂。自適應(yīng)PSO算法通過線性地減少ω值動態(tài)的調(diào)整參數(shù)ω,而模糊PSO算法則在此基礎(chǔ)上運(yùn)用模糊規(guī)則動態(tài)調(diào)整參數(shù)ω的值,即構(gòu)造一個2輸入、1輸出的模糊推理機(jī)來動態(tài)地修改慣性因子ω。雜交和混合粒子群算法(HPSO)是受遺傳算法、自然選擇機(jī)制的啟示,將遺傳算子與基本PSO相結(jié)合而得。雜交PSO在基本PSO中引入了雜交算子,兩者均取得了滿意的結(jié)果,改善了算法的性能?;綪SO算法是求解連續(xù)函數(shù)優(yōu)化的有力工具,但對離散問題卻無能為力。因此Kenndy和Eberhart發(fā)展了離散PSO算法,用于解決組合優(yōu)化問題等。在一定限度上完善發(fā)展了基本PSO算法,并將其應(yīng)用于旅行商問題(TSP)的求解,取得了較好的結(jié)果。目前PSO已經(jīng)廣泛應(yīng)用于函數(shù)優(yōu)化、神經(jīng)網(wǎng)絡(luò)訓(xùn)練、模糊系統(tǒng)控制以及其它遺傳算法的應(yīng)用領(lǐng)域。最初應(yīng)用到神經(jīng)網(wǎng)絡(luò)訓(xùn)練上,在隨后的應(yīng)用中PSO又可以用來擬定神經(jīng)網(wǎng)絡(luò)的結(jié)構(gòu)。一般說來,PSO比較有潛在的應(yīng)用涉及系統(tǒng)設(shè)計、多目的優(yōu)化、分類、模式辨認(rèn)、調(diào)度、信號解決、決策、機(jī)器人應(yīng)用等。其中具體應(yīng)用實例是非線性規(guī)劃的粒子群算法??傊?,PSO算法的應(yīng)用十分廣泛,它有著比較好的發(fā)展前景,值得做進(jìn)一步的研究。4基本粒子群算法4.1粒子群算法簡介粒子群算法是一個非常簡樸的算法,且可以有效的優(yōu)化各種函數(shù)。從某種限度上說,此算法介于遺傳算法和進(jìn)化規(guī)劃之間。此算法非常依賴于隨機(jī)的過程,這也是和進(jìn)化規(guī)劃的相識之處,此算法中朝全局最優(yōu)和局部最優(yōu)靠近的調(diào)整非常的類似于遺傳算法中的交叉算子。此算法還是用了適應(yīng)值的概念,這是所有進(jìn)化計算方法所共有的特性。在粒子群算法中,每個個體稱為一個“粒子”,其實每個粒子代表著一個潛在的解。例如,在一個D維的目的搜索空間中,每個粒子當(dāng)作是空間內(nèi)的一個點。設(shè)群體由m個粒子構(gòu)成。m也被稱為群體規(guī)模,過大的m會影響算法的運(yùn)算速度和收斂性。PSO算法通常的數(shù)學(xué)描述為:設(shè)在一個D維空間中,由m個粒子組成的種群,其中第i個粒子位置為,其速度為。它的個體極值為,種群的全局極值為,按照追隨當(dāng)前最優(yōu)例子的原理,粒子將按(4.1)、(4.2)式改變自己的速度和位置。(4.1)(4.2)式中j=1,2,…,D,i=1,2,…m,m為種群規(guī)模,t為當(dāng)前進(jìn)化代數(shù),為分布于[0,1]之間的隨機(jī)數(shù);為加速常數(shù)。從式(4.1)中可知,每個粒子的速度由三部分組成:第一部分為粒子先前的速度;第二部分為“認(rèn)知”部分,表達(dá)粒子自身的思考;第三部分為“社會”部分,表達(dá)粒子間的信息共享與互相合作。4.1.3粒子群算法的特點粒子群算法是一種新興的智能優(yōu)化技術(shù),是群體智能中一個新的分支,它也是對簡樸社會系統(tǒng)的模擬。該算法本質(zhì)上是一種隨機(jī)搜索算法,并能以較大的概率收斂于全局最優(yōu)解。實踐證明,它適合在動態(tài)、多目的優(yōu)化環(huán)境中尋優(yōu),與傳統(tǒng)的優(yōu)化算法相比較具有更快的計算速度和更好的全局搜索能力。具體特點如下:(1)粒子群優(yōu)化算法是基于群體智能理論的優(yōu)化算法,通過群體中粒子間的合作與競爭產(chǎn)生的群體智能指導(dǎo)優(yōu)化搜索。與進(jìn)化算法比較,PSO是一種更為高效的并行搜索算法。(2)PSO與GA有很多共同之處,兩者都是隨機(jī)初始化種群,使用適應(yīng)值來評價個體的優(yōu)劣限度和進(jìn)行一定的隨機(jī)搜索。但PSO是根據(jù)自己的速度來決定搜索,沒有GA的明顯的交叉和變異。與進(jìn)化算法比較,PSO保存了基于種群的全局搜索策略,但是其采用的速度-位移模型操作簡樸,避免了復(fù)雜的遺傳操作。(3)PSO有良好的機(jī)制來有效地平衡搜索過程的多樣性和方向性。(4)GA中由于染色體共享信息,故整個種群較均勻地向最優(yōu)區(qū)域移動。在PSO中g(shù)best將信息傳遞給其他粒子,是單向的信息流動。多數(shù)情況下,所有的粒子也許更快地收斂于最優(yōu)解。(5)PSO特有的記憶使其可以動態(tài)地跟蹤當(dāng)前的搜索情況并調(diào)整其搜索策略。(6)由于每個粒子在算法結(jié)束時仍然保持著其個體極值。因此,若將PSO用于調(diào)度和決策問題時可以給出多種故意義的選擇方案。而基本遺傳算法在結(jié)束時,只能得到最后一代個體的信息,前面迭代的信息沒有保存。(7)即使同時使用連續(xù)變量和離散變量,對位移和速度同時采用和離散的坐標(biāo)軸,在搜索過程中也并不沖突。所以PSO可以很自然、很容易地解決混合整數(shù)非線性規(guī)劃問題。(8)PSO算法對種群大小不十分敏感,即種群數(shù)目下降時性能下降不是很大。(9)在收斂的情況下,由于所有的粒子都向最優(yōu)解的方向飛去,所以粒子趨向同一化(失去了多樣性)使得后期收斂速度明顯變慢,以致算法收斂到一定精度時無法繼續(xù)優(yōu)化。因此很多學(xué)者都致力于提高PSO算法的性能。4.1.4粒子群算法的應(yīng)用粒子群算法提供了一種求解復(fù)雜系統(tǒng)優(yōu)化問題的通用框架,它不依賴于問題的具體領(lǐng)域,對問題的種類有很強(qiáng)的適應(yīng)性,所以廣泛應(yīng)用于很多學(xué)科。下面是粒子群算法的一些重要應(yīng)用領(lǐng)域:(1)函數(shù)優(yōu)化。函數(shù)優(yōu)化是粒子群算法的經(jīng)典應(yīng)用領(lǐng)域,也是對粒子群算法進(jìn)行性能評價的常用算例。(2)約束優(yōu)化。隨著問題的增多,約束優(yōu)化問題的搜索空間也急劇變換,有時在目前的計算機(jī)上用枚舉法很難或甚至不也許求出其精確最優(yōu)解。粒子群算法是解決這類問題的最佳工具之一。實踐證明,粒子群算法對于約束優(yōu)化中的規(guī)劃,離散空間組合問題的求解非常有效。(3)工程設(shè)計問題。工程設(shè)計問題在許多情況下所建立起來的數(shù)學(xué)模型難以精確求解,即使通過一些簡化之后可以進(jìn)行求解,也會因簡化得太多而使得求解結(jié)果與實際相差甚遠(yuǎn)?,F(xiàn)在粒子群算法已成為解決復(fù)雜調(diào)度問題的有效工具,在電路及濾波器設(shè)計、神經(jīng)網(wǎng)絡(luò)訓(xùn)練、控制器設(shè)計與優(yōu)化、任務(wù)分派等方面粒子群算法都得到了有效的應(yīng)用。(4)電力系統(tǒng)領(lǐng)域。在其領(lǐng)域中有種類多樣的問題,根據(jù)目的函數(shù)特性和約束類型許多與優(yōu)化相關(guān)的問題需規(guī)定解。PSO在電力系統(tǒng)方面的應(yīng)用重要如下:配電網(wǎng)擴(kuò)展規(guī)劃、檢修計劃、機(jī)組組合、負(fù)荷經(jīng)濟(jì)分派、最優(yōu)潮流計算與無功優(yōu)化控制、諧波分析與電容配置、配電網(wǎng)狀態(tài)估計、參數(shù)辨識、優(yōu)化設(shè)計。隨著粒子群優(yōu)化理論研究的進(jìn)一步,它還將在電力市場競價交易、投標(biāo)策略以及電力市場仿真等領(lǐng)域發(fā)揮巨大的應(yīng)用潛在力。(5)機(jī)器人智能控制。機(jī)器人是一類復(fù)雜的難以精確建模的人工系統(tǒng),而粒子群算法可用于此類機(jī)器人群搜索,如機(jī)器人的控制與協(xié)調(diào),移動機(jī)器人途徑規(guī)劃。所以機(jī)器人智能控制理所當(dāng)然地成為粒子群算法的一個重要應(yīng)用領(lǐng)域。(6)交通運(yùn)送領(lǐng)域。交通方面有車輛途徑問題,在物流配送供應(yīng)領(lǐng)域中規(guī)定以最少的車輛數(shù)、最小的車輛總行程來完畢貨品的派送任務(wù);交通控制,城市交通問題是困擾城市發(fā)展、制約城市經(jīng)濟(jì)建設(shè)的重要因素。城市交通運(yùn)送系統(tǒng)的管理和控制技術(shù)進(jìn)行研究,來為緩解交通擁擠發(fā)揮巨大作用。其中在其解決方法中應(yīng)用粒子群算法給解決問題提供了新的,有效的計算方式。(7)通信領(lǐng)域。其中涉及路由選擇及移動通信基站布置優(yōu)化,在順序碼分多址連接方式(DS-CDMA)通訊系統(tǒng)中使用粒子群算法,可獲得可移植的有力算法并提供并行解決能力。比傳統(tǒng)的先前的算法有了顯著的優(yōu)越性。還應(yīng)用到天線陣列控制和偏振模色散補(bǔ)償?shù)确矫妗#?)計算機(jī)領(lǐng)域。在計算機(jī)中解決各種問題都涉及到大量的信息計算的方法選擇以減少程序運(yùn)營的時間,增長系統(tǒng)解決問題的能力,其中涉及任務(wù)分派問題、數(shù)據(jù)分類、圖像解決等,都得到了粒子群算法的實際問題解決效率的提高。(9)生物醫(yī)學(xué)領(lǐng)域。許多菌體的生長模型即為非線性模型提出了用粒子群算法解決非線性模型的參數(shù)估計問題。還在分子力場的參數(shù)設(shè)定和蛋白質(zhì)圖形的發(fā)現(xiàn)。根據(jù)粒子群算法提出的自適應(yīng)多峰生物測定融合算法,提高了解決問題的準(zhǔn)確性。在醫(yī)學(xué)方面,如醫(yī)學(xué)成像上得到的推廣應(yīng)用等。4.2基本粒子群算法4.2.1基本粒子群算法的構(gòu)成要素(1)粒子群編碼方法。基本粒子群算法使用固定長度的二進(jìn)制符號串來表達(dá)群體中的個體,其等位基因是由二值符號集{0,1}所組成的。初始群體中各個個體的基因值可用均勻分布的隨機(jī)數(shù)來生成。(2)個體適應(yīng)度評價。通過擬定局部最優(yōu)迭代達(dá)成全局最優(yōu)收斂,得出結(jié)果。(3)基本粒子群算法的運(yùn)營參數(shù)。基本粒子群算法有下述7個運(yùn)營參數(shù)需要提前設(shè)定:●r為粒子群算法的種子數(shù),對粒子群算法其中種子數(shù)值可以隨機(jī)生成也可以固定為一個初始的數(shù)值,規(guī)定能涵蓋目的函數(shù)的范圍內(nèi)?!馦:粒子群群體大小,即群體中所含個體的數(shù)量,一般取為20~100。在變量比較多的時候可以取100以上較大的數(shù)?!駇ax_d:一般為最大迭代次數(shù)以最小誤差的規(guī)定滿足的。粒子群算法的最大迭代次數(shù),也是終止條件數(shù)?!駌1,r2:兩個在[0,1]之間變化的加速度權(quán)重系數(shù)隨機(jī)產(chǎn)生。●c1,c2:加速度數(shù),取隨機(jī)2左右的值?!駑w:為慣性權(quán)重產(chǎn)生的。●vk,xk:為一個粒子的速度和位移數(shù)值,用粒子群算法迭代出每一組數(shù)值。4.2.2基本粒子群算法的形式化定義基本粒子群算法可定義為的元素:max_d——粒子群算法的最大迭代次數(shù);r——給定個體的種子數(shù)值;fmax——為最大的慣性權(quán)值;fmin——為最小的慣性權(quán)值;pg——初始群體值;M——粒子群的群體大??;vk——粒子移動的速度;xk——粒子移動的方向;c1,c2;r1,r1——隨機(jī)參數(shù)變量;[x,dd]=judge(x,M)——算法調(diào)用的求解函數(shù)。4.2.3基本粒子群算法描述beginInitalize;%涉及初始化粒子群數(shù),粒子初始速度和位置[x,xd]=judge(x,pop_size);%調(diào)用judge函數(shù),初始化第一次值fornum=2:最大迭代次數(shù)wk=wmax-num*(wmax-wmin)/max_gen;%計算慣性權(quán)重r1=;r2=%隨機(jī)產(chǎn)生加速權(quán)重PSO算法迭代求vk,xk;While判斷vk是否滿足條件再次重新生成加速權(quán)重系數(shù)r1;r2PSO算法再次迭代求vk;xk數(shù)值end調(diào)用[x,xd]=judge(x,pop_size);重新計算出目的函數(shù)值判斷并重新生成pj數(shù)值;判斷并重新生成pjd數(shù)值;if迭代前數(shù)值>迭代后的數(shù)值累加迭代次數(shù)值end輸出隨機(jī)數(shù)種子、進(jìn)度、最優(yōu)迭代次數(shù)、每個函數(shù)的數(shù)值和目的函數(shù)的數(shù)值用ASCII保存粒子位移的數(shù)值用ASCII保存粒子速度的數(shù)值end5基于粒子群算法求解非線性規(guī)劃問題的設(shè)計作為運(yùn)籌學(xué)的一個重要的分支,非線性規(guī)劃問題求解方法一直式人們研究的重點。隨著優(yōu)化對象復(fù)雜性的增長,優(yōu)化問題的規(guī)模也越來越大,傳統(tǒng)的優(yōu)化方法難以適應(yīng),因此人們在尋求嚴(yán)格最優(yōu)化理論化方法和智能優(yōu)化方法如遺傳算法,蟻群算法等,但各種方法都有其相應(yīng)的合用范圍和局限性。粒子群優(yōu)化算法是由Kennedy和Eberhart開發(fā)的一種演化計算技術(shù)。由于PSO概念簡樸、容易實現(xiàn)并且沒有許多參數(shù)需要調(diào)整,同時又有深刻的智能背景,即適合科學(xué)計算,又特別適合工程應(yīng)用。因此,將粒子群算法應(yīng)用于非線性規(guī)劃,是改善求解非線性規(guī)劃的效果,提高非線性規(guī)劃質(zhì)量的有效途徑。本章就是介紹粒子群算法在非線性規(guī)劃中的具體應(yīng)用,設(shè)計并實現(xiàn)基于粒子群算法的非線性規(guī)劃問題的求解。5.1實用粒子群算法設(shè)計5.1.1編碼方法設(shè)計在MATLAB中編寫非線性規(guī)劃問題的粒子群算法編碼的過程中,一方面在函數(shù)中把非線性規(guī)劃函數(shù)轉(zhuǎn)化為一種MATLAB可以閱讀的矩陣型的函數(shù)值,在其中添加約束條件,并作超過約束的變換的方法。在運(yùn)營函數(shù)中設(shè)立各種參數(shù)數(shù)值,編寫粒子群方法的實現(xiàn)方法,并迭代求解各個過程中目的函數(shù)的數(shù)值解,輸出結(jié)果值。在所有局部解中搜索最優(yōu)解,作為最終的目的函數(shù)數(shù)值。計算結(jié)束。5.1.2適應(yīng)度函數(shù)設(shè)計適應(yīng)度表達(dá)個體x對環(huán)境的適應(yīng)限度。分為兩類,一類為針對被優(yōu)化的目的函數(shù)的優(yōu)化型適應(yīng)度,另一類為針對約束函數(shù)的約束性適應(yīng)度。其中優(yōu)化型適應(yīng)度和約束型適應(yīng)度分別表達(dá)為(5-1)(5-1)定義不同約束條件的權(quán)重為,則總的約束型適應(yīng)度為。其中,,這里,隨機(jī)獲得,任意選取k組,獲得的k個適應(yīng)值的均值作為最終的總的約束型適應(yīng)度。5.1.3基于約束適應(yīng)度優(yōu)先排序的約束條件解決方法由于粒子向適應(yīng)度函數(shù)值高的方向群游,因此對群體中所有粒子按照適應(yīng)值進(jìn)行排序,基本思想是:一方面比較粒子的約束適應(yīng)度,適應(yīng)值大的粒子排名靠前;假如約束值大的粒子排名靠前。與通常的處罰函數(shù)方法相比,這種方法的優(yōu)點是可行點的適應(yīng)度總是優(yōu)于非可行點的適應(yīng)度。從而使得優(yōu)化過程先得到可行點,然后由這些可行點及較好的不可行點的進(jìn)行操作得到最優(yōu)可行點。這樣可以將進(jìn)入可行域和得到優(yōu)化點統(tǒng)一起來,且無需變換優(yōu)化目的的適應(yīng)度到大于零,并且無需設(shè)立約束適應(yīng)度和目的適應(yīng)度的權(quán)重,使用較為簡樸。5.1.4動態(tài)鄰域算子由于在適應(yīng)值較好的點的鄰域一定存在適應(yīng)度更好的個體,為此可采用動態(tài)鄰域算子方法,基本思想是:在優(yōu)化的初始階段,一個微粒的鄰域就是它自身,當(dāng)優(yōu)化代數(shù)增長后,鄰域逐漸變大,最后將涉及所有的微粒。為得到鄰域,一方面在約束適應(yīng)度空間,計算候選個體與其他所有個體的距離,其中對第個個體的距離為,找出距離最近的k個個體(k為鄰域大?。?,其中目的函數(shù)適應(yīng)值大的個體為鄰域的局部歷史最佳值,其中最大距離為,并定義一個與當(dāng)前計算代數(shù)有關(guān)的分?jǐn)?shù),假如,且,則針對進(jìn)行搜索;否則使用。根據(jù)粒子鄰域是否為整個群體,PSO分為全局模型和局部模型,對于模型,每個粒子與整個群體的其他粒子進(jìn)行信息互換,并有向所有粒子中的歷史最佳位置移動的趨勢。Kennedy指出,模型雖然具有較快的收斂速度,但更容易陷入局部極值。為了克服全局模型的缺陷,研究人員采用每個粒子僅在一定的鄰域內(nèi)進(jìn)行信息互換,提出各種局部模型。根據(jù)現(xiàn)有的研究成果,本文將鄰域分為空間鄰域、性能空間鄰域和社會關(guān)系鄰域??臻g鄰域直接在搜索空間按粒子間的距離進(jìn)行劃分,如Suganthan引入一個時變的歐式空間鄰域算子:在搜索初始階段,將鄰域定義為每個粒子自身;隨著迭代次數(shù)的增長,將鄰域范圍逐漸擴(kuò)展到整個種群。性能空間指根據(jù)性能指標(biāo)(如適應(yīng)度、目的函數(shù)值)劃分的鄰域。社會關(guān)系鄰域通常按粒子存儲陣列的索引編號進(jìn)行劃分,這也是研究最多的一種劃分手段,重要有:環(huán)形拓?fù)?、輪形拓?fù)浠蛐切瓮負(fù)洹⑺瓮負(fù)?、馮-諾以曼拓?fù)湟约半S機(jī)拓?fù)涞?。針對不同的?yōu)化問題,這些拓?fù)涞男阅鼙憩F(xiàn)各異;但總的來說隨機(jī)拓?fù)渫鶎Υ蠖鄶?shù)問題能表現(xiàn)出較好的性能,另一方面是馮-諾以曼拓?fù)洹?.1.5可變慣性權(quán)重和最大速度慣性權(quán)重控制前一變化量對當(dāng)前變化量的影響,假如較大,可以搜索以前未能達(dá)成的區(qū)域,整個算法的全局搜索能力加強(qiáng);若較小,則前一部分的影響較小,重要是在當(dāng)前解的附近搜索,局部搜索能力較強(qiáng),在具體實例中的方法將慣性權(quán)重設(shè)為從0.8到0.2隨時間線性減小的變量,使其在前期時有較高的探索能力以及得到合適的種子,而在后期時有較高的開發(fā)能力以加快收斂速度。最大速度決定在當(dāng)前位置與最佳的位置之間的區(qū)域的分辨率(或精度),假如太高,微粒也許會飛過好解,假如太小,微粒不能在局部好區(qū)間之外進(jìn)行足夠的探索,導(dǎo)致陷入局部優(yōu)值。5.1.6粒子群算法運(yùn)營參數(shù)設(shè)計(1)群體大小M。群體大小M表達(dá)群體中所含個體的數(shù)量。M取值的大小與粒子群算法運(yùn)營速度,群體多樣性有關(guān)。一般取值為50~100。在變量比較多的時候會影響粒子群算法的精確度,因此可以擴(kuò)大粒子群的大小,本文引用300個粒子數(shù)。(2)權(quán)重fmax,fmin,c1,c2。fmax為初始慣性權(quán)重,fmin為終止慣性權(quán)重。c1粒子自身加速度權(quán)重系數(shù),一般在0-2之間的取值,c2為全局加速度權(quán)重系數(shù),一般在0-2之間取值。在算法中c1和c2為隨機(jī)產(chǎn)生數(shù)值。(3)r1,r2。[0,1]范圍內(nèi)兩個互相獨立的,均勻分布的隨機(jī)數(shù)。(4)粒子自身速度vk。為了減少在搜索過程中粒子離開搜索空間的也許性,vk通過被限定于一定的范圍內(nèi),即,當(dāng)然,亦可根據(jù)具體情況,將搜索空間限定于一定的范圍內(nèi),粒子的位移內(nèi)。(5)代溝G。這里我們由父代生成子代過程中,不是單純地直接遺傳,而是進(jìn)行兩次遺傳操作。將當(dāng)前群體Mi作為父代,對父代Mi進(jìn)行遺傳操作(交叉、變異)產(chǎn)生群體大小相同的子代Mi1,在對父代Mi和子代Mi1按適應(yīng)度值大小降序排列,將種群Mi和Mi1中前1/2的較好個體整合成一個種群Mx2,對種群Mx2進(jìn)行遺傳操作(交叉、變異)產(chǎn)生群體大小相同的孫代Mi2。由此得到3個群體大小相同的種群Mi、Mi1、Mi2。對3個種群按適應(yīng)度大小進(jìn)行降序排列,用Mi1、Mi2中前1/3的個體(即最佳的M/3個個體)淘汰Mi中后2/3的個體,新形成的種群Mx3,將種群Mx3作為子代種群Mi+1。5.2非線性規(guī)劃的粒子群算法程序設(shè)計5.2.1算法過程描述由基本粒子群算法的算法描述再結(jié)合本次畢業(yè)設(shè)計的實際情況,我們設(shè)計了以下的具體算法流程。環(huán)節(jié)如下:(1)初始化粒子群算法的參數(shù),最大迭代次數(shù)(終止條件)max_d=1000;粒子群大小M=300;給定種子數(shù)值為r=20880001。(2)設(shè)立初始judge[x,M]函數(shù)及初始條件和初始計算結(jié)果。(3)對粒子群賦初始值。(4)設(shè)立慣性權(quán)重值fmax=0.8;fmin=0.2。隨機(jī)產(chǎn)生加速度權(quán)重系數(shù)。(5)進(jìn)入算法迭代,計算慣性權(quán)重系數(shù)wk,同時隨機(jī)產(chǎn)生加速權(quán)重系數(shù)r1,r2,算法迭代。(6)判斷粒子速度防止速度超過范圍,再次進(jìn)行粒子群算法重新計算粒子速度vk和粒子位移xk。(7)調(diào)用judge函數(shù)重新計算目的函數(shù)數(shù)值。(8)判斷num-1次數(shù)值與num次數(shù)值,并重新生成新的目的函數(shù)值。(9)判斷目的函數(shù)數(shù)值的大小,并ww=num生成進(jìn)度數(shù)值。(10)輸出種子數(shù)值、進(jìn)度數(shù)、最優(yōu)迭代次數(shù)、目的函數(shù)數(shù)值。(11)用ASCII保存粒子位移數(shù)值。(12)用ASCII保存粒子速度數(shù)值。(13)繪

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論