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联系。
如果您在研究中发现此代码有用,请引用
@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},
}
新闻
- (2022/07) 论文 用于高维问题的快速移动自然进化策略 已被 IEEE CEC'22 接收。
- (2022/12) CR-FM-NES 已集成到 evosax,它提供基于 JAX 的进化策略实现。感谢 @RobertTLange 和 @Obliman!
入门
先决条件
您只需要 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 在其他设置中的实现。
- C# 实现: bakanaouji/CRFMNES_CS
- C++ 实现: dietmarwo/fast-cma-es
- Jax(Python) 实现: RobertTLange/evosax
参考文献
项目详情
下载文件
下载适用于您平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。
源代码分发
crfmnes-1.0.0.tar.gz (6.8 kB 查看哈希值)
构建分发
crfmnes-1.0.0-py3-none-any.whl (6.9 kB 查看哈希值)
关闭
crfmnes-1.0.0.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7708326f984268e624fb1bd6a2bad4c99352a228b06972cb182d5a7ba7d86ac9 |
|
MD5 | 1cfd5e479cdc66e1447828f37b1e4ae0 |
|
BLAKE2b-256 | c64a9c0c1aa1cc331095872b1602b59508d34208269d30eb9e3273608a657edb |
关闭
crfmnes-1.0.0-py3-none-any.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f5a8d1c7c63e0e2cf38fb36238a47e879946b75443bfdcd2af40b3edbbdee338 |
|
MD5 | 673333545835cc2032113e60fd99b1d9 |
|
BLAKE2b-256 | 41950d6e27ac8875c8490fbedb77c21a30223168e7595f927a0e7a92b1c34597 |