引言
本期介紹一種新的元啟發式算法——向光生長優化算法Phototropic growth algorithm,PGA。靈感來自植物細胞在陽光下的生長模式。于2025年7月最新發表在JCR 1區,中科院1區 SCI?期刊 Knowledge-Based Systems。
該算法將生物學啟發的確定性生長行為與概率元素和諧融合,保證了算法的魯棒性。最終目標是通過模擬植物的生長策略來調整其結構以適應外部刺激(類似于生物環境中的光),從而找到最佳或接近最佳的解決方案。
1.?初始化:和其他群優化算法一樣,采用隨機初始化。
隨后,整個人口集被分成兩個不同的區域:XL表示適合暴露在光線下的細胞;XS表示陰影區域中的單元格。
2.?第一階段:有絲分裂:為了對有絲分裂過程進行數學建模,種群中的每個細胞分裂成兩個子細胞,一個親本細胞分裂成兩個子細胞的現象被稱為有絲分裂[54]。由此產生的子細胞通過涉及突變操作符或生長素再分配操作符的過程發生變化
突變算子:突變算子是子細胞產生多樣性過程中的關鍵組成部分。該算子應用于第一個有絲分裂拷貝,并相對于從種群集中隨機選擇的細胞進行計算。通過利用隨機細胞選擇方法,該方法準確地模擬了各種環境因素(如暴露于輻射或化學物質)可能產生的突變的隨機性。這種方法確保了突變運算符具有廣泛的可能結果,從而能夠生成不同的解決方案集。
生長素再分配算子:生長素再分配算子是一個受植物細胞對光的響應行為啟發的數學模型。在植物學領域,生長素是一種植物激素,在植物向光性中起著關鍵作用,即植物向光或背光的生長。這一現象確保了植物優化光照,這對光合作用至關重要。在細胞水平上,生長素在光照下被重新分配,導致細胞在陰影側伸長,從而引導生長向光源方向。這種行為至關重要
3.陰影區細胞的有絲分裂:
突變算子:
生長素再分配算子:
4.?第二階段:細胞伸長:生長素對細胞伸長的影響被考慮在內。生長素是參與植物各種生長發育過程的植物激素。它們在細胞伸長中起著至關重要的作用,特別是在調節細胞沿植物軸的生長方面。當植物暴露在不均勻的光照條件下時,生長素的濃度是不同的。因此,與光照下的細胞相比,陰影區域的細胞具有更高濃度的生長素。
曲率:植物莖中細胞伸長的過程是由光區細胞驅動的。因此,在曲率計算中,光區單元被優先考慮
曲率系數
細胞鄰近:除了曲率因素外,細胞的鄰近也在決定細胞伸長的大小方面起著至關重要的作用。細胞是暴露在陽光下還是處于陰影下,可以從周圍的細胞推斷出來。從物理上講,遮蔭的細胞往往彼此靠近,而暴露在光線下的細胞往往相距更遠
PGA算法偽代碼:
03. 對比驗證
原文作者在在CEC 2017和CEC 2020兩個基準測試功能套件上進行了評估,并根據所獲得的解的質量與其他已建立的元啟發式優化算法進行了比較。通過對六個具有挑戰性的工程設計問題的約束測試,進一步證明了PGA的有效性,展示了其在解決具有未知搜索空間的現實問題方面的魯棒性。仿真結果表明,PGA通過持續生成優越的解來優于其他競爭算法,并顯示出強大的潛力。
更多詳細結果,請參閱相應的文獻。
?
參考文獻
Vijay Kumar Bohat, Fatma A. Hashim, Harshit Batra, Mohamed Abd Elaziz, Phototropic growth algorithm: A novel metaheuristic inspired from phototropic growth of plants, Knowledge-Based Systems, Volume 322, 2025, 113548, https://doi.org/10.1016/j.knosys.2025.113548.?
Matlab代碼下載
微信搜索并關注-優化算法俠(英文名:Swarm-Opti),或掃描下方二維碼關注,以算法名字搜索歷史文章即可下載。
完整代碼
Phototropic growth algorithm.zip
點擊鏈接跳轉:
390種優化算法免費下載-matlab
https://mp.weixin.qq.com/s/EzKqtSwR9r2DkGj-ozJXwA
求解cec測試函數-matlab?
cec2017測試函數使用教程及matlab代碼免費下載
cec2018測試函使用教程及matlab代碼免費下載
cec2019測試函使用教程及matlab代碼免費下載
cec2020測試函使用教程及matlab代碼免費下載
cec2021測試函使用教程及matlab代碼免費下載
cec2022測試函使用教程及matlab代碼免費下載
繪制cec2017/018/2019/2020/2021/2022函數的三維圖像教程,SO EASY!
215種群智能優化算法python庫
Amazing!Python版215種群智能優化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=1&sn=6b439e55b37b6482b8d3831ca85f1d55&chksm=c12be0c8f65c69de71ad51d3b736b871ff52f8646e90624f95dd32b024dfaad369d654aaf8fc#rd
解決12工程設計優化問題-matlab
略微出手,工程設計問題(12)(附Matlab代碼)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247485052&idx=1&sn=80e5573c1c005ee5640e44935044ee35&chksm=c12bea79f65c636fc73758b4f4893502bd89cbd1c5d15d7db15e8b5c94eeae40450439d44944&token=681266555&lang=zh_CN#rd
求解11種cec測試函數-python
【選擇自由,免費下載】215種優化算法求解11種cec測試函數-python代碼https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=2&sn=eea8fb04dc507ab9119e2c97c03ca2f6&chksm=c12be0c8f65c69decd6c8109f6b997986bf58725fdbbd7ab03752cb6f61aacdb5a2dc7fec762#rd
解決30種工程設計優化問題-python
【一碼解決】215種優化算法求解30個現實世界的工程設計優化問題,讓你的論文增色10倍(附Python代碼)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486669&idx=3&sn=ea6d26ae7cb651e5c368f4c73ade228e&chksm=c12be0c8f65c69de739af72d9793838f59ab77bfee36bc2c204f96e2a9e5c6d87dfbbbae698e#rd
僅需一行,可改進所有優化算法:21種混沌映射方法-混沌初始化(附matlab代碼)
用于改進所有優化算法:21種混沌映射方法-混沌初始化(附matlab代碼)21種混沌映射方法-混沌初始化,適用于所有優化算法https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486215&idx=2&sn=58f1a69175b0d6431a4c7cdfa114b84d&chksm=c12be702f65c6e14e6bd1ddc33b9cec74991d93303c325853049b7e4afd09039b13083fa79c5&token=25423484&lang=zh_CN#rd
【有經典,有最新】24種信號分解方法(附matlab代碼)?
沙場大點兵:24種信號分解方法(附matlab代碼)https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486001&idx=1&sn=a87c24cb401017a78a90bd1b1439fcb0&chksm=c12be634f65c6f22368b7229a59ac5ef330b89d710c826dbfd1a1c34a02b1dd7e909c7f40d79&token=25423484&lang=zh_CN#rd
?【分類新范式】27種一維數據轉換成二維圖像的方法-matlab代碼
沙場大點兵:27種一維數據轉換成二維圖像的方法-matlab代碼https://mp.weixin.qq.com/s?__biz=MzkxMDQ5MDk4Ng==&mid=2247486260&idx=1&sn=81b1970cb89364c0289ccdfb403e5388&chksm=c12be731f65c6e273a85456326b503b7f35d9f035405050932ff1926e0b1bfa8076b1bc2d1f2&token=25423484&lang=zh_CN#rd