没有项目描述

dwave-qbsolv的Python项目详细描述


…图片::https://img.shields.io/pypi/v/dwave qbsolv.svg
:目标:https://pypi.python.org/pypi/dwave qbsolv

图像::https://codecov.io/gh/dwavesystems/qbsolv/branch/master/graph/badge.svg
:目标:https://codecov.io/gh/dwavesystems/qbsolv

…图片::https://travis-ci.org/dwavesystems/qbsolv.svg?branch=master
:目标:https://travis ci.org/dwavesystems/qbsolv

…图片::https://ci.appveyor.com/api/projects/status/y2f7rqxvepn4ak4b/branch/master?svg=true
:目标:https://ci.appveyor.com/project/dwave adtt/qbsolv/branch/master

…图片::https://readthedocs.com/projects/d-wave-systems-qbsolv/badge/?version=latest
:目标:https://docs.ocean.dwavesys.com/projects/qbsolv/en/latest/?徽章=最新的图片::https://circleci.com/gh/dwavesystems/qbsolv.svg?style=svg
:目标:https://circleci.com/gh/dwavesystems/qbsolv

==
qbsolv
==


……索引开始标记

一个分解求解器,它通过将一个大的二次无约束二元优化(qubo)问题分解成若干块来找到其最小值。使用运行tabu算法的
经典解算器来解块。qbsolv还支持将d波系统配置为解算器。注:接入D波系统必须单独安排。

…索引结束标记

安装开始标记

python
----


pypi上的系统可能有一个轮子。还提供了源分布。

…代码块::python




代码块::bash

pip install-r python/requirements.txt
pip install cython==0.27
python setup.py install

-

在Linux上,命令应该是这样的:


…代码块::bash

mkdir build;cd build
cmake..
make

要构建命令行界面,请打开cmake选项"qbsolv_build_cmd"。cmake要执行的命令行选项是`-dqbsolv_build_cmd=on`。若要生成测试,请打开cmake选项"qbsolv_build_tests"。cmake执行此操作的命令
行选项是"-dqbsolv_build_tests=on"。

安装结束标记

使用开始标记

…代码:

qbsolv-i i n file[-o outfile][-m][-t][-n][-s submatrix][-w]
[-h][-a算法][-v verbosityvel][-v][-q][-t秒]


----

结果,该结果最小化或可选地最大化由qubo表示的目标函数
的值。问题是用qubo(5)文件格式表示的。


qubo输入问题不限于图形大小或
采样器的连接,例如d波系统。

代码:

-i填充输入qubo的文件名。此选项是必需的。
-o outfile
可选输出文件名。
默认为标准输出。
-算法
外部循环算法的可选选择。默认为o.
对于原始qbsolv方法,"o"。基于能量变化的子矩阵。
"p"用于路径重链接。子矩阵基于解的差异
-m
选择寻找最大值而不是最小值。
-t目标
目标函数的可选参数目标值。找到时停止执行。
-t timeout
可选超时值。当占用的CPU时间等于或超过该时间时停止执行。只有在主
循环完成后才检查超时。其他暂停值,如"target"和"repeats"在"timeout"之前暂停。
默认值为2592000.0。
-n repeats
算法的主循环重复的可选次数,其中
在停止前未找到最佳值的更改。
默认值v值为50。
-s subproblemsize
qubo分解到的子问题的可选大小。
如果不存在"-s 0"或"-s"参数,则使用dw设置的工作区中的嵌入文件中指定的大小。如果未建立dw环境,则默认值为47,并对子问题使用tabu解算器。
如果指定了值,则使用
tabu解算器解决基于该大小的子问题。
-w
如果存在,则打印qubo矩阵和结果。n.csv格式。
-h
如果存在,则打印qbsolv的帮助或用法消息,并退出而不执行。
-v verbositylevel
输出详细程度的可选设置。默认的verbositylevel
0输出解决方案中的位数、解决方案、
和解决方案的能量。如果找到多个解决方案,verbostiylevel为1将输出相同的
信息。在算法的每个步骤中,2
的详细级别也会输出更详细的信息。
信息的详细级别增加到4。
-v
如果存在,则打印qbsolv程序的版本号并退出而不执行。
-q
如果存在,则打印qubo文件的格式。
-r seed
用于重置生成随机数的种子。

…用法结束标记格式开始标记

.qubo文件包含描述无约束
二次二进制优化问题的数据。它是一个ascii文件,包含四种类型的行:


1。由第1栏中的"C"定义的注释。注释可能会出现在文件中的任何位置,并被忽略。

2。由第一列中的"p"定义的程序行。
一个程序行必须是文件中的第一个非注释行。
程序行有六个用空格分隔的必需字段,
,如本例所示:

。代码:

p qubo拓扑maxnodes nnodes ncoopers

,其中:

…代码:

p problem line sentinel。
qubo文件类型标识符。
标识问题拓扑和特定问题类型的拓扑字符串。对于无约束问题,目标是"0"或
"无约束"。在将来的实现中,有效字符串
可能包括"chimera128"或"chimera512"(除其他外)。
拓扑中的最大节点数。
节点数问题中的s(nnodes<;=maxnodes)。
每个节点都有一个唯一的数字,并且必须接受范围
{0-(maxnodes-1)}内的值。重复的节点号是一个错误。节点
编号不需要按顺序排列,也不需要相邻。
n耦合器问题中的耦合器编号。每个耦合器是两个不同节点之间的唯一连接。耦合器的最大数目为(nnodes)^2。
重复的耦合器是错误的。


3。无节点条款。每个子句由三个数字组成,用一个或多个空格隔开。前两个数字必须是整数,并且是此节点的
(repeateD)。节点号必须在{0,(maxnodes-1)}范围内。
第三个值是与节点关联的权重。权重可以是整数
或浮点数,可以取任何正值或负值,也可以设置为零。

4。NCouplers子句。每个子句由三个数字组成,用一个或多个空格隔开。前两个数字(i和j)是此连接器的节点号
,必须是不同的整数,其中(i<;j)。每个数字必须是有效节点号之一(因此在{0,(maxnodes-1)})。
第三个值是与连接器相关联的强度。强度可以是一个
整数或浮点数,可以取任何正值或负值,但不能为零。
每个节点必须与至少一个其他节点连接(因此必须至少有
一个连接器连接到它)。

有4个
节点和6个耦合器。提供此示例是为了演示qubo基准文件的
元素,而不是为了表示真正的问题。代码:

3 3-2.4
c——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————格式结束标记

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

推荐PyPI第三方库


热门话题
java为什么我的代码永远运行?它只是一堆带int的for循环,应该是递减的?   java如何更改IntelliJ IDEA中的XML缩进?   java如何使未填充的int数组不打印0?   eclipse My Weka Java代码结果*Weka*虚拟*STRING*用于*STRING*属性*   java泄漏了Windows com。安卓内部的政策恳求   java这个无限循环的原因是什么?   swing My标签在Java中很模糊   java如何在组件表示存储扩展中获取组件对象   java如何避免selenium网格中的会话超时   Java乘法测验,如果答案错误,如何循环   在Java HttpServlet Google app engine中保存对象   java ArrayList过滤器   java跳跃减慢了xvelocity:使用Libgdx/Box2D进行跳跃和跑步   java删除、复制和修改pom。xml文件   当提供的时区与服务器的时区相同时,RestCall中的java@DateTimeFormat(iso=iso.DATE_TIME)不工作   java Spring批处理多线程默认限制为10隐式?   安卓错误java。lang.UnsupportedOperationException:无法转换为维度:type=0x1