单目标优化算法测试函数python绘制及相关代码
2024-04-10 06:44:12
在博客上看到了一些函数,为了练习python画图能力,所以就都绘制了部分函数
文章目录
- 函数
- 代码和图像
- 画图部分
- 获取x和y的值
- Ackely's function
- Sphere function
- Rosebrock function
- Beale's function
- GoldsteinPrice function
- Booth's function
- Bukin function
- Matyas function
- Levi function
- Three-hump camel function
- Eason function
- Cross-in-tray function
- Holder table function
- McCormick function
- StyblinskiTang function
函数
代码和图像
画图部分
def draw_pic_3D(x, y, z, title, z_min, z_max, offset):fig = plt.figure()ax = Axes3D(fig)ax.plot_surface(x, y, z, rstride=1, cstride=1, cmap = plt.get_cmap('rainbow'),color='orangered')# 绘制等高线ax.contour(x,y,z,offset=offset,colors='green')ax.set_zlim(z_min, z_max)ax.set_title(title)plt.savefig("image")plt.show()
获取x和y的值
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
Ackely’s function
def Ackelys_function(z_min = 0,z_max = 15, offset = 0):x, y = get_x_and_y(-5,5,-5,5)z = -20 * np.exp(-0.2 * np.sqrt(0.5 * (x ** 2 + y ** 2))) - np.exp(0.5 * (np.cos(2 * np.pi * x) + np.cos(2 * np.pi * y))) + 20 + np.ereturn x, y, z, 'Ackely function', z_min, z_max, offset
Sphere function
def Sphere(z_min = 0,z_max = 20,offset = 0):x,y = get_x_and_y( -3,3,-3,3)z = x ** 2 + y ** 2return x,y,z, "Sphere function", z_min, z_max, offset
Rosebrock function
def Rosebrock_function(z_min = 0,z_max = 1500,offset = 0):x, y = get_x_and_y(-1, 1, -1, 1)z = 100 * ((y - x ** 2) ** 2 + (x -1) ** 2)return x,y,z, "Rosebrock function", z_min, z_max, offset
Beale’s function
def Beale_function(z_min = 0,z_max = 2000,offset=0):x, y = get_x_and_y(-4.5, 4.5, -4.5, 4.5)z = (1.5 - x + x * y) ** 2 + (2.25 - x + x * y) ** 2 + (2.625 -x + x * y) ** 2return x, y, z, "Beale function", z_min, z_max, offset
GoldsteinPrice function
def GoldsteinPrice_function(z_min =0 ,z_max =1000000 ,offset=0):x, y = get_x_and_y(-2,2,-2,2)z = (1 + ((x + y + 1) ** 2) * (19 - 14 * x + 3 * (x ** 2) - 14 * y + 6 * x * y + 3 * (y **2))) * (30 + ((2 * x - 3 * y) ** 2) * (18 - 32 * x + 12 * (x ** 2) + 48 * y - 36 * x * y + 27 * (y ** 2)))return x, y, z, "GoldsteinPrice function", z_min, z_max, offset
Booth’s function
def Booth_function(z_min=0, z_max=2500, offset=0):x, y = get_x_and_y(-10,10,-10,10)z = (x + 2 * y -7) ** 2 + (2 * x + y - 5) ** 2return x, y, z, "Booth function", z_min, z_max, offset
Bukin function
def Bukin_function(z_min =0 ,z_max =250 ,offset=0):x, y = get_x_and_y(-15,-5,-3,3)z = 100 * np.sqrt(np.fabs(y - 0.01 * (x ** 2))) + 0.01 * np.fabs(x + 10)return x, y, z, "Bukin function", z_min, z_max, offset
Matyas function
def MAtyas_function(z_min =0 ,z_max =100 ,offset=0):x, y = get_x_and_y(-10,10,-10,10)z = 0.26 * (x ** 2 + y ** 2) - 0.48 * x * yreturn x, y, z, "Matyas function", z_min, z_max, offset
Levi function
def Levi_function(z_min =0 ,z_max =450 ,offset=0):x, y = get_x_and_y(-10,10,-10,10)z = np.sin(3 * np.pi * x) ** 2 + ((x - 1) ** 2) * (1 + np.sin(3 * np.pi * y) ** 2) + ((y - 1) ** 2) * (1 + np.sin(2 * np.pi * y) ** 2)return x, y, z, "Levi function", z_min, z_max, offset
Three-hump camel function
def Three_hump_camel_function(z_min =0 ,z_max =2000 ,offset=0):x, y = get_x_and_y(-5,5,-5,5)z = 2 * (x ** 2) - 1.05 * (x ** 4) + (x ** 6) / 6 + x * y + (y ** 2)return x, y, z, "Three-hump camel function", z_min, z_max, offset
Eason function
def Eason_function(z_min =-1.5 ,z_max =0 ,offset=-1.5):x, y = get_x_and_y(-10,10,-10,10)z = -np.cos(x) * np.cos(y) * np.exp(-((x - np.pi) ** 2 + (y - np.pi) ** 2))return x, y, z, "Eason function", z_min, z_max, offset
Cross-in-tray function
def Cross_in_tray_function(z_min =-4 ,z_max =0 ,offset=-4):x, y = get_x_and_y(-10,10,-10,10)z = -0.0001 * (np.fabs(np.sin(x) * np.sin(y) * np.exp(np.fabs(100 - (np.sqrt((x ** 2) + (y ** 2)) / np.pi)))) + 1) ** 0.1return x, y, z, "Cross-in-tray function", z_min, z_max, offset
Holder table function
def Holder_table_function(z_min =-30 ,z_max =0 ,offset=-30):x, y = get_x_and_y(-10,10,-10,10)z = -np.fabs(np.sin(x) * np.cos(y) * np.exp(np.fabs(1 - (np.sqrt(x ** 2 + y ** 2))/np.pi)))return x, y, z, "Holder table function", z_min, z_max, offset
McCormick function
def McCormick_function(z_min =0 ,z_max =50 ,offset=0):x, y = get_x_and_y(-1.5,4,-3,4)z = np.sin(x + y) + (x - y) ** 2 - 1.5 * x + 2.5 * y + 1return x, y, z, "McCormick function", z_min, z_max, offset
StyblinskiTang function
def StyblinskiTang_function(z_min =-200 ,z_max =250 ,offset=-200):x, y = get_x_and_y(-5,5,-5,5)z1 = x ** 4 -16 * (x ** 2) + 5 * xz2 = y ** 4 -16 * (y ** 2) + 5 * yz = (z1 + z2) / 2return x, y, z, "StyblinskiTang function", z_min, z_max, offset
欢迎指正,共同进步
单目标优化算法测试函数python绘制及相关代码相关推荐
- 【智能优化算法】基于全局优化的改进鸡群算法求解单目标优化问题(ECSO)附matlab代码
1 简介 智能算法分为两种,一种是群体智能算法(swarmintelligencealgorithm),该算法大多模拟自然界中动植物的特有行为,并将其表达成数学语言,从而进行迭代寻优,如模拟蝙蝠回声定 ...
- 基于对立非洲秃鹫优化算法求解单目标优化问题(OAVOA)含Matlab代码
✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信.
- 【单目标优化算法】樽海鞘群算法(Matlab代码实现)
- 【单目标优化算法】杂草优化算法(Matlab代码实现)
- python多目标优化_多目标优化算法(四)NSGA3(NSGAIII)论文复现以及matlab和python的代码...
前言:最近太忙,这个系列已经很久没有更新了,本次就更新一个Deb大神的NSGA2的"升级版"算法NSGA3.因为multi-objective optimization已经被做烂了 ...
- 多目标优化算法(四)NSGA3(NSGAIII)论文复现以及matlab和python的代码
前言:最近太忙,这个系列已经很久没有更新了,本次就更新一个Deb大神的NSGA2的"升级版"算法NSGA3.因为multi-objective optimization已经被做烂了 ...
- Python遗传算法工具箱的使用(一)求解带约束的单目标优化
加了个小目录~方便定位查看~ 前言 正文 一. 基础术语: 二. 遗传算法基本算子: 三.完整实现遗传算法: 四.后记: 前言 网上有很多博客讲解遗传算法,但是大都只是"点到即止" ...
- 【单目标优化求解】基于matlab增强型黑猩猩优化器算法求解单目标优化问题【含Matlab源码 2013期】
⛄一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[单目标优化求解]基于matlab增强型黑猩猩优化器算法求解单目标优化问题[含Matlab源码 2013期] 点击上面蓝色字体,直接付费下 ...
- 【单目标优化求解】基于matlab黑猩猩算法求解单目标问题【含Matlab源码 1413期】
一.获取代码方式 获取代码方式1: 完整代码已上传我的资源:[单目标优化求解]基于matlab黑猩猩算法求解单目标问题[含Matlab源码 1413期] 点击上面蓝色字体,直接付费下载,即可. 获取代 ...
最新文章
- 判定Java源文件名称_JAVA
- CopyOnWrite容器
- 为什么玩我的世界老提示Java se错误_我的世界error错误信息 error could解决方法
- 大数相关计算(c语言版)
- 【Flink】Flink Committing offsets to Kafka takes longer than the checkpoint interval
- led数字字体_技术丨体育场馆LED显示屏设计与安装要求
- mysql基础操作(二)
- python嵌套循环_关于Python嵌套循环代码优化
- pixel1代android11,Pixel用户吐槽Android 11:升级后性能被劣化
- php-学通PHP的24堂课-设置PHP的系统当前时间
- 如何将zipoutputstream返回_嫦娥五号返回器要“跳”一下再回地球!这一“跳”大有讲究...
- 在Vue文件中引用模块的相对路径“@“符号表示什么意思?
- LeetCode之验证二叉搜索树
- android.os.DeadObjectException的解决办法
- DotNetBar SuperGridControl控件
- 计算机服务中无spool,print spool自动关闭,print spooler
- latex排版原理 常用算法排版伪代码模块 添加注释以及注意事项
- 计算机技术的发展包括几个阶段,目前电子计算机处于哪个阶段?计算机发展的四个阶段...
- python限制输入字数_iOS 限制输入字数完美解决方案
- esc中文是什么意思_Esc 是什么意思? 有什么含义吗?