hessian-lipschitz连续函数的并行全局优化。
oBB的Python项目详细描述
obb是一种求解具有lipchitz连续梯度或hessian函数的并行全局优化算法。
这是我们论文中算法的一个实现: Branching and Bounding Improvements for Global Optimization Algorithms with Lipschitz Continuity Properties 卡蒂斯、霍克斯和古尔德。《全球优化杂志》,第61卷,第3期,第429-457页,2015年。
最新版本包含一个可选的范围缩小策略,在许多情况下可以提高性能,但可能并不总是保证全局最优。详见硕士论文: A Branch and Bound Algorithm for the Global Optimization and its Improvements 吉达。佛罗伦萨大学工程学院硕士论文,2015年。
文档和源代码
html文档可在http://packages.python.org/oBB找到。obb的源代码托管在github上:https://github.com/coin-or/oBB
要求
OBB需要安装以下软件:
- python 2.6/2.7或python 3(http://www.python.org/)
- mpi-2的工作实现(例如openmpi,http://www.open-mpi.org/)
此外,还应安装以下python包(如果使用pip,这些包将自动安装,请参见Installation using pip):
- numpy 1.3.0或更高版本(http://www.numpy.org/)
- python 1.3或更高版本的mpi(http://mpi4py.scipy.org/)
- cvxopt 1.1.3或更高(http://cvxopt.org/)
可选地,可以手动安装matplotlib 1.1.0或更高版本(http://www.matplotlib.org/),以便在2d中可视化算法。
使用PIP安装
为了便于安装,请使用pip(http://www.pip-installer.org/)作为根:
$ [sudo] pip install --pre obb
或者easy_install:
$ [sudo] easy_install obb
如果您没有根用户权限,或者您想安装obb供您私人使用,您可以使用:
$ pip install --pre --user obb
它将在您的主目录中安装obb。
请注意,如果您的系统中存在旧的obb安装,则可以使用:
$ [sudo] pip install --pre --upgrade obb
将obb升级到最新版本。
手动安装
或者,您可以下载源代码并按如下方式解压缩:
$ wget https://pypi.io/packages/source/o/oBB/oBB-0.8b.zip $ unzip oBB-0.8b.zip $ cd oBB-0.8b
然后使用:
$ python setup.py build $ [sudo] python setup.py install
如果您没有根用户权限,或者您想安装obb供您私人使用,您可以使用:
$ python setup.py install --user
相反。
测试
obb包含一个命令行测试脚本,用于检查安装是否成功。要运行测试,只需在shell中键入以下命令:
$ test_obb
这将在一个处理器核心上使用mpi运行obb,以解决简单的二维sines和问题。
注意,如果使用mpi的mpich实现,首先需要在后台启动mpd守护进程:
$ mpd &
但这对于其他mpi实现(例如openmpi)是不必要的。
卸载
如果obb是使用pip安装的,则可以按如下方式卸载:
$ [sudo] pip uninstall obb
如果obb是手动安装的,则必须手动删除已安装的文件(位于python站点包目录中)。
错误
请使用GitHub’s issue tracker报告任何错误。
许可证
该算法是在gnu lgplv3许可下发布的。