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

你可能感兴趣的:(PyTorch图像分类教程,python,matplotlib,numpy)