博客專欄

EEPW首頁 > 博客 > 蟻群優(yōu)化算法、免疫算法、人工魚群算法、差分進(jìn)化……)

蟻群優(yōu)化算法、免疫算法、人工魚群算法、差分進(jìn)化……)

發(fā)布人:數(shù)據(jù)派THU 時間:2023-07-12 來源:工程師 發(fā)布文章
這個庫總共封裝了遺傳算法(GA)、粒子群算法(PSO)、蟻群算法(ACA)、模擬退火算法(SA)、免疫優(yōu)化算法(IA)、人工魚群算法(AFSA)。


開源地址:https://github.com/guofei9987/scikit-opt
裝好Python后,在命令行輸入以下指令即可安裝:

pip install scikit-opt

粒子群算法為例
第一步,定義問題-> Demo code: examples/demo_pso.py#s1
def demo_func(x):x1, x2, x3 = xreturn x1 ** 2 + (x2 - 0.05) ** 2 + x3 ** 2

第二步,做粒子群算法-> Demo code: examples/demo_pso.py#s2
from sko.PSO import PSO
pso = PSO(func=demo_func, n_dim=3, pop=40, max_iter=150, lb=[0, -1, 0.5], ub=[1, 1, 1], w=0.8, c1=0.5, c2=0.5)pso.run()print('best_x is ', pso.gbest_x, 'best_y is', pso.gbest_y)

第三步,畫出結(jié)果-> Demo code: examples/demo_pso.py#s3
import matplotlib.pyplot as plt
plt.plot(pso.gbest_y_hist)plt.show()
圖片圖片


*博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權(quán)請聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉