1. 程式人生 > >關於《強化狼群等級制度的灰狼優化演算法》的問題郵件回覆

關於《強化狼群等級制度的灰狼優化演算法》的問題郵件回覆

宣告: 自己當初在看到該文章的時候就抱著試試的態度,給作者發了 郵件,不過 會回覆的那麼快,而且每個問題都做說明,很是驚喜,還開心,之前就一直收藏在郵箱裡,這兩天重新翻閱,越發覺得應該貼出來。再次謝謝作者詳細的回覆!!!

你好,我是張老師的學生,也是本文的作者之一,非常高興你對這篇文章感興趣,下面就你的問題跟你交流分享一下我的個人見解,希望能對你的學習和研究有所幫助。

問題1:文章2.2中說到為了強化等級制度對於狼群狩獵的影響,為每個灰狼個體設計兩種狩獵。這裡有些不明白,是通過不同的等級對映可選擇的狩獵方式強調等級嗎?

答:這裡確實是根據灰狼所屬的不同等級幫助其選擇對應的狩獵方式,使得不同等級的灰狼擁有不同的更新方式,藉此強調“等級制度”這一概念。

問題2:決策因子那裡本質是獲得一個小於等於1的小數,這個有什麼特別的目的嗎?因為決策因子主要是受狼的等級影響,為什麼不直接的使用狼的等級?

答:這裡的決策因子可以理解為是根據灰狼所屬等級計算出來的一個更新模式選擇概率,因為“概率”就是用來反應一件事情會發生的可能性的大小嘛,這裡就用來表示選擇某一種位置更新方式的可能性。

問題3:α狼位置更新,那裡使用d與k的關係作為條件,K是隨機的產生的一個數?頭狼不是每一代中的適應度最好的嗎?這個位置更新,是在頭狼確定的基礎之上,一直對其位置改變。d=k的時候,隨機的兩頭狼的該屬性去更新,這個為什麼不借鑑下一等級最優的哪兩頭狼?

答:這裡k是[1,D]間的一個隨機正整數,表示從1到D維中隨機挑選1維,這點在文章中也是有詳細說明的。當d=k時,就意味著它當時正好挑選中了自己所在維度的值,這時用自己的值替換自己也就是沒有改變,那就沒有意義了,同時也會浪費計算次數,所以為避免這種情況,我們所選取的解決方式是:當d=k時,借鑑差分進化演算法的突變思想,利用隨機選擇其他的兩頭狼的該位置的差值去更新a狼的位置,這種策略更加強調加強演算法的全域性探索能力,而當d≠K時,a狼的更新方式則更強調區域性探索能力,這樣就使得演算法在全域性探索和區域性搜尋能力上比較均衡。而借鑑下一等級最優的兩頭狼的位置則還是強調區域性探索能力,所以就沒有考慮。

問題4:等級的強化在位置更新上,不設定權重嗎?依照原文中的除以3,我總覺得這個沒有強化出等級。可能是自己理解不夠吧?

答:你這個問題提的非常好,說明你對GWO演算法確實也有著自己的深入思考。依照原文中的除以3,確實無法體現出a,β,δ之間等級的局別,而本文的改進策略也是出於對“除以3無法體現出狼群等級制度”這一點的思考。你所提的“設定權重”確實是一種很機智的改進思路,也是可行的,如《基於改進流體擾動演算法與灰狼優化的無人機三維航路規劃》中就是通過“設定權重”來優化GWO演算法的效能,所以你也可以從這“權重設定”這一角度出發設計相應的改進策略來對GWO演算法的效能進行優化。

問題5:程式碼測試函式那裡,偏移測試函式中的z=x-o這裡的o是什麼啊?

答:這裡的平移函式大多選自CEC2005測試集,其中o在原文中的標準解釋是“the shifted global optimum”,你如果想對這些測試函式有更深入的瞭解的話,可以參考CEC2005這篇文獻,它也可以幫助你對其他測試函式的特徵、結構、最優值等有一個更全面的認識。

問題6:還有程式碼我使用原作者網站上的GWO測試函式,通常都沒有您圖上所示的結果,會出現沒有GWO函式圖形。所以不知道可不可以參看下您的程式碼?(嘻嘻**就是這麼臭不要臉)

答:對於這個問題我也只能表示非常抱歉了,因為實驗程式碼應該也算是每個實驗室的特有勞動成果了,所以實在是不方便外傳,還請多多見諒和理解。

 希望通過上述的回答能夠幫助你解除疑惑!

     也祝你:

學業有成,天天開心。

                                                                                                     2018年5月23日