单纯形同调全局优化
shgo的Python项目详细描述
存储库:https://github.com/Stefan-Endres/shgo
说明
使用单纯形同调全局查找函数的全局最小值 优化(shgo)。适用于解决一般用途的nlp和blackbox 全局优化问题(低维问题)。 优化问题的一般形式如下:
minimize f(x) subject to g_i(x) >= 0, i = 1,...,m h_j(x) = 0, j = 1,...,p
其中x是一个或多个变量的向量。f(x)是目标 函数R^n -> R,g_i(x)是不等式约束。 h_j(x)是等式约束。
安装
稳定:
$ pip install shgo
最新:
$ git clone https://bitbucket.org/upiamcompthermo/shgo $ cd shgo $ python setup.py install $ python setup.py test
文档
项目网站https://stefan-endres.github.io/shgo/包含更详细的示例、注释和性能配置文件。
快速示例
考虑最小化rosenbrock函数的问题。此函数在rosenin scipy.optimize
中实现>>>fromscipy.optimizeimportrosen>>>fromshgoimportshgo>>>bounds=[(0,2),(0,2),(0,2),(0,2),(0,2)]>>>result=shgo(rosen,bounds)>>>result.x,result.fun(array([1.,1.,1.,1.,1.]),2.9203923741900809e-18)
注意,边界决定目标函数的维数,因此是必需的输入,但是可以使用None或将转换为大浮点数的numpy.inf之类的对象指定空边界。