最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

量化軟件下載:赫茲量化中種群優(yōu)化算法---灰狼優(yōu)化器

2023-08-10 13:26 作者:大牛啊呢  | 我要投稿

1. 概述

灰狼算法是 2014 年開發(fā)出的一種元啟發(fā)式隨機群體智能算法。 它的思路是基于灰狼群狩獵模型。 狼群內(nèi)有四種類型階層:阿爾法、貝塔、德爾塔、和歐米茄。 阿爾法階層在群體決策和管理方面擁有最大的“權(quán)重”。 接下來是貝塔和德爾塔階層,它們服從阿爾法截倉,并擁有對狼群內(nèi)其余階層成員的壓制。 歐米茄階層的狼總是服從其余的統(tǒng)治階層狼。

在狼的階層數(shù)學(xué)模型中,阿爾法階層狼被認為是狼群中的主導(dǎo)狼,它的命令應(yīng)該由狼群成員執(zhí)行。 貝塔階層的從屬狼協(xié)助阿爾法階層制定決策,被認為是阿爾法角色的最佳候選。 德爾塔階層狼應(yīng)該服從阿爾法和貝塔階層,但它們支配著歐米茄階層。 歐米茄階層狼被認為是狼群的替罪羊,也是重要性最低下的個體。 它們只允許在最后才能進食。 阿爾法階層被認為是最有利的解。

第二和第三最佳解分別是貝塔和德爾塔階層。 歐米茄階層則認為是解的殘料。 假設(shè)最適者的狼(阿爾法、貝塔、和德爾塔),即最接近獵物的狼,然后接近的是其余的狼。 每次接近后,就能判定誰是這個階段的阿爾法、貝塔和德爾塔,然后狼群再次重新排列。 編隊持續(xù)進行,直至狼群聚集在一起,這將是以最小距離進行攻擊的最優(yōu)方向。

在算法過程中,執(zhí)行 3 個主要階段,其中狼群搜索獵物、包圍、和攻擊獵物。 搜索揭示出阿爾法、貝塔和德爾塔 — 最接近獵物的狼。 而其余的,服從占主導(dǎo)地位的指揮,也許會開始包圍獵物,或繼續(xù)隨機移動,以便尋找最佳選項。



2 條所述情況。 算法說明

圖 1 示意性地展示狼群的階層結(jié)構(gòu)。阿爾法階層起著主導(dǎo)作用。


編輯切換為居中


圖例 1. 狼群中的社會階層





數(shù)學(xué)模型和算法社會階層:

  • 優(yōu)等解是由阿爾法(α)狼形成的。

  • 二等解由貝塔(β)狼形成。

  • 三等解由德爾塔(δ)狼形成。

  • 其它可能的解,由歐米茄伏(ω)狼形成。

包圍獵物:當(dāng)已經(jīng)有最佳解的阿爾法、貝塔、和德爾塔在場時,進一步的行動取決于歐米茄。





編輯切換為居中

圖例 2. 狩獵階段:搜索、包圍、攻擊。


算法的所有迭代都表現(xiàn)為三個階段:搜索、包圍、和狩獵。 該算法的規(guī)范版本具有引入的a 計算比率,以提高算法的收斂性。 該比率在每次迭代時遞減,直至為零。 只要比率超過 1,狼群的初始化就會持續(xù)進行。 在這個階段,獵物的位置是完全未知的,所以狼群應(yīng)該是隨機分布的。

在“搜索”階段之后,判定適應(yīng)度函數(shù)的值,然后才有可能進入“包圍”階段。 在此階段,a 比率大于 1。 這意味著阿爾法、貝塔和德爾塔正在遠離它們之前的位置,從而可以優(yōu)調(diào)估算獵物的位置。 當(dāng) a 比率等于 1 時,“攻擊”階段開始,而比率在迭代結(jié)束前趨于 0。 這導(dǎo)致狼群接近獵物,表明已經(jīng)找到了最佳位置。 雖然,如果在這個階段,其中某只狼找到了更好的解,那么獵物的位置和狼群的層次結(jié)構(gòu)將會更新,但比例仍然趨于 0。 變化的過程由非線性函數(shù)表示。 這些階段示意如圖例 2 所示。

歐米茄階層的狼,其行為在所有世代都是不變的,包括遵循當(dāng)前占主導(dǎo)地位的個體位置之間的幾何中心。 在圖例 3 中,阿爾法、貝塔和德爾塔在隨機方向上偏離它們之前的位置,半徑由系數(shù)給出,歐米茄移動到它們之間的中心,但在半徑內(nèi)有一定程度偏離它的概率。 半徑?jīng)Q定了 a比率,正如我們記得的那樣,它的變化導(dǎo)致半徑成比例地減小。





編輯切換為居中

圖例 3. 歐米茄相對阿爾法、貝塔和德爾塔的的運動圖


GWO 算法的偽代碼如下:

1) 隨機初始化灰狼種群。 2) 計算種群每只個體成員的體質(zhì)狀況。 3) 狼群領(lǐng)導(dǎo)者: -α = 具有最佳體質(zhì)值的成員 -β = 第二等強大的成員(就體質(zhì)值而言) -δ = 第三等強大的成員(就體質(zhì)值而言) 根據(jù) α、β、δ 方程更新所有歐米茄狼的位置 4) 計算種群中每個成員的體質(zhì)。 5) 重復(fù)步驟 3。

我們繼續(xù)討論算法代碼。 我對原始版本所做的唯一補充就是能夠設(shè)置狼群中主導(dǎo)狼的數(shù)量。 現(xiàn)在,您可以設(shè)置任意數(shù)量的主導(dǎo)者,最多可達整個狼群。 對于特定任務(wù)這可能很實用。

如往常一樣,我們從算法的基本單元 — 狼開始,這是問題的解。 這是一個包含坐標數(shù)組和獵物值(適應(yīng)度函數(shù))的結(jié)構(gòu)。 對于主導(dǎo)者和次等成員,結(jié)構(gòu)是相同的。 這簡化了算法,并允許我們在循環(huán)操作中使用相同的結(jié)構(gòu)。 甚至,在所有迭代過程中,狼的角色會多次變化。 角色由排序后在數(shù)組中的位置唯一確定。 主導(dǎo)者位于數(shù)組的開頭。

//—————————————————————————————————————————————————————————————————————————————— struct S_Wolf { ?double c []; //coordinates ?double p; ? ?//prey }; //——————————————————————————————————————————————————————————————————————————————




狼群由一個緊湊且易于理解的類代表。 在此,我們聲明要優(yōu)化的參數(shù)范圍和步長,最佳生產(chǎn)位置,最佳解的值,和輔助函數(shù)。

//—————————————————————————————————————————————————————————————————————————————— class C_AO_GWO //wolfpack { ?//============================================================================ ?public: double rangeMax ?[]; //maximum search range ?public: double rangeMin ?[]; //manimum search range ?public: double rangeStep []; //step search ?public: S_Wolf wolves ? ?[]; //wolves of the pack ?public: double cB ? ? ? ?[]; //best prey coordinates ?public: double pB; ? ? ? ? ? //best prey ?public: void InitPack (const int ? ?coordinatesP, ? //number of opt. parameters ? ? ? ? ? ? ? ? ? ? ? ? const int ? ?wolvesNumberP, ?//wolves number ? ? ? ? ? ? ? ? ? ? ? ? const int ? ?alphaNumberP, ? //alpha beta delta number ? ? ? ? ? ? ? ? ? ? ? ? const int ? ?epochCountP); ? //epochs number ?public: void TasksForWolves ? ? ?(int epochNow); ?public: void RevisionAlphaStatus ();


量化軟件下載:赫茲量化中種群優(yōu)化算法---灰狼優(yōu)化器的評論 (共 條)

分享到微博請遵守國家法律
武安市| 濉溪县| 巴彦淖尔市| 商城县| 光山县| 阿拉尔市| 蓝山县| 绿春县| 天津市| 阜新| 南城县| 肥城市| 济宁市| 天长市| 岳阳市| 定陶县| 综艺| 泾阳县| 北辰区| 汉源县| 湖北省| 岳池县| 洛浦县| 五寨县| 乐亭县| 安丘市| 三都| 白水县| 库伦旗| 西宁市| 岳阳县| 无锡市| 友谊县| 探索| 宁化县| 环江| 交口县| 阿巴嘎旗| 恩施市| 南郑县| 麦盖提县|