注:这种库无需专门学习,在使用时查询即可。
官网地址:官网
http://geatpy.com/index.php/home/
1. Geatpy简介
Geatpy是一个高性能实用型进化算法工具箱,提供许多已实现的进化算法中各项重要操作的库函数,并提供一个高度模块化、耦合度低的面向对象的进化算法框架,利用“定义问题类 + 调用算法模板”的模式来进行进化优化,可用于求解单目标优化、多目标优化、复杂约束优化、组合优化、混合编码进化优化等,并且能和SCOOP等框架紧密配合进行分布式计算。
Geatpy拥有极高的性能,尤其是超大规模种群的进化优化,可以让您体验“飞一般的进化之旅”。
1.1 Geatpy 安装方法
Geatpy已全面支持Windows 32和64位的Python3.5, 3.6,3.7,3.8,3.9,3.10;Linux 64位的Python3.5, 3.6,3.7,3.8,3.9,3.10;MacOS系统x86架构的Python3.5, 3.6,3.7,3.8,3.9,3.10;MacOS系统Arm架构的Python3.8, 3.9;以及Linux Arm aarch64的Python 3.7, 3.9。
一定注意python版本!
方法一:直接在系统控制台或者ide控制台中运行命令:pip install geatpy 。此时将自动匹配合适版本的Geatpy安装包进行下载安装。
方法二:强制版本安装,在系统控制台中运行命令:pip install geatpy==2.7.0,此时将强制安装指定的版本。
方法三:到github release中下载.whl文件,然后执行pip install xxx.whl进行安装。
方法四:从github上下载源码文件后,解压,然后在系统控制台中执行:python setup.py install ,此时将自动选择合适版本的内核进行编译安装。【注意:2.7.0之后,github的源码包中只保留了Windows和Linux 64位的Python3.6版本,如果使用的是其他版本的Python,请用其他安装方法。】
更新方法:pip install --upgrade --user geatpy 或下载新版文件进行覆盖安装。
版本号查看:
进入python,执行import geatpy as ea以及print(ea.version)即可查看当前的Geatpy版本。
注意:
- 不能直接将安装包(.whl或.zip等)手动解压后直接使用,否则跳过了环境检测,很可能会导致无法导入内核函数。
- Geatpy支持arm嵌入式设备,点此链接下载,选择文件名中包含aarch64的文件下周,然后执行pip install xxx.whl进行安装。
- 执行pip install geatpy时下载速度慢怎么办?切换镜像源进行安装,比如豆瓣源。
2. 包含算法
Geatpy提供已实现的一些经典进化算法,可以有效解决单目标优化、多目标优化、组合优化、约束优化等问题,其中以“soea”开头的表示单目标进化优化算法;以“moea”开头的表示多目标进化优化算法;“soea”或“moea”字符串后面紧接着带一个“psy”字符串的表示该算法模板支持多染色体、复杂混合编码;带一个“multi”字符串的表示该算法模板支持多种群进化优化。
3.库的结构
了解库的结构有助于根据自身目的实现二次开发。
Geatpy的面向对象进化算法框架有四个大类:Algorithm(算法模板顶级父类)、Pop-ulation(种群类)、PsyPopulation(多染色体种群类)和Problem(问题类),分别存放在“Algorithm.py”、“Population.py”、“Problem.py”文件中。
4.适用群体
个人认为Geatpy适用于研究进化计算或演化算法的初学者,可以很好提升自己框架搭建思维。同样适用于需要快速开发的高阶研究者。