鯨魚群算法詳細流程_第1頁
鯨魚群算法詳細流程_第2頁
鯨魚群算法詳細流程_第3頁
鯨魚群算法詳細流程_第4頁
鯨魚群算法詳細流程_第5頁
已閱讀5頁,還剩2頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、.2 鯨魚群算法為了開發(fā)用來解決函數(shù)優(yōu)化問題的鯨魚群算法,我們對鯨魚的一些行為進行了假設(shè)。為了簡便地描述鯨魚群算法,我們假設(shè)以下四個理想化規(guī)則:1)所有鯨魚在搜索區(qū)域中通過超聲波進行交流;2)每條鯨魚能夠計算出自身與其它鯨魚的距離;3)每條鯨魚發(fā)現(xiàn)的食物的優(yōu)劣程度通過適應度值表示;4)鯨魚的移動由比它好(由適應度值判斷)的鯨魚中離它最近的鯨魚進行引導,這種引導鯨魚在本文中被稱為“較優(yōu)且最近”的鯨魚。1)迭代公式無線電波和光波都是電磁波,它們可以在沒有任何介質(zhì)的情況下傳播。如果在水中傳播,由于水具有強大的導電性,它們的強度會快速衰減。聲波是一種需要通過介質(zhì)傳播的機械波,介質(zhì)可以是水、空氣、木材和

2、金屬等。超聲波屬于聲波,其傳輸速度和距離很大程度上取決于介質(zhì)的屬性,例如,超聲波在水中的傳播速度約1450m/s,這比在空氣中的傳播速度(約340m/s)更快。另外,一些具有預先指定強度的超聲波在空氣中只能傳播2米,但是在水下可以傳播約100米,這是因為機械波的強度會通過介質(zhì)分子連續(xù)地衰減,并且超聲波在空氣中傳播的強度比在水中衰減得更快。距離波源d的超聲波強度可以由如下公式表示29:(1)其中0指超聲波源的強度,e為自然對數(shù),為衰減系數(shù),它取決于介質(zhì)的物理化學性質(zhì)和超聲波本身的屬性(例如超聲波頻率)29。如公式1所示,當恒定時,隨著d的增加呈指數(shù)減小,這意味著當超聲波的傳播距離變得相當遠時,鯨

3、魚傳送的超聲波所攜帶的消息很有可能失真。所以,當一條鯨魚接收到來自相當遠的鯨魚的信息時,它不確定自己理解是否正確,這時,我們假設(shè)鯨魚將消極地朝著離自己相當遠的“較優(yōu)且最近”的鯨魚隨機移動。根據(jù)上述可以知道,在捕食的時候,如果距離“較優(yōu)且最近”的鯨魚較近,鯨魚將積極地向它隨機移動;如果距離較遠,鯨魚會消極地向其隨機移動。因此,經(jīng)過一段時間,就會形成一些獨立的種群。這種基于超聲波衰減的隨機移動規(guī)則啟發(fā)了我們獲得一種新的位置迭代公式,該公式使得算法不會過早陷入局部最優(yōu),并且能夠增強種群多樣性和全局搜索能力,也有助于求解多個全局最優(yōu)解。鯨魚X在它的“較優(yōu)且最近”的鯨魚Y引導下的隨機移動可以由如下公式表

4、示:(2)其中,和分別指X的第i個元素在t步與t+1步迭代的位置;指Y的第i個元素在t步迭代的位置;指X與Y之間的距離;表示0到之間產(chǎn)生的隨機數(shù),根據(jù)大量實驗的結(jié)果,對于幾乎所有的實例,0都可以設(shè)置為2。衰減系數(shù)取決于介質(zhì)的物理化學性質(zhì)和超聲波本身的屬性。對于函數(shù)優(yōu)化問題,影響的因素與目標函數(shù)的特征相關(guān),包括函數(shù)的維數(shù)、定義域和峰值分布。因此,需要針對不同的目標函數(shù)設(shè)置適當?shù)闹?。根?jù)大量的實驗結(jié)果,為了方便工程師應用鯨魚群算法,我們可以按照如下方法設(shè)置的初始近似值。首先,令,即,指在搜索區(qū)域內(nèi)兩只鯨魚之間可能的最大距離,可由計算得到,其中n為目標函數(shù)的維數(shù),與分別表示第i個變量的下限與上限。這

5、個公式表示如果鯨魚X與其“較優(yōu)且最近”的鯨魚Y之間的距離是時,應設(shè)置為0.5,它影響著鯨魚X的移動范圍。因此,基于該近似初始值,很容易將調(diào)整為最優(yōu)值或近似最優(yōu)值。圖2 由“較優(yōu)且最近”的鯨魚引導的隨機移動示意圖根據(jù)公式2可知,如果一條鯨魚與它的“較優(yōu)且最近”的鯨魚之間的距離很小,該條鯨魚將會積極地朝其“較優(yōu)且最近”的鯨魚隨機移動;否則,它將消極地朝著其“較優(yōu)且最近”的鯨魚隨機移動,正如圖2所示。圖2中的目標函數(shù)維數(shù)為2,紅色五角星表示全局最優(yōu)解,圓圈表示鯨魚,用虛線標記的矩形區(qū)域是當前迭代中鯨魚的可達區(qū)域。2)WSA總體框架基于上述規(guī)則,WSA的總體框架如圖3所示。其中,第6行中的|表示鯨魚群

6、中的個體數(shù),即種群大??;第7行中的i是中的第i條鯨魚。從圖3可以看出,與其它大多數(shù)元啟發(fā)式算法類似,迭代計算之前的步驟是一些初始化步驟,包括參數(shù)的初始化配置、初始化個體的位置以及對每個個體的評價。這里,所有的鯨魚個體的位置是采用隨機初始化的方式。WSA的核心步驟是鯨魚的移動(第5-13行),每條鯨魚通過與群體中其它鯨魚合作向更好的位置移動。首先,鯨魚需要確定它的“較優(yōu)且最近”的鯨魚(第7行)。如果它的“較優(yōu)且最近”的鯨魚存在,那么它將根據(jù)公式2向其“較優(yōu)且最近”的鯨魚移動(第9行);否則,它將保持原地不動。尋找“較優(yōu)且最近”的鯨魚的偽代碼如圖4所示,其中,f(i)表示鯨魚i的適應度值,dist

7、(i, u)表示i與u之間的距離。WSA的總體框架輸入:適應度函數(shù),鯨魚群。輸出:全局最優(yōu)解。1:開始2:初始化參數(shù);3:初始化鯨魚位置;4:評價鯨魚(計算其適應度值);5:while 終止條件不滿足 do6: for i=1 to | do7: 尋找i的“較優(yōu)且最近”的鯨魚Y;8: if Y存在 then9: i在Y的引導下根據(jù)公式(2)進行移動;10: 評價i;11: end if12: end for13:end while14:返回 全局最優(yōu)解;15:結(jié)束圖3 WSA的總體框架尋找“較優(yōu)且最近”的鯨魚的偽代碼輸入:鯨魚群,鯨魚u。輸出:鯨魚u的“較優(yōu)且最近”的鯨魚。1:開始2:定義整型

8、(int)變量v并初始化為0;3:定義浮點型(float)變量temp并初始化為+;4:for i=1 to | do5: if f(i)<f(u) then6: if dist(i, u)<temp then7: v=i;8: temp=dist(i, u);9: end if10: end if11:end for12:返回v;13:結(jié)束圖4 尋找“較優(yōu)且最近”的鯨魚的偽代碼FJSP的編碼機制FJSP問題包含機器分配和工序排序兩個子問題,因此每個個體可采用基于隨機鍵的兩段式編碼,其中各段長度相等,且分別對應機器分配方案和工序排序方案,假設(shè)個體位置向量長度為2l,則克表示為X=x

9、(1),x(2),.x(2l),各元素均在-,內(nèi)任意取值。假設(shè)車間內(nèi)包含3個工件,每個工件包含兩道工序,則個體位置向量的總長度為12,各元素-3,3中任意取值(注意此處為取值為工件的個數(shù)),并按照一定的順序儲存,如圖1所示。此處大家把那個文獻的圖畫一下。鯨魚群算法的求解步驟整理:1 鯨魚群算法的參數(shù)初始化的設(shè)置,此處帶入與分別表示第i個變量的下限與上限值,比如混合灰狼算法里面的(-3,3)進而將dmax的值帶入,得到的值,然后就可以進行求解了。2 鯨魚群算法的種群隨機初始化,例如初始化種群規(guī)模為10,3 計算每個個體對應的適應度值,也就是目標函數(shù)值,并保留最優(yōu)個體X*;4 判斷是否滿足算法終止

10、條件,達到設(shè)定的最大迭代次數(shù),不滿足則執(zhí)行步驟5;滿足則執(zhí)行步驟6.5 對剩余9個個體進行鯨魚群算法的迭代操作5.1 定義兩只鯨魚之間的距離計算方法,5.2 如果存在的話,對每一個鯨魚尋找“較優(yōu)且最近”的個體;以Xi為例如下,如果不存在的話則保持不動。5.2.1 找到所有適應度值大于Xi 的個體如Y1,Y2,Y3。5.2.2計算每一個適應度值大于大于Xi 的個體Y1,Y2,Y3與Xi之間的距離D1,D2,D3.5.2.3 對D1,D2,D3排序,選擇最小的如D3,則D3所對應的個體Y3即為Xi的“較優(yōu)且最近”的個體;5.4 將Xi和Y3的值,以及初始化的參數(shù)帶入迭代公式(2)更新剩余的9個個體

11、,返回步驟3,計算連同X*在內(nèi)的10個個體的適應度值,并選擇最優(yōu)的X*;6 輸出最優(yōu)的X*,以及對應的最佳調(diào)度方案和目標函數(shù)值,總的流程時間等。FJSP的編碼機制FJSP問題包含機器分配和工序排序兩個子問題,因此每個個體可采用基于隨機鍵的兩段式編碼,其中各段長度相等,且分別對應機器分配方案和工序排序方案,假設(shè)個體位置向量長度為2l,則克表示為X=x(1),x(2),.x(2l),各元素均在-,內(nèi)任意取值。假設(shè)車間內(nèi)包含3個工件,每個工件包含兩道工序,則個體位置向量的總長度為12,各元素-3,3中任意取值(注意此處為取值為工件的個數(shù)),并按照一定的順序儲存,如圖1所示。此處大家把那個文獻的圖畫一

12、下。鯨魚群算法的求解柔性作業(yè)車間調(diào)度問題(FJSP)步驟整理:1 鯨魚群算法的參數(shù)初始化的設(shè)置,此處此處大家把參數(shù)補充一下2 鯨魚群算法的種群隨機初始化,按照FJSP的編碼方式,隨機生成初始種群;例如初始化種群規(guī)模為10,3 計算每個個體對應的適應度值,也就是目標函數(shù)值,并保留最優(yōu)個體X*;4 判斷是否滿足算法終止條件,達到設(shè)定的最大迭代次數(shù),不滿足則執(zhí)行步驟5;滿足則執(zhí)行步驟6.5 對剩余9個個體進行鯨魚群算法的迭代操作5.1執(zhí)行調(diào)度方案向個體位置向量的轉(zhuǎn)換方式生成對應的初始化鯨魚個體種群為95.2 定義兩只鯨魚之間的距離計算方法,5.3 如果存在的話,對每一個鯨魚尋找“較優(yōu)且最近”的個體;以Xi為例如下,如果不存在的話則保持不動。5.3.1 找到所有適應度值大于Xi 的個體如Y1,Y2,Y3。5.3.2計算每一個適應度值大于大于Xi 的個體Y1,Y2,Y3與Xi之間的距離D1,D2,D3.5.3.3

溫馨提示

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

評論

0/150

提交評論