多目标优化性能测试函数相关资源总结

在实验室的仿真任务中接触到对进化算法进行性能测试的部分,在这里做一个简单总结

常用性能测试函数:

ZDT1-6:双目标性能测试函数
DTLZ1-7:三目标性能测试函数
标准曲线数据:https://www.cs.cinvestav.mx/~emoobook/apendix-d/apendix-d.html

相关工具箱:

1. matlab optimization boolbox工具箱(没研究明白/(ㄒoㄒ)/~~)

2. python的geatpy,目前使用最广泛的多目标优化工具箱

工具箱下载安装链接:http://www.geatpy.com
github链接:https://github.com/geatpy-dev/geatpy/tree/master/geatpy/testbed/moea_test?tdsourcetag=s_pcqq_aiomsg
用进化算法跑测试集的具体用法:

找到github这个图片,上面划圈的部分就是使用方法

这个方法是群里某大佬教的,感谢大佬(✿◡‿◡)

第一步:连接测试集

第二步:实例化算法模板

第三步:运行

遇到这种工具箱类的问题,先告诉自己,锻炼出总结提炼相应的步骤的能力,提炼要点,然后在每个环节把各个步骤做好,嗯嗯

python操作技巧:

  1. 查看已安装的包
    在python安装包下->Script->shift+右键,打开shell,用pip list命令查看

pycharm的使用方法

首先介绍一下 anaconda:发行版的python,将python和许多常用的package打包,方便pythoners直接使用,anaconda的介绍:https://www.jianshu.com/p/2f3be7781451

anaconda的安装和使用:

  • 下载安装包,按照默认配置安装,安装包链接https://www.anaconda.com/distribution/#download-section

  • 创建不同版本的python环境,来管理python版本:在Anaconda页面的Environment按钮中,点击Create创建环境,可以选择不同的python版本,如下:

  • 管理已安装和未安装的包
    选择环境名称,Anaconda页面右侧会显示已安装的包,在选择列表中选择查看已安装/未安装的包

  • 在Anaconda运行python程序:
    可用Spyder,在Anaconda主页面可以找到,长下面这样:

先选中环境变量,再在Home页面进行安装,可以安装对应环境的Spyder

conda命令:

conda命令的作用是可以管理 依赖和管理 环境,Anaconda导航器的作用就是在conda的基础上加了用户界面,更方便操作
conda命令可以作用于多种语言:Python, R, Ruby, Lua, Scala, Java, JavaScript, C/ C++, FORTRAN

conda命令的使用方法在以下链接中有较详细的介绍:
https://www.jianshu.com/p/2f3be7781451

conda的其它命令:
查看目前所用的python版本路径:where python(Windows)
查看conda是否放在了环境变量中:echo %PATH%(Windows)

IPython-python交互模式

python交互模式与命令行模式的区别及用法:
https://blog.csdn.net/qq_36309480/article/details/82702021

python交互模式除了可以直接运行代码外,还可以查看内置函数的源码:https://blog.csdn.net/G_66_hero/article/details/76392004

ipython console中不仅可以查看源码(用上面链接中介绍的help()命令),还可以在调试时查看调试信息:https://www.jianshu.com/p/082b20fcafea

调试中一些常用的ipython console命令和调试操作有:

  • !变量名!(变量名): 表示查看变量值
  • c:表示调试工具栏的第5个按钮的功能,表示continue execution util next breakpoint,跳到下一个断点
  • 断点:不带条件的断点(双击代码行首)和带条件的断点(ctrl+shift+双击代码行首(该操作还可用于查看断点附带的条件),符合条件才会中断),取消时都是双击代码行首
  • %reset: 清空ipython工作空间中的变量

以下是乱乱的笔记:

python编程中的知识点:
Numpy中stack(),hstack(),vstack()函数详解

python编程中容易出现的错误:

  • 对于array数组的深拷贝,即将array数组在另一块内存地址中复制一份,对两个array数组进行操作时,其中的数据是独立的两份,两个array数组互不干扰,用b=a.copy()得到array a的深拷贝array b
    参考链接:https://blog.csdn.net/lc_lc2000/article/details/53135839给出了对list和array进行拷贝的不同之处
  • TypeError: 'int' object is not iterable
    在for循环语句中出现,应写为for i in range(len),其中len是需要迭代的次数,表示i从0循环到len-1

  • ValueError: zero-size array to reduction operation maximum which has no identity

  • TypeError: 'module' object is not callable

其它求解软件

1.gurobi求解器
2.cplex

你可能感兴趣的:(多目标优化性能测试函数相关资源总结)