测试函数主要是用来评估优化算法特性的,这里我用python3绘制了部分测试函数的图像。具体的测试函数可以结合维基百科来了解。想要显示某个测试函数的图片把代码结尾对应的注释去掉即可,具体代码如下:
import numpy as np
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
def draw_pic(X, Y, Z, z_max, title, z_min=0):
fig = plt.figure()
ax = Axes3D(fig)
ax.plot_surface(X, Y, Z, rstride=1, cstride=1, cmap=plt.cm.hot)
# ax.contourf(X, Y, Z, zdir='z', offset=-2, cmap=plt.cm.hot)
ax.set_zlim(z_min, z_max)
ax.set_title(title)
# plt.savefig("./myProject/Algorithm/pic/%s.png" % title) # 保存图片
plt.show()
def get_X_AND_Y(X_min, X_max, Y_min, Y_max):
X = np.arange(X_min, X_max, 0.1)
Y = np.arange(Y_min, Y_max, 0.1)
X, Y = np.meshgrid(X, Y)
return X, Y
# rastrigin测试函数
def Rastrigin(X_min = -5.52, X_max = 5.12, Y_min = -5.12, Y_max = 5.12):
A =