動画(ケーススタディ)

具体的な問題を QUBO++ で解く例を動画で紹介します。 1 本ごとに 1 つの問題を取り上げ、問題の定義、変数・制約・目的関数の決め方、プログラム、実行例を説明します。 文章での説明は活用事例のページ(Python 版・C++ 版)にあります。 動画は YouTube のチャンネル QUBO++ で公開していて、再生リスト QUBO++ ケーススタディ(日本語) にまとめています。 画像をクリックすると、このページで再生できます。 QUBO++ の使い方は動画(チュートリアル)のページにあります。

QUBO++ ケーススタディ 地図の塗り分け(Python)(13:18・YouTube)隣り合う地域が違う色になるように地図を塗る問題を、グラフの彩色として解きます。小さな地図で変数・制約・目的関数を決め、cons() を使わない QUBO と cons() の 2 通りで書いて、アメリカ本土 48 州を 4 色で塗り分けます。動画のプログラムと章ごとの説明 →
QUBO++ ケーススタディ 数独(Python)(12:28・YouTube)数独を、マスと数字の組ごとのバイナリ変数 x[i][j][k] の 3 次元配列で書きます。マス・行・列の制約は qbpp.vector_sum の axis を変えて 1 行ずつ、ブロックはスライスで書き、ヒントから値が決まる変数は辞書に登録して qbpp.replace で固定します(729 個 → 174 個)。動画のプログラムと章ごとの説明 →
QUBO++ ケーススタディ 量子アニーラーのシミュレーション(Python)(13:46・YouTube)量子アニーラーが解くイジングモデルを、実機を使わずに QUBO++ で解きます。2000Q のキメラグラフの上で乱数で生成した問題を spin_to_binary() で QUBO にして EasySolver で解き、すべての結合を満たせない理由を輪で確かめ、全探索で最適解と比べます。最後に Advantage2 などのトポロジーを紹介します。動画のプログラムと章ごとの説明 →
QUBO++ ケーススタディ 画像のハーフトーン化(Python)(10:24・YouTube)グレースケール画像を白と黒の点だけで表すハーフトーン化を、ぼかした 2 値画像と元の画像の誤差の 2 乗の和、つまり QUBO のエネルギーを小さくする問題として解きます。256 × 256 の猫の写真で、よく使われる DBS(Direct Binary Search)と ABS3、DBS の画像を hint にした ABS3 を、時間とエネルギーのグラフと最終画像で比べます。動画のプログラムと章ごとの説明 →
QUBO++ ケーススタディ ノノグラム(Python)(14:25・YouTube)手がかりの数字からマスを黒く塗って絵を完成させるパズルを、15 × 15 の問題(答えは QUBO++ のロゴ)で解きます。塊の位置を左寄せからの移動量で表してドメインウォールの変数にし、塊がマスを覆う条件を帯の 2 か所の値の差で書いて、マスの色を変数の線形式にします。補助変数なしで解き、展開して QUBO としても解きます。動画のプログラムと章ごとの説明 →
QUBO++ ケーススタディ グラフの分割問題(Python)(15:46・YouTube)グラフを切ったときに切れる辺の数を考える 3 つの問題、最大カット・二分割幅・カット幅を、4 次元超立方体(頂点 16 個・辺 32 本)で解きます。3 つとも同じカットの式から作り、最大カットは符号を反転して、二分割幅は半分ずつという制約を qbpp.cons で加えて求めます。カット幅は頂点の番号をドメインウォールで表すと、変数の表の各列が切れ目での 2 つの分け方になり、天井の整数変数で最大の切れ目を最小にします。4 × 4 の盤のルークのグラフと、頂点 256 個の K4 × K4 × K4 × K4(ABS3Solver)でも試します。動画のプログラムと章ごとの説明 →
QUBO++ ケーススタディ 納期付き機械スケジューリング(Python)(14:09・YouTube)3 台の機械で 12 件の注文を、どの注文も納期までに終わるように処理します。各機械は納期の早い順に処理してよいことを示して割り当てだけを変数にし、割り当ての制約と納期の制約を qbpp.cons で書きます。プログラムでは配列の演算で和をまとめて書き、処理できない組などの変数を qbpp.replace で固定します。処理時間の合計を最小にした後、整数変数 z でメイクスパンを最小にします。動画のプログラムと章ごとの説明 →
QUBO++ ケーススタディ アメリカ 48 州を 3 色で塗り分ける(Python)(12:49・YouTube)アメリカ本土の 48 州は 4 色なら塗り分けられますが、3 色では塗り分けられません。最小でいくつの州を除けば、残りを 3 色で塗れるでしょうか(3 彩色可能頂点削除)。州 × 色の 144 個のバイナリ変数で、「各州の色は高々 1 つ」と「隣り合う州は違う色」をペナルティの式で書き、塗る州の数を最大にします。ABS3Solver で最良の解 1728 個をすべて求めると、除く州は 2 つで、その組は 24 組です。なぜ 2 州で 24 組なのかを、奇数個の州の輪が真ん中の州を囲む 3 つの形から説明します。動画のプログラムと章ごとの説明 →
QUBO++ ケーススタディ ポートフォリオ最適化(Python)(18:38・YouTube)1000 万円で、架空の 10 銘柄の株のどれを、どれだけ買うかを決めます。定期預金と株の比較から期待リターン・リスク・リスクプレミアムを説明し、相関のない株を組み合わせるとリスクが下がること、相関係数が 1 なら下がらないことを示します。期待リターン R とリスクの 2 乗 V の式を作り、V − λR を最小にする平均分散モデルを、100 株単位の整数変数と予算の範囲の qbpp.cons で書いて解きます。買う銘柄を 4 つまでに制限すると、業種が重ならない 4 銘柄が選ばれます。動画のプログラムと章ごとの説明 →

Back to top

Page last modified: 2026.10.23.

© 2026 中野浩嗣, 広島大学