没有项目描述
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——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————格式结束标记
:目标: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(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——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————格式结束标记