PSO算法求解y = x^2的最小值
Posted 算法与编程之美
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PSO算法求解y = x^2的最小值相关的知识,希望对你有一定的参考价值。
1 问题
PSO思想求解y = x^2的最小值。
2 方法
-
先了解粒子群思想的基本原理
-
在迭代之前需要先画出y = x^2的平面图并确定其迭代的范围
-
完成粒子群迭代的必要代码,如适应度计算、速度更新、粒子位置更新和其主要运算过程
代码
import numpy as np import matplotlib.pyplot as plt import matplotlib as mpl X = np.arange(-5, 5, 0.1) wave = X ** 2 plt.plot(X, wave) plt.show() mpl.rcParams[\'font.sans-serif\'] = [\'SimHei\'] # 指定默认字体 mpl.rcParams[\'axes.unicode_minus\'] = False # 解决保存图像是负号\'-\'显示为方块的问题 def fitness_func(X): A = 10 pi = np.pi x = X[:, 1] return x**2 def velocity_update(V, X, pbest, gbest, c1, c2, w, max_val): size = X.shape[0] r1 = np.random.random((size, 1)) r2 = np.random |
以上是关于PSO算法求解y = x^2的最小值的主要内容,如果未能解决你的问题,请参考以下文章
PSO算法、蚁群算法和遗传算法matlab求解函数最值问题,程序怎么编写?
PSO:利用PSO+ω参数实现对一元函数y = sin(10*pi*x) ./ x进行求解优化,找到最优个体适应度