跳转到主要内容

Python中的数值优化CR-FM-NES

项目描述

CR-FM-NES [幻灯片]

CR-FM-NES [1] 实现。CR-FM-NES 的主要特点是时间和空间复杂度都是线性的,部分考虑变量依赖性。因此,它特别适合高维问题(大约几百到几千维)。另一方面,它即使在低维问题上也能实现高性能。这是将 FM-NES (Fast Moving Natural Evolution Strategy) [2] 扩展到高维问题的一种方法。如果您有任何问题,请通过电子邮件masahironomura5325@gmail.com联系。

188303830-aa7b11d0-c6ff-4d1a-9bd8-2ccbf4d7e2dd

如果您在研究中发现此代码有用,请引用

@INPROCEEDINGS{nomura2022fast,
  title={Fast Moving Natural Evolution Strategy for High-Dimensional Problems},
  author={Nomura, Masahiro and Ono, Isao},
  booktitle={2022 IEEE Congress on Evolutionary Computation (CEC)}, 
  pages={1-8},
  year={2022},
}

新闻

入门

先决条件

您只需要 NumPy,这是一个用于科学计算的包。

安装

请运行以下命令。

$ pip install crfmnes

示例

这是一个简单的示例,目标函数是球面函数。请注意,优化问题被表示为 最小化 问题。

import numpy as np
from crfmnes import CRFMNES

dim = 3
f = lambda x: np.sum(x**2)
mean = np.ones([dim, 1]) * 0.5
sigma = 0.2
lamb = 6
crfmnes = CRFMNES(dim, f, mean, sigma, lamb)

x_best, f_best = crfmnes.optimize(100)
print("x_best:{}, f_best:{}".format(x_best, f_best))
# x_best:[1.64023896e-05 2.41682149e-05 3.40657594e-05], f_best:2.0136169613476005e-09

对于约束问题

CR-FM-NES 可应用于(隐式)约束的黑盒优化问题。请将不可行解的目标函数值设置为 np.inf。CR-FM-NES 反映信息并执行高效搜索。请参阅[3]获取此仓库中实现约束处理方法的详细信息。

CR-FM-NES 的其他版本

我非常感激 CR-FM-NES 在其他设置中的实现。

参考文献

项目详情


下载文件

下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码分发

crfmnes-1.0.0.tar.gz (6.8 kB 查看哈希值)

上传时间 源代码

构建分发

crfmnes-1.0.0-py3-none-any.whl (6.9 kB 查看哈希值)

上传时间 Python 3

由以下支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面