為了進(jìn)一步提高差分進(jìn)化(DE)最具競(jìng)爭(zhēng)力的變體之一L-SHADE的性能,研究中提出了一種新的自適應(yīng)L-SHADE算法AL-SHADE。對(duì)L-SHADE進(jìn)行了兩個(gè)主要部分的修改。一部分,在突變過程中添加了一種新的突變策略,以提高開發(fā)能力,充分利用種群信息。另一部分,提出了一種帶有突變策略自適應(yīng)方案的選擇策略,以調(diào)整開發(fā)和探索。
2. 相關(guān)工作
最近,DE 仍然被選為開發(fā)新型進(jìn)化算法的基礎(chǔ),特別是在連續(xù)優(yōu)化領(lǐng)域[26]、[28]、[29],盡管它在1995年被開發(fā)。L-SHADE [4] 被認(rèn)為是過去幾十年中DE最成功的變體之一,因?yàn)樗?014年IEEE進(jìn)化計(jì)算競(jìng)賽(IEEE CEC 2014)的獲勝者。在本節(jié)中,詳細(xì)介紹了L-SHADE。
2.1. 初始化策略
種群中的初始個(gè)體(解向量)隨機(jī)初始化,如公式(1)所示。
其中??是0到1之間的均勻分布隨機(jī)數(shù)。?和??是定義搜索空間的問題特定上下界。?是種群大小。?是問題特定的維度。
歷史記憶?、?的值,其中包含交叉率??和縮放因子??的條目,在初始化階段初始化為0.5,如公式(2)所示。需要注意的是,?和??的所有元素都是0到1之間的標(biāo)量,?是歷史記憶的大小。此外,外部存檔??初始化為空,因?yàn)闆]有先前的劣解。
2.2. 變異策略
在L-SHADE中,采用變異策略current-to-pbest/1。為個(gè)體??生成的變異向量??使用種群中的四個(gè)向量(個(gè)體)生成,如公式(3)所示??s放因子??生成如公式(4)所示。
在公式(3)中,?是當(dāng)前種群中前??個(gè)個(gè)體中隨機(jī)選擇的主導(dǎo)個(gè)體,?是貪婪控制參數(shù),它在開發(fā)和探索(小??行為更貪婪)之間進(jìn)行權(quán)衡。?是從當(dāng)前種群中隨機(jī)選擇的,?是從當(dāng)前種群和外部存檔的聯(lián)合中隨機(jī)選擇的,并且??和??彼此不同以及與??不同。在公式(4)中,?是一個(gè)遵循均值??和標(biāo)準(zhǔn)差值參數(shù) 0.1 的柯西分布的隨機(jī)變量,?是從具有相同索引??的記憶??中隨機(jī)選擇的值。如果?,則??將設(shè)置為 1,如果?,公式(4)將重復(fù)應(yīng)用以生成有效值。此外,如果變異向量元素??超出搜索范圍?,則采用修正策略,如公式(5)所示。
U_j
end{cases} tag{5} " style="text-align: center;overflow-x: auto;overflow-y: auto;display: block;">
2.3. 交叉策略
在將變異策略應(yīng)用于生成的變異向量??后,生成試驗(yàn)向量?,基于變異向量??和原始向量?,使用二項(xiàng)式交叉策略,如公式(6)所示。
或否則
在公式(6)中,?是均勻分布的隨機(jī)數(shù),?是決策變量索引,它是隨機(jī)生成的,并且可以確保至少?gòu)淖儺愊蛄恐腥∫粋€(gè)分量?。個(gè)體??的交叉率值??從高斯分布中給出,如公式(7)所示。如果公式(7)生成的??超出?,則用生成值的極限值?或?替換。
否則
在公式(7)中,?表示終端值。?是從具有相同索引??的交叉率歷史記憶??中隨機(jī)選擇的均值參數(shù),如縮放因子??的情況,0.1 是標(biāo)準(zhǔn)差值參數(shù)。
2.4. 選擇策略
在當(dāng)前代??生成所有試驗(yàn)向量??后,基于目標(biāo)函數(shù)值的選擇操作應(yīng)用于確定下一代??的幸存者,如公式(8)所示。
否則
在公式(8)中,?是問題特定的目標(biāo)函數(shù)。
2.5. 外部存檔和歷史記憶更新策略
在L-SHADE中,采用外部存檔??以增強(qiáng)種群的多樣性并避免過早收斂。如果父向量??優(yōu)于試驗(yàn)向量?,則將其保留到下一代,否則將其保留到外部存檔??中。一旦存檔的大小達(dá)到預(yù)定大小,隨機(jī)選擇一個(gè)元素被新插入的元素替換。?和??值成功生成試驗(yàn)個(gè)體,優(yōu)于歷史個(gè)體,則被視為成功值。所有成功的值分別保留到??和??中,這些值用于在每一代結(jié)束時(shí)更新歷史記憶?、,如公式(9)-(10)所示。一對(duì)??和??中的元素在一代中生成,索引??從 1 開始并在每一代后增加 1,?將在超過內(nèi)存大小??時(shí)重置為 1。需要注意的是,如果?==0,即在一代中沒有試驗(yàn)向量?jī)?yōu)于原始向量,則?、?將不會(huì)被更新。更重要的是,本文提出的AL-SHADE中的記憶??和??的最后條目在優(yōu)化過程中始終保留 0.9。換句話說,如果超過?,則更新單元的索引??將重置為 1。
否則否則
在公式(9)-(10)中,?是加權(quán)勒梅爾平均值,計(jì)算如公式(11),(12)所示,其中??表示??或?。
2.6. 線性種群規(guī)??s減
在L-SHADE中,采用線性種群規(guī)??s減(LPSR)動(dòng)態(tài)調(diào)整種群規(guī)模,即種群規(guī)模在代 1 和?(終止迭代次數(shù))時(shí)連續(xù)減少以匹配線性函數(shù),其中種群規(guī)模在代 1 和??時(shí)分別為??和?。種群規(guī)模在代??更新如公式(13)所示。
在公式(13)中,?返回最接近的整數(shù)。?是當(dāng)前目標(biāo)函數(shù)評(píng)估次數(shù),?是目標(biāo)函數(shù)評(píng)估的最大次數(shù)。在代??結(jié)束時(shí),?最差個(gè)體將從當(dāng)前種群中丟棄。
3. 提出的AL-SHADE算法
在本節(jié)中,描述了L-SHADE的新變體,命名為AL-SHADE。對(duì)L-SHADE的改進(jìn)策略主要包括兩個(gè)部分。一方面,在變異過程中添加了一種新的變異策略current-to-Amean/1。另一方面,采用了一種具有變異策略適應(yīng)方案的選擇策略。AL-SHADE在本節(jié)中詳細(xì)描述。
3.1. 基于加權(quán)均值的變異策略
變異策略current-to-pbest/1已被證明是一種有效的變異策略,可以有效加速基于DE算法的收斂速度,并且與變異策略current-to-best/1相比,它也可以在一定程度上避免陷入局部最優(yōu)。然而,隨著種群的減少,當(dāng)前種群中前??個(gè)個(gè)體的數(shù)量減少。在優(yōu)化過程的后期,?接近?,甚至??是?,這將導(dǎo)致陷入局部最優(yōu)。此外,這些在L-SHADE中代??被保留在??中的個(gè)體是主導(dǎo)個(gè)體,它們?cè)诖??中被消除。外部存檔??中的少數(shù)個(gè)體被隨機(jī)選為??用于公式(3)中的變異,這并沒有充分利用優(yōu)化過程中的群體信息。為了解決上述缺點(diǎn),本工作中提出了一種新的變異策略,命名為current-to-Amean/1,如公式(14)所示。
在公式(14)中,?是基于外部存檔??中有希望的個(gè)體估計(jì)的全局最優(yōu)解,這將避免陷入局部最優(yōu)。?是通過使用公式(15)計(jì)算的。
在公式(15)-(17)中,從外部存檔??中選擇適應(yīng)度更好的??個(gè)個(gè)體作為有希望的種群,用于計(jì)算加權(quán)均值?,?是通過公式(16)計(jì)算的??的權(quán)重,?是目標(biāo)函數(shù)值從高到低排列的??個(gè)有希望的個(gè)體,即??是最好的,?是??中最差的,?是外部存檔??中的個(gè)體數(shù)量,?是精英因子參數(shù)。
此外,AL-SHADE中外部存檔??的更新機(jī)制進(jìn)行了調(diào)整,以充分利用新生成的主導(dǎo)個(gè)體,而不是以前的主導(dǎo)個(gè)體,即優(yōu)于父向量的試驗(yàn)向量將被保留到下一代和外部存檔??中。由于??中的個(gè)體在第一代中使用,?不再初始化為空集,而是保存初始化生成的最佳個(gè)體。
3.2. 具有適應(yīng)方案的選擇策略
注意到新的變異策略current-to-Amean/1被添加為變異策略之一,而不是直接替換變異策略current-to-pbest/1,因?yàn)楣?3)和公式(14)在優(yōu)化的不同階段扮演不同的角色。有效地整合兩種變異策略以充分利用它們的優(yōu)勢(shì)至關(guān)重要。因此,本節(jié)提出了具有適應(yīng)方案的選擇策略,以有效地整合兩種變異策略。采用自適應(yīng)概率參數(shù)??來選擇公式(3)或公式(14),每個(gè)個(gè)體在每一代中都有一定的概率。由于沒有先驗(yàn)知識(shí),?初始化為0.5,并在搜索過程中根據(jù)公式(18)自適應(yīng)調(diào)整。
在公式(18)-(20)中,?和??分別是使用公式(3)和公式(14)作為變異策略的個(gè)體數(shù)量。?和??是使用公式(3)和公式(14)作為變異策略生成的更好個(gè)體的數(shù)量。因此,?和??分別是使用公式(3)和公式(14)作為變異策略在第??代生成更好解的概率。此外,如果??超出 [0.1,0.9],則它將被替換為最接近生成值的極限值(0.1 或 0.9)。
3.3. AL-SHADE的框架
總之,所提算法的流程圖如圖2所示。AL-SHADE與LSHADE的主要區(qū)別包括新的變異策略、具有適應(yīng)方案的選擇策略以及外部存檔??的更新機(jī)制。對(duì)于每個(gè)解,如果隨機(jī)數(shù)?,則選擇公式(3)生成變異向量?,反之則選擇公式(14)。
完整資源獲取方式(200多種算法)
https://github.com/suthels/-/blob/main/README.md
Ref:?Yintong Li, Tong Han, Huan Zhou, Shangqin Tang, Hui Zhao, A novel adaptive L-SHADE algorithm and its application in UAV swarm resource configuration problem, Information Sciences. 606 (2022) 350–367. https://doi.org/10.1016/j.ins.2022.05.058