C++: 手動ダウンロード¶
対応環境¶
Hi-QUBO は以下の CPU を搭載した Linux ベースのシステムで動作します:
amd64: 64ビット Intel および AMD プロセッサ
arm64: 64ビット ARM プロセッサ
Ubuntu 20.04 以降を推奨します. Windows ユーザーは WSL (Windows Subsystem for Linux) を通じて Hi-QUBO を使用できます.
インストール¶
Hi-QUBO のインストール方法は2つあります:
方法1: apt(推奨) — パスの自動設定を含むシンプルなインストール.sudo 権限が必要です.
方法2: tar.gz — apt リポジトリの設定が不要な手動インストール.sudo 権限は不要です.
ここでは 方法2: tar.gz によるインストールを紹介します.方法1: apt(推奨) の紹介はこちらです.
ステップ1: tar.gz によるインストール¶
Hi-QUBO ダウンロード ページから最新の Hi-QUBO リリースの .tar.gz ファイルをダウンロードします.
以下のようにアーカイブを展開します:
tar xf qbpp_<arch>_<version>.tar.gz
ステップ2: Trial ライセンスの取得¶
qbpp-license -sを実行 — 端末に本日の8文字サインアップコードと portal URL が表示されます:
QUBO++ Trial Sign-up Code: XXXXXXXX
Use this code at the QUBO++ User Portal to register for a Trial license:
https://qubo-plus.github.io/portal/
https://qubo-plus.github.io/portal/ を開き, アカウントの作成をクリックします.

Sign-up code の項目に 1. のコード
XXXXXXXXを入力し, 必要事項を記入します.
メール検証後,Trial ライセンスキー (
T-PREFIX-XXXXXX-XXXXXX-XXXXXX,PREFIX はメールローカル部から導出) が portal 上に表示されます.
マシンで
qbpp-license -k T-... -aでアクティベートしてください:
qbpp-license -k T-PREFIX-XXXXXX-XXXXXX-XXXXXX -a
30日のTrial期間はサインアップ時から開始します — キー発行と同時に期限が確定するため,portal 上ですぐに有効期限を確認できます.期限の1週間前から User Portal で Trial の更新が可能です.更新時は同じライセンスキーがそのまま使われ,有効期限のみが30日延長されます — マシンのアクティベーション情報も保持されるため,再アクティベートは不要です.
詳しくはライセンス管理を参照してください.
環境変数の設定¶
Hi-QUBO プログラムをコンパイル・実行するには,以下の環境変数を設定します.
シェル起動時に自動的に設定されるよう,~/.bashrc の末尾に以下の行を追加してください:
export QBPP_PATH=[QUBO++ インストールディレクトリ]
export CPLUS_INCLUDE_PATH=$QBPP_PATH/include:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=$QBPP_PATH/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=$QBPP_PATH/lib:$LD_LIBRARY_PATH
export PATH=$QBPP_PATH/bin:$PATH
ステップ3: サンプルプログラムのコンパイルと実行¶
Hi-QUBO サンプルプログラムの作成¶
以下の Hi-QUBO サンプルプログラムを作成し,ファイル test.cpp として保存してください:
#include <qbpp/easy_solver.hpp>
#include <qbpp/qbpp.hpp>
int main() {
auto a = qbpp::var("a");
auto b = qbpp::var("b");
auto c = qbpp::var("c");
auto f = qbpp::sqr(a + 2 * b + 3 * c - 4);
f.simplify_as_binary();
std::cout << "f = " << f << std::endl;
auto solver = qbpp::EasySolver(f);
auto sol = solver.search({{"time_limit", 10}, {"target_energy", 0}});
std::cout << "sol = " << sol << std::endl;
}
このプログラムでは,次の式\(f\)を展開整理して得られたQUBO式をEasySolverで解を求めます.
プログラムのコンパイル¶
test.cpp をコンパイルして実行ファイル test を生成します:
g++ test.cpp -o test -std=c++17 -Wfloat-conversion -ldl -pthread
このコマンドにより,test という名前の実行ファイルが作成されます. コンパイラオプションの意味は以下の通りです:
-std=c++17: C++17 標準を使用します.-Wfloat-conversion: 浮動小数点数から整数への暗黙変換を警告します。整数係数のライブラリでは3.5 * xやf <= 2.5のような実数リテラルが黙って切り捨てられる(それぞれ3 * x、f <= 2)ため、付けておくことを推奨します。実数係数を扱いたい場合は#define DOUBLE_TYPE版を使ってください。-ldl: 動的ローダライブラリをリンクします(Hi-QUBO は実行時にdlopenで .so をロードします).-pthread: POSIX スレッドのライブラリをリンクします(Hi-QUBO の.soがstd::threadを内部で使用するため必須).
プログラムの実行¶
test を以下のように実行すると,\(f\)を展開して得られた式と解を表示します:
./test
f = 16 -7*a -12*b -15*c +4*a*b +6*a*c +12*b*c
sol = 0:{{a,1},{b,0},{c,1}}
アップグレード¶
sudo apt update
sudo apt install --only-upgrade qbpp
アンインストール¶
sudo apt remove qbpp
ライセンスのアクティベーション¶
インストール後,ライセンスをアクティベートして Hi-QUBO の使用を開始します:
qbpp-license -k XXXXXX-XXXXXX-XXXXXX-XXXXXX -a
無料の Trial ライセンス(30日間,10,000変数)は Hi-QUBO User Portal で取得できます.qbpp-license -s を実行してサインアップコードを得て,portal で登録すると Trial キーが受け取れます.
次のステップ¶
ライセンスをアクティベートしてください.詳細は ライセンス管理 をご覧ください.
Hi-QUBO の基本を学びましょう.Hi-QUBO (C++) の 基礎 から始めてください.
ケーススタディ で Hi-QUBO プログラムの例を探索してください.