evoopt:最新进化算法的python实现

EvoOpt的Python项目详细描述


evoopt-python中的进化优化

EvoOpt Logo

evoopt:python中的进化优化

Build StatusPyPI-StatusPyPIdependenciesPyPI-ImplementationPython VersionPyPI-LicenseLinkedInDOI

最新的元启发式和进化优化算法的python实现。

这个库是用numpy(用c编写)实现的,处理速度很快

目录

关于项目

当前对算法的支持

[X]遗传算法

[X]duelist算法

[X]粒子群优化

[X]引力搜索算法

[X]萤火虫算法

[X]模拟退火

[]多维优化

[]灰狼优化

更多的算法…

开始

使用evoopt运行优化问题有四个简单步骤

(示例文件夹中的示例2)

先决条件

fromsolver.DuelistAlgorithmimportDuelistAlgorithm

**1.定义你的功能。假设要最小化方程式f=(x1,x2)=(x1)^2+(x2)^2**

deff(x1,x2):returnx1*x1+x2*x2

**2.定义可以操作进行优化的变量。将它们的名称定义为字符串并将它们放入数组中。**

x=["x1","x2"]

3。定义操作变量的边界:

说:

x1的范围从-2到10(-2是x1的最小值,10是x1的最大值)

x2的范围是10到15(10是x2的最小值,15是x2的最大值)

我们可以根据步骤2中的定义数组来排列这些边界。

Variablesx1x2
Min-25
Max1015

相应的代码是:

xmin=[-2,5]xmax=[10,15]

^{str 1}4美元。设置解算器并开始解算过程。

DA=DuelistAlgorithm(f,x,xmin,xmax,max_gen=1000)DA.solve(plot=True)

示例结果

Result Image

依赖关系

numpy和matplotlib

窗口:

$python -m pip install numpy matplotlib

Linux:

$pip install numpy matplotlib

安装

您可以使用两种安装方法:

1。从github安装(推荐,因为这将下载最新版本)

首先下载git存储库。您可以通过单击下载按钮或使用git命令来完成此操作:

$ git pull https://github.com/tsyet12/EvoOpt

移动到目录:

$ cd(directory of EvoOpt)

运行安装程序。以下命令安装目录中的所有文件:

$ pip install -e .

**1.从PIP安装**

你可以从pip安装这个包。

Linux:

$ pip install EvoOpt

窗口:

$python -m pip install EvoOpt

用法

待更新。

贡献

贡献使开源社区成为一个学习、激励和创造的绝佳场所。您所作的任何贡献都非常感谢。

  1. 分叉项目
  2. 创建功能分支(git checkout -b testbranch/solvers
  3. 提交更改(git commit -m 'Improve testbranch/solvers'
  4. 推到分支(git push origin testbranch/solvers
  5. 打开拉取请求

许可证

根据BSD-2条款许可证分发。有关详细信息,请参见LICENSE

联系人

辛永腾:tsyet12@gmail.com

项目链接:https://github.com/tsyet12/EvoOpt

致谢

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java将值插入sql表的选定列。使用c等参数#   IF语句的java JList数据添加   java在这种情况下有没有更好的方法来调整哈希值?   java@Valid不会触发@Repository中的验证   java如何在安卓中调整位图的大小   iTextJava。lang.NoClassDefFoundError:com/itextpdf/text/DocumentException   java使用ResourceBundleMessageSource加载一个ressource包(message.properties)的全部内容   java如何通过JasperReports 6动态设置Excel工作表名称。十、   java是编写这个程序的最佳方式   JAVA伊奥。FileNotFoundException:C:\Program Files\Apache软件基金会\Tomcat 8.0\。。\webapps\ROOT\\u cips\config。伊尼   java我正在尝试创建一个TictaToe程序,但是JOptionPane和绘图有问题   垃圾收集为什么java中的finalize()方法不在Finalizer类中?为什么它是在对象类中定义的?   java如何用括号编码替换url中的括号?   java web集成移动应用程序   在netbeans中运行MIDP2应用程序时出现java错误