博客專(zhuān)欄

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

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

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


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

pip install scikit-opt

粒子群算法為例
第一步,定義問(wèn)題-> 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)

第三步,畫(huà)出結(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)友個(gè)人發(fā)布,僅代表博主個(gè)人觀點(diǎn),如有侵權(quán)請(qǐng)聯(lián)系工作人員刪除。



關(guān)鍵詞: AI

相關(guān)推薦

技術(shù)專(zhuān)區(qū)

關(guān)閉