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包(如果使用pip,这些包将自动安装,请参见Installation using pip):

可选地,可以手动安装matplotlib 1.1.0或更高版本(http://www.matplotlib.org/),以便在2d中可视化算法。

使用PIP安装

为了便于安装,请使用piphttp://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许可下发布的。

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

推荐PyPI第三方库


热门话题
java在OSGi felix scr注释中将运行时参数传递给服务   java如何按字母顺序将对象插入ArrayList?   在Netbeans中调试Java   java从json文件中获取不同的照片   通过迭代和打印将java插入2个哈希表的运行时间   java如何替换JUnit 5中的WireMock@Rule注释?   shell在javajsch程序中使用'been'命令访问受限目录   java RMI是什么类型的?   javajooq别名构造   java如何通过在testNG中创建对象来调用测试方法   java下载从安卓 URL加载到imageview中的图像   从java运行bat文件   带有客户端证书的java嵌入式Jetty   java Ajax将JSON数组发送到servlet   创建数据并将数据添加到SQLite数据库时发生java错误   添加CV的javascript HRMS项目过程   java AspectJ加载时编织不起作用   java动态更改(使用JMX)正在监视的文件夹中的新文件   java岛数迭代矩阵并将节点标记为已访问