进化策略变得简单

evop的Python项目详细描述


Evopy

Build StatuscodecovPyPIDocs

进化策略变得简单!

使用evopy可以轻松地优化python中的浮动向量。

安装

您只需要使用evopy Python 3!运行此命令从pypi获取evopy:

pip install evopy

然后您可以像这样导入EvoPy

fromevopyimportEvoPy

使用

一维示例

假设我们想要找到抛物线的最佳值,而不是使用微积分的精确方法!使用Evopy,这与编写以下两行代码一样简单:

evopy=EvoPy(lambdax:pow(x,2),1)best_coordinates=evopy.run()

这里的主要成分是适应度函数(lambda)。这也可以是一个普通的函数引用,只要确保它接受一个float或一个float数组并输出一个float。另一个要素是第一行末尾的1:这是您期望在适应度函数中输入的维度。best_coordinates将包含一个具有单个元素的数组,这是算法在默认生成数中可以找到的最佳值。

多维示例

如果前面的例子对您来说过于简单,那么我们还可以研究更复杂的二维函数的最佳值,比如Rastrigin function。我们不需要在前面的代码片段中做太多修改就可以让它工作:

evopy=EvoPy(lambdaX:5+sum([(x**2-5*np.cos(2*np.pi*x))forxinX]),2,generations=1000,population_size=100)best_coordinates=evopy.run()

与第一个例子相比,我们将适应度函数交换为更复杂的适应度函数,将维数设置为2,并通过设置比默认值更高的生成数和个体数给算法更多的时间来寻找最优值。

文件

有关Evopy功能的更多详细信息,请查看the docs

开发

Clone this repository并从克隆目录中获取所有依赖项:

pip install -r requirements.dev.txt

使用以下命令运行所有测试:

nosetests

要检查代码样式,请运行:

pylint evopy

要测量代码覆盖率,请运行:

nosetests --with-coverage --cover-package=evopy --cover-html --cover-branches --cover-erase

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

推荐PyPI第三方库


热门话题
带truezip的java拆分zip   java Spring,AppEngine:在AppEngine的数据源中添加postgresql url   java Android coverflow   java以编程方式创建复合过滤器,以在log4j 2中定义多个过滤器   java jpa eclipselink异常[eclipselink 4002]   中的java WordNet数据库目录相对路径。罐子   java无法在Spring Boot 2/3中显示登录的用户   java Onetomany:未找到联接表错误   java数据模型演化   java方法在类型列表中添加的(对象)不适用于参数(int)意味着什么?   用java打印两个数组   java SNMP4J发送从不超时   java添加/删除联系人(EditText)+类别(SpinnerBox),可以根据需要动态添加/删除多个联系人   语句和PreparedStatement之间的java差异   java在运行作为JAR归档文件分发的项目时加载图像等资源   来自应用程序或外部服务器的java Cron作业   多线程Java并发:并发添加和清除列表项   java更改单元测试的私有方法行为