日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

多策略黑猩猩优化算法-附代码

發(fā)布時間:2023/12/20 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 多策略黑猩猩优化算法-附代码 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

多策略黑猩猩優(yōu)化算法

文章目錄

  • 多策略黑猩猩優(yōu)化算法
    • 1.黑猩猩優(yōu)化算法
    • 2. 改進黑猩猩優(yōu)化算法
      • 2.1 混沌反向?qū)W習(xí)策略初始化種群
      • 2.2 單純形法
      • 2.3 群個體記憶機制
    • 3.實驗結(jié)果
    • 4.參考文獻
    • 5.Matlab代碼
    • 6.Python代碼

摘要:針對基本黑猩猩優(yōu)化算法存在的依賴初始種群、易陷入局部最優(yōu)和收斂精度低等問題,提出一種多策略黑猩猩優(yōu)化算法(Chaotic Elite Opposition-Based Simple Method Improved COA,EOSMICOA)。在EOSMICOA算法中,利用混沌精英反向?qū)W習(xí)策略對黑猩猩個體位置進行初始化,提高種群的多樣性和質(zhì)量,同時在位置更新過程中利用單純形法和群個體記憶機制對較差個體進行改進,進一步提高算法的局部開發(fā)能力和勘探能力,提高算法的尋優(yōu)精度。

1.黑猩猩優(yōu)化算法

基礎(chǔ)黑猩猩優(yōu)化算法的具體原理參考,我的博客:https://blog.csdn.net/u011835903/article/details/119649041

2. 改進黑猩猩優(yōu)化算法

2.1 混沌反向?qū)W習(xí)策略初始化種群

本文采用 Iteration 混沌映射。Iteration 映射數(shù)學(xué)表達式如下:
xn+1=sin?(bπ/xn)(6)x_{n+1}=\sin \left(b \pi / x_n\right) \tag{6} xn+1?=sin(/xn?)(6)
其中, bbb 為控制參數(shù), b∈(0,1b \in(0,1b(0,1, 文中設(shè)定 b=0.7b=0.7b=0.7

首先, 通過 Iteration 映射生成 NNNddd 維初始解 Xi,j,(i=1,2,…,N;j=1,2,…,d)X_{i, j},(i=1,2, \ldots, N ; j=1,2, \ldots, d)Xi,j?,(i=1,2,,N;j=1,2,,d), 其次, 對當(dāng)前種 群中個體初始解進行排序, 選擇對應(yīng)的自身極值點作 為精英個體 Xi,je=(Xi,1e,Xi,2e,…,Xi,de)X_{i, j}^e=\left(X_{i, 1}^e, X_{i, 2}^e, \ldots, X_{i, d}^e\right)Xi,je?=(Xi,1e?,Xi,2e?,,Xi,de?), 按照公式 (6) 生成混沌精英反向解 Xi,je ̄=(Xi,1e ̄,Xi,2e ̄,…,Xi,de ̄)\overline{X_{i, j}^e}=\left(\overline{X_{i, 1}^e}, \overline{X_{i, 2}^e}, \ldots, \overline{X_{i, d}^e}\right)Xi,je??=(Xi,1e??,Xi,2e??,,Xi,de??), 并按照公式 ( 7) 設(shè)置動態(tài)邊界以規(guī)范越界的位置點。
Xi,je ̄=k?(αj+βj)?Xi,je(7)\overline{X_{i, j}^e}=k^*\left(\alpha_j+\beta_j\right)-X_{i, j}^e \tag{7} Xi,je??=k?(αj?+βj?)?Xi,je?(7)
Xi,je ̄=rand?(αj,βj),Xi,je ̄<αj,Xi,je ̄<βj(8)\overline{X_{i, j}^e}=\operatorname{rand}\left(\alpha_{\mathrm{j}}, \beta_j\right), \overline{X_{i, j}^e}<\alpha_j,\overline{X_{i, j}^e}<\beta_j \tag{8} Xi,je??=rand(αj?,βj?),Xi,je??<αj?,Xi,je??<βj?(8)

其中精英反向系數(shù) k∈(0,1),αj=min?(Xi,je)k \in(0,1), \alpha_j=\min \left(X_{i, j}^e\right)k(0,1),αj?=min(Xi,je?)βj=max?(Xi,je)\beta_j=\max \left(X_{i, j}^e\right)βj?=max(Xi,je?)
最后將混沌生成的所有初始解和混沌精英反向解 合并進行排序, 選取前 NNN 個較優(yōu)的解作為初始種群。

2.2 單純形法

單純形法是一種不受目標(biāo)函數(shù)連續(xù)性和可導(dǎo)性影 響的直接搜索算法, 其主要通過迭代判斷最差頂點 XsX_sXs? 向優(yōu)運動的方向向量 ggg 是否正確, 并通過對最差 頂點進行反射、擴張、外收縮和內(nèi)收縮操作來控制其 運動。

具體流程如下:
I 計算種群的適應(yīng)度值, 并將最優(yōu)的 4 個位置分別 適應(yīng)度值為 f(XAttacker?)、f(XBarrier?)、f(XChaser?)f\left(X_{\text {Attacker }}\right) 、 f\left(X_{\text {Barrier }}\right) 、 f\left(X_{\text {Chaser }}\right)f(XAttacker??)f(XBarrier??)f(XChaser??)f(XDriver?)f\left(X_{\text {Driver }}\right)f(XDriver??), 設(shè) 中 心 位 置 為 Xc=(XAttacker+X)X_c=\left(\quad X_{Attacker}+\quad X\right)Xc?=(XAttacker?+X)

II 將剩下黑猩猩個體的適應(yīng)度值進行排序, 選擇 適應(yīng)度值最差的個體作為較差點 XsX_sXs?
對較差點 XsX_sXs? 進行反射操作,
Xr=Xc+α(Xc?Xs)X_r=X_c+\alpha\left(X_c-\mathrm{X}_s\right) Xr?=Xc?+α(Xc??Xs?)
得到反射點 XrX_rXr?, 反射系數(shù) α\alphaα 取 1 。
III 若 f(Xr)<f(XAttacker?)f\left(X_r\right)<f\left(X_{\text {Attacker }}\right)f(Xr?)<f(XAttacker??), 則反射方向正確, 繼續(xù)執(zhí)行擴張操作,
Xe=Xc+β(Xr?Xc)X_e=X_c+\beta\left(X_r-X_c\right) Xe?=Xc?+β(Xr??Xc?)
得到擴張點 XeX_eXe?, 擴張系數(shù) β\betaβ 取 2。
f(Xe)<f(XAttacker?)f\left(X_e\right)<f\left(X_{\text {Attacker }}\right)f(Xe?)<f(XAttacker??), 則用 XeX_eXe? 代替 XsX_sXs?; 否 則, 用 XrX_rXr? 代替 XsX_sXs?

IV 若 f(Xs)<f(Xr)f\left(X_s\right)<f\left(X_r\right)f(Xs?)<f(Xr?), 則反射方向錯誤, 執(zhí)行 外收縮操作,
Xt=Xc+γ(Xs?Xc)X_t=X_c+\gamma\left(X_s-X_c\right) Xt?=Xc?+γ(Xs??Xc?)
得到外收縮點 XtX_tXt?, 外收縮系數(shù) γ\gammaγ0.50.50.5
f(Xt)<f(Xs)f\left(X_t\right)<f\left(X_s\right)f(Xt?)<f(Xs?), 則用 XtX_tXt? 代替較差點 XsX_sXs?
V\mathrm{V}Vf(XAttacker?)<f(Xr)<f(Xs)f\left(X_{\text {Attacker }}\right)<f\left(X_r\right)<f\left(X_s\right)f(XAttacker??)<f(Xr?)<f(Xs?), 則執(zhí)行內(nèi) 收縮操作,
Xw=Xc?γ(Xs?Xc)X_w=X_c-\gamma\left(X_s-X_c\right) Xw?=Xc??γ(Xs??Xc?)
得到內(nèi)收縮點 XwX_wXw?, 內(nèi)收縮系數(shù) γ\gammaγ0.50.50.5
f(Xw)<f(Xs)f\left(X_w\right)<f\left(X_s\right)f(Xw?)<f(Xs?), 則用 XwX_wXw? 代替較差點 XsX_sXs?; 否則, 用 XrX_rXr? 代替較差點 XsX_sXs?
通過運用單純形法的 4 種操作,可以讓最差點在 反射操作下搜索到所有可行的解, 內(nèi)外收縮操作可以 使最差點擺脫當(dāng)前位置, 而在擴張操作下可以讓最優(yōu) 解跳出局部最小值, 向距離最差點更遠的反方向繼續(xù) 搜索,從而提高了算法整體的局部開發(fā)能力和尋優(yōu)能 力。由于單純形法針對的是種群中最差的個體, 對于 種群中其他個體仍然執(zhí)行黑猩猩原始算法中的隨機搜 索, 故而在提高算法的局部搜索能力的同時, 不會降 低種群的多樣性。

2.3 群個體記憶機制

在原始 COA 算法中, 通過對群體歷史前四個最 優(yōu)位置的加權(quán)記憶, 實現(xiàn)了黑猩猩種群間信息交流, 最終促使個體在搜索空間快速移動尋優(yōu), 但這一做法 并末考慮到每個黑猩猩個體自身的搜索經(jīng)驗, 因而, 在結(jié)合 COA算法群體信息交流表達式( 5 )的基礎(chǔ)上, 引人粒子群算法的個體記憶策略, 具體表達式變?yōu)?
X(t+1)=b1?(X1+X2+X3+X3)/4+b2?rand?1?[Xbest??X(t)]+rand?2?[Xj(t)?Xi(t)](9)\begin{aligned} &X(t+1)=b_1^*\left(X_1+X_2+X_3+X_3\right) / 4 \\ &+b_2^* \operatorname{rand}_1 *\left[X_{\text {best }}-X(t)\right]+\operatorname{rand}_2 *\left[X_j(t)-X_i(t)\right] \end{aligned} \tag{9} ?X(t+1)=b1??(X1?+X2?+X3?+X3?)/4+b2??rand1??[Xbest???X(t)]+rand2??[Xj?(t)?Xi?(t)]?(9)
其中, b1b_1b1?b2b_2b2?[0,1][0,1][0,1] 間的常數(shù), 分別表示群體交 流和個體經(jīng)驗記憶的系數(shù); rand 表示 [0,1][0,1][0,1] 間的隨機 變量; XbestX_{b e s t}Xbest? 表示第 iii 只黑猩猩所經(jīng)歷過的最佳位置, Xj,Xi,(j≠i)X_j, X_i,(j \neq i)Xj?,Xi?,(j=i) 是記憶過程中記下的隨機個體位置。

通過對 b1b_1b1?b2b_2b2? 的調(diào)節(jié)來平衡群體交流和個體記憶對 位置更新的影響。
對比原始位置更新方程式(5), 式(9)增加了兩個部 分, 第一個是引人的個體自身記憶信息, 進一步提高 了算法在局部的開發(fā)能力和收斂速度, 第二個是隨機 記憶的個體位置, 從而起到增強算法種群多樣性和全 局勘探的能力。

綜上所述, 本文提出 EOSMICOA 算法的運算步 驟如下:
步驟 1: 設(shè)置相關(guān)參數(shù), 種群規(guī)模 NNN 、最大迭代 次數(shù) tmax?t_{\text {max }}tmax?? 、收斂因子 fff 、影響系數(shù) A、CA 、 CAC 、混沌因子 mmm 等。
步驟 2: 利用 Iteration 混沌映射和精英反向?qū)W習(xí) 生成初始種群 Xi,i=1,2,…,NX_i, i=1,2, \ldots, NXi?,i=1,2,,N
步驟 3: 計算個體的適應(yīng)度值, 并確定歷史前四
步驟 4:利用單純形法改變較差個體 XsX_sXs? 的位置。
步驟 5: 更新 A、CA 、 CAC, 按照公式 (5) 計算其他 黑猩猩的位置。
步驟 6: 通過粒子群算法改進的群個體記憶機制, 按照公式 (9) 進一步更新黑猩猩位置。
步驟 7: 判斷算法是否達到最大迭代次數(shù), 若達 到, 則算法結(jié)束, 輸出最優(yōu)位置 XAttacker?X_{\text {Attacker }}XAttacker??; 否則, 執(zhí) 行步驟 3。

3.實驗結(jié)果

4.參考文獻

[1]黃倩,劉升,李萌萌,郭雨鑫.多策略黑猩猩優(yōu)化算法研究及其工程應(yīng)用[J/OL].計算機工程與應(yīng)用:1-12[2021-10-25].http://kns.cnki.net/kcms/detail/11.2127.TP.20210806.1055.011.html.

5.Matlab代碼

6.Python代碼

總結(jié)

以上是生活随笔為你收集整理的多策略黑猩猩优化算法-附代码的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。