Python智能优化算法库
这里写目录标题
总结对比了一些智能算法的库。现将各种库的主要信息、相关优缺点简单整理如下。
mealpy
MEALPY 是一个 Python 库,包含了众多基于种群的元启发式算法,提供了一种快速且高效的方式来找到数学优化问题的(近似)全局最优点。群体基元启发式算法(PMAs)是优化领域中最受欢迎的算法。PMAs有几种类型,包括:进化启发式计算、群体启发式计算、物理启发式计算、人类启发式计算、生物启发式计算、数学启发式计算;以及其他类型,比如:音乐启发式、系统启发式计算等。算法总数:目前有175个(102个原始算法,46个官方变体,27个开发变体)。
项目地址:mealpy GitHub
说明文档:https://mealpy.readthedocs.io/en/latest/
安装:pip install mealpy
优点:
缺点:
DEAP
DEAP(Distributed Evolutionary Algorithms in Python)是一个用于快速原型设计和测试进化算法的框架。它旨在使算法显式化,数据结构透明化,并且与并行化机制(如multiprocessing和SCOOP)完美兼容。DEAP支持多种进化算法,包括遗传算法、遗传编程、进化策略、多目标优化和协同进化等。
项目地址:DEAP GitHub
说明文档:https://deap.readthedocs.io/en/master/
安装:pip install deap
优点:
缺点:
scikit-opt
一个封装了7种启发式算法的Python库,包括差分进化算法,遗传算法,粒子群算法,模拟退火算法,蚁群算法,免疫优化算法,鱼群算法。
项目地址:scikit-opt GitHub
说明文档:https://scikit-opt.github.io/scikit-opt/#/zh/README
个人博客:https://blog.csdn.net/guofei9987?type=blog
安装:pip install scikit-opt
优点:
scikit-learn
类似,易于上手。缺点:
Geatpy2
Geatpy是国内几所高校做的一个开源遗传算法包,是一个高性能实用型进化算法工具箱,提供许多已实现的进化算法中各项重要操作的库函数,并提供一个高度模块化、耦合度低的面向对象的进化算法框架,利用“定义问题类 + 调用算法模板”的模式来进行进化优化,可用于求解单目标优化、多目标优化、复杂约束优化、组合优化、混合编码进化优化等。
项目地址:Geatpy2 GitHub
安装:pip install geatpy2
优点:
缺点:
pygmo2
pygmo 是一个用于大规模并行优化的科学 Python 库。它的核心理念是提供一个统一的接口来访问优化算法和问题,并使得它们在大规模并行环境中的部署变得简单。pygmo 提供了高效的生物启发式和进化算法的实现,并与最先进的优化算法(如单纯形方法、序列二次规划方法、内点法等)并列,可以轻松混合使用(包括您新发明的算法),通过异步的、泛化的**岛屿模型(island model)**构建超级算法,利用算法间的合作。pygmo 可以用来解决有约束和无约束、单目标和多目标、连续和整数优化问题,随机和确定性问题,以及进行新算法和范式的研究,并轻松与已建立的最先进实现进行比较。
项目地址:pygmo2 GitHub
说明文档:https://esa.github.io/pygmo2/
安装:pip install pygmo2
优点:
缺点:
pyswarms
PySwarms 是一个用于粒子群优化(PSO)的可扩展研究工具包,完全用 Python 编写。旨在为群体智能研究人员、从业者和偏好在他们的问题中实现 PSO 的高级声明式接口的学生提供服务。PySwarms 支持使用 PSO 进行基本优化,并与群体优化进行交互。查看以下更多功能!
项目地址:pyswarms GitHub
说明文档:https://pyswarms.readthedocs.io/en/latest/
安装:pip install pyswarms
优点:
缺点:
SciPy
SciPy作为一个相对严谨且“传统”的数值计算库,涵盖了大多数常用的数值计算方法。需要指出的是,数值计算类库通常不将智能优化(如启发式算法)作为其主要关注点,因此在优化算法的集成上,SciPy提供的种类较为有限,主要包括差分进化、模拟退火等几种常见的优化方法。
项目地址:SciPy GitHub
安装:pip install scipy
优点:
缺点:
pyMetaheuristic
pyMetaheuristic涵盖了传统与现代的各种元启发式算法,如粒子群优化(PSO)、遗传算法(Genetic Algorithm)等。库内还提供了多种测试函数,可对这些算法进行基准测试和性能评估。
项目地址:pyMetaheuristic GitHub
安装:pip install pyMetaheuristic
优点:
缺点:
作者:莫聽穿林打叶聲