PSO算法求解y = x^2的最小值

Posted 算法与编程之美

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PSO算法求解y = x^2的最小值相关的知识,希望对你有一定的参考价值。

1 问题

PSO思想求解y = x^2的最小值。

2 方法

  1. 先了解粒子群思想的基本原理

  2. 在迭代之前需要先画出y = x^2的平面图并确定其迭代的范围

  3. 完成粒子群迭代的必要代码,如适应度计算、速度更新、粒子位置更新和其主要运算过程

代码

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进行求解优化,找到最优个体适应度

matlab PSO粒子群算法优化PID参数

记录使用python实现PSO求解最大值问题时,最需要注意的事

粒子群优化算法(PSO)找最优解

PSO:利用PSO算法优化二元函数,寻找最优个体适应度—Jason niu