From ebb29302fd2d786a272cabae75713ed800c5627e Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Thu, 22 Sep 2022 05:00:41 +0000 Subject: [PATCH] deploy: OpenJij/OpenJij@3df4f9686c56b54a6b26bc101bb1557a23cb94b6 --- www/_images/graph_coloring_01.png | Bin 0 -> 12358 bytes www/_images/graph_coloring_02.png | Bin 0 -> 15632 bytes www/_images/graph_coloring_03.png | Bin 0 -> 64808 bytes www/_images/graph_coloring_04.png | Bin 0 -> 39028 bytes www/_images/knapsack_01.png | Bin 0 -> 131658 bytes www/_modules/dimod/vartypes.html | 12 +- www/_modules/index.html | 12 +- www/_modules/openjij/model/chimera_model.html | 12 +- www/_modules/openjij/model/king_graph.html | 12 +- www/_modules/openjij/model/model.html | 12 +- .../sampler/chimera_gpu/base_gpu_chimera.html | 12 +- .../sampler/chimera_gpu/gpu_sa_sampler.html | 12 +- .../sampler/chimera_gpu/gpu_sqa_sampler.html | 12 +- .../openjij/sampler/csqa_sampler.html | 12 +- www/_modules/openjij/sampler/response.html | 12 +- www/_modules/openjij/sampler/sa_sampler.html | 12 +- www/_modules/openjij/sampler/sampler.html | 12 +- www/_modules/openjij/sampler/sqa_sampler.html | 12 +- www/_modules/openjij/utils/benchmark.html | 12 +- www/_modules/openjij/utils/decorator.html | 12 +- www/_modules/openjij/utils/graph_utils.html | 12 +- www/_modules/openjij/utils/res_convertor.html | 12 +- www/_modules/openjij/variable_type.html | 12 +- www/_sources/tutorial/ja/graph_coloring.md | 189 ++++ www/_sources/tutorial/ja/knapsack.md | 187 ++++ www/genindex-A.html | 12 +- www/genindex-B.html | 12 +- www/genindex-C.html | 12 +- www/genindex-D.html | 12 +- www/genindex-E.html | 12 +- www/genindex-F.html | 12 +- www/genindex-G.html | 12 +- www/genindex-I.html | 12 +- www/genindex-K.html | 12 +- www/genindex-L.html | 12 +- www/genindex-M.html | 12 +- www/genindex-N.html | 12 +- www/genindex-O.html | 12 +- www/genindex-P.html | 12 +- www/genindex-Q.html | 12 +- www/genindex-R.html | 12 +- www/genindex-S.html | 12 +- www/genindex-T.html | 12 +- www/genindex-V.html | 12 +- www/genindex-all.html | 12 +- www/genindex.html | 12 +- www/index.html | 12 +- www/objects.inv | Bin 3949 -> 4569 bytes www/py-modindex.html | 12 +- www/reference/openjij/index.html | 14 +- .../openjij/model/chimera_model/index.html | 12 +- www/reference/openjij/model/index.html | 12 +- .../openjij/model/king_graph/index.html | 12 +- www/reference/openjij/model/model/index.html | 12 +- .../chimera_gpu/base_gpu_chimera/index.html | 12 +- .../chimera_gpu/gpu_sa_sampler/index.html | 12 +- .../chimera_gpu/gpu_sqa_sampler/index.html | 12 +- .../openjij/sampler/chimera_gpu/index.html | 12 +- .../openjij/sampler/csqa_sampler/index.html | 12 +- www/reference/openjij/sampler/index.html | 14 +- .../openjij/sampler/response/index.html | 14 +- .../openjij/sampler/sa_sampler/index.html | 12 +- .../openjij/sampler/sampler/index.html | 12 +- .../openjij/sampler/sqa_sampler/index.html | 12 +- .../openjij/utils/benchmark/index.html | 12 +- .../openjij/utils/decorator/index.html | 12 +- .../openjij/utils/graph_utils/index.html | 12 +- www/reference/openjij/utils/index.html | 12 +- .../openjij/utils/res_convertor/index.html | 12 +- .../openjij/utils/time_measure/index.html | 12 +- .../openjij/variable_type/index.html | 12 +- www/search.html | 12 +- www/searchindex.js | 2 +- www/sitemap.xml | 2 +- www/tutorial/en/index.html | 18 +- www/tutorial/ja/graph_coloring.html | 950 +++++++++++++++++ www/tutorial/ja/index.html | 30 +- www/tutorial/ja/knapsack.html | 973 ++++++++++++++++++ 78 files changed, 3046 insertions(+), 79 deletions(-) create mode 100644 www/_images/graph_coloring_01.png create mode 100644 www/_images/graph_coloring_02.png create mode 100644 www/_images/graph_coloring_03.png create mode 100644 www/_images/graph_coloring_04.png create mode 100644 www/_images/knapsack_01.png create mode 100644 www/_sources/tutorial/ja/graph_coloring.md create mode 100644 www/_sources/tutorial/ja/knapsack.md create mode 100644 www/tutorial/ja/graph_coloring.html create mode 100644 www/tutorial/ja/knapsack.html diff --git a/www/_images/graph_coloring_01.png b/www/_images/graph_coloring_01.png new file mode 100644 index 0000000000000000000000000000000000000000..59a930792e7892b2ae95358f95f9a280132bdc38 GIT binary patch literal 12358 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 vHg5*D5g77*zi1{hLMK}m~{4(XN{dPIaly1Q%W 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 Lx{LPPF`xehgXryP literal 0 HcmV?d00001 diff --git a/www/_images/graph_coloring_04.png b/www/_images/graph_coloring_04.png new file mode 100644 index 0000000000000000000000000000000000000000..e8daefa0c726347143bac9adf63b3416fc7e3393 GIT binary patch literal 39028 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≫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
  • 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%0A7TAElPjS|d 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 P0sOHru`&J&?GgK5;@{z7 literal 0 HcmV?d00001 diff --git a/www/_modules/dimod/vartypes.html b/www/_modules/dimod/vartypes.html index 2a85b11..649be93 100644 --- a/www/_modules/dimod/vartypes.html +++ b/www/_modules/dimod/vartypes.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/index.html b/www/_modules/index.html index 5296248..5f01fc8 100644 --- a/www/_modules/index.html +++ b/www/_modules/index.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/model/chimera_model.html b/www/_modules/openjij/model/chimera_model.html index e90fe18..dfc291b 100644 --- a/www/_modules/openjij/model/chimera_model.html +++ b/www/_modules/openjij/model/chimera_model.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/model/king_graph.html b/www/_modules/openjij/model/king_graph.html index a19b715..5b8e1f8 100644 --- a/www/_modules/openjij/model/king_graph.html +++ b/www/_modules/openjij/model/king_graph.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/model/model.html b/www/_modules/openjij/model/model.html index 37696a7..526358b 100644 --- a/www/_modules/openjij/model/model.html +++ b/www/_modules/openjij/model/model.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/sampler/chimera_gpu/base_gpu_chimera.html b/www/_modules/openjij/sampler/chimera_gpu/base_gpu_chimera.html index 51089c3..be98f0d 100644 --- a/www/_modules/openjij/sampler/chimera_gpu/base_gpu_chimera.html +++ b/www/_modules/openjij/sampler/chimera_gpu/base_gpu_chimera.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/sampler/chimera_gpu/gpu_sa_sampler.html b/www/_modules/openjij/sampler/chimera_gpu/gpu_sa_sampler.html index c2296ac..9d4fc26 100644 --- a/www/_modules/openjij/sampler/chimera_gpu/gpu_sa_sampler.html +++ b/www/_modules/openjij/sampler/chimera_gpu/gpu_sa_sampler.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/sampler/chimera_gpu/gpu_sqa_sampler.html b/www/_modules/openjij/sampler/chimera_gpu/gpu_sqa_sampler.html index ed3442c..e0ecfc5 100644 --- a/www/_modules/openjij/sampler/chimera_gpu/gpu_sqa_sampler.html +++ b/www/_modules/openjij/sampler/chimera_gpu/gpu_sqa_sampler.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/sampler/csqa_sampler.html b/www/_modules/openjij/sampler/csqa_sampler.html index 4d32402..c8cceb1 100644 --- a/www/_modules/openjij/sampler/csqa_sampler.html +++ b/www/_modules/openjij/sampler/csqa_sampler.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/sampler/response.html b/www/_modules/openjij/sampler/response.html index d805e08..0054142 100644 --- a/www/_modules/openjij/sampler/response.html +++ b/www/_modules/openjij/sampler/response.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/sampler/sa_sampler.html b/www/_modules/openjij/sampler/sa_sampler.html index 0f69773..d67506d 100644 --- a/www/_modules/openjij/sampler/sa_sampler.html +++ b/www/_modules/openjij/sampler/sa_sampler.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/sampler/sampler.html b/www/_modules/openjij/sampler/sampler.html index ffd4aaf..92a1650 100644 --- a/www/_modules/openjij/sampler/sampler.html +++ b/www/_modules/openjij/sampler/sampler.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/sampler/sqa_sampler.html b/www/_modules/openjij/sampler/sqa_sampler.html index 015156b..5b16bc8 100644 --- a/www/_modules/openjij/sampler/sqa_sampler.html +++ b/www/_modules/openjij/sampler/sqa_sampler.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/utils/benchmark.html b/www/_modules/openjij/utils/benchmark.html index a909258..5f5befa 100644 --- a/www/_modules/openjij/utils/benchmark.html +++ b/www/_modules/openjij/utils/benchmark.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/utils/decorator.html b/www/_modules/openjij/utils/decorator.html index d1260c6..3035377 100644 --- a/www/_modules/openjij/utils/decorator.html +++ b/www/_modules/openjij/utils/decorator.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/utils/graph_utils.html b/www/_modules/openjij/utils/graph_utils.html index 8047df7..c137e3a 100644 --- a/www/_modules/openjij/utils/graph_utils.html +++ b/www/_modules/openjij/utils/graph_utils.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/utils/res_convertor.html b/www/_modules/openjij/utils/res_convertor.html index cac23db..99ef829 100644 --- a/www/_modules/openjij/utils/res_convertor.html +++ b/www/_modules/openjij/utils/res_convertor.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_modules/openjij/variable_type.html b/www/_modules/openjij/variable_type.html index 34d3156..d9e851e 100644 --- a/www/_modules/openjij/variable_type.html +++ b/www/_modules/openjij/variable_type.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/_sources/tutorial/ja/graph_coloring.md b/www/_sources/tutorial/ja/graph_coloring.md new file mode 100644 index 0000000..52905a2 --- /dev/null +++ b/www/_sources/tutorial/ja/graph_coloring.md @@ -0,0 +1,189 @@ +# グラフ彩色問題 + +こちらでは、[Lucas, 2014, "Ising formulations of many NP problems"](https://doi.org/10.3389/fphy.2014.00005)の 6.1. Graph Coloring を OpenJij と [JijModeling](https://www.ref.documentation.jijzept.com/jijmodeling/)、そして[JijModeling transpiler](https://www.ref.documentation.jijzept.com/jijmodeling-transpiler/) を用いて解く方法をご紹介します。 + +## 概要: グラフ彩色問題とは + +グラフ彩色問題とは、あるグラフ上の辺で繋がれた頂点どうしを異なる色になるように彩色する問題です。NP完全な問題として知られています。 + +### 具体例 + +下図のように6個の頂点といくつかの辺からなる無向グラフが与えられたとしましょう。 + +![](../../assets/graph_coloring_01.png) + +これを3色で全ての頂点を塗り分けると以下のようになります。 + +![](../../assets/graph_coloring_02.png) + +全ての辺において、その両端に位置する頂点は異なる色で塗り分けられていることがわかります。 + +### 問題の一般化 + +それではこの問題を一般化し、数式で表現してみましょう。無向グラフ$G = (V, E)$を、辺で結ばれた頂点の色が重複しないように$N$色で塗り分けることを考えます。 +頂点の色分けをバイナリ変数$x_{v, n}$で表すことにします。$v$番目の頂点を$n$の色で塗り分けるとき、$x_{v, n} = 1$、それ以外では$x_{v, n} = 0$となります。 + +**制約: 頂点はどれか一色で塗り分けなければならない** + +例えば、青色と緑色の2色で1つの頂点を塗ることは許されません。これを数式で表現すると、以下のようになります。 + +$$ +\sum_{n=0}^{N-1} x_{v, n} = 1 \quad (\forall n \in \{ 0, 1, \dots, N-1 \}) \tag{1} +$$ + +**目的関数: 同じ色の頂点を両端に持つ辺の数を最小にする** + +グラフ彩色問題の問題設定から、全ての辺の両端の頂点が異なる色で塗り分けられる必要があります。これを数式で表現すると + +$$ +\min \quad \sum_{n=0}^{N-1} \sum_{(uv) \in E} x_{u, n} x_{v, n} \tag{2} +$$ + +もし、全ての辺の両端の頂点が異なる色で塗り分けられているなら、この目的関数値はゼロとなります。 + +## JijModelingによるモデル構築 + +### ナップサック問題で用いる変数を定義 + +式(1), (2)で用いられている変数を、以下のようにして定義しましょう。 + +```python +import jijmodeling as jm + + +# define variables +V = jm.Placeholder('V') +E = jm.Placeholder('E', dim=2) +N = jm.Placeholder('N') +x = jm.Binary('x', shape=(V, N)) +n = jm.Element('i', (0, N)) +v = jm.Element('v', (0, V)) +e = jm.Element('e', E) +``` + +`V=jm.Placeholder('V')`でグラフの頂点数、`E=jm.Placeholder('E', dim=2)`でグラフの辺集合を定義します。`N=jm.Placeholder('N')`でグラフを塗り分ける色数を定義し、その`V, N`を用いてバイナリ変数$x_{v, n}$を`x=jm.Binary('x', shape=(V, N))`のように定義します。`n, v`はバイナリ変数の添字に用いる変数です。最後の`e`は辺を表す変数です。`e[0], e[1]`が辺`e`の両端に位置する頂点となります。すなわち$(uv) = (e[0] e[1])$です。 + +### 制約の追加 + +式(1)を制約として実装します。 + +```python +# set problem +problem = jm.Problem('Graph Coloring') +# set one-hot constraint that each vertex has only one color +const = x[v, :] +problem += jm.Constraint('color', const==1, forall=v) +``` + +問題を作成し、そこに制約を追加しましょう。`x[v, :]`とすることで`Sum(n, x[v, n])`を簡潔に実装することができます。 + +### 目的関数の追加 + +式(2)の目的関数を実装しましょう。 + +```python +# set objective function: minimize edges whose vertices connected by edges are the same color +sum_list = [n, e] +problem += jm.Sum(sum_list, x[e[0], n]*x[e[1], n]) +``` + +`sum_list=[n, e], jm.Sum(sum_list, ...)`とすることで、$\sum_n \sum_e$を表現することができます。`x[e[0], n]`は$x_{e[0], n}$、`x[e[1], n]`は$x_{e[1], n}$を表していいます。 + +実際に実装された数式をJupyter Notebookで表示してみましょう。 + +![](../../assets/graph_coloring_03.png) + +### インスタンスの作成 + +実際にグラフ彩色を行うグラフを設定しましょう。 + +```python +# set the number of vertices +inst_V = 12 +# set the number of colors +inst_N = 4 +# create a random graph +inst_G = nx.gnp_random_graph(inst_V, 0.4) +# get information of edges +inst_E = [list(edge) for edge in inst_G.edges] +instance_data = {'V': inst_V, 'N': inst_N, 'E': inst_E, 'G': inst_G} +``` + +今回はグラフの頂点数を12個、グラフを塗り分ける色数を4つとします。 + +### 未定乗数の設定 + +グラフ彩色問題には制約が一つあります。よってその制約の重みを設定する必要があります。 +先程の`Constraint`部分で付けた名前と一致させるように、辞書型を用いて設定を行います。 + +```python +# set multipliers +lam1 = 1.0 +multipliers = {'color': lam1} +``` + +### JijModeling transpilerによるPyQUBOへの変換 + +ここまで行われてきた実装は、全てJijModelingによるものでした。 +これを[PyQUBO](https://pyqubo.readthedocs.io/en/latest/)に変換することで、OpenJijはもちろん、他のソルバーを用いた組合せ最適化計算を行うことが可能になります。 + +```python +from jijmodeling.transpiler.pyqubo import to_pyqubo + +# convert to pyqubo +pyq_model, pyq_chache = to_pyqubo(problem, instance_data, {}) +qubo, bias = pyq_model.compile().to_qubo(feed_dict=multipliers) +``` + +JijModelingで作成された`problem`、そして先ほど値を設定した`instance_data`を引数として、`to_pyqubo`によりPyQUBOモデルを作成します。次にそれをコンパイルすることで、OpenJijなどで計算が可能なQUBOモデルにします。 + +### OpenJijによる最適化計算の実行 + +今回はOpenJijのシミュレーテッド・アニーリングを用いて、最適化問題を解くことにします。 +それには以下のようにします。 + +```python +# set sampler +sampler = oj.SASampler() +# solve problem +response = sampler.sample_qubo(qubo) +``` + +`SASampler`を設定し、そのサンプラーに先程作成したQUBOモデルの`qubo`を入力することで、計算結果が得られます。 + +### デコードと解の表示 + +返された計算結果をデコードし、解析を行いやすくします。 + +```python +# decode solution +result = pyq_chache.decode(response) +``` + +このようにして得られた結果から、グラフ彩色された結果を見てみましょう。 + +```python +# get indices of x = 1 +indices, _, _ = result.record.solution['x'][0] +# get vertex number and color +vertices, colors = indices +# sort lists by vertex number +zip_lists = zip(vertices, colors) +zip_sort = sorted(zip_lists) +sorted_vertices, sorted_colors = zip(*zip_sort) +# initialize vertex color list +node_colors = [-1] * len(vertices) +# set color list for visualization +colorlist = ['gold', 'violet', 'limegreen', 'darkorange'] +# set vertex color list +for i, j in zip(sorted_vertices, sorted_colors): + node_colors[i] = colorlist[j] +# make figure +fig = plt.figure() +nx.draw_networkx(instance_data['G'], node_color=node_colors, with_labels=True) +fig.savefig('graph_coloring.png') +``` + +すると以下のような画像を得ます。 + +![](../../assets/graph_coloring_04.png) diff --git a/www/_sources/tutorial/ja/knapsack.md b/www/_sources/tutorial/ja/knapsack.md new file mode 100644 index 0000000..6513346 --- /dev/null +++ b/www/_sources/tutorial/ja/knapsack.md @@ -0,0 +1,187 @@ +# ナップサック問題 + +こちらでは、[Lucas, 2014, "Ising formulations of many NP problems"](https://doi.org/10.3389/fphy.2014.00005)の 5.2. Knapsack with Integer Weights を OpenJij と [JijModeling](https://www.ref.documentation.jijzept.com/jijmodeling/)、そして[JijModeling transpiler](https://www.ref.documentation.jijzept.com/jijmodeling-transpiler/) を用いて解く方法をご紹介します。 + +## 概要: ナップサック問題とは + +ナップサック問題は、具体的には以下のような状況で最適解を求める問題です。 +最も有名なNP困難な整数計画問題の一つとして知られています。まずは具体例を考えてみましょう。 + +### 具体例 + +この問題の具体例として、以下のような物語を考えます。 + +> ある探検家がある洞窟を探検していました。しばらく洞窟の中を歩いていると、思いがけなく複数の宝物を発見しました。 + +||宝物A|宝物B|宝物C|宝物D|宝物E|宝物F| +|---|---|---|---|---|---|---| +|値段|$5000|$7000|$2000|$1000|$4000|$3000| +|重さ|800g|1000g|600g|400g|500g|300g| + +> しかし探検家の手持ちの荷物の中で宝物を運べるような袋としては、残念ながら小さなナップサックしか持ち合わせていませんでした。 +> このナップサックには2kgの荷物しか入れることができません。探検家はこのナップサックに入れる宝物の価値をできるだけ高くしたいのですが、どの荷物を選べば最も効率的に宝物を持って帰ることができるでしょうか。 + +### 問題の一般化 + +この問題を一般化するには、ナップサックに入れる荷物$N$個の集合$\{ 0, 1, \dots, i, \dots, N-1\}$があり、各荷物が$i$をインデックスとして持っているものとして考えます。 +ナップサックに入れる各荷物$i$のコストのリスト$\bm{v}$と重さのリスト$\bm{w}$を作ることで、問題を表現することができます。 + +$$ + \bm{v} = \{v_0, v_1, \dots, v_i, \dots, v_{N-1}\} +$$ + +$$ + \bm{w} = \{w_0, w_1, \dots, w_i, \dots, w_{N-1}\} +$$ + +さらに$i$番目の荷物を選んだことを表すバイナリ変数を$x_i$としましょう。この変数は$i$をナップサックに入れるとき$x_i = 1$、入れないとき$x_i = 0$となるような変数です。最後にナップサックの最大容量を$W$とします。 +最大化したいのは、ナップサックに入れる荷物の合計です。よってこれを目的関数として表現しましょう。さらにナップサックの容量制限以下にしなければならない制約を考えると、ナップサック問題は以下のような数式で表現されます。 + +$$ + \max \ \sum_{i=0}^{N-1} v_i x_i \tag{1} +$$ + +$$ + \mathrm{s.t.} \quad \sum_{i=0}^{N-1} w_i x_i \leq W \tag{2} +$$ + +$$ + x_i \in \{0, 1\} \quad (\forall i \in \{0, 1, \dots, N-1\}) \tag{3} +$$ + +## JijModelingによるモデル構築 + +### ナップサック問題で用いる変数を定義 + +式(1), (2), (3)で用いられている変数$\bm{v}, \bm{w}, N, W, x_i, i$を、以下のようにして定義しましょう。 + +```python +import jijmodeling as jm + + +# define variables +v = jm.Placeholder('v', dim=1) +N = v.shape[0] +w = jm.Placeholder('w', shape=(N)) +W = jm.Placeholder('W') +x = jm.Binary('x', shape=(N)) +i = jm.Element('i', (0, N)) +``` + +`v = jm.Placeholder('v', dim=1)`でナップサックに入れる物の価値を表す一次元のリストを宣言し、その具体的な要素数を`N`としています。その`N`を用いて、ナップサックに入れる物の重さを表す一次元のリストを`w = jm.Placeholder('w', shape=(N))`のように定義することで、`v`と`w`が同じ長さであることを保証できます。`W = jm.Placeholder('W')`ではナップサックの容量制限を表す$W$を定義しています。続く`x = jm.Binary('x', shape=(N))`により、`v, w`と同じ長さのバイナリ変数リスト`x`を定義します。最後に`i = jm.Element('i', (0, N))`は$v_i, w_i, x_i$の添字を定義しており、これは$0\leq i < N$の範囲の整数であることを表しています。 + +### 目的関数の追加 + +式(1)を目的関数として実装します。 + +```python +# set problem +problem = jm.Problem('Knapsack') +# set objective function +obj = - jm.Sum(i, v[i]*x[i]) +problem += obj +``` + +問題を作成し、そこに目的関数を追加しましょう。`Sum(i, 数式)`とすることで、数式部分の総和を添字`i`に対して行うことができます。 + +### 制約の追加 + +式(2)の制約を実装しましょう。 + +```python +# set total weight constraint +const = jm.Sum(i, w[i]*x[i]) +problem += jm.Constraint('weight', const<=W) +``` + +`Constraint(制約名, 制約式)`とすることで、制約式に適当な制約名を付与することができます。 +実際に実装された数式をJupyter Notebookで表示してみましょう。 + +![](../../assets/knapsack_01.png) + +### インスタンスの作成 + +先程の冒険家の物語を、インスタンスとして設定しましょう。ただし宝物の価値は$1000で規格化、さらに宝物の重さも100gで規格化された値を用います。 + +```python +# set a list of values & weights +inst_v = [5, 7, 2, 1, 4, 3] +inst_w = [8, 10, 6, 4, 5, 3] +# set maximum weight +inst_W = 20 +instance_data = {'v': inst_v, 'w': inst_w, 'W': inst_W} +``` + +### 未定乗数の設定 + +このナップサック問題には制約が一つあります。よってその制約の重みを設定する必要があります。 +先程の`Constraint`部分で付けた名前と一致させるように、辞書型を用いて設定を行います。 + +```python +# set multipliers +lam1 = 1.0 +multipliers = {'weight': lam1} +``` + +### JijModeling transpilerによるPyQUBOへの変換 + +ここまで行われてきた実装は、全てJijModelingによるものでした。 +これを[PyQUBO](https://pyqubo.readthedocs.io/en/latest/)に変換することで、OpenJijはもちろん、他のソルバーを用いた組合せ最適化計算を行うことが可能になります。 + +```python +from jijmodeling.transpiler.pyqubo import to_pyqubo + +# convert to pyqubo +pyq_model, pyq_chache = to_pyqubo(problem, instance_data, {}) +qubo, bias = pyq_model.compile().to_qubo(feed_dict=multipliers) +``` + +JijModelingで作成された`problem`、そして先ほど値を設定した`instance_data`を引数として、`to_pyqubo`によりPyQUBOモデルを作成します。次にそれをコンパイルすることで、OpenJijなどで計算が可能なQUBOモデルにします。 + +### OpenJijによる最適化計算の実行 + +今回はOpenJijのシミュレーテッド・アニーリングを用いて、最適化問題を解くことにします。 +それには以下のようにします。 + +```python +# set sampler +sampler = oj.SASampler() +# solve problem +response = sampler.sample_qubo(qubo) +``` + +`SASampler`を設定し、そのサンプラーに先程作成したQUBOモデルの`qubo`を入力することで、計算結果が得られます。 + +### デコードと解の表示 + +返された計算結果をデコードし、解析を行いやすくします。 + +```python +# decode solution +result = pyq_chache.decode(response) +``` + +このようにして得られた結果から、実際にどの宝物をナップサックに入れたのかを見てみましょう。 + +```python +indices, _, _ = result.record.solution['x'][0] +inst_w = instance_data['w'] +sum_w = 0 +for i in indices[0]: + sum_w += inst_w[i] +print('Indices of x = 1: ', indices[0]) +print('Value of objective function: ', result.evaluation.objective) +print('Value of constraint term: ', result.evaluation.constraint_violations['weight']) +print('Total weight: ', sum_w) +``` + +すると以下のような出力を得ます。 + +```bash +Indices of x = 1: [0, 3, 4, 5] +Value of objective function: [-13.0] +Value of constraint term: [0.0] +Total weight: 20 +``` + +目的関数の値にマイナスをかけたものが、実際にナップサックに入れた宝物の価値の合計です。また`.evaluation.constarint_violations[制約名]`とすることで、その制約がどれだけ満たされていないかを取得することができます。 diff --git a/www/genindex-A.html b/www/genindex-A.html index 4fad9de..f5fdc79 100644 --- a/www/genindex-A.html +++ b/www/genindex-A.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-B.html b/www/genindex-B.html index f433de4..eacb931 100644 --- a/www/genindex-B.html +++ b/www/genindex-B.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-C.html b/www/genindex-C.html index 4e559dc..810ec70 100644 --- a/www/genindex-C.html +++ b/www/genindex-C.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-D.html b/www/genindex-D.html index 4dc606d..2bcb156 100644 --- a/www/genindex-D.html +++ b/www/genindex-D.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-E.html b/www/genindex-E.html index 0b9787e..87a08f2 100644 --- a/www/genindex-E.html +++ b/www/genindex-E.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-F.html b/www/genindex-F.html index 3a7c7c2..dc126f3 100644 --- a/www/genindex-F.html +++ b/www/genindex-F.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-G.html b/www/genindex-G.html index 36abcfa..2412834 100644 --- a/www/genindex-G.html +++ b/www/genindex-G.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-I.html b/www/genindex-I.html index 03c8a24..e6bf304 100644 --- a/www/genindex-I.html +++ b/www/genindex-I.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-K.html b/www/genindex-K.html index d7e5ad3..19d9483 100644 --- a/www/genindex-K.html +++ b/www/genindex-K.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-L.html b/www/genindex-L.html index b40ca48..d336333 100644 --- a/www/genindex-L.html +++ b/www/genindex-L.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-M.html b/www/genindex-M.html index 87aa8df..7354e8c 100644 --- a/www/genindex-M.html +++ b/www/genindex-M.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-N.html b/www/genindex-N.html index 1e9df66..46b488a 100644 --- a/www/genindex-N.html +++ b/www/genindex-N.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-O.html b/www/genindex-O.html index d3f45c1..324c49e 100644 --- a/www/genindex-O.html +++ b/www/genindex-O.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-P.html b/www/genindex-P.html index 78a6628..86c70ee 100644 --- a/www/genindex-P.html +++ b/www/genindex-P.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-Q.html b/www/genindex-Q.html index a0f0b92..b25e7d3 100644 --- a/www/genindex-Q.html +++ b/www/genindex-Q.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-R.html b/www/genindex-R.html index 42bb3cb..cd08edc 100644 --- a/www/genindex-R.html +++ b/www/genindex-R.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-S.html b/www/genindex-S.html index f82d050..afffdae 100644 --- a/www/genindex-S.html +++ b/www/genindex-S.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-T.html b/www/genindex-T.html index 14cd37f..9d17bd3 100644 --- a/www/genindex-T.html +++ b/www/genindex-T.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-V.html b/www/genindex-V.html index 398e3df..24c029a 100644 --- a/www/genindex-V.html +++ b/www/genindex-V.html @@ -369,9 +369,19 @@

    OpenJij Book

    diff --git a/www/genindex-all.html b/www/genindex-all.html index fb8e956..62d99f7 100644 --- a/www/genindex-all.html +++ b/www/genindex-all.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/genindex.html b/www/genindex.html index 03c44a8..9c2d863 100644 --- a/www/genindex.html +++ b/www/genindex.html @@ -368,9 +368,19 @@

    OpenJij Book

    diff --git a/www/index.html b/www/index.html index 3e067a6..8703ccf 100644 --- a/www/index.html +++ b/www/index.html @@ -370,9 +370,19 @@

    OpenJij Book

    diff --git a/www/objects.inv b/www/objects.inv index 0aadf6a9a22c0d6428e5aabd9df780c021f36897..1f2ccc58b7ddfa821d117026e5ccbdcc8ae7bb98 100644 GIT binary patch delta 4493 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 delta 3868 zcmV+%599FJBkdlLc7Mx~+r|~$>no5-suC|qS=-sTBvsiNrz8!$E!`U z*hkX)+Dqk9rZNuX%cT1CWf(8y=jl4%M8Bl1ou^{8O65xAk|)GeY}Gdl|3RdoxQ%4S zgbUUpUdaM3f826q3zF?46QXn_dWlM`w}5+%b`{OjjX$o|a*hS5Aoql4dy< zBTY8`a-Z*0X#=UU&def|f4ke*gbOUeNoBB6_)B55On*G}dl<0CER2^-hd7OrPm--r zn=rPd1*r^@bioFR#I201IoMQYN%X*-aytW*MM`hD7`cjJTtV{0-->u4GQV)v%OX+Y zBU-euJXOgfKUUk)Ay#yrvohMbwS0DNGn<{e$YtkNGTCz!e@)Ij=N41qxxIvVeslev zvg~6nu7519t?VwX+^noDEv&4rt86Z-{&I9`SVam%mbaHIl%;-<#1CrT{j{~Zqu@kg zEJaGzolR4&FqC1+HUq_&vJJ7Y(!tjOBa18mT$QW)WqKU%H`_;lBh(OnwgDWh!;MUZ z4x#LtTi7SEPsuGJ0&?!-CU7v#J%*#oTv_ArS0F( zKfJe3eXsPvU!`KZ1}XfpIY`@&&8L4-AHQpO0N2pZWTZf8I29kL+f;a@RugDS^%`L| zPI=He3}uAIQh+U#5<3frdUW*Iuz1!73vtd=n~Fsq``H9M*u#T7Ke2)e&PlSs9Grv; zOn-8wn*)9i2@CVtI8ZmDo)58A@Evg+!o}AnSY*uVfq$ie$2oWKV6Yv%1tzr9x5kMI z0QOkn!GOZ))&pvZ+|8nL1gG~CtXe>_TxK%24!dgx$2zjRp=i~FEa8%-&WMPcE+Z6r zii~J>FB3Tx8Z6}SYfzv=uIY{#W(`7iEPs0&Qq#KCKw4V2g6~!8fgQku*Vif7h=Mx- zo>GA)(11$vWL!{y zh92IFg@pv}&BDTh_G;llhxcxwF~NJeNXW2FD;#LRUN07W;0PYRQw56;+Z%>QU4L2* z7_hx#SWx(0GAuG^Zy6pGx7Q4h57~Q$MRha4kiBVWOvqj}EGT~O8iB!~hXC$v!@|1K zVXN8H-0F&H?rgm@cez@ckFi#oJ6S1F_SR9MEiS?4?iOH{ivSL50B%bF<5U0~6#$&B z|6MNso6RY!?H*X$YV`otxmrD@-+$fwP;aI|dU6ddfp01ncOpUR?P4H6|={b(fq8KPoXPp-l;_Z`T{IGrY-DNIatq=l4O~@j(TKU8> z|CFTnpIaLlM-|~gExQ&)U1?+iW@87m*##ro>~bM(cDa}~yJS$CT{x=EzJHLgHoH_@ zn_V`x%q|*SW*3Yuvo9dL%q|mOZbc@G4}Se6VUczYL0Gk&LrmYOFIs~`je921?8w9l zjU$N1h@K-z#|W?^NXLr7Bgn^blp}~|!kFuf)2Rjhp{C6pfn#ITVeb z1-TT?Mk3@;KC8KqLpgcrkaNL!X@`69IGKk_>A1;gVBR_<4Ik%=Yv9 z00!SQ2O4|R9C^^Oj|BveKKjUDq8)~$6OxWcGU(t3Cg~)IBa}Q6Od)nhIYi1!-zR_O6M7CqA&+j87!Eis&pFq;Z+vrsGbjbz?Duko=v&QnbA8_ z&^u9DH>r^OP2hK)`Z(|v5-uO1Ho~OjR7IH7sCtMMF3e4RJAZ_j(u*C&o#RVf$wWb? zVNedHe=F6hG7HwSG<#?@hRIxx>Il?0uZDAJ)!$;fA=0B^WN+i2c{8YYq0^C^8JUjf z$jG!vC&uJK`V%f2%9o(XNHtt22m1aE{`O6~@{PTDgD7?P(-86!J|)GP*{m$1X0zjL z+Y%kl#BGscEPtKGSv|PB4&C^uO(Wgy)sp9sFgRf?suZcpMdDz+5$Qek1yK7ujIsfD zRkj&$P-UCxi8zCZht@dkX_Ty1mDAHc-`zl9LRM?faIqJWUzYeE2M3i%lS#j*38sFY zXAU{WyP9kt1TxEf<*jeUZ5V~QOSb)X>v-(2#zo~BZ-3Z|gvT#xSxK}nv90o;Uq{z* zDP7D(QDPQ(l7f86p*6^t99pYS+f)|ywuLXEP(W3xm(Iu&W<{}W;R;`YsMM^Lsn{ba z_dogYK+$Rsnv7Qa!!|9Ysj4gRIy8i4rXuqwX+W=_KoX_Jjk(GufcksV12k+WJ*XC_ zrS0V-M1K<_Bq0tC;kl8L?x=^5v9ZjIM~ho#OgEQa#-n;Q4l+w6eJtz<%#z}@q8cN{qNU*WS(lc z-^e%@#pwK|LbwX{S)OddU!*5uwd#$E$aYwKo=DLW_0VZ@=rlQWdTT(eNtY_ZmN19CXB<)e&f{@oZ#j4v*st}m{ign_TYo}kqCEri&d6tKMxtT?(K3-gWa2A5T+^X# zaKfAS;mluuRnvSr`hj|eet+%-w2XD%NuEsVzS-oYE6U4!T8muiR3nD>jh_t=6^9? ztD!jI(m46HuQtVjW{h+=S65XgarJZk_0Oj=8e>eIO*Df$M0JQ=8G@tL>Gk2GmZH1| zfx>TkysiFfk()dKgMIAtZSzTszZJo~SQU01=Str(Gq3cbJ^|t;(OPcL(t2xBb zwK~lYA59dsd`ON%ule!w3&dN#&3_hRemS^jcqchVhK_ah0S;Q+z>CaJt+0>5+U3A4 zctB>TRqI6o+v9*FFdNm&QLnN8!)xbWggoBwXRpberI`XYJWj~tdH!M z6Xzg1LLkkgUj~fDbR;18MdO^Iog&gT4kQ6)?*s_?7?%kP@_oS_E+$q{nL(W4#aX_b z9jq+`Y4~#y&5DYAzM_YD03=K7uFgX!2aSRFKwZ=$ea9Ok;Nlc}(ZefPgp5cFAx;p} zbow5xg*P1S1G+r;v%?qy!+%WXv?s}62A_e7cmnGfYhC&-Y9jp zb~z07WUC{siZdVzrKY174qo9I5DQxG(LZ(wsQu7r0Q7Gde@}AoNPmxRbm8P{!dd~} zE8BC!*8MI*+w=-Hgs)X2u;vUZ3tA+k7LX<$Szqblg4I?|`KUhDl3%6zQilIT-`woy z1m5KAe=-5ghI*c6;OU;20H)S^>82gn&J0hK(>|+?FF(>2`-FrWJVi=`>Dsv^KL;nW@KYCAOl$Hr1E5P6IB}U@IELB8{>}!!6NFD>UlmU{##EJnKq; zSM{9@pKWWEXl;?$d+5`w^7?b4p5`nnl((zqXF!80K77nvcYl1HD?0q{zClLl9sYh1 zz&dS^0H)9V{779Mo-4E-pPg@o=yBhXSWk227RsyB<3lr`9-EFh>yA!yMMo-8uZS2W zI_D=Tk!hgNO4K>?3sIx~gTkKnG%}oBr%bJeKy@-7)7BpWw{a0jwbF=+QLL^EB-Jtx z8d|x)3Z+vbGk>y1S%3;MpcE)UkP}XvWLi12LrE!ywgrHfLOayZLa6riK17*xhyFdo z0|qcM=zP>kQ=k$KJr}|B+yz^ggH&Fv$QV`blY`{3h6WJrv$_ZIAv&iyzVGRu3V;wm zr*Q3-Kz$o{%z)t`2B<6PIl68hMcr9|CnKi5BJU6jLN_U4zftL;ZV99%#4GH~4qgT!~DPvYmNzdk?x>-p)w&rg4Ue){+G e-~Rdh^c9~j;z9b}_L?g>VQj8sfcgL9f!;m@NQoW* diff --git a/www/py-modindex.html b/www/py-modindex.html index 01ed70a..f282919 100644 --- a/www/py-modindex.html +++ b/www/py-modindex.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/index.html b/www/reference/openjij/index.html index 61ec88d..025b186 100644 --- a/www/reference/openjij/index.html +++ b/www/reference/openjij/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    @@ -2370,7 +2380,7 @@

    AttributesReturns -

    pandas.DataFrame.

    +

    pandas.DataFrame.

    Examples

    diff --git a/www/reference/openjij/model/chimera_model/index.html b/www/reference/openjij/model/chimera_model/index.html index 581b3c9..0628054 100644 --- a/www/reference/openjij/model/chimera_model/index.html +++ b/www/reference/openjij/model/chimera_model/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/model/index.html b/www/reference/openjij/model/index.html index 4da0228..77a2d44 100644 --- a/www/reference/openjij/model/index.html +++ b/www/reference/openjij/model/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/model/king_graph/index.html b/www/reference/openjij/model/king_graph/index.html index 8f9ea2b..582f24e 100644 --- a/www/reference/openjij/model/king_graph/index.html +++ b/www/reference/openjij/model/king_graph/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/model/model/index.html b/www/reference/openjij/model/model/index.html index 3caff48..9cc8a79 100644 --- a/www/reference/openjij/model/model/index.html +++ b/www/reference/openjij/model/model/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index.html b/www/reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index.html index a08d23f..f32a7a7 100644 --- a/www/reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index.html +++ b/www/reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index.html b/www/reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index.html index 8c8e6b3..d66485a 100644 --- a/www/reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index.html +++ b/www/reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index.html b/www/reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index.html index 978484a..27a3d65 100644 --- a/www/reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index.html +++ b/www/reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/sampler/chimera_gpu/index.html b/www/reference/openjij/sampler/chimera_gpu/index.html index ca6f7e5..2f6c36a 100644 --- a/www/reference/openjij/sampler/chimera_gpu/index.html +++ b/www/reference/openjij/sampler/chimera_gpu/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/sampler/csqa_sampler/index.html b/www/reference/openjij/sampler/csqa_sampler/index.html index 5276486..e080801 100644 --- a/www/reference/openjij/sampler/csqa_sampler/index.html +++ b/www/reference/openjij/sampler/csqa_sampler/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/sampler/index.html b/www/reference/openjij/sampler/index.html index d645b2e..bef7bba 100644 --- a/www/reference/openjij/sampler/index.html +++ b/www/reference/openjij/sampler/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    @@ -2161,7 +2171,7 @@

    FunctionsReturns -

    pandas.DataFrame.

    +

    pandas.DataFrame.

    Examples

    diff --git a/www/reference/openjij/sampler/response/index.html b/www/reference/openjij/sampler/response/index.html index 5ab4bb6..c000630 100644 --- a/www/reference/openjij/sampler/response/index.html +++ b/www/reference/openjij/sampler/response/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    @@ -1671,7 +1681,7 @@

    ClassesReturns -

    pandas.DataFrame.

    +

    pandas.DataFrame.

    Examples

    diff --git a/www/reference/openjij/sampler/sa_sampler/index.html b/www/reference/openjij/sampler/sa_sampler/index.html index 074150c..1825992 100644 --- a/www/reference/openjij/sampler/sa_sampler/index.html +++ b/www/reference/openjij/sampler/sa_sampler/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/sampler/sampler/index.html b/www/reference/openjij/sampler/sampler/index.html index 3a27190..902b60c 100644 --- a/www/reference/openjij/sampler/sampler/index.html +++ b/www/reference/openjij/sampler/sampler/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/sampler/sqa_sampler/index.html b/www/reference/openjij/sampler/sqa_sampler/index.html index c2c1236..e1dd38d 100644 --- a/www/reference/openjij/sampler/sqa_sampler/index.html +++ b/www/reference/openjij/sampler/sqa_sampler/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/utils/benchmark/index.html b/www/reference/openjij/utils/benchmark/index.html index 58d5e53..65e98eb 100644 --- a/www/reference/openjij/utils/benchmark/index.html +++ b/www/reference/openjij/utils/benchmark/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/utils/decorator/index.html b/www/reference/openjij/utils/decorator/index.html index 5f0ae70..c16082a 100644 --- a/www/reference/openjij/utils/decorator/index.html +++ b/www/reference/openjij/utils/decorator/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/utils/graph_utils/index.html b/www/reference/openjij/utils/graph_utils/index.html index 31e8bbe..70530a4 100644 --- a/www/reference/openjij/utils/graph_utils/index.html +++ b/www/reference/openjij/utils/graph_utils/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/utils/index.html b/www/reference/openjij/utils/index.html index fa6ab5d..14b03e1 100644 --- a/www/reference/openjij/utils/index.html +++ b/www/reference/openjij/utils/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/utils/res_convertor/index.html b/www/reference/openjij/utils/res_convertor/index.html index c60fc58..f3a03f4 100644 --- a/www/reference/openjij/utils/res_convertor/index.html +++ b/www/reference/openjij/utils/res_convertor/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/utils/time_measure/index.html b/www/reference/openjij/utils/time_measure/index.html index 3442f4e..f234232 100644 --- a/www/reference/openjij/utils/time_measure/index.html +++ b/www/reference/openjij/utils/time_measure/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/reference/openjij/variable_type/index.html b/www/reference/openjij/variable_type/index.html index 11c1e0d..52e7600 100644 --- a/www/reference/openjij/variable_type/index.html +++ b/www/reference/openjij/variable_type/index.html @@ -371,9 +371,19 @@

    OpenJij Book

    diff --git a/www/search.html b/www/search.html index 0eb3e94..8e64c07 100644 --- a/www/search.html +++ b/www/search.html @@ -374,9 +374,19 @@

    OpenJij Book

    diff --git a/www/searchindex.js b/www/searchindex.js index 4d062a2..f6a6ab1 100644 --- a/www/searchindex.js +++ b/www/searchindex.js @@ -1 +1 @@ -Search.setIndex({docnames:["index","reference/openjij/index","reference/openjij/model/chimera_model/index","reference/openjij/model/index","reference/openjij/model/king_graph/index","reference/openjij/model/model/index","reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index","reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index","reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index","reference/openjij/sampler/chimera_gpu/index","reference/openjij/sampler/csqa_sampler/index","reference/openjij/sampler/index","reference/openjij/sampler/response/index","reference/openjij/sampler/sa_sampler/index","reference/openjij/sampler/sampler/index","reference/openjij/sampler/sqa_sampler/index","reference/openjij/utils/benchmark/index","reference/openjij/utils/decorator/index","reference/openjij/utils/graph_utils/index","reference/openjij/utils/index","reference/openjij/utils/res_convertor/index","reference/openjij/utils/time_measure/index","reference/openjij/variable_type/index","tutorial/en/index","tutorial/ja/index"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["index.md","reference/openjij/index.rst","reference/openjij/model/chimera_model/index.rst","reference/openjij/model/index.rst","reference/openjij/model/king_graph/index.rst","reference/openjij/model/model/index.rst","reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index.rst","reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index.rst","reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index.rst","reference/openjij/sampler/chimera_gpu/index.rst","reference/openjij/sampler/csqa_sampler/index.rst","reference/openjij/sampler/index.rst","reference/openjij/sampler/response/index.rst","reference/openjij/sampler/sa_sampler/index.rst","reference/openjij/sampler/sampler/index.rst","reference/openjij/sampler/sqa_sampler/index.rst","reference/openjij/utils/benchmark/index.rst","reference/openjij/utils/decorator/index.rst","reference/openjij/utils/graph_utils/index.rst","reference/openjij/utils/index.rst","reference/openjij/utils/res_convertor/index.rst","reference/openjij/utils/time_measure/index.rst","reference/openjij/variable_type/index.rst","tutorial/en/index.md","tutorial/ja/index.md"],objects:{"":[[1,0,0,"-","openjij"]],"openjij.CSQASampler":[[1,4,1,"","parameters"],[1,5,1,"","properties"],[1,4,1,"","remove_unknown_kwargs"],[1,4,1,"","sample"],[1,4,1,"","sample_ising"],[1,4,1,"","sample_qubo"]],"openjij.Response":[[1,4,1,"","aggregate"],[1,4,1,"","append_variables"],[1,4,1,"","change_vartype"],[1,4,1,"","copy"],[1,4,1,"","data"],[1,4,1,"","data_vectors"],[1,4,1,"","done"],[1,4,1,"","energies"],[1,4,1,"","filter"],[1,4,1,"","first"],[1,4,1,"","from_future"],[1,4,1,"","from_samples"],[1,4,1,"","from_samples_bqm"],[1,4,1,"","from_samples_cqm"],[1,4,1,"","from_serializable"],[1,4,1,"","indices"],[1,4,1,"","info"],[1,4,1,"","lowest"],[1,4,1,"","min_samples"],[1,4,1,"","record"],[1,4,1,"","relabel_variables"],[1,4,1,"","resolve"],[1,4,1,"","samples"],[1,4,1,"","slice"],[1,4,1,"","states"],[1,4,1,"","to_pandas_dataframe"],[1,4,1,"","to_serializable"],[1,4,1,"","truncate"],[1,4,1,"","variables"],[1,4,1,"","vartype"]],"openjij.SASampler":[[1,4,1,"","parameters"],[1,5,1,"","properties"],[1,4,1,"","remove_unknown_kwargs"],[1,4,1,"","sample"],[1,4,1,"","sample_hubo"],[1,4,1,"","sample_ising"],[1,4,1,"","sample_qubo"]],"openjij.SQASampler":[[1,4,1,"","parameters"],[1,5,1,"","properties"],[1,4,1,"","remove_unknown_kwargs"],[1,4,1,"","sample"],[1,4,1,"","sample_ising"],[1,4,1,"","sample_qubo"]],"openjij.model":[[3,2,1,"","BinaryPolynomialModel"],[3,2,1,"","BinaryQuadraticModel"],[3,2,1,"","bqm_from_numpy_matrix"],[2,0,0,"-","chimera_model"],[4,0,0,"-","king_graph"],[3,5,1,"","linear"],[3,2,1,"","make_BinaryPolynomialModel"],[3,2,1,"","make_BinaryPolynomialModel_from_JSON"],[3,2,1,"","make_BinaryPolynomialModel_from_hising"],[3,2,1,"","make_BinaryPolynomialModel_from_hubo"],[3,2,1,"","make_BinaryQuadraticModel"],[5,0,0,"-","model"],[3,5,1,"","num_variables"],[3,5,1,"","offset"],[3,5,1,"","quadratic"],[3,5,1,"","variables"],[3,5,1,"","vartype"]],"openjij.model.chimera_model":[[2,2,1,"","ChimeraModel"],[2,1,1,"","from_ising"],[2,1,1,"","from_qubo"],[2,1,1,"","from_serializable"],[2,2,1,"","make_ChimeraModel"],[2,2,1,"","make_ChimeraModel_from_JSON"]],"openjij.model.king_graph":[[4,2,1,"","KingGraph"],[4,1,1,"","from_ising"],[4,1,1,"","from_qubo"],[4,1,1,"","from_serializable"],[4,2,1,"","make_KingGraph"],[4,2,1,"","make_KingGraph_from_JSON"]],"openjij.model.model":[[5,2,1,"","BinaryPolynomialModel"],[5,2,1,"","BinaryQuadraticModel"],[5,2,1,"","bqm_from_numpy_matrix"],[5,1,1,"","from_hising"],[5,1,1,"","from_hubo"],[5,1,1,"","from_ising"],[5,1,1,"","from_numpy_matrix"],[5,1,1,"id0","from_qubo"],[5,1,1,"id1","from_serializable"],[5,5,1,"","linear"],[5,2,1,"","make_BinaryPolynomialModel"],[5,2,1,"","make_BinaryPolynomialModel_from_JSON"],[5,2,1,"","make_BinaryPolynomialModel_from_hising"],[5,2,1,"","make_BinaryPolynomialModel_from_hubo"],[5,2,1,"","make_BinaryQuadraticModel"],[5,2,1,"","make_BinaryQuadraticModel_from_JSON"],[5,5,1,"","num_variables"],[5,5,1,"","offset"],[5,5,1,"","quadratic"],[5,5,1,"","variables"],[5,5,1,"","vartype"]],"openjij.sampler":[[11,3,1,"","CSQASampler"],[11,3,1,"","Response"],[11,3,1,"","SASampler"],[11,3,1,"","SQASampler"],[9,0,0,"-","chimera_gpu"],[10,0,0,"-","csqa_sampler"],[11,2,1,"","measure_time"],[12,0,0,"-","response"],[13,0,0,"-","sa_sampler"],[14,0,0,"-","sampler"],[15,0,0,"-","sqa_sampler"]],"openjij.sampler.CSQASampler":[[11,4,1,"","parameters"],[11,5,1,"","properties"],[11,4,1,"","remove_unknown_kwargs"],[11,4,1,"","sample"],[11,4,1,"","sample_ising"],[11,4,1,"","sample_qubo"]],"openjij.sampler.Response":[[11,4,1,"","aggregate"],[11,4,1,"","append_variables"],[11,4,1,"","change_vartype"],[11,4,1,"","copy"],[11,4,1,"","data"],[11,4,1,"","data_vectors"],[11,4,1,"","done"],[11,4,1,"","energies"],[11,4,1,"","filter"],[11,4,1,"","first"],[11,4,1,"","from_future"],[11,4,1,"","from_samples"],[11,4,1,"","from_samples_bqm"],[11,4,1,"","from_samples_cqm"],[11,4,1,"","from_serializable"],[11,4,1,"","indices"],[11,4,1,"","info"],[11,4,1,"","lowest"],[11,4,1,"","min_samples"],[11,4,1,"","record"],[11,4,1,"","relabel_variables"],[11,4,1,"","resolve"],[11,4,1,"","samples"],[11,4,1,"","slice"],[11,4,1,"","states"],[11,4,1,"","to_pandas_dataframe"],[11,4,1,"","to_serializable"],[11,4,1,"","truncate"],[11,4,1,"","variables"],[11,4,1,"","vartype"]],"openjij.sampler.SASampler":[[11,4,1,"","parameters"],[11,5,1,"","properties"],[11,4,1,"","remove_unknown_kwargs"],[11,4,1,"","sample"],[11,4,1,"","sample_hubo"],[11,4,1,"","sample_ising"],[11,4,1,"","sample_qubo"]],"openjij.sampler.SQASampler":[[11,4,1,"","parameters"],[11,5,1,"","properties"],[11,4,1,"","remove_unknown_kwargs"],[11,4,1,"","sample"],[11,4,1,"","sample_ising"],[11,4,1,"","sample_qubo"]],"openjij.sampler.chimera_gpu":[[9,3,1,"","GPUChimeraSASampler"],[9,3,1,"","GPUChimeraSQASampler"],[6,0,0,"-","base_gpu_chimera"],[7,0,0,"-","gpu_sa_sampler"],[8,0,0,"-","gpu_sqa_sampler"]],"openjij.sampler.chimera_gpu.GPUChimeraSASampler":[[9,4,1,"","adjacency"],[9,4,1,"","edgelist"],[9,4,1,"","nodelist"],[9,4,1,"","parameters"],[9,5,1,"","properties"],[9,4,1,"","remove_unknown_kwargs"],[9,4,1,"","sample"],[9,4,1,"","sample_hubo"],[9,4,1,"","sample_ising"],[9,4,1,"","sample_qubo"],[9,4,1,"","structure"],[9,4,1,"","to_networkx_graph"],[9,4,1,"","valid_bqm_graph"]],"openjij.sampler.chimera_gpu.GPUChimeraSQASampler":[[9,4,1,"","adjacency"],[9,4,1,"","edgelist"],[9,4,1,"","nodelist"],[9,4,1,"","parameters"],[9,5,1,"","properties"],[9,4,1,"","remove_unknown_kwargs"],[9,4,1,"","sample"],[9,4,1,"","sample_ising"],[9,4,1,"","sample_qubo"],[9,4,1,"","structure"],[9,4,1,"","to_networkx_graph"],[9,4,1,"","valid_bqm_graph"]],"openjij.sampler.chimera_gpu.base_gpu_chimera":[[6,3,1,"","BaseGPUChimeraSampler"]],"openjij.sampler.chimera_gpu.base_gpu_chimera.BaseGPUChimeraSampler":[[6,4,1,"","adjacency"],[6,4,1,"","edgelist"],[6,4,1,"","nodelist"],[6,4,1,"","parameters"],[6,4,1,"","structure"],[6,4,1,"","to_networkx_graph"],[6,4,1,"","valid_bqm_graph"]],"openjij.sampler.chimera_gpu.gpu_sa_sampler":[[7,3,1,"","GPUChimeraSASampler"]],"openjij.sampler.chimera_gpu.gpu_sa_sampler.GPUChimeraSASampler":[[7,4,1,"","adjacency"],[7,4,1,"","edgelist"],[7,4,1,"","nodelist"],[7,4,1,"","parameters"],[7,5,1,"","properties"],[7,4,1,"","remove_unknown_kwargs"],[7,4,1,"","sample"],[7,4,1,"","sample_hubo"],[7,4,1,"","sample_ising"],[7,4,1,"","sample_qubo"],[7,4,1,"","structure"],[7,4,1,"","to_networkx_graph"],[7,4,1,"","valid_bqm_graph"]],"openjij.sampler.chimera_gpu.gpu_sqa_sampler":[[8,3,1,"","GPUChimeraSQASampler"]],"openjij.sampler.chimera_gpu.gpu_sqa_sampler.GPUChimeraSQASampler":[[8,4,1,"","adjacency"],[8,4,1,"","edgelist"],[8,4,1,"","nodelist"],[8,4,1,"","parameters"],[8,5,1,"","properties"],[8,4,1,"","remove_unknown_kwargs"],[8,4,1,"","sample"],[8,4,1,"","sample_ising"],[8,4,1,"","sample_qubo"],[8,4,1,"","structure"],[8,4,1,"","to_networkx_graph"],[8,4,1,"","valid_bqm_graph"]],"openjij.sampler.csqa_sampler":[[10,3,1,"","CSQASampler"]],"openjij.sampler.csqa_sampler.CSQASampler":[[10,4,1,"","parameters"],[10,5,1,"","properties"],[10,4,1,"","remove_unknown_kwargs"],[10,4,1,"","sample"],[10,4,1,"","sample_ising"],[10,4,1,"","sample_qubo"]],"openjij.sampler.response":[[12,3,1,"","Response"]],"openjij.sampler.response.Response":[[12,4,1,"","aggregate"],[12,4,1,"","append_variables"],[12,4,1,"","change_vartype"],[12,4,1,"","copy"],[12,4,1,"","data"],[12,4,1,"","data_vectors"],[12,4,1,"","done"],[12,4,1,"","energies"],[12,4,1,"","filter"],[12,4,1,"","first"],[12,4,1,"","from_future"],[12,4,1,"","from_samples"],[12,4,1,"","from_samples_bqm"],[12,4,1,"","from_samples_cqm"],[12,4,1,"","from_serializable"],[12,4,1,"","indices"],[12,4,1,"","info"],[12,4,1,"","lowest"],[12,4,1,"","min_samples"],[12,4,1,"","record"],[12,4,1,"","relabel_variables"],[12,4,1,"","resolve"],[12,4,1,"","samples"],[12,4,1,"","slice"],[12,4,1,"","states"],[12,4,1,"","to_pandas_dataframe"],[12,4,1,"","to_serializable"],[12,4,1,"","truncate"],[12,4,1,"","variables"],[12,4,1,"","vartype"]],"openjij.sampler.sa_sampler":[[13,3,1,"","SASampler"],[13,2,1,"","geometric_hubo_beta_schedule"],[13,2,1,"","geometric_ising_beta_schedule"]],"openjij.sampler.sa_sampler.SASampler":[[13,4,1,"","parameters"],[13,5,1,"","properties"],[13,4,1,"","remove_unknown_kwargs"],[13,4,1,"","sample"],[13,4,1,"","sample_hubo"],[13,4,1,"","sample_ising"],[13,4,1,"","sample_qubo"]],"openjij.sampler.sampler":[[14,3,1,"","BaseSampler"],[14,2,1,"","measure_time"]],"openjij.sampler.sampler.BaseSampler":[[14,5,1,"","parameters"],[14,5,1,"","properties"],[14,4,1,"","remove_unknown_kwargs"],[14,4,1,"","sample"],[14,4,1,"","sample_ising"],[14,4,1,"","sample_qubo"]],"openjij.sampler.sqa_sampler":[[15,3,1,"","SQASampler"],[15,2,1,"","linear_ising_schedule"],[15,2,1,"","quartic_ising_schedule"]],"openjij.sampler.sqa_sampler.SQASampler":[[15,4,1,"","parameters"],[15,5,1,"","properties"],[15,4,1,"","remove_unknown_kwargs"],[15,4,1,"","sample"],[15,4,1,"","sample_ising"],[15,4,1,"","sample_qubo"]],"openjij.utils":[[16,0,0,"-","benchmark"],[19,2,1,"","convert_response"],[17,0,0,"-","decorator"],[18,0,0,"-","graph_utils"],[20,0,0,"-","res_convertor"],[19,2,1,"","residual_energy"],[19,2,1,"","se_lower_tts"],[19,2,1,"","se_residual_energy"],[19,2,1,"","se_success_probability"],[19,2,1,"","se_upper_tts"],[19,2,1,"","solver_benchmark"],[19,2,1,"","success_probability"],[21,0,0,"-","time_measure"],[19,2,1,"","time_to_solution"]],"openjij.utils.benchmark":[[16,1,1,"","logger"],[16,2,1,"","residual_energy"],[16,2,1,"","se_lower_tts"],[16,2,1,"","se_residual_energy"],[16,2,1,"","se_success_probability"],[16,2,1,"","se_upper_tts"],[16,2,1,"","solver_benchmark"],[16,2,1,"","success_probability"],[16,2,1,"","time_to_solution"]],"openjij.utils.decorator":[[17,2,1,"","deprecated_alias"],[17,2,1,"","disabled"],[17,2,1,"","rename_kwargs"]],"openjij.utils.graph_utils":[[18,2,1,"","chimera_to_ind"],[18,2,1,"","qubo_to_ising"]],"openjij.utils.res_convertor":[[20,2,1,"","convert_response"]],"openjij.variable_type":[[22,1,1,"","BINARY"],[22,1,1,"","SPIN"],[22,1,1,"","Vartype"],[22,2,1,"","cast_vartype"]],openjij:[[1,1,1,"","BINARY"],[1,2,1,"","BinaryPolynomialModel"],[1,2,1,"","BinaryQuadraticModel"],[1,3,1,"","CSQASampler"],[1,3,1,"","Response"],[1,3,1,"","SASampler"],[1,1,1,"","SPIN"],[1,3,1,"","SQASampler"],[1,1,1,"","Vartype"],[1,2,1,"","cast_vartype"],[1,2,1,"","convert_response"],[1,5,1,"","linear"],[3,0,0,"-","model"],[1,5,1,"","num_variables"],[1,5,1,"","offset"],[1,5,1,"","quadratic"],[11,0,0,"-","sampler"],[1,2,1,"","solver_benchmark"],[19,0,0,"-","utils"],[22,0,0,"-","variable_type"],[1,5,1,"","variables"],[1,5,1,"","vartype"]]},objnames:{"0":["py","module","Python module"],"1":["py","data","Python data"],"2":["py","function","Python function"],"3":["py","class","Python class"],"4":["py","method","Python method"],"5":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:data","2":"py:function","3":"py:class","4":"py:method","5":"py:attribute"},terms:{"0":[0,1,2,3,4,5,7,8,9,10,11,12,13,15,16,18,19],"001":[1,11,12],"05":[1,11,12],"06":[1,11,12],"08":[1,11,12],"1":[0,1,2,3,4,5,7,8,9,10,11,12,13,15,16,19],"10":[0,1,7,8,9,10,11,12,13,14,15],"100":[0,8,9],"1000":[1,7,9,10,11,13],"11":[1,11,12],"12":2,"125210":15,"1e":[1,11,12],"1s":[1,11,12],"2":[0,1,2,3,4,5,7,8,9,10,11,12,13,15],"20":[1,11,12],"2008":15,"274":[1,11,12],"2d":[1,11,12],"3":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15],"315":[1,11,12],"4":[0,1,2,3,5,7,8,9,10,11,12,13,15],"49":15,"5":[0,1,3,5,7,8,9,10,11,12],"6":[0,1,11,12],"7":[0,1,11,12,18],"8":[0,1,11,12,18],"9":[0,1,11,12],"99":[1,16,19],"999":[1,11,12],"abstract":[6,14],"boolean":[6,7,8,9],"byte":[1,11,12],"case":[1,7,8,9,10,11,12,13,15],"class":[2,3,4,5],"default":[1,7,8,9,10,11,12,13,15],"final":[1,7,9,11,13],"float":[1,2,3,4,5,7,8,9,10,11,12,13,15,16,19],"function":12,"import":[0,1,7,8,9,10,11,12,13,14,15],"int":[1,2,3,5,7,8,9,10,11,12,13,15,16,18,19],"new":[1,11,12],"return":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19],"true":[1,2,3,5,7,8,9,10,11,12,13,15,16,19],"try":[1,7,8,9,10,11,13,14,15],A:[1,6,7,8,9,11,12],For:[1,11,12],If:[0,1,7,8,9,11,12,13,15],Ising:[1,5,7,8,9,10,11,13,14,15],It:0,The:[1,4,5,11,12,16,19],Then:0,_collections_abc:[1,11,12],_structur:[6,7,8,9],abc:[6,7,8,9],about:[1,7,8,9,10,11,12,13,15],abov:[1,11,12],absolut:[1,11,12],accept:[1,7,8,9,10,11,12,13,14,15],accord:[1,11,12],account:[1,11,12],accumul:[1,11,12],add_constraint:[1,11,12],addit:[1,11,12,14],adjac:[6,7,8,9],aggreg:[1,11,12],aggregate_sampl:[1,11,12],algorithm:[1,7,9,10,11,13],alias:17,all:[1,6,7,8,9,11,12],allow:[6,7,8,9],almost:12,also:[1,3,5],although:0,alwai:[1,11,12],amplitud:[1,8,9,10,11,15],an:[1,5,7,8,9,11,12,13,14,15],ani:[1,7,8,9,10,11,12,13,14,15],anneal:[1,7,8,9,10,11,13,15],append_vari:[1,11,12],appli:[1,11,12],ar:[1,4,5,6,7,8,9,10,11,12,13,15,16,19],arg:[1,3,5,16,19],argument:[1,7,8,9,10,11,13,14,15,16,19],arrai:[1,11,12,13,15],arrang:[7,8,9],array_lik:[1,11,12],as_sampl:[1,11,12],asic:4,ask:0,assum:[1,11,12],atol:[1,11,12],attribut:[6,7,8,9],attributeerror:[7,8,9],averag:[16,19],b:[1,3,5,11,12],base:[1,6,7,8,9,10,11,12,13,14,15],base_gpu_chimera:[1,7,8,9,11],basegpuchimerasampl:[6,7,8,9],basesampl:[1,7,8,9,10,11,13,14,15],basic:5,befor:[1,11,12],below:[1,7,8,9,11,13,15,16,19],benchmark:[1,19],beta:[0,1,7,8,9,10,11,13,15],beta_max:[1,7,9,11,13],beta_min:[1,7,9,11,13],between:[1,11,12],bias:[1,2,3,4,5,7,9,10,11,12,13,14,15],binari:[0,1,2,3,4,5,7,8,9,10,11,12,13,14,15,22],binarypolynomialmodel:[1,3,5,7,9,11,13],binaryquadraticmodel:[1,2,3,5,6,7,8,9,10,11,12,13,14,15],bit:[1,11,12],block:[1,11,12],bool:[1,2,3,5,6,7,8,9,10,11,12,13,15,16,19],bottom:[1,11,12],bqm:[1,3,5,6,7,8,9,10,11,12,13,14,15],bqm_from_numpy_matrix:[3,5],breviti:[1,11,12],bson:[1,11,12],build:[1,11,12],bytes_typ:[1,11,12],c:[0,1,3,5,11,12,18],calcul:[1,11,12,14,16,19],call:[1,11,12],callabl:[1,11,12,16,19],can:[0,1,2,3,4,5,11,12,13],carlo:[0,1,7,9,10,11,13],cast_vartyp:[1,22],catch_warn:[1,7,8,9,10,11,13,14,15],caveat:[1,11,12],cdot:0,cell:[7,8,9],chang:[1,11,12],change_vartyp:[1,11,12],check_feas:[1,11,12],chimera:[2,7,8,9,18],chimera_gpu:[1,11],chimera_model:[1,3],chimera_self:2,chimera_to_ind:18,chimeramodel:2,choos:4,cimod:[1,7,9,11,13],classicalschedul:13,classmethod:[1,11,12],code:4,coeffici:[1,7,8,9,10,11,13,14,15],collect:[1,11,12],column:[1,11,12,18],commun:0,compact:[1,11,12],compar:[6,7,8,9],compuat:[1,16,19],comput:[1,11,12,16,19],computation_tim:[16,19],concurr:[1,11,12],configur:[1,11,12],constant:[1,3,5,11,12],constrain:[1,11,12],constrainedquadraticmodel:[1,11,12],constraint:[1,11,12],constraint_1:[1,11,12],construct:[1,11,12],constructor:[7,8,9],contain:[1,6,7,8,9,11,12],continu:[1,10,11],convert:[1,2,3,5,6,7,8,9,11,12,18],convert_respons:[1,19,20],cool:13,copi:[1,11,12],core:[0,1,6,7,8,9,10,11,13,14,15],corrdin:4,correspond:[1,2,5,11,12,18],coupler:[1,11,12],cqm:[1,11,12],creat:[1,11,12],csqa:[1,10,11],csqa_sampl:[1,11],csqasampl:[1,10,11],current:[1,11,12],cxxjij:[2,13,14],d:[1,3,4,5,11,12],data:[1,11,12],data_vector:[1,11,12],datafram:[1,11,12],datum:[1,11,12],deal:2,decid:4,decod:[1,11,12],decor:[1,11,14,19],def:[1,11,12],defaul:[1,11,12],defin:[5,6,7,8,9,14,16,19],definit:14,degener:[1,16,19],delimit:[1,11,12],deprec:[1,11,12],deprecated_alia:17,descript:[13,18],deseri:[1,11,12],detail:[1,11,12],determin:[1,11,12],diag:[1,11,12],dict:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19],dictionari:[1,16,19],dimension:[7,8,9],dimod:[1,3,5,6,7,8,9,10,11,12,13,14,15],directli:[1,11,12],disabl:17,discret:[1,11,12],document:[1,11,12],doe:[1,11,12],doesn:[7,8,9],done:[1,11,12],dtype:[1,11,12],dump:[1,11,12],duplic:[1,11,12],dure:[1,11,13],dwave:[1,11,12],dwavesampl:[1,11,12],e:[1,11,12,16,19],e_0:[16,19],each:[1,4,6,7,8,9,10,11,12,13,15,16,19],easili:0,edg:[6,7,8,9],edgelist:[1,6,7,8,9,11,12],element:[1,3,5],empti:[1,11,12],encod:[1,11,12],energi:[0,1,3,5,11,12,16,19],energy_offset:[1,11,12],ensur:[1,11,12],equat:[1,11,12],equival:[1,11,12],error:[1,16,19],everi:[1,11,12],exactsolv:[1,11,12],exactsolversampl:[1,11,12],exampl:[1,2,3,4,5,7,8,9,10,11,12,13,14,15],except:[1,7,8,9,10,11,13,14,15],execut:0,execution_tim:[1,16,19],executor:[1,11,12],extendedvartyp:[1,11,12],extens:[1,11,12],factori:[2,3,4,5],fals:[1,2,11,12,16,19],favor:[1,11,12],feasibl:[1,11,12],feasible_sampleset:[1,11,12],field:[1,8,9,10,11,12,15],filter:[1,11,12],filterwarn:[1,7,8,9,10,11,13,14,15],first:[0,1,11,12],flip:[1,8,9,10,11,15],fluctuat:[1,8,9,10,11,15],follow:[0,1,4,11,12,16,19],form:5,format:[1,6,7,8,9,11,12],fpga:4,from:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19],from_futur:[1,11,12],from_his:5,from_hubo:5,from_is:[1,2,4,5,11,12],from_numpy_matrix:5,from_qubo:[2,4,5],from_sampl:[1,11,12],from_samples_bqm:[1,11,12],from_samples_cqm:[1,11,12],from_serializ:[1,2,4,5,11,12],func:[11,14,17],func_nam:17,futur:[1,11,12],gamma:[1,8,9,10,11,15],gener:[1,2,3,4,5,15],geometr:13,geometric_hubo_beta_schedul:13,geometric_ising_beta_schedul:13,get:[0,16,19],github:0,give:[1,11,12],given:[1,2,7,8,9,11,12],go:0,gpu:[1,2,3,5,7,8,9],gpu_sa_sampl:[1,9,11],gpu_sqa_sampl:[1,9,11],gpuchimera:6,gpuchimerasasampl:[7,9],gpuchimerasqasampl:[8,9],graph:[2,6,7,8,9],graph_util:[1,19],ground:[1,11,12,16,19],h:[0,1,3,4,5,7,8,9,10,11,13,14,15],h_:5,h_i:0,h_p:[1,10,11,15],ha:[0,1,11,12,16,19],hamiltonian:[1,5,10,11,15],handl:0,have:[1,11,12],heavi:[1,11,12],height:18,help:0,heurist:0,higher:[1,7,9,11,13],how:2,hubo:0,i:[0,5],ident:[1,11,12],idx:[1,11,12],ignor:[1,7,8,9,10,11,13,14,15],ij:[0,5],implement:[0,1,7,8,9,10,11,13,14,15],includ:[1,11,12],incompat:[1,7,8,9,11,12],incomplet:[1,11,12],index:[1,11,12,18],index_typ:[3,5],indic:[0,1,3,5,6,7,8,9,11,12],info:[1,11,12,16,19],inform:[1,7,8,9,10,11,12,13,15,16,19],inherit:[1,7,8,9,11,15],init_st:[1,7,9,11,13],initi:[1,2,3,4,5,7,8,9,10,11,13,15],initial_st:[1,7,8,9,10,11,13,15],initil:[1,8,9,10,11,15],inplac:[1,11,12,18],input:[1,7,8,9,11,12],instal:[6,7,8,9],instanti:[1,11,12],instead:[1,11,12],int8:[1,11,12],integ:[1,3,5],interact:[1,2,4,6,7,8,9,11,13],interfac:0,intial:4,invers:[1,7,8,9,10,11,13,15],is_fea:[1,11,12],is_feas:[1,11,12],isclos:[1,11,12],ising:[4,15,18],iter:[1,7,8,9,10,11,12,15],its:[1,11,12],itself:[1,11,12],j:[0,1,3,4,5,7,8,9,10,11,13,14,15],j_:[0,5],join:0,journal:15,json:[1,2,4,5,11,12],k:0,k_:0,keep:[1,11,12],kei:[1,6,7,8,9,10,11,12,13,15,16,19],keyword:[1,7,8,9,10,11,13,14,15],king_graph:[1,3],king_interact:4,kinggraph:4,kinggraphmodel:4,kwarg:[1,3,5,7,8,9,10,11,12,13,14,15,17],l:18,label:[0,1,11,12],lambda:[1,11,12],langl:[16,19],last:[1,11,12],lattic:[7,8,9],len:[1,11,12],length:[7,8,9],less:[1,11,12,13],let:0,librari:0,limit:[1,11,12],linear:[1,2,3,4,5,7,8,9,10,11,13,14,15],linear_ising_schedul:15,list:[0,1,3,5,7,8,9,10,11,12,13,15,16,19],load:[1,11,12],log:[16,19],logger:16,lower:[1,16,19],lowest:[1,11,12],machine_typ:4,maintain:[1,11,12],make:[0,2,5,13],make_binarypolynomialmodel:[3,5],make_binarypolynomialmodel_from_his:[3,5],make_binarypolynomialmodel_from_hubo:[3,5],make_binarypolynomialmodel_from_json:[3,5],make_binaryquadraticmodel:[3,5],make_binaryquadraticmodel_from_json:5,make_chimeramodel:2,make_chimeramodel_from_json:2,make_kinggraph:4,make_kinggraph_from_json:4,map:[1,11,12],mat:[3,5,18],match:[2,6,7,8,9],mathemat:15,matrix:18,max:13,max_work:[1,11,12],maximum:[1,7,9,11,12,13],measur:[1,11,14,16,19],measure_tim:[11,14],measure_with_energi:[1,16,19],memori:[1,11,12],method:[1,2,5,6,7,8,9,10,11,12,13,14,15],might:[1,11,12],min:13,min_sampl:[1,11,12],minim:[1,7,9,11,13],minimum:[1,7,9,11,13],minmum:[1,11,13],mix:[1,11,12],model:[1,7,8,9,10,11,12,13,14,15],mont:[0,1,7,9,10,11,13],montecarlo:[1,11,13],more:[1,11,12],morita:15,must:[1,6,7,8,9,11,12,18],n:[0,1,11,12],name:[1,11,12],namedtupl:[1,6,7,8,9,11,12],ndarrai:[1,7,8,9,10,11,13,14,15,18],need:[1,11,12],neq:5,networkx:[6,7,8,9],never:[1,11,12],new_sampl:[1,11,12],new_sampleset:[1,11,12],next:[1,11,12],nishimori:15,node:[6,7,8,9],nodelist:[6,7,8,9],non:[1,11,12],non_param:[1,7,8,9,10,11,13,14,15],none:[1,2,3,4,5,7,8,9,10,11,12,13,15],note:[1,6,7,8,9,11,12],np:[1,11,12,18],num_oc:[0,1,11,12],num_occurr:[1,11,12],num_read:[0,1,7,8,9,10,11,13,14,15],num_sweep:[1,7,8,9,10,11,13,15],num_vari:[1,3,5],number:[1,3,5,7,8,9,10,11,12,13,15,18],numpi:[1,7,8,9,10,11,12,13,14,15,18],obj:[1,2,3,4,5,11,12],object:[1,2,3,4,5,6,7,8,9,11,12],occur:[1,11,12],occurr:[1,11,12],odd:[7,8,9],offset:[1,2,3,4,5],oj:[0,1,3,4,5],one:[7,8,9],ones:[1,11,12],onli:[0,1,11,12],ooenjij:[1,7,9,11,13],openj:[1,7,9,11,13],openjijj:[1,10,11],optim:[0,1,7,8,9,10,11,13,14,15],option:[1,7,8,9,10,11,12,13,15],order:[1,7,9,11,12,13],origin:[1,11,12],other:[1,11,12],otherwis:[1,11,12],out:[1,11,12],over:[1,11,12],overwrit:[1,11,13],p_r:[1,16,19],pack:[1,11,12],pack_sampl:[1,11,12],panda:[1,11,12],paramet:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19],part:0,particip:0,pass:[1,7,8,9,10,11,13,14,15],pend:[1,11,12],per:[1,11,12],perform:[1,11,12],physic:15,pleas:0,polynomi:[3,5],possibl:[1,11,12],pr:[16,19],pred:[1,11,12],predic:[1,11,12],print:[0,1,11,12],probabl:[1,16,19],problem:[1,6,7,8,9,10,11,15],project:0,properti:[1,6,7,8,9,10,11,12,13,14,15],provid:[1,2,6,7,8,9,11,12],ps:[16,19],python:[0,1,11,12,14],q:[1,2,7,8,9,10,11,13,14,15],q_:5,qpu_anneal_time_per_sampl:[1,11,12],qpu_readout_time_per_sampl:[1,11,12],qpu_sampling_tim:[1,11,12],quadrat:[1,2,3,4,5,7,8,9,10,11,12,13,14,15],quantum:[1,8,9,10,11,15],quartic:15,quartic_ising_schedul:15,qubo:[1,4,5,7,8,9,10,11,13,14,15,18],qubo_to_is:18,qudrat:14,question:0,r:18,rais:[1,7,8,9,10,11,12,13,15,18],randomsampl:[1,7,8,9,10,11,13,14,15],rang:[0,1,11,12,13,15],rangl:[16,19],rather:[1,11,12],raw:[1,11,12],re:[1,7,8,9,10,11,13,15],read:[1,7,9,11,12,13],recarrai:[1,11,12],record:[1,11,12],redisu:[16,19],reduc:[1,11,12],ref_energi:[1,16,19],refer:[1,16,19],referenc:[1,11,12],regular:[1,11,12],reiniti:[1,7,9,11,13],reinitialize_st:[1,7,8,9,10,11,13,15],rel:[1,11,12],relabel:[1,11,12],relabel_vari:[1,11,12],relev:[1,7,8,9,10,11,13,15],remov:[1,7,8,9,10,11,13,14,15],remove_unknown_kwarg:[1,7,8,9,10,11,13,14,15],rename_kwarg:17,repeat:[1,11,12],repositori:0,repres:[1,3,4,5,11,12,16,19],represent:[1,11,12],requir:[1,11,12],res_convertor:[1,19],residu:[1,16,19],residual_energi:[1,16,19],resolv:[1,11,12],respons:[0,1,7,8,9,10,11,13,14,15,16,19,20],result:[1,7,8,9,10,11,12,13,14,15],result_hook:[1,11,12],returen:[16,19],revers:[1,11,12],row:[0,1,11,12,18],rtol:[1,11,12],run:[1,7,9,11,12,13],s:[1,6,7,8,9,10,11,12,15,16,19],sa:[1,7,9,11,13],sa_sampl:[1,7,9,11],sa_system:13,same:[5,12,16,19],sampl:[1,7,8,9,10,11,12,13,14,15],sample_:[1,11,13],sample_column:[1,11,12],sample_dict_cast:[1,11,12],sample_hubo:[0,1,7,9,11,13],sample_is:[0,1,7,8,9,10,11,12,13,14,15],sample_qubo:[1,7,8,9,10,11,13,14,15],sampler:[0,1,2,3,5,16,19],samplerunknownargwarn:[1,7,8,9,10,11,13,14,15],samples_lik:[1,11,12],samplesarrai:[1,11,12],sampleset:[1,11,12],sampleset_binari:[1,11,12],sampleview:[1,11,12],sasampl:[0,1,7,9,11,13],satisfi:2,schedul:[1,7,8,9,10,11,13,15],schedule_info:[1,7,8,9,10,11,13,15],se_lower_tt:[1,16,19],se_residual_energi:[1,16,19],se_success_prob:[1,16,19],se_upper_tt:[1,16,19],second:[1,11,12],see:[1,11,12,14],seed:[1,7,8,9,10,11,13,15],select:[1,11,12],self:[1,3,5],serial:[1,11,12],serializ:[1,11,12],set:[1,6,7,8,9,11,12],set_object:[1,11,12],set_result:[1,11,12],shallow:[1,11,12],should:[1,11,12],show:[1,2,4,11,12],side:[7,8,9],sigma_i:[0,1,5,10,11,15],sigma_j:[0,5],sigma_k:0,simul:[1,7,8,9,10,11,13,14,15],singl:[1,8,9,10,11,12,15],size:[1,11,12],skip:[1,11,12],slack:0,slice:[1,11,12],slice_arg:[1,11,12],snip:[1,11,12],solus:[1,16,19],solut:[1,16,19],solv:[1,10,11,15],solver:[1,16,19],solver_benchmark:[1,16,19],sort:[1,11,12],sort_label:[1,11,12],sorted_bi:[1,11,12],sourc:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22],spars:[1,3,5,7,8,9,10,11,13,15],special:[1,11,12],specif:[1,3,5],specifi:[1,11,12],spin:[0,1,2,3,4,5,7,8,9,10,11,12,13,15,18,22],sqa:[1,8,9,11,15],sqa_sampl:[1,8,9,10,11],sqasampl:[1,8,9,10,11,15],standard:[1,11,12,16,19],start:[1,11,12],state:[0,1,7,8,9,10,11,12,13,15,16,19],step:[0,1,7,9,10,11,12,13,15],step_length:[1,11,13],step_num:[1,10,11],still:0,stop:[1,11,12],str:[1,4,7,8,9,10,11,12,13,14,15],strangth:[1,8,9,10,11,15],strength:[1,10,11],string:[1,3,5],structur:[1,6,7,8,9,11,12],submit:[1,11,12],success:[1,16,19],success_prob:[1,16,19],sum_:[0,5],sum_i:[1,10,11,15],summari:18,sweep:[1,7,8,9,10,11,13,15],syntax:[1,11,12],system:[1,11,12],t:[7,8,9],target:[1,8,9,11,12],tau:[16,19],temparetur:[1,8,9,10,11,15],temperatur:[1,7,8,9,10,11,13,15],term:[1,3,4,5,8,9],than:[1,11,12,13],therefor:0,thereshold:[1,16,19],thi:[0,1,2,3,5,6,7,8,9,11,12,14],thread:[1,11,12],threadpoolexecutor:[1,11,12],three:[1,11,12],time:[0,1,10,11,12,14,16,18,19],time_list:[1,16,19],time_measur:[1,19],time_nam:[1,16,19],time_to_solut:[16,19],to_networkx_graph:[6,7,8,9],to_pandas_datafram:[1,11,12],to_serializ:[1,11,12],toler:[1,11,12],top:[1,11,12],topolog:2,total:18,transvers:[1,8,9,10,11,15],trotter:[1,7,8,9,10,11,15],truncat:[1,11,12],tt:[1,16,19],tupl:[1,3,5,6,7,8,9,11,12,13],tuple_s:[3,5],two:[1,7,8,9,11,12],type:[1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,18,19],typic:[1,11,12],unconstrain:[1,7,8,9,10,11,13,14,15],unconstraint:[0,1,7,9,11,13],union:[1,7,8,9,10,11,13,15],uniqu:[1,11,12],unit:[7,8,9,18],unit_num_l:[2,7,8,9],unless:[1,11,12],unmap:[1,11,12],unsort:[1,11,12],up:[1,3,5,11,12],updat:[1,7,8,9,10,11,12,13,14,15],upper:[1,16,19],us:[0,1,2,3,5,7,8,9,10,11,12,13,14,15,16,19],usag:[1,5,11,12],use_byt:[1,11,12],usual:[16,19],util:[1,13],valid:[1,6,7,8,9,10,11,13,14,15],valid_bqm_graph:[6,7,8,9],validate_chimera:2,valu:[1,4,6,7,8,9,10,11,12,13,15],valueerror:[1,7,8,9,10,11,12,13,15,18],variabl:[0,1,3,5,6,7,8,9,11,12,13],variable_typ:[1,3,5],vartyp:[0,1,2,3,4,5,7,9,11,12,13,22],vector:[1,11,12],verifi:2,view:[1,11,12],violat:[1,7,8,9,11,12,13,15],want:[0,1,10,11,15],warn:[1,7,8,9,10,11,13,14,15],wave:[1,11,12],we:[1,10,11,15],when:[1,3,5,11,12,16,19],where:[1,6,7,8,9,10,11,12,13,15],whether:2,which:[1,7,8,9,11,12,16,19],whole:[1,11,12],width:18,within:[1,11,12],work:[6,7,8,9],wrap:[1,11,12],wrapper:14,written:0,x1:4,x2:4,x:[1,4,10,11,12,15],x_i:5,x_j:5,y1:4,y2:4,y:[1,4,11,12],yield:[1,11,12],you:[0,1,3,4,5,11,13],z:[1,11,12,18],zero:[1,11,13]},titles:["Welcome to OpenJij\u2019s documentation!","openjij","openjij.model.chimera_model","openjij.model","openjij.model.king_graph","openjij.model.model","openjij.sampler.chimera_gpu.base_gpu_chimera","openjij.sampler.chimera_gpu.gpu_sa_sampler","openjij.sampler.chimera_gpu.gpu_sqa_sampler","openjij.sampler.chimera_gpu","openjij.sampler.csqa_sampler","openjij.sampler","openjij.sampler.response","openjij.sampler.sa_sampler","openjij.sampler.sampler","openjij.sampler.sqa_sampler","openjij.utils.benchmark","openjij.utils.decorator","openjij.utils.graph_utils","openjij.utils","openjij.utils.res_convertor","openjij.utils.time_measure","openjij.variable_type","1. OpenJij Tutorials","1. OpenJij \u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb"],titleterms:{"\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb":24,"class":[1,6,7,8,9,10,11,12,13,14,15],"function":[1,2,3,4,5,11,13,14,15,16,17,18,19,20,22],Ising:0,anneal:0,attribut:[1,2,4,5,16,22],base_gpu_chimera:6,benchmark:16,chimera_gpu:[6,7,8,9],chimera_model:2,code:0,content:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22],csqa_sampl:10,custom:0,decor:17,document:0,framework:0,gpu_sa_sampl:7,gpu_sqa_sampl:8,graph_util:18,higher:0,instal:0,introduct:0,king_graph:4,minimum:0,model:[0,2,3,4,5],modul:[2,4,5,6,7,8,10,12,13,14,15,16,17,18,20,22],openjij:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24],order:0,packag:[1,3,9,11,19],paramet:0,pip:0,qubo:0,res_convertor:20,respons:12,s:0,sa:0,sa_sampl:13,sampl:0,sampler:[6,7,8,9,10,11,12,13,14,15],schedul:0,simul:0,sqa_sampl:15,submodul:[1,3,9,11,19],subpackag:[1,11],time_measur:21,tutori:23,util:[16,17,18,19,20,21],variable_typ:22,welcom:0,what:0}}) \ No newline at end of file +Search.setIndex({docnames:["index","reference/openjij/index","reference/openjij/model/chimera_model/index","reference/openjij/model/index","reference/openjij/model/king_graph/index","reference/openjij/model/model/index","reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index","reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index","reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index","reference/openjij/sampler/chimera_gpu/index","reference/openjij/sampler/csqa_sampler/index","reference/openjij/sampler/index","reference/openjij/sampler/response/index","reference/openjij/sampler/sa_sampler/index","reference/openjij/sampler/sampler/index","reference/openjij/sampler/sqa_sampler/index","reference/openjij/utils/benchmark/index","reference/openjij/utils/decorator/index","reference/openjij/utils/graph_utils/index","reference/openjij/utils/index","reference/openjij/utils/res_convertor/index","reference/openjij/utils/time_measure/index","reference/openjij/variable_type/index","tutorial/en/index","tutorial/ja/graph_coloring","tutorial/ja/index","tutorial/ja/knapsack"],envversion:{"sphinx.domains.c":2,"sphinx.domains.changeset":1,"sphinx.domains.citation":1,"sphinx.domains.cpp":5,"sphinx.domains.index":1,"sphinx.domains.javascript":2,"sphinx.domains.math":2,"sphinx.domains.python":3,"sphinx.domains.rst":2,"sphinx.domains.std":2,"sphinx.ext.intersphinx":1,"sphinx.ext.viewcode":1,sphinx:56},filenames:["index.md","reference/openjij/index.rst","reference/openjij/model/chimera_model/index.rst","reference/openjij/model/index.rst","reference/openjij/model/king_graph/index.rst","reference/openjij/model/model/index.rst","reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index.rst","reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index.rst","reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index.rst","reference/openjij/sampler/chimera_gpu/index.rst","reference/openjij/sampler/csqa_sampler/index.rst","reference/openjij/sampler/index.rst","reference/openjij/sampler/response/index.rst","reference/openjij/sampler/sa_sampler/index.rst","reference/openjij/sampler/sampler/index.rst","reference/openjij/sampler/sqa_sampler/index.rst","reference/openjij/utils/benchmark/index.rst","reference/openjij/utils/decorator/index.rst","reference/openjij/utils/graph_utils/index.rst","reference/openjij/utils/index.rst","reference/openjij/utils/res_convertor/index.rst","reference/openjij/utils/time_measure/index.rst","reference/openjij/variable_type/index.rst","tutorial/en/index.md","tutorial/ja/graph_coloring.md","tutorial/ja/index.md","tutorial/ja/knapsack.md"],objects:{"":[[1,0,0,"-","openjij"]],"openjij.CSQASampler":[[1,4,1,"","parameters"],[1,5,1,"","properties"],[1,4,1,"","remove_unknown_kwargs"],[1,4,1,"","sample"],[1,4,1,"","sample_ising"],[1,4,1,"","sample_qubo"]],"openjij.Response":[[1,4,1,"","aggregate"],[1,4,1,"","append_variables"],[1,4,1,"","change_vartype"],[1,4,1,"","copy"],[1,4,1,"","data"],[1,4,1,"","data_vectors"],[1,4,1,"","done"],[1,4,1,"","energies"],[1,4,1,"","filter"],[1,4,1,"","first"],[1,4,1,"","from_future"],[1,4,1,"","from_samples"],[1,4,1,"","from_samples_bqm"],[1,4,1,"","from_samples_cqm"],[1,4,1,"","from_serializable"],[1,4,1,"","indices"],[1,4,1,"","info"],[1,4,1,"","lowest"],[1,4,1,"","min_samples"],[1,4,1,"","record"],[1,4,1,"","relabel_variables"],[1,4,1,"","resolve"],[1,4,1,"","samples"],[1,4,1,"","slice"],[1,4,1,"","states"],[1,4,1,"","to_pandas_dataframe"],[1,4,1,"","to_serializable"],[1,4,1,"","truncate"],[1,4,1,"","variables"],[1,4,1,"","vartype"]],"openjij.SASampler":[[1,4,1,"","parameters"],[1,5,1,"","properties"],[1,4,1,"","remove_unknown_kwargs"],[1,4,1,"","sample"],[1,4,1,"","sample_hubo"],[1,4,1,"","sample_ising"],[1,4,1,"","sample_qubo"]],"openjij.SQASampler":[[1,4,1,"","parameters"],[1,5,1,"","properties"],[1,4,1,"","remove_unknown_kwargs"],[1,4,1,"","sample"],[1,4,1,"","sample_ising"],[1,4,1,"","sample_qubo"]],"openjij.model":[[3,2,1,"","BinaryPolynomialModel"],[3,2,1,"","BinaryQuadraticModel"],[3,2,1,"","bqm_from_numpy_matrix"],[2,0,0,"-","chimera_model"],[4,0,0,"-","king_graph"],[3,5,1,"","linear"],[3,2,1,"","make_BinaryPolynomialModel"],[3,2,1,"","make_BinaryPolynomialModel_from_JSON"],[3,2,1,"","make_BinaryPolynomialModel_from_hising"],[3,2,1,"","make_BinaryPolynomialModel_from_hubo"],[3,2,1,"","make_BinaryQuadraticModel"],[5,0,0,"-","model"],[3,5,1,"","num_variables"],[3,5,1,"","offset"],[3,5,1,"","quadratic"],[3,5,1,"","variables"],[3,5,1,"","vartype"]],"openjij.model.chimera_model":[[2,2,1,"","ChimeraModel"],[2,1,1,"","from_ising"],[2,1,1,"","from_qubo"],[2,1,1,"","from_serializable"],[2,2,1,"","make_ChimeraModel"],[2,2,1,"","make_ChimeraModel_from_JSON"]],"openjij.model.king_graph":[[4,2,1,"","KingGraph"],[4,1,1,"","from_ising"],[4,1,1,"","from_qubo"],[4,1,1,"","from_serializable"],[4,2,1,"","make_KingGraph"],[4,2,1,"","make_KingGraph_from_JSON"]],"openjij.model.model":[[5,2,1,"","BinaryPolynomialModel"],[5,2,1,"","BinaryQuadraticModel"],[5,2,1,"","bqm_from_numpy_matrix"],[5,1,1,"","from_hising"],[5,1,1,"","from_hubo"],[5,1,1,"","from_ising"],[5,1,1,"","from_numpy_matrix"],[5,1,1,"id0","from_qubo"],[5,1,1,"id1","from_serializable"],[5,5,1,"","linear"],[5,2,1,"","make_BinaryPolynomialModel"],[5,2,1,"","make_BinaryPolynomialModel_from_JSON"],[5,2,1,"","make_BinaryPolynomialModel_from_hising"],[5,2,1,"","make_BinaryPolynomialModel_from_hubo"],[5,2,1,"","make_BinaryQuadraticModel"],[5,2,1,"","make_BinaryQuadraticModel_from_JSON"],[5,5,1,"","num_variables"],[5,5,1,"","offset"],[5,5,1,"","quadratic"],[5,5,1,"","variables"],[5,5,1,"","vartype"]],"openjij.sampler":[[11,3,1,"","CSQASampler"],[11,3,1,"","Response"],[11,3,1,"","SASampler"],[11,3,1,"","SQASampler"],[9,0,0,"-","chimera_gpu"],[10,0,0,"-","csqa_sampler"],[11,2,1,"","measure_time"],[12,0,0,"-","response"],[13,0,0,"-","sa_sampler"],[14,0,0,"-","sampler"],[15,0,0,"-","sqa_sampler"]],"openjij.sampler.CSQASampler":[[11,4,1,"","parameters"],[11,5,1,"","properties"],[11,4,1,"","remove_unknown_kwargs"],[11,4,1,"","sample"],[11,4,1,"","sample_ising"],[11,4,1,"","sample_qubo"]],"openjij.sampler.Response":[[11,4,1,"","aggregate"],[11,4,1,"","append_variables"],[11,4,1,"","change_vartype"],[11,4,1,"","copy"],[11,4,1,"","data"],[11,4,1,"","data_vectors"],[11,4,1,"","done"],[11,4,1,"","energies"],[11,4,1,"","filter"],[11,4,1,"","first"],[11,4,1,"","from_future"],[11,4,1,"","from_samples"],[11,4,1,"","from_samples_bqm"],[11,4,1,"","from_samples_cqm"],[11,4,1,"","from_serializable"],[11,4,1,"","indices"],[11,4,1,"","info"],[11,4,1,"","lowest"],[11,4,1,"","min_samples"],[11,4,1,"","record"],[11,4,1,"","relabel_variables"],[11,4,1,"","resolve"],[11,4,1,"","samples"],[11,4,1,"","slice"],[11,4,1,"","states"],[11,4,1,"","to_pandas_dataframe"],[11,4,1,"","to_serializable"],[11,4,1,"","truncate"],[11,4,1,"","variables"],[11,4,1,"","vartype"]],"openjij.sampler.SASampler":[[11,4,1,"","parameters"],[11,5,1,"","properties"],[11,4,1,"","remove_unknown_kwargs"],[11,4,1,"","sample"],[11,4,1,"","sample_hubo"],[11,4,1,"","sample_ising"],[11,4,1,"","sample_qubo"]],"openjij.sampler.SQASampler":[[11,4,1,"","parameters"],[11,5,1,"","properties"],[11,4,1,"","remove_unknown_kwargs"],[11,4,1,"","sample"],[11,4,1,"","sample_ising"],[11,4,1,"","sample_qubo"]],"openjij.sampler.chimera_gpu":[[9,3,1,"","GPUChimeraSASampler"],[9,3,1,"","GPUChimeraSQASampler"],[6,0,0,"-","base_gpu_chimera"],[7,0,0,"-","gpu_sa_sampler"],[8,0,0,"-","gpu_sqa_sampler"]],"openjij.sampler.chimera_gpu.GPUChimeraSASampler":[[9,4,1,"","adjacency"],[9,4,1,"","edgelist"],[9,4,1,"","nodelist"],[9,4,1,"","parameters"],[9,5,1,"","properties"],[9,4,1,"","remove_unknown_kwargs"],[9,4,1,"","sample"],[9,4,1,"","sample_hubo"],[9,4,1,"","sample_ising"],[9,4,1,"","sample_qubo"],[9,4,1,"","structure"],[9,4,1,"","to_networkx_graph"],[9,4,1,"","valid_bqm_graph"]],"openjij.sampler.chimera_gpu.GPUChimeraSQASampler":[[9,4,1,"","adjacency"],[9,4,1,"","edgelist"],[9,4,1,"","nodelist"],[9,4,1,"","parameters"],[9,5,1,"","properties"],[9,4,1,"","remove_unknown_kwargs"],[9,4,1,"","sample"],[9,4,1,"","sample_ising"],[9,4,1,"","sample_qubo"],[9,4,1,"","structure"],[9,4,1,"","to_networkx_graph"],[9,4,1,"","valid_bqm_graph"]],"openjij.sampler.chimera_gpu.base_gpu_chimera":[[6,3,1,"","BaseGPUChimeraSampler"]],"openjij.sampler.chimera_gpu.base_gpu_chimera.BaseGPUChimeraSampler":[[6,4,1,"","adjacency"],[6,4,1,"","edgelist"],[6,4,1,"","nodelist"],[6,4,1,"","parameters"],[6,4,1,"","structure"],[6,4,1,"","to_networkx_graph"],[6,4,1,"","valid_bqm_graph"]],"openjij.sampler.chimera_gpu.gpu_sa_sampler":[[7,3,1,"","GPUChimeraSASampler"]],"openjij.sampler.chimera_gpu.gpu_sa_sampler.GPUChimeraSASampler":[[7,4,1,"","adjacency"],[7,4,1,"","edgelist"],[7,4,1,"","nodelist"],[7,4,1,"","parameters"],[7,5,1,"","properties"],[7,4,1,"","remove_unknown_kwargs"],[7,4,1,"","sample"],[7,4,1,"","sample_hubo"],[7,4,1,"","sample_ising"],[7,4,1,"","sample_qubo"],[7,4,1,"","structure"],[7,4,1,"","to_networkx_graph"],[7,4,1,"","valid_bqm_graph"]],"openjij.sampler.chimera_gpu.gpu_sqa_sampler":[[8,3,1,"","GPUChimeraSQASampler"]],"openjij.sampler.chimera_gpu.gpu_sqa_sampler.GPUChimeraSQASampler":[[8,4,1,"","adjacency"],[8,4,1,"","edgelist"],[8,4,1,"","nodelist"],[8,4,1,"","parameters"],[8,5,1,"","properties"],[8,4,1,"","remove_unknown_kwargs"],[8,4,1,"","sample"],[8,4,1,"","sample_ising"],[8,4,1,"","sample_qubo"],[8,4,1,"","structure"],[8,4,1,"","to_networkx_graph"],[8,4,1,"","valid_bqm_graph"]],"openjij.sampler.csqa_sampler":[[10,3,1,"","CSQASampler"]],"openjij.sampler.csqa_sampler.CSQASampler":[[10,4,1,"","parameters"],[10,5,1,"","properties"],[10,4,1,"","remove_unknown_kwargs"],[10,4,1,"","sample"],[10,4,1,"","sample_ising"],[10,4,1,"","sample_qubo"]],"openjij.sampler.response":[[12,3,1,"","Response"]],"openjij.sampler.response.Response":[[12,4,1,"","aggregate"],[12,4,1,"","append_variables"],[12,4,1,"","change_vartype"],[12,4,1,"","copy"],[12,4,1,"","data"],[12,4,1,"","data_vectors"],[12,4,1,"","done"],[12,4,1,"","energies"],[12,4,1,"","filter"],[12,4,1,"","first"],[12,4,1,"","from_future"],[12,4,1,"","from_samples"],[12,4,1,"","from_samples_bqm"],[12,4,1,"","from_samples_cqm"],[12,4,1,"","from_serializable"],[12,4,1,"","indices"],[12,4,1,"","info"],[12,4,1,"","lowest"],[12,4,1,"","min_samples"],[12,4,1,"","record"],[12,4,1,"","relabel_variables"],[12,4,1,"","resolve"],[12,4,1,"","samples"],[12,4,1,"","slice"],[12,4,1,"","states"],[12,4,1,"","to_pandas_dataframe"],[12,4,1,"","to_serializable"],[12,4,1,"","truncate"],[12,4,1,"","variables"],[12,4,1,"","vartype"]],"openjij.sampler.sa_sampler":[[13,3,1,"","SASampler"],[13,2,1,"","geometric_hubo_beta_schedule"],[13,2,1,"","geometric_ising_beta_schedule"]],"openjij.sampler.sa_sampler.SASampler":[[13,4,1,"","parameters"],[13,5,1,"","properties"],[13,4,1,"","remove_unknown_kwargs"],[13,4,1,"","sample"],[13,4,1,"","sample_hubo"],[13,4,1,"","sample_ising"],[13,4,1,"","sample_qubo"]],"openjij.sampler.sampler":[[14,3,1,"","BaseSampler"],[14,2,1,"","measure_time"]],"openjij.sampler.sampler.BaseSampler":[[14,5,1,"","parameters"],[14,5,1,"","properties"],[14,4,1,"","remove_unknown_kwargs"],[14,4,1,"","sample"],[14,4,1,"","sample_ising"],[14,4,1,"","sample_qubo"]],"openjij.sampler.sqa_sampler":[[15,3,1,"","SQASampler"],[15,2,1,"","linear_ising_schedule"],[15,2,1,"","quartic_ising_schedule"]],"openjij.sampler.sqa_sampler.SQASampler":[[15,4,1,"","parameters"],[15,5,1,"","properties"],[15,4,1,"","remove_unknown_kwargs"],[15,4,1,"","sample"],[15,4,1,"","sample_ising"],[15,4,1,"","sample_qubo"]],"openjij.utils":[[16,0,0,"-","benchmark"],[19,2,1,"","convert_response"],[17,0,0,"-","decorator"],[18,0,0,"-","graph_utils"],[20,0,0,"-","res_convertor"],[19,2,1,"","residual_energy"],[19,2,1,"","se_lower_tts"],[19,2,1,"","se_residual_energy"],[19,2,1,"","se_success_probability"],[19,2,1,"","se_upper_tts"],[19,2,1,"","solver_benchmark"],[19,2,1,"","success_probability"],[21,0,0,"-","time_measure"],[19,2,1,"","time_to_solution"]],"openjij.utils.benchmark":[[16,1,1,"","logger"],[16,2,1,"","residual_energy"],[16,2,1,"","se_lower_tts"],[16,2,1,"","se_residual_energy"],[16,2,1,"","se_success_probability"],[16,2,1,"","se_upper_tts"],[16,2,1,"","solver_benchmark"],[16,2,1,"","success_probability"],[16,2,1,"","time_to_solution"]],"openjij.utils.decorator":[[17,2,1,"","deprecated_alias"],[17,2,1,"","disabled"],[17,2,1,"","rename_kwargs"]],"openjij.utils.graph_utils":[[18,2,1,"","chimera_to_ind"],[18,2,1,"","qubo_to_ising"]],"openjij.utils.res_convertor":[[20,2,1,"","convert_response"]],"openjij.variable_type":[[22,1,1,"","BINARY"],[22,1,1,"","SPIN"],[22,1,1,"","Vartype"],[22,2,1,"","cast_vartype"]],openjij:[[1,1,1,"","BINARY"],[1,2,1,"","BinaryPolynomialModel"],[1,2,1,"","BinaryQuadraticModel"],[1,3,1,"","CSQASampler"],[1,3,1,"","Response"],[1,3,1,"","SASampler"],[1,1,1,"","SPIN"],[1,3,1,"","SQASampler"],[1,1,1,"","Vartype"],[1,2,1,"","cast_vartype"],[1,2,1,"","convert_response"],[1,5,1,"","linear"],[3,0,0,"-","model"],[1,5,1,"","num_variables"],[1,5,1,"","offset"],[1,5,1,"","quadratic"],[11,0,0,"-","sampler"],[1,2,1,"","solver_benchmark"],[19,0,0,"-","utils"],[22,0,0,"-","variable_type"],[1,5,1,"","variables"],[1,5,1,"","vartype"]]},objnames:{"0":["py","module","Python module"],"1":["py","data","Python data"],"2":["py","function","Python function"],"3":["py","class","Python class"],"4":["py","method","Python method"],"5":["py","attribute","Python attribute"]},objtypes:{"0":"py:module","1":"py:data","2":"py:function","3":"py:class","4":"py:method","5":"py:attribute"},terms:{"0":[0,1,2,3,4,5,7,8,9,10,11,12,13,15,16,18,19,24,26],"001":[1,11,12],"05":[1,11,12],"06":[1,11,12],"08":[1,11,12],"1":[0,1,2,3,4,5,7,8,9,10,11,12,13,15,16,19,24,26],"10":[0,1,7,8,9,10,11,12,13,14,15,26],"100":[0,8,9],"1000":[1,7,9,10,11,13,26],"1000\u3067\u898f\u683c\u5316":26,"1000g":26,"11":[1,11,12],"12":[2,24],"125210":15,"13":26,"1e":[1,11,12],"1s":[1,11,12],"2":[0,1,2,3,4,5,7,8,9,10,11,12,13,15,24,26],"20":[1,11,12,26],"2000":26,"2008":15,"2014":[24,26],"274":[1,11,12],"2d":[1,11,12],"3":[0,1,3,4,5,6,7,8,9,10,11,12,13,14,15,26],"3000":26,"300g":26,"315":[1,11,12],"4":[0,1,2,3,5,7,8,9,10,11,12,13,15,24,26],"4000":26,"400g":26,"49":15,"5":[0,1,3,5,7,8,9,10,11,12,26],"5000":26,"500g":26,"6":[0,1,11,12,24,26],"600g":26,"7":[0,1,11,12,18,26],"7000":26,"8":[0,1,11,12,18,26],"800g":26,"9":[0,1,11,12],"99":[1,16,19],"999":[1,11,12],"\u3042\u308b\u30b0\u30e9\u30d5\u4e0a\u306e\u8fba\u3067\u7e4b\u304c\u308c\u305f\u9802\u70b9\u3069\u3046\u3057\u3092\u7570\u306a\u308b\u8272\u306b\u306a\u308b\u3088\u3046\u306b\u5f69\u8272\u3059\u308b\u554f\u984c\u3067\u3059":24,"\u3042\u308b\u63a2\u691c\u5bb6\u304c\u3042\u308b\u6d1e\u7a9f\u3092\u63a2\u691c\u3057\u3066\u3044\u307e\u3057\u305f":26,"\u304c\u3042\u308a":26,"\u304c\u540c\u3058\u9577\u3055\u3067\u3042\u308b\u3053\u3068\u3092\u4fdd\u8a3c\u3067\u304d\u307e\u3059":26,"\u3053\u3053\u307e\u3067\u884c\u308f\u308c\u3066\u304d\u305f\u5b9f\u88c5\u306f":[24,26],"\u3053\u3061\u3089\u3067\u306f":[24,26],"\u3053\u306e\u3088\u3046\u306b\u3057\u3066\u5f97\u3089\u308c\u305f\u7d50\u679c\u304b\u3089":[24,26],"\u3053\u306e\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u306f2kg\u306e\u8377\u7269\u3057\u304b\u5165\u308c\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u305b\u3093":26,"\u3053\u306e\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u554f\u984c\u306b\u306f\u5236\u7d04\u304c\u4e00\u3064\u3042\u308a\u307e\u3059":26,"\u3053\u306e\u554f\u984c\u306e\u5177\u4f53\u4f8b\u3068\u3057\u3066":26,"\u3053\u306e\u554f\u984c\u3092\u4e00\u822c\u5316\u3059\u308b\u306b\u306f":26,"\u3053\u306e\u5909\u6570\u306f":26,"\u3053\u306e\u76ee\u7684\u95a2\u6570\u5024\u306f\u30bc\u30ed\u3068\u306a\u308a\u307e\u3059":24,"\u3053\u308c\u306f":26,"\u3053\u308c\u3092":[24,26],"\u3053\u308c\u30923\u8272\u3067\u5168\u3066\u306e\u9802\u70b9\u3092\u5857\u308a\u5206\u3051\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059":24,"\u3053\u308c\u3092\u6570\u5f0f\u3067\u8868\u73fe\u3059\u308b\u3068":24,"\u3055\u3089\u306b":26,"\u3055\u3089\u306b\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306e\u5bb9\u91cf\u5236\u9650\u4ee5\u4e0b\u306b\u3057\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044\u5236\u7d04\u3092\u8003\u3048\u308b\u3068":26,"\u3055\u3089\u306b\u5b9d\u7269\u306e\u91cd\u3055\u3082100g\u3067\u898f\u683c\u5316\u3055\u308c\u305f\u5024\u3092\u7528\u3044\u307e\u3059":26,"\u3057\u304b\u3057\u63a2\u691c\u5bb6\u306e\u624b\u6301\u3061\u306e\u8377\u7269\u306e\u4e2d\u3067\u5b9d\u7269\u3092\u904b\u3079\u308b\u3088\u3046\u306a\u888b\u3068\u3057\u3066\u306f":26,"\u3057\u3070\u3089\u304f\u6d1e\u7a9f\u306e\u4e2d\u3092\u6b69\u3044\u3066\u3044\u308b\u3068":26,"\u3059\u306a\u308f\u3061":24,"\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u51fa\u529b\u3092\u5f97\u307e\u3059":26,"\u3059\u308b\u3068\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u753b\u50cf\u3092\u5f97\u307e\u3059":24,"\u305d\u3053\u306b\u5236\u7d04\u3092\u8ffd\u52a0\u3057\u307e\u3057\u3087\u3046":24,"\u305d\u3053\u306b\u76ee\u7684\u95a2\u6570\u3092\u8ffd\u52a0\u3057\u307e\u3057\u3087\u3046":26,"\u305d\u3057\u3066":[24,26],"\u305d\u3057\u3066\u5148\u307b\u3069\u5024\u3092\u8a2d\u5b9a\u3057\u305f":[24,26],"\u305d\u306e\u30b5\u30f3\u30d7\u30e9\u30fc\u306b\u5148\u7a0b\u4f5c\u6210\u3057\u305fqubo\u30e2\u30c7\u30eb\u306e":[24,26],"\u305d\u306e\u4e21\u7aef\u306b\u4f4d\u7f6e\u3059\u308b\u9802\u70b9\u306f\u7570\u306a\u308b\u8272\u3067\u5857\u308a\u5206\u3051\u3089\u308c\u3066\u3044\u308b\u3053\u3068\u304c\u308f\u304b\u308a\u307e\u3059":24,"\u305d\u306e\u5177\u4f53\u7684\u306a\u8981\u7d20\u6570\u3092":26,"\u305d\u306e\u5236\u7d04\u304c\u3069\u308c\u3060\u3051\u6e80\u305f\u3055\u308c\u3066\u3044\u306a\u3044\u304b\u3092\u53d6\u5f97\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059":26,"\u305d\u308c\u3067\u306f\u3053\u306e\u554f\u984c\u3092\u4e00\u822c\u5316\u3057":24,"\u305d\u308c\u306b\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u307e\u3059":[24,26],"\u305d\u308c\u4ee5\u5916\u3067\u306f":24,"\u305f\u3060\u3057\u5b9d\u7269\u306e\u4fa1\u5024\u306f":26,"\u3067\u306f\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306e\u5bb9\u91cf\u5236\u9650\u3092\u8868\u3059":26,"\u3067\u30b0\u30e9\u30d5\u306e\u8fba\u96c6\u5408\u3092\u5b9a\u7fa9\u3057\u307e\u3059":24,"\u3067\u30b0\u30e9\u30d5\u306e\u9802\u70b9\u6570":24,"\u3067\u30b0\u30e9\u30d5\u3092\u5857\u308a\u5206\u3051\u308b\u8272\u6570\u3092\u5b9a\u7fa9\u3057":24,"\u3067\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u5165\u308c\u308b\u7269\u306e\u4fa1\u5024\u3092\u8868\u3059\u4e00\u6b21\u5143\u306e\u30ea\u30b9\u30c8\u3092\u5ba3\u8a00\u3057":26,"\u3067\u7528\u3044\u3089\u308c\u3066\u3044\u308b\u5909\u6570":26,"\u3067\u7528\u3044\u3089\u308c\u3066\u3044\u308b\u5909\u6570\u3092":24,"\u3067\u8868\u3059\u3053\u3068\u306b\u3057\u307e\u3059":24,"\u3068\u3057\u3066\u3044\u307e\u3059":26,"\u3068\u3057\u307e\u3057\u3087\u3046":26,"\u3068\u3057\u307e\u3059":26,"\u3068\u3059\u308b\u3053\u3068\u3067":[24,26],"\u3068\u306a\u308a\u307e\u3059":24,"\u3068\u306a\u308b\u3088\u3046\u306a\u5909\u6570\u3067\u3059":26,"\u3068\u540c\u3058\u9577\u3055\u306e\u30d0\u30a4\u30ca\u30ea\u5909\u6570\u30ea\u30b9\u30c8":26,"\u3068\u91cd\u3055\u306e\u30ea\u30b9\u30c8":26,"\u3069\u306e\u8377\u7269\u3092\u9078\u3079\u3070\u6700\u3082\u52b9\u7387\u7684\u306b\u5b9d\u7269\u3092\u6301\u3063\u3066\u5e30\u308b\u3053\u3068\u304c\u3067\u304d\u308b\u3067\u3057\u3087\u3046\u304b":26,"\u306b\u3088\u308a":26,"\u306b\u3088\u308apyqubo\u30e2\u30c7\u30eb\u3092\u4f5c\u6210\u3057\u307e\u3059":[24,26],"\u306b\u5909\u63db\u3059\u308b\u3053\u3068\u3067":[24,26],"\u306b\u5bfe\u3057\u3066\u884c\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059":26,"\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3057\u307e\u3059":24,"\u306e\u3088\u3046\u306b\u5b9a\u7fa9\u3059\u308b\u3053\u3068\u3067":26,"\u306e\u30b3\u30b9\u30c8\u306e\u30ea\u30b9\u30c8":26,"\u306e\u4e21\u7aef\u306b\u4f4d\u7f6e\u3059\u308b\u9802\u70b9\u3068\u306a\u308a\u307e\u3059":24,"\u306e\u5236\u7d04\u3092\u5b9f\u88c5\u3057\u307e\u3057\u3087\u3046":26,"\u306e\u6dfb\u5b57\u3092\u5b9a\u7fa9\u3057\u3066\u304a\u308a":26,"\u306e\u76ee\u7684\u95a2\u6570\u3092\u5b9f\u88c5\u3057\u307e\u3057\u3087\u3046":24,"\u306e\u7bc4\u56f2\u306e\u6574\u6570\u3067\u3042\u308b\u3053\u3068\u3092\u8868\u3057\u3066\u3044\u307e\u3059":26,"\u306e\u8272\u3067\u5857\u308a\u5206\u3051\u308b\u3068\u304d":24,"\u306f\u30d0\u30a4\u30ca\u30ea\u5909\u6570\u306e\u6dfb\u5b57\u306b\u7528\u3044\u308b\u5909\u6570\u3067\u3059":24,"\u306f\u8fba\u3092\u8868\u3059\u5909\u6570\u3067\u3059":24,"\u307e\u305a\u306f\u5177\u4f53\u4f8b\u3092\u8003\u3048\u3066\u307f\u307e\u3057\u3087\u3046":26,"\u3088\u3063\u3066\u3053\u308c\u3092\u76ee\u7684\u95a2\u6570\u3068\u3057\u3066\u8868\u73fe\u3057\u307e\u3057\u3087\u3046":26,"\u3088\u3063\u3066\u305d\u306e\u5236\u7d04\u306e\u91cd\u307f\u3092\u8a2d\u5b9a\u3059\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059":[24,26],"\u3092\u30a4\u30f3\u30c7\u30c3\u30af\u30b9\u3068\u3057\u3066\u6301\u3063\u3066\u3044\u308b\u3082\u306e\u3068\u3057\u3066\u8003\u3048\u307e\u3059":26,"\u3092\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u5165\u308c\u308b\u3068\u304d":26,"\u3092\u4f5c\u308b\u3053\u3068\u3067":26,"\u3092\u5165\u529b\u3059\u308b\u3053\u3068\u3067":[24,26],"\u3092\u5236\u7d04\u3068\u3057\u3066\u5b9f\u88c5\u3057\u307e\u3059":24,"\u3092\u5b9a\u7fa9\u3057\u3066\u3044\u307e\u3059":26,"\u3092\u5b9a\u7fa9\u3057\u307e\u3059":26,"\u3092\u5f15\u6570\u3068\u3057\u3066":[24,26],"\u3092\u7528\u3044\u3066":26,"\u3092\u7528\u3044\u3066\u30d0\u30a4\u30ca\u30ea\u5909\u6570":24,"\u3092\u7528\u3044\u3066\u89e3\u304f\u65b9\u6cd5\u3092\u3054\u7d39\u4ecb\u3057\u307e\u3059":[24,26],"\u3092\u76ee\u7684\u95a2\u6570\u3068\u3057\u3066\u5b9f\u88c5\u3057\u307e\u3059":26,"\u3092\u7c21\u6f54\u306b\u5b9f\u88c5\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059":24,"\u3092\u8868\u3057\u3066\u3044\u3044\u307e\u3059":24,"\u3092\u8868\u73fe\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059":24,"\u3092\u8a2d\u5b9a\u3057":[24,26],"\u30a2\u30cb\u30fc\u30ea\u30f3\u30b0\u3092\u7528\u3044\u3066":[24,26],"\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u3068\u3057\u3066\u8a2d\u5b9a\u3057\u307e\u3057\u3087\u3046":26,"\u30b0\u30e9\u30d5\u3092\u5857\u308a\u5206\u3051\u308b\u8272\u6570\u30924\u3064\u3068\u3057\u307e\u3059":24,"\u30b0\u30e9\u30d5\u5f69\u8272\u3055\u308c\u305f\u7d50\u679c\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046":24,"\u30b0\u30e9\u30d5\u5f69\u8272\u554f\u984c\u306b\u306f\u5236\u7d04\u304c\u4e00\u3064\u3042\u308a\u307e\u3059":24,"\u30b0\u30e9\u30d5\u5f69\u8272\u554f\u984c\u306e\u554f\u984c\u8a2d\u5b9a\u304b\u3089":24,"\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u5165\u308c\u308b\u5404\u8377\u7269":26,"\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u5165\u308c\u308b\u7269\u306e\u91cd\u3055\u3092\u8868\u3059\u4e00\u6b21\u5143\u306e\u30ea\u30b9\u30c8\u3092":26,"\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u5165\u308c\u308b\u8377\u7269":26,"\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u5165\u308c\u308b\u8377\u7269\u306e\u5408\u8a08\u3067\u3059":26,"\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u554f\u984c\u306f":26,"\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u554f\u984c\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u6570\u5f0f\u3067\u8868\u73fe\u3055\u308c\u307e\u3059":26,"\u4e0b\u56f3\u306e\u3088\u3046\u306b6\u500b\u306e\u9802\u70b9\u3068\u3044\u304f\u3064\u304b\u306e\u8fba\u304b\u3089\u306a\u308b\u7121\u5411\u30b0\u30e9\u30d5\u304c\u4e0e\u3048\u3089\u308c\u305f\u3068\u3057\u307e\u3057\u3087\u3046":24,"\u4eca\u56de\u306f\u30b0\u30e9\u30d5\u306e\u9802\u70b9\u6570\u309212\u500b":24,"\u4eca\u56de\u306fopenjij\u306e\u30b7\u30df\u30e5\u30ec\u30fc\u30c6\u30c3\u30c9":[24,26],"\u4ed6\u306e\u30bd\u30eb\u30d0\u30fc\u3092\u7528\u3044\u305f\u7d44\u5408\u305b\u6700\u9069\u5316\u8a08\u7b97\u3092\u884c\u3046\u3053\u3068\u304c\u53ef\u80fd\u306b\u306a\u308a\u307e\u3059":[24,26],"\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u7269\u8a9e\u3092\u8003\u3048\u307e\u3059":26,"\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u3057\u3066\u5b9a\u7fa9\u3057\u307e\u3057\u3087\u3046":[24,26],"\u4ee5\u4e0b\u306e\u3088\u3046\u306b\u306a\u308a\u307e\u3059":24,"\u4f8b\u3048\u3070":24,"\u500b\u306e\u96c6\u5408":26,"\u5024\u6bb5":26,"\u5148\u7a0b\u306e":[24,26],"\u5148\u7a0b\u306e\u5192\u967a\u5bb6\u306e\u7269\u8a9e\u3092":26,"\u5165\u308c\u306a\u3044\u3068\u304d":26,"\u5168\u3066\u306e\u8fba\u306b\u304a\u3044\u3066":24,"\u5168\u3066\u306e\u8fba\u306e\u4e21\u7aef\u306e\u9802\u70b9\u304c\u7570\u306a\u308b\u8272\u3067\u5857\u308a\u5206\u3051\u3089\u308c\u3066\u3044\u308b\u306a\u3089":24,"\u5168\u3066\u306e\u8fba\u306e\u4e21\u7aef\u306e\u9802\u70b9\u304c\u7570\u306a\u308b\u8272\u3067\u5857\u308a\u5206\u3051\u3089\u308c\u308b\u5fc5\u8981\u304c\u3042\u308a\u307e\u3059":24,"\u5168\u3066jijmodeling\u306b\u3088\u308b\u3082\u306e\u3067\u3057\u305f":[24,26],"\u5177\u4f53\u7684\u306b\u306f\u4ee5\u4e0b\u306e\u3088\u3046\u306a\u72b6\u6cc1\u3067\u6700\u9069\u89e3\u3092\u6c42\u3081\u308b\u554f\u984c\u3067\u3059":26,"\u5236\u7d04":24,"\u5236\u7d04\u540d":26,"\u5236\u7d04\u5f0f":26,"\u5236\u7d04\u5f0f\u306b\u9069\u5f53\u306a\u5236\u7d04\u540d\u3092\u4ed8\u4e0e\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059":26,"\u5404\u8377\u7269\u304c":26,"\u540c\u3058\u8272\u306e\u9802\u70b9\u3092\u4e21\u7aef\u306b\u6301\u3064\u8fba\u306e\u6570\u3092\u6700\u5c0f\u306b\u3059\u308b":24,"\u554f\u984c\u3092\u4f5c\u6210\u3057":[24,26],"\u554f\u984c\u3092\u8868\u73fe\u3059\u308b\u3053\u3068\u304c\u3067\u304d\u307e\u3059":26,"\u5b9d\u7269a":26,"\u5b9d\u7269b":26,"\u5b9d\u7269c":26,"\u5b9d\u7269d":26,"\u5b9d\u7269e":26,"\u5b9d\u7269f":26,"\u5b9f\u969b\u306b\u3069\u306e\u5b9d\u7269\u3092\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u5165\u308c\u305f\u306e\u304b\u3092\u898b\u3066\u307f\u307e\u3057\u3087\u3046":26,"\u5b9f\u969b\u306b\u30b0\u30e9\u30d5\u5f69\u8272\u3092\u884c\u3046\u30b0\u30e9\u30d5\u3092\u8a2d\u5b9a\u3057\u307e\u3057\u3087\u3046":24,"\u5b9f\u969b\u306b\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u5165\u308c\u305f\u5b9d\u7269\u306e\u4fa1\u5024\u306e\u5408\u8a08\u3067\u3059":26,"\u5b9f\u969b\u306b\u5b9f\u88c5\u3055\u308c\u305f\u6570\u5f0f\u3092jupyt":[24,26],"\u5f0f":[24,26],"\u601d\u3044\u304c\u3051\u306a\u304f\u8907\u6570\u306e\u5b9d\u7269\u3092\u767a\u898b\u3057\u307e\u3057\u305f":26,"\u63a2\u691c\u5bb6\u306f\u3053\u306e\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306b\u5165\u308c\u308b\u5b9d\u7269\u306e\u4fa1\u5024\u3092\u3067\u304d\u308b\u3060\u3051\u9ad8\u304f\u3057\u305f\u3044\u306e\u3067\u3059\u304c":26,"\u6570\u5f0f":26,"\u6570\u5f0f\u3067\u8868\u73fe\u3057\u3066\u307f\u307e\u3057\u3087\u3046":24,"\u6570\u5f0f\u90e8\u5206\u306e\u7dcf\u548c\u3092\u6dfb\u5b57":26,"\u6700\u3082\u6709\u540d\u306anp\u56f0\u96e3\u306a\u6574\u6570\u8a08\u753b\u554f\u984c\u306e\u4e00\u3064\u3068\u3057\u3066\u77e5\u3089\u308c\u3066\u3044\u307e\u3059":26,"\u6700\u5927\u5316\u3057\u305f\u3044\u306e\u306f":26,"\u6700\u5f8c\u306b":26,"\u6700\u5f8c\u306b\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u306e\u6700\u5927\u5bb9\u91cf\u3092":26,"\u6700\u5f8c\u306e":24,"\u6700\u9069\u5316\u554f\u984c\u3092\u89e3\u304f\u3053\u3068\u306b\u3057\u307e\u3059":[24,26],"\u6b21\u306b\u305d\u308c\u3092\u30b3\u30f3\u30d1\u30a4\u30eb\u3059\u308b\u3053\u3068\u3067":[24,26],"\u6b8b\u5ff5\u306a\u304c\u3089\u5c0f\u3055\u306a\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u3057\u304b\u6301\u3061\u5408\u308f\u305b\u3066\u3044\u307e\u305b\u3093\u3067\u3057\u305f":26,"\u7121\u5411\u30b0\u30e9\u30d5":24,"\u756a\u76ee\u306e\u8377\u7269\u3092\u9078\u3093\u3060\u3053\u3068\u3092\u8868\u3059\u30d0\u30a4\u30ca\u30ea\u5909\u6570\u3092":26,"\u756a\u76ee\u306e\u9802\u70b9\u3092":24,"\u76ee\u7684\u95a2\u6570":24,"\u76ee\u7684\u95a2\u6570\u306e\u5024\u306b\u30de\u30a4\u30ca\u30b9\u3092\u304b\u3051\u305f\u3082\u306e\u304c":26,"\u7d9a\u304f":26,"\u8272\u3067\u5857\u308a\u5206\u3051\u308b\u3053\u3068\u3092\u8003\u3048\u307e\u3059":24,"\u89e3\u6790\u3092\u884c\u3044\u3084\u3059\u304f\u3057\u307e\u3059":[24,26],"\u8a08\u7b97\u7d50\u679c\u304c\u5f97\u3089\u308c\u307e\u3059":[24,26],"\u8f9e\u66f8\u578b\u3092\u7528\u3044\u3066\u8a2d\u5b9a\u3092\u884c\u3044\u307e\u3059":[24,26],"\u8fba\u3067\u7d50\u3070\u308c\u305f\u9802\u70b9\u306e\u8272\u304c\u91cd\u8907\u3057\u306a\u3044\u3088\u3046\u306b":24,"\u8fd4\u3055\u308c\u305f\u8a08\u7b97\u7d50\u679c\u3092\u30c7\u30b3\u30fc\u30c9\u3057":[24,26],"\u90e8\u5206\u3067\u4ed8\u3051\u305f\u540d\u524d\u3068\u4e00\u81f4\u3055\u305b\u308b\u3088\u3046\u306b":[24,26],"\u91cd\u3055":26,"\u9752\u8272\u3068\u7dd1\u8272\u306e2\u8272\u30671\u3064\u306e\u9802\u70b9\u3092\u5857\u308b\u3053\u3068\u306f\u8a31\u3055\u308c\u307e\u305b\u3093":24,"\u9802\u70b9\u306e\u8272\u5206\u3051\u3092\u30d0\u30a4\u30ca\u30ea\u5909\u6570":24,"\u9802\u70b9\u306f\u3069\u308c\u304b\u4e00\u8272\u3067\u5857\u308a\u5206\u3051\u306a\u3051\u308c\u3070\u306a\u3089\u306a\u3044":24,"abstract":[6,14],"boolean":[6,7,8,9],"byte":[1,11,12],"case":[1,7,8,9,10,11,12,13,15],"class":[2,3,4,5],"const":[24,26],"default":[1,7,8,9,10,11,12,13,15],"final":[1,7,9,11,13],"float":[1,2,3,4,5,7,8,9,10,11,12,13,15,16,19],"function":[12,24,26],"import":[0,1,7,8,9,10,11,12,13,14,15,24,26],"int":[1,2,3,5,7,8,9,10,11,12,13,15,16,18,19],"jijmodeling\u3067\u4f5c\u6210\u3055\u308c\u305f":[24,26],"new":[1,11,12],"notebook\u3067\u8868\u793a\u3057\u3066\u307f\u307e\u3057\u3087\u3046":[24,26],"np\u5b8c\u5168\u306a\u554f\u984c\u3068\u3057\u3066\u77e5\u3089\u308c\u3066\u3044\u307e\u3059":24,"openjij\u306a\u3069\u3067\u8a08\u7b97\u304c\u53ef\u80fd\u306aqubo\u30e2\u30c7\u30eb\u306b\u3057\u307e\u3059":[24,26],"openjij\u306f\u3082\u3061\u308d\u3093":[24,26],"return":[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19],"true":[1,2,3,5,7,8,9,10,11,12,13,15,16,19,24],"try":[1,7,8,9,10,11,13,14,15],A:[1,6,7,8,9,11,12],For:[1,11,12],If:[0,1,7,8,9,11,12,13,15],Ising:[1,5,7,8,9,10,11,13,14,15,24,26],It:0,The:[1,4,5,11,12,16,19],Then:0,_:[24,26],_collections_abc:[1,11,12],_structur:[6,7,8,9],abc:[6,7,8,9],about:[1,7,8,9,10,11,12,13,15],abov:[1,11,12],absolut:[1,11,12],accept:[1,7,8,9,10,11,12,13,14,15],accord:[1,11,12],account:[1,11,12],accumul:[1,11,12],add_constraint:[1,11,12],addit:[1,11,12,14],adjac:[6,7,8,9],aggreg:[1,11,12],aggregate_sampl:[1,11,12],algorithm:[1,7,9,10,11,13],alias:17,all:[1,6,7,8,9,11,12],allow:[6,7,8,9],almost:12,also:[1,3,5],although:0,alwai:[1,11,12],amplitud:[1,8,9,10,11,15],an:[1,5,7,8,9,11,12,13,14,15],ani:[1,7,8,9,10,11,12,13,14,15],anneal:[1,7,8,9,10,11,13,15],append_vari:[1,11,12],appli:[1,11,12],ar:[1,4,5,6,7,8,9,10,11,12,13,15,16,19,24],arg:[1,3,5,16,19],argument:[1,7,8,9,10,11,13,14,15,16,19],arrai:[1,11,12,13,15],arrang:[7,8,9],array_lik:[1,11,12],as_sampl:[1,11,12],asic:4,ask:0,assum:[1,11,12],atol:[1,11,12],attribut:[6,7,8,9],attributeerror:[7,8,9],averag:[16,19],b:[1,3,5,11,12],base:[1,6,7,8,9,10,11,12,13,14,15],base_gpu_chimera:[1,7,8,9,11],basegpuchimerasampl:[6,7,8,9],basesampl:[1,7,8,9,10,11,13,14,15],basic:5,befor:[1,11,12],below:[1,7,8,9,11,13,15,16,19],benchmark:[1,19],beta:[0,1,7,8,9,10,11,13,15],beta_max:[1,7,9,11,13],beta_min:[1,7,9,11,13],between:[1,11,12],bia:[24,26],bias:[1,2,3,4,5,7,9,10,11,12,13,14,15],binari:[0,1,2,3,4,5,7,8,9,10,11,12,13,14,15,22,24,26],binarypolynomialmodel:[1,3,5,7,9,11,13],binaryquadraticmodel:[1,2,3,5,6,7,8,9,10,11,12,13,14,15],bit:[1,11,12],block:[1,11,12],bm:26,bool:[1,2,3,5,6,7,8,9,10,11,12,13,15,16,19],bottom:[1,11,12],bqm:[1,3,5,6,7,8,9,10,11,12,13,14,15],bqm_from_numpy_matrix:[3,5],breviti:[1,11,12],bson:[1,11,12],build:[1,11,12],bytes_typ:[1,11,12],c:[0,1,3,5,11,12,18],calcul:[1,11,12,14,16,19],call:[1,11,12],callabl:[1,11,12,16,19],can:[0,1,2,3,4,5,11,12,13],carlo:[0,1,7,9,10,11,13],cast_vartyp:[1,22],catch_warn:[1,7,8,9,10,11,13,14,15],caveat:[1,11,12],cdot:0,cell:[7,8,9],chang:[1,11,12],change_vartyp:[1,11,12],check_feas:[1,11,12],chimera:[2,7,8,9,18],chimera_gpu:[1,11],chimera_model:[1,3],chimera_self:2,chimera_to_ind:18,chimeramodel:2,choos:4,cimod:[1,7,9,11,13],classicalschedul:13,classmethod:[1,11,12],code:4,coeffici:[1,7,8,9,10,11,13,14,15],collect:[1,11,12],color:24,colorlist:24,column:[1,11,12,18],commun:0,compact:[1,11,12],compar:[6,7,8,9],compil:[24,26],compuat:[1,16,19],comput:[1,11,12,16,19],computation_tim:[16,19],concurr:[1,11,12],configur:[1,11,12],connect:24,constant:[1,3,5,11,12],constarint_viol:26,constrain:[1,11,12],constrainedquadraticmodel:[1,11,12],constraint:[1,11,12,24,26],constraint_1:[1,11,12],constraint_viol:26,construct:[1,11,12],constructor:[7,8,9],contain:[1,6,7,8,9,11,12],continu:[1,10,11],convert:[1,2,3,5,6,7,8,9,11,12,18,24,26],convert_respons:[1,19,20],cool:13,copi:[1,11,12],core:[0,1,6,7,8,9,10,11,13,14,15],corrdin:4,correspond:[1,2,5,11,12,18],coupler:[1,11,12],cqm:[1,11,12],creat:[1,11,12,24],csqa:[1,10,11],csqa_sampl:[1,11],csqasampl:[1,10,11],current:[1,11,12],cxxjij:[2,13,14],d:[1,3,4,5,11,12],darkorang:24,data:[1,11,12],data_vector:[1,11,12],datafram:[1,11,12],datum:[1,11,12],deal:2,decid:4,decod:[1,11,12,24,26],decor:[1,11,14,19],def:[1,11,12],defaul:[1,11,12],defin:[5,6,7,8,9,14,16,19,24,26],definit:14,degener:[1,16,19],delimit:[1,11,12],deprec:[1,11,12],deprecated_alia:17,descript:[13,18],deseri:[1,11,12],detail:[1,11,12],determin:[1,11,12],diag:[1,11,12],dict:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,19],dictionari:[1,16,19],dim:[24,26],dimension:[7,8,9],dimod:[1,3,5,6,7,8,9,10,11,12,13,14,15],directli:[1,11,12],disabl:17,discret:[1,11,12],document:[1,11,12],doe:[1,11,12],doesn:[7,8,9],done:[1,11,12],dot:[24,26],draw_networkx:24,dtype:[1,11,12],dump:[1,11,12],duplic:[1,11,12],dure:[1,11,13],dwave:[1,11,12],dwavesampl:[1,11,12],e:[1,11,12,16,19,24],e_0:[16,19],each:[1,4,6,7,8,9,10,11,12,13,15,16,19,24],easili:0,edg:[6,7,8,9,24],edgelist:[1,6,7,8,9,11,12],element:[1,3,5,24,26],empti:[1,11,12],encod:[1,11,12],energi:[0,1,3,5,11,12,16,19],energy_offset:[1,11,12],ensur:[1,11,12],equat:[1,11,12],equival:[1,11,12],error:[1,16,19],evalu:26,everi:[1,11,12],exactsolv:[1,11,12],exactsolversampl:[1,11,12],exampl:[1,2,3,4,5,7,8,9,10,11,12,13,14,15],except:[1,7,8,9,10,11,13,14,15],execut:0,execution_tim:[1,16,19],executor:[1,11,12],extendedvartyp:[1,11,12],extens:[1,11,12],factori:[2,3,4,5],fals:[1,2,11,12,16,19],favor:[1,11,12],feasibl:[1,11,12],feasible_sampleset:[1,11,12],feed_dict:[24,26],field:[1,8,9,10,11,12,15],fig:24,figur:24,filter:[1,11,12],filterwarn:[1,7,8,9,10,11,13,14,15],first:[0,1,11,12],flip:[1,8,9,10,11,15],fluctuat:[1,8,9,10,11,15],follow:[0,1,4,11,12,16,19],foral:[24,26],form:5,format:[1,6,7,8,9,11,12],formul:[24,26],fpga:4,from:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19,24,26],from_futur:[1,11,12],from_his:5,from_hubo:5,from_is:[1,2,4,5,11,12],from_numpy_matrix:5,from_qubo:[2,4,5],from_sampl:[1,11,12],from_samples_bqm:[1,11,12],from_samples_cqm:[1,11,12],from_serializ:[1,2,4,5,11,12],func:[11,14,17],func_nam:17,futur:[1,11,12],g:24,gamma:[1,8,9,10,11,15],gener:[1,2,3,4,5,15],geometr:13,geometric_hubo_beta_schedul:13,geometric_ising_beta_schedul:13,get:[0,16,19,24],github:0,give:[1,11,12],given:[1,2,7,8,9,11,12],gnp_random_graph:24,go:0,gold:24,gpu:[1,2,3,5,7,8,9],gpu_sa_sampl:[1,9,11],gpu_sqa_sampl:[1,9,11],gpuchimera:6,gpuchimerasasampl:[7,9],gpuchimerasqasampl:[8,9],graph:[2,6,7,8,9,24],graph_color:24,graph_util:[1,19],ground:[1,11,12,16,19],h:[0,1,3,4,5,7,8,9,10,11,13,14,15],h_:5,h_i:0,h_p:[1,10,11,15],ha:[0,1,11,12,16,19,24],hamiltonian:[1,5,10,11,15],handl:0,have:[1,11,12],heavi:[1,11,12],height:18,help:0,heurist:0,higher:[1,7,9,11,13],hot:24,how:2,hubo:0,i:[0,5,24,26],ident:[1,11,12],idx:[1,11,12],ignor:[1,7,8,9,10,11,13,14,15],ij:[0,5],implement:[0,1,7,8,9,10,11,13,14,15],includ:[1,11,12],incompat:[1,7,8,9,11,12],incomplet:[1,11,12],index:[1,11,12,18],index_typ:[3,5],indic:[0,1,3,5,6,7,8,9,11,12,24,26],info:[1,11,12,16,19],inform:[1,7,8,9,10,11,12,13,15,16,19,24],inherit:[1,7,8,9,11,15],init_st:[1,7,9,11,13],initi:[1,2,3,4,5,7,8,9,10,11,13,15,24],initial_st:[1,7,8,9,10,11,13,15],initil:[1,8,9,10,11,15],inplac:[1,11,12,18],input:[1,7,8,9,11,12],inst_:24,inst_g:24,inst_n:24,inst_v:[24,26],inst_w:26,instal:[6,7,8,9],instance_data:[24,26],instanti:[1,11,12],instead:[1,11,12],int8:[1,11,12],integ:[1,3,5,26],interact:[1,2,4,6,7,8,9,11,13],interfac:0,intial:4,invers:[1,7,8,9,10,11,13,15],is_fea:[1,11,12],is_feas:[1,11,12],isclos:[1,11,12],ising:[4,15,18],iter:[1,7,8,9,10,11,12,15],its:[1,11,12],itself:[1,11,12],j:[0,1,3,4,5,7,8,9,10,11,13,14,15,24],j_:[0,5],jm:[24,26],join:0,journal:15,json:[1,2,4,5,11,12],k:0,k_:0,keep:[1,11,12],kei:[1,6,7,8,9,10,11,12,13,15,16,19],keyword:[1,7,8,9,10,11,13,14,15],king_graph:[1,3],king_interact:4,kinggraph:4,kinggraphmodel:4,knapsack:26,kwarg:[1,3,5,7,8,9,10,11,12,13,14,15,17],l:18,label:[0,1,11,12],lam1:[24,26],lambda:[1,11,12],langl:[16,19],last:[1,11,12],lattic:[7,8,9],len:[1,11,12,24],length:[7,8,9],leq:26,less:[1,11,12,13],let:0,librari:0,limegreen:24,limit:[1,11,12],linear:[1,2,3,4,5,7,8,9,10,11,13,14,15],linear_ising_schedul:15,list:[0,1,3,5,7,8,9,10,11,12,13,15,16,19,24,26],load:[1,11,12],log:[16,19],logger:16,lower:[1,16,19],lowest:[1,11,12],luca:[24,26],machine_typ:4,maintain:[1,11,12],make:[0,2,5,13,24],make_binarypolynomialmodel:[3,5],make_binarypolynomialmodel_from_his:[3,5],make_binarypolynomialmodel_from_hubo:[3,5],make_binarypolynomialmodel_from_json:[3,5],make_binaryquadraticmodel:[3,5],make_binaryquadraticmodel_from_json:5,make_chimeramodel:2,make_chimeramodel_from_json:2,make_kinggraph:4,make_kinggraph_from_json:4,mani:[24,26],map:[1,11,12],mat:[3,5,18],match:[2,6,7,8,9],mathemat:15,mathrm:26,matrix:18,max:[13,26],max_work:[1,11,12],maximum:[1,7,9,11,12,13,26],measur:[1,11,14,16,19],measure_tim:[11,14],measure_with_energi:[1,16,19],memori:[1,11,12],method:[1,2,5,6,7,8,9,10,11,12,13,14,15],might:[1,11,12],min:[13,24],min_sampl:[1,11,12],minim:[1,7,9,11,13,24],minimum:[1,7,9,11,13],minmum:[1,11,13],mix:[1,11,12],model:[1,7,8,9,10,11,12,13,14,15],mont:[0,1,7,9,10,11,13],montecarlo:[1,11,13],more:[1,11,12],morita:15,multipli:[24,26],must:[1,6,7,8,9,11,12,18],n:[0,1,11,12,24,26],name:[1,11,12],namedtupl:[1,6,7,8,9,11,12],ndarrai:[1,7,8,9,10,11,13,14,15,18],need:[1,11,12],neq:5,networkx:[6,7,8,9],never:[1,11,12],new_sampl:[1,11,12],new_sampleset:[1,11,12],next:[1,11,12],nishimori:15,node:[6,7,8,9],node_color:24,nodelist:[6,7,8,9],non:[1,11,12],non_param:[1,7,8,9,10,11,13,14,15],none:[1,2,3,4,5,7,8,9,10,11,12,13,15],note:[1,6,7,8,9,11,12],np:[1,11,12,18,24,26],num_oc:[0,1,11,12],num_occurr:[1,11,12],num_read:[0,1,7,8,9,10,11,13,14,15],num_sweep:[1,7,8,9,10,11,13,15],num_vari:[1,3,5],number:[1,3,5,7,8,9,10,11,12,13,15,18,24],numpi:[1,7,8,9,10,11,12,13,14,15,18],nx:24,obj:[1,2,3,4,5,11,12,26],object:[1,2,3,4,5,6,7,8,9,11,12,24,26],occur:[1,11,12],occurr:[1,11,12],odd:[7,8,9],offset:[1,2,3,4,5],oj:[0,1,3,4,5,24,26],one:[7,8,9,24],ones:[1,11,12],onli:[0,1,11,12,24],ooenjij:[1,7,9,11,13],openj:[1,7,9,11,13],openjij:[24,26],openjijj:[1,10,11],optim:[0,1,7,8,9,10,11,13,14,15],option:[1,7,8,9,10,11,12,13,15],order:[1,7,9,11,12,13],origin:[1,11,12],other:[1,11,12],otherwis:[1,11,12],out:[1,11,12],over:[1,11,12],overwrit:[1,11,13],p_r:[1,16,19],pack:[1,11,12],pack_sampl:[1,11,12],panda:[1,11,12],paramet:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,18,19],part:0,particip:0,pass:[1,7,8,9,10,11,13,14,15],pend:[1,11,12],per:[1,11,12],perform:[1,11,12],physic:15,placehold:[24,26],pleas:0,plt:24,png:24,polynomi:[3,5],possibl:[1,11,12],pr:[16,19],pred:[1,11,12],predic:[1,11,12],print:[0,1,11,12,26],probabl:[1,16,19],problem:[1,6,7,8,9,10,11,15,24,26],project:0,properti:[1,6,7,8,9,10,11,12,13,14,15],provid:[1,2,6,7,8,9,11,12],ps:[16,19],pyq_chach:[24,26],pyq_model:[24,26],pyqubo:[24,26],python:[0,1,11,12,14],q:[1,2,7,8,9,10,11,13,14,15],q_:5,qpu_anneal_time_per_sampl:[1,11,12],qpu_readout_time_per_sampl:[1,11,12],qpu_sampling_tim:[1,11,12],quad:[24,26],quadrat:[1,2,3,4,5,7,8,9,10,11,12,13,14,15],quantum:[1,8,9,10,11,15],quartic:15,quartic_ising_schedul:15,qubo:[1,4,5,7,8,9,10,11,13,14,15,18,24,26],qubo_to_is:18,qudrat:14,question:0,r:18,rais:[1,7,8,9,10,11,12,13,15,18],random:24,randomsampl:[1,7,8,9,10,11,13,14,15],rang:[0,1,11,12,13,15],rangl:[16,19],rather:[1,11,12],raw:[1,11,12],re:[1,7,8,9,10,11,13,15],read:[1,7,9,11,12,13],recarrai:[1,11,12],record:[1,11,12,24,26],redisu:[16,19],reduc:[1,11,12],ref_energi:[1,16,19],refer:[1,16,19],referenc:[1,11,12],regular:[1,11,12],reiniti:[1,7,9,11,13],reinitialize_st:[1,7,8,9,10,11,13,15],rel:[1,11,12],relabel:[1,11,12],relabel_vari:[1,11,12],relev:[1,7,8,9,10,11,13,15],remov:[1,7,8,9,10,11,13,14,15],remove_unknown_kwarg:[1,7,8,9,10,11,13,14,15],rename_kwarg:17,repeat:[1,11,12],repositori:0,repres:[1,3,4,5,11,12,16,19],represent:[1,11,12],requir:[1,11,12],res_convertor:[1,19],residu:[1,16,19],residual_energi:[1,16,19],resolv:[1,11,12],respons:[0,1,7,8,9,10,11,13,14,15,16,19,20,24,26],result:[1,7,8,9,10,11,12,13,14,15,24,26],result_hook:[1,11,12],returen:[16,19],revers:[1,11,12],row:[0,1,11,12,18],rtol:[1,11,12],run:[1,7,9,11,12,13],s:[1,6,7,8,9,10,11,12,15,16,19,26],sa:[1,7,9,11,13],sa_sampl:[1,7,9,11],sa_system:13,same:[5,12,16,19,24],sampl:[1,7,8,9,10,11,12,13,14,15],sample_:[1,11,13],sample_column:[1,11,12],sample_dict_cast:[1,11,12],sample_hubo:[0,1,7,9,11,13],sample_is:[0,1,7,8,9,10,11,12,13,14,15],sample_qubo:[1,7,8,9,10,11,13,14,15,24,26],sampler:[0,1,2,3,5,16,19,24,26],samplerunknownargwarn:[1,7,8,9,10,11,13,14,15],samples_lik:[1,11,12],samplesarrai:[1,11,12],sampleset:[1,11,12],sampleset_binari:[1,11,12],sampleview:[1,11,12],sasampl:[0,1,7,9,11,13,24,26],satisfi:2,savefig:24,schedul:[1,7,8,9,10,11,13,15],schedule_info:[1,7,8,9,10,11,13,15],se_lower_tt:[1,16,19],se_residual_energi:[1,16,19],se_success_prob:[1,16,19],se_upper_tt:[1,16,19],second:[1,11,12],see:[1,11,12,14],seed:[1,7,8,9,10,11,13,15],select:[1,11,12],self:[1,3,5],serial:[1,11,12],serializ:[1,11,12],set:[1,6,7,8,9,11,12,24,26],set_object:[1,11,12],set_result:[1,11,12],shallow:[1,11,12],shape:[24,26],should:[1,11,12],show:[1,2,4,11,12],side:[7,8,9],sigma_i:[0,1,5,10,11,15],sigma_j:[0,5],sigma_k:0,simul:[1,7,8,9,10,11,13,14,15],singl:[1,8,9,10,11,12,15],size:[1,11,12],skip:[1,11,12],slack:0,slice:[1,11,12],slice_arg:[1,11,12],snip:[1,11,12],solus:[1,16,19],solut:[1,16,19,24,26],solv:[1,10,11,15,24,26],solver:[1,16,19],solver_benchmark:[1,16,19],sort:[1,11,12,24],sort_label:[1,11,12],sorted_bi:[1,11,12],sorted_color:24,sorted_vertic:24,sourc:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22],spars:[1,3,5,7,8,9,10,11,13,15],special:[1,11,12],specif:[1,3,5],specifi:[1,11,12],spin:[0,1,2,3,4,5,7,8,9,10,11,12,13,15,18,22],sqa:[1,8,9,11,15],sqa_sampl:[1,8,9,10,11],sqasampl:[1,8,9,10,11,15],standard:[1,11,12,16,19],start:[1,11,12],state:[0,1,7,8,9,10,11,12,13,15,16,19],step:[0,1,7,9,10,11,12,13,15],step_length:[1,11,13],step_num:[1,10,11],still:0,stop:[1,11,12],str:[1,4,7,8,9,10,11,12,13,14,15],strangth:[1,8,9,10,11,15],strength:[1,10,11],string:[1,3,5],structur:[1,6,7,8,9,11,12],submit:[1,11,12],success:[1,16,19],success_prob:[1,16,19],sum:[24,26],sum_:[0,5,24,26],sum_i:[1,10,11,15],sum_list:24,sum_n:24,sum_w:26,summari:18,sweep:[1,7,8,9,10,11,13,15],syntax:[1,11,12],system:[1,11,12],t:[7,8,9,26],tag:[24,26],target:[1,8,9,11,12],tau:[16,19],temparetur:[1,8,9,10,11,15],temperatur:[1,7,8,9,10,11,13,15],term:[1,3,4,5,8,9,26],than:[1,11,12,13],therefor:0,thereshold:[1,16,19],thi:[0,1,2,3,5,6,7,8,9,11,12,14],thread:[1,11,12],threadpoolexecutor:[1,11,12],three:[1,11,12],time:[0,1,10,11,12,14,16,18,19],time_list:[1,16,19],time_measur:[1,19],time_nam:[1,16,19],time_to_solut:[16,19],to_networkx_graph:[6,7,8,9],to_pandas_datafram:[1,11,12],to_pyqubo:[24,26],to_qubo:[24,26],to_serializ:[1,11,12],toler:[1,11,12],top:[1,11,12],topolog:2,total:[18,26],transpil:[24,26],transvers:[1,8,9,10,11,15],trotter:[1,7,8,9,10,11,15],truncat:[1,11,12],tt:[1,16,19],tupl:[1,3,5,6,7,8,9,11,12,13],tuple_s:[3,5],two:[1,7,8,9,11,12],type:[1,2,3,5,6,7,8,9,10,11,12,13,14,15,16,18,19],typic:[1,11,12],u:24,unconstrain:[1,7,8,9,10,11,13,14,15],unconstraint:[0,1,7,9,11,13],union:[1,7,8,9,10,11,13,15],uniqu:[1,11,12],unit:[7,8,9,18],unit_num_l:[2,7,8,9],unless:[1,11,12],unmap:[1,11,12],unsort:[1,11,12],up:[1,3,5,11,12],updat:[1,7,8,9,10,11,12,13,14,15],upper:[1,16,19],us:[0,1,2,3,5,7,8,9,10,11,12,13,14,15,16,19],usag:[1,5,11,12],use_byt:[1,11,12],usual:[16,19],util:[1,13],uv:24,v:[24,26],v_0:26,v_1:26,v_:26,v_i:26,valid:[1,6,7,8,9,10,11,13,14,15],valid_bqm_graph:[6,7,8,9],validate_chimera:2,valu:[1,4,6,7,8,9,10,11,12,13,15,26],valueerror:[1,7,8,9,10,11,12,13,15,18],variabl:[0,1,3,5,6,7,8,9,11,12,13,24,26],variable_typ:[1,3,5],vartyp:[0,1,2,3,4,5,7,9,11,12,13,22],vector:[1,11,12],verifi:2,vertex:24,vertic:24,view:[1,11,12],violat:[1,7,8,9,11,12,13,15],violet:24,visual:24,w:26,w_0:26,w_1:26,w_:26,w_i:26,want:[0,1,10,11,15],warn:[1,7,8,9,10,11,13,14,15],wave:[1,11,12],we:[1,10,11,15],weight:26,when:[1,3,5,11,12,16,19],where:[1,6,7,8,9,10,11,12,13,15],whether:2,which:[1,7,8,9,11,12,16,19],whole:[1,11,12],whose:24,width:18,with_label:24,within:[1,11,12],work:[6,7,8,9],wrap:[1,11,12],wrapper:14,written:0,x1:4,x2:4,x:[1,4,10,11,12,15,24,26],x_:24,x_i:[5,26],x_j:5,y1:4,y2:4,y:[1,4,11,12],yield:[1,11,12],you:[0,1,3,4,5,11,13],z:[1,11,12,18],zero:[1,11,13],zip:24,zip_list:24,zip_sort:24},titles:["Welcome to OpenJij\u2019s documentation!","openjij","openjij.model.chimera_model","openjij.model","openjij.model.king_graph","openjij.model.model","openjij.sampler.chimera_gpu.base_gpu_chimera","openjij.sampler.chimera_gpu.gpu_sa_sampler","openjij.sampler.chimera_gpu.gpu_sqa_sampler","openjij.sampler.chimera_gpu","openjij.sampler.csqa_sampler","openjij.sampler","openjij.sampler.response","openjij.sampler.sa_sampler","openjij.sampler.sampler","openjij.sampler.sqa_sampler","openjij.utils.benchmark","openjij.utils.decorator","openjij.utils.graph_utils","openjij.utils","openjij.utils.res_convertor","openjij.utils.time_measure","openjij.variable_type","1. OpenJij Tutorials","1. \u30b0\u30e9\u30d5\u5f69\u8272\u554f\u984c","2. OpenJij \u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb","3. \u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u554f\u984c"],titleterms:{"\u30a4\u30f3\u30b9\u30bf\u30f3\u30b9\u306e\u4f5c\u6210":[24,26],"\u30b0\u30e9\u30d5\u5f69\u8272\u554f\u984c":24,"\u30b0\u30e9\u30d5\u5f69\u8272\u554f\u984c\u3068\u306f":24,"\u30c1\u30e5\u30fc\u30c8\u30ea\u30a2\u30eb":25,"\u30c7\u30b3\u30fc\u30c9\u3068\u89e3\u306e\u8868\u793a":[24,26],"\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u554f\u984c":26,"\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u554f\u984c\u3067\u7528\u3044\u308b\u5909\u6570\u3092\u5b9a\u7fa9":[24,26],"\u30ca\u30c3\u30d7\u30b5\u30c3\u30af\u554f\u984c\u3068\u306f":26,"\u5177\u4f53\u4f8b":[24,26],"\u5236\u7d04\u306e\u8ffd\u52a0":[24,26],"\u554f\u984c\u306e\u4e00\u822c\u5316":[24,26],"\u672a\u5b9a\u4e57\u6570\u306e\u8a2d\u5b9a":[24,26],"\u6982\u8981":[24,26],"\u76ee\u7684\u95a2\u6570\u306e\u8ffd\u52a0":[24,26],"class":[1,6,7,8,9,10,11,12,13,14,15],"function":[1,2,3,4,5,11,13,14,15,16,17,18,19,20,22],"jijmodeling\u306b\u3088\u308b\u30e2\u30c7\u30eb\u69cb\u7bc9":[24,26],"openjij\u306b\u3088\u308b\u6700\u9069\u5316\u8a08\u7b97\u306e\u5b9f\u884c":[24,26],"transpiler\u306b\u3088\u308bpyqubo\u3078\u306e\u5909\u63db":[24,26],Ising:0,anneal:0,attribut:[1,2,4,5,16,22],base_gpu_chimera:6,benchmark:16,chimera_gpu:[6,7,8,9],chimera_model:2,code:0,content:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,22],csqa_sampl:10,custom:0,decor:17,document:0,framework:0,gpu_sa_sampl:7,gpu_sqa_sampl:8,graph_util:18,higher:0,instal:0,introduct:0,jijmodel:[24,26],king_graph:4,minimum:0,model:[0,2,3,4,5],modul:[2,4,5,6,7,8,10,12,13,14,15,16,17,18,20,22],openjij:[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,25],order:0,packag:[1,3,9,11,19],paramet:0,pip:0,qubo:0,res_convertor:20,respons:12,s:0,sa:0,sa_sampl:13,sampl:0,sampler:[6,7,8,9,10,11,12,13,14,15],schedul:0,simul:0,sqa_sampl:15,submodul:[1,3,9,11,19],subpackag:[1,11],time_measur:21,tutori:23,util:[16,17,18,19,20,21],variable_typ:22,welcom:0,what:0}}) \ No newline at end of file diff --git a/www/sitemap.xml b/www/sitemap.xml index 58149ea..c80f7e3 100644 --- a/www/sitemap.xml +++ b/www/sitemap.xml @@ -1,2 +1,2 @@ -https://openjij.github.io/OpenJij-Documentation/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/model/chimera_model/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/model/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/model/king_graph/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/model/model/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/chimera_gpu/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/csqa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/response/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/sa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/sqa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/benchmark/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/decorator/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/graph_utils/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/res_convertor/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/time_measure/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/variable_type/index.htmlhttps://openjij.github.io/OpenJij-Documentation/tutorial/en/index.htmlhttps://openjij.github.io/OpenJij-Documentation/tutorial/ja/index.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-all.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-A.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-B.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-C.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-D.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-E.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-F.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-G.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-I.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-K.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-L.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-M.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-N.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-O.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-P.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-Q.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-R.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-S.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-T.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-V.htmlhttps://openjij.github.io/OpenJij-Documentation/py-modindex.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/dimod/vartypes.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/model/chimera_model.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/model/king_graph.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/model/model.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/chimera_gpu/base_gpu_chimera.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/chimera_gpu/gpu_sa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/chimera_gpu/gpu_sqa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/csqa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/response.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/sa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/sqa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/utils/benchmark.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/utils/decorator.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/utils/graph_utils.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/utils/res_convertor.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/variable_type.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/index.htmlhttps://openjij.github.io/OpenJij-Documentation/search.html \ No newline at end of file +https://openjij.github.io/OpenJij-Documentation/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/model/chimera_model/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/model/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/model/king_graph/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/model/model/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/chimera_gpu/base_gpu_chimera/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/chimera_gpu/gpu_sa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/chimera_gpu/gpu_sqa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/chimera_gpu/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/csqa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/response/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/sa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/sampler/sqa_sampler/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/benchmark/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/decorator/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/graph_utils/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/res_convertor/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/utils/time_measure/index.htmlhttps://openjij.github.io/OpenJij-Documentation/reference/openjij/variable_type/index.htmlhttps://openjij.github.io/OpenJij-Documentation/tutorial/en/index.htmlhttps://openjij.github.io/OpenJij-Documentation/tutorial/ja/graph_coloring.htmlhttps://openjij.github.io/OpenJij-Documentation/tutorial/ja/index.htmlhttps://openjij.github.io/OpenJij-Documentation/tutorial/ja/knapsack.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-all.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-A.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-B.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-C.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-D.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-E.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-F.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-G.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-I.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-K.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-L.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-M.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-N.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-O.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-P.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-Q.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-R.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-S.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-T.htmlhttps://openjij.github.io/OpenJij-Documentation/genindex-V.htmlhttps://openjij.github.io/OpenJij-Documentation/py-modindex.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/dimod/vartypes.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/model/chimera_model.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/model/king_graph.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/model/model.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/chimera_gpu/base_gpu_chimera.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/chimera_gpu/gpu_sa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/chimera_gpu/gpu_sqa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/csqa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/response.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/sa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/sampler/sqa_sampler.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/utils/benchmark.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/utils/decorator.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/utils/graph_utils.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/utils/res_convertor.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/openjij/variable_type.htmlhttps://openjij.github.io/OpenJij-Documentation/_modules/index.htmlhttps://openjij.github.io/OpenJij-Documentation/search.html \ No newline at end of file diff --git a/www/tutorial/en/index.html b/www/tutorial/en/index.html index d9e778a..2363e80 100644 --- a/www/tutorial/en/index.html +++ b/www/tutorial/en/index.html @@ -60,7 +60,7 @@ - + @@ -371,9 +371,19 @@

    OpenJij Book

    @@ -593,10 +603,10 @@

    1. OpenJij Tutorialsopenjij.variable_type

    - +

    next

    -

    1. OpenJij チュートリアル

    +

    1. グラフ彩色問題

    diff --git a/www/tutorial/ja/graph_coloring.html b/www/tutorial/ja/graph_coloring.html new file mode 100644 index 0000000..e1cdb93 --- /dev/null +++ b/www/tutorial/ja/graph_coloring.html @@ -0,0 +1,950 @@ + + + + + + + + + 1. グラフ彩色問題 — OpenJij Book + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    + + + + + + + + + + +
    + +
    + +
    + + + + +
    +
    + + + + +
    +
    + + + + + + + +
    +
    + + + +
    +
    +
    + + +
    + +
    + +
    +

    1. グラフ彩色問題#

    +

    こちらでは、Lucas, 2014, “Ising formulations of many NP problems”の 6.1. Graph Coloring を OpenJij と JijModeling、そしてJijModeling transpiler を用いて解く方法をご紹介します。

    +
    +

    1.1. 概要: グラフ彩色問題とは#

    +

    グラフ彩色問題とは、あるグラフ上の辺で繋がれた頂点どうしを異なる色になるように彩色する問題です。NP完全な問題として知られています。

    +
    +

    1.1.1. 具体例#

    +

    下図のように6個の頂点といくつかの辺からなる無向グラフが与えられたとしましょう。

    +

    +

    これを3色で全ての頂点を塗り分けると以下のようになります。

    +

    +

    全ての辺において、その両端に位置する頂点は異なる色で塗り分けられていることがわかります。

    +
    +
    +

    1.1.2. 問題の一般化#

    +

    それではこの問題を一般化し、数式で表現してみましょう。無向グラフG=(V,E)G = (V, E)を、辺で結ばれた頂点の色が重複しないようにNN色で塗り分けることを考えます。 +頂点の色分けをバイナリ変数xv,nx_{v, n}で表すことにします。vv番目の頂点をnnの色で塗り分けるとき、xv,n=1x_{v, n} = 1、それ以外ではxv,n=0x_{v, n} = 0となります。

    +

    制約: 頂点はどれか一色で塗り分けなければならない

    +

    例えば、青色と緑色の2色で1つの頂点を塗ることは許されません。これを数式で表現すると、以下のようになります。

    +
    +n=0N1xv,n=1(n{0,1,,N1})(1) +\sum_{n=0}^{N-1} x_{v, n} = 1 \quad (\forall n \in \{ 0, 1, \dots, N-1 \}) \tag{1} +

    目的関数: 同じ色の頂点を両端に持つ辺の数を最小にする

    +

    グラフ彩色問題の問題設定から、全ての辺の両端の頂点が異なる色で塗り分けられる必要があります。これを数式で表現すると

    +
    +minn=0N1(uv)Exu,nxv,n(2) +\min \quad \sum_{n=0}^{N-1} \sum_{(uv) \in E} x_{u, n} x_{v, n} \tag{2} +

    もし、全ての辺の両端の頂点が異なる色で塗り分けられているなら、この目的関数値はゼロとなります。

    +
    +
    +
    +

    1.2. JijModelingによるモデル構築#

    +
    +

    1.2.1. ナップサック問題で用いる変数を定義#

    +

    式(1), (2)で用いられている変数を、以下のようにして定義しましょう。

    +
    import jijmodeling as jm
    +
    +
    +# define variables
    +V = jm.Placeholder('V')
    +E = jm.Placeholder('E', dim=2)
    +N = jm.Placeholder('N')
    +x = jm.Binary('x', shape=(V, N))
    +n = jm.Element('i', (0, N))
    +v = jm.Element('v', (0, V))
    +e = jm.Element('e', E)
    +
    +
    +

    V=jm.Placeholder('V')でグラフの頂点数、E=jm.Placeholder('E', dim=2)でグラフの辺集合を定義します。N=jm.Placeholder('N')でグラフを塗り分ける色数を定義し、そのV, Nを用いてバイナリ変数xv,nx_{v, n}x=jm.Binary('x', shape=(V, N))のように定義します。n, vはバイナリ変数の添字に用いる変数です。最後のeは辺を表す変数です。e[0], e[1]が辺eの両端に位置する頂点となります。すなわち(uv)=(e[0]e[1])(uv) = (e[0] e[1])です。

    +
    +
    +

    1.2.2. 制約の追加#

    +

    式(1)を制約として実装します。

    +
    # set problem
    +problem = jm.Problem('Graph Coloring')
    +# set one-hot constraint that each vertex has only one color
    +const = x[v, :]
    +problem += jm.Constraint('color', const==1, forall=v)
    +
    +
    +

    問題を作成し、そこに制約を追加しましょう。x[v, :]とすることでSum(n, x[v, n])を簡潔に実装することができます。

    +
    +
    +

    1.2.3. 目的関数の追加#

    +

    式(2)の目的関数を実装しましょう。

    +
    # set objective function: minimize edges whose vertices connected by edges are the same color
    +sum_list = [n, e]
    +problem += jm.Sum(sum_list, x[e[0], n]*x[e[1], n])
    +
    +
    +

    sum_list=[n, e], jm.Sum(sum_list, ...)とすることで、ne\sum_n \sum_eを表現することができます。x[e[0], n]xe[0],nx_{e[0], n}x[e[1], n]xe[1],nx_{e[1], n}を表していいます。

    +

    実際に実装された数式をJupyter Notebookで表示してみましょう。

    +

    +
    +
    +

    1.2.4. インスタンスの作成#

    +

    実際にグラフ彩色を行うグラフを設定しましょう。

    +
    # set the number of vertices
    +inst_V = 12
    +# set the number of colors
    +inst_N = 4
    +# create a random graph
    +inst_G = nx.gnp_random_graph(inst_V, 0.4)
    +# get information of edges
    +inst_E = [list(edge) for edge in inst_G.edges]
    +instance_data = {'V': inst_V, 'N': inst_N, 'E': inst_E, 'G': inst_G}
    +
    +
    +

    今回はグラフの頂点数を12個、グラフを塗り分ける色数を4つとします。

    +
    +
    +

    1.2.5. 未定乗数の設定#

    +

    グラフ彩色問題には制約が一つあります。よってその制約の重みを設定する必要があります。 +先程のConstraint部分で付けた名前と一致させるように、辞書型を用いて設定を行います。

    +
    # set multipliers
    +lam1 = 1.0
    +multipliers = {'color': lam1}    
    +
    +
    +
    +
    +

    1.2.6. JijModeling transpilerによるPyQUBOへの変換#

    +

    ここまで行われてきた実装は、全てJijModelingによるものでした。 +これをPyQUBOに変換することで、OpenJijはもちろん、他のソルバーを用いた組合せ最適化計算を行うことが可能になります。

    +
    from jijmodeling.transpiler.pyqubo import to_pyqubo
    +
    +# convert to pyqubo
    +pyq_model, pyq_chache = to_pyqubo(problem, instance_data, {})
    +qubo, bias = pyq_model.compile().to_qubo(feed_dict=multipliers)
    +
    +
    +

    JijModelingで作成されたproblem、そして先ほど値を設定したinstance_dataを引数として、to_pyquboによりPyQUBOモデルを作成します。次にそれをコンパイルすることで、OpenJijなどで計算が可能なQUBOモデルにします。

    +
    +
    +

    1.2.7. OpenJijによる最適化計算の実行#

    +

    今回はOpenJijのシミュレーテッド・アニーリングを用いて、最適化問題を解くことにします。 +それには以下のようにします。

    +
    # set sampler
    +sampler = oj.SASampler()
    +# solve problem
    +response = sampler.sample_qubo(qubo)
    +
    +
    +

    SASamplerを設定し、そのサンプラーに先程作成したQUBOモデルのquboを入力することで、計算結果が得られます。

    +
    +
    +

    1.2.8. デコードと解の表示#

    +

    返された計算結果をデコードし、解析を行いやすくします。

    +
    # decode solution
    +result = pyq_chache.decode(response)
    +
    +
    +

    このようにして得られた結果から、グラフ彩色された結果を見てみましょう。

    +
    # get indices of x = 1
    +indices, _, _ = result.record.solution['x'][0]
    +# get vertex number and color
    +vertices, colors = indices
    +# sort lists by vertex number
    +zip_lists = zip(vertices, colors)
    +zip_sort = sorted(zip_lists)
    +sorted_vertices, sorted_colors = zip(*zip_sort)
    +# initialize vertex color list
    +node_colors = [-1] * len(vertices)
    +# set color list for visualization
    +colorlist = ['gold', 'violet', 'limegreen', 'darkorange']
    +# set vertex color list
    +for i, j in zip(sorted_vertices, sorted_colors):
    +    node_colors[i] = colorlist[j]
    +# make figure
    +fig = plt.figure()
    +nx.draw_networkx(instance_data['G'], node_color=node_colors, with_labels=True)
    +fig.savefig('graph_coloring.png')
    +
    +
    +

    すると以下のような画像を得ます。

    +

    +
    +
    +
    + + + + +
    + +
    + +
    +
    + + +
    + + +
    +
    + + + + + + + \ No newline at end of file diff --git a/www/tutorial/ja/index.html b/www/tutorial/ja/index.html index f867961..21bffd9 100644 --- a/www/tutorial/ja/index.html +++ b/www/tutorial/ja/index.html @@ -6,7 +6,7 @@ - 1. OpenJij チュートリアル — OpenJij Book + 2. OpenJij チュートリアル — OpenJij Book @@ -60,7 +60,8 @@ - + + @@ -370,9 +371,19 @@

    OpenJij Book

    @@ -555,7 +566,7 @@

    OpenJij チュートリアル

    -

    1. OpenJij チュートリアル#

    +

    2. OpenJij チュートリアル#

    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
    +
    + + + + + + +
    +
    + + + + + + + + + + +
    + +
    + +
    + + + + +
    +
    + + + + +
    +
    + + + + + + + +
    +
    + + + +
    +
    +
    + + +
    + +
    + +
    +

    3. ナップサック問題#

    +

    こちらでは、Lucas, 2014, “Ising formulations of many NP problems”の 5.2. Knapsack with Integer Weights を OpenJij と JijModeling、そしてJijModeling transpiler を用いて解く方法をご紹介します。

    +
    +

    3.1. 概要: ナップサック問題とは#

    +

    ナップサック問題は、具体的には以下のような状況で最適解を求める問題です。 +最も有名なNP困難な整数計画問題の一つとして知られています。まずは具体例を考えてみましょう。

    +
    +

    3.1.1. 具体例#

    +

    この問題の具体例として、以下のような物語を考えます。

    +
    +

    ある探検家がある洞窟を探検していました。しばらく洞窟の中を歩いていると、思いがけなく複数の宝物を発見しました。

    +
    + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +

    宝物A

    宝物B

    宝物C

    宝物D

    宝物E

    宝物F

    値段

    $5000

    $7000

    $2000

    $1000

    $4000

    $3000

    重さ

    800g

    1000g

    600g

    400g

    500g

    300g

    +
    +

    しかし探検家の手持ちの荷物の中で宝物を運べるような袋としては、残念ながら小さなナップサックしか持ち合わせていませんでした。 +このナップサックには2kgの荷物しか入れることができません。探検家はこのナップサックに入れる宝物の価値をできるだけ高くしたいのですが、どの荷物を選べば最も効率的に宝物を持って帰ることができるでしょうか。

    +
    +
    +
    +

    3.1.2. 問題の一般化#

    +

    この問題を一般化するには、ナップサックに入れる荷物NN個の集合{0,1,,i,,N1}\{ 0, 1, \dots, i, \dots, N-1\}があり、各荷物がiiをインデックスとして持っているものとして考えます。
    +ナップサックに入れる各荷物iiのコストのリストv\bm{v}と重さのリストw\bm{w}を作ることで、問題を表現することができます。

    +
    +v={v0,v1,,vi,,vN1} + \bm{v} = \{v_0, v_1, \dots, v_i, \dots, v_{N-1}\} +
    +w={w0,w1,,wi,,wN1} + \bm{w} = \{w_0, w_1, \dots, w_i, \dots, w_{N-1}\} +

    さらにii番目の荷物を選んだことを表すバイナリ変数をxix_iとしましょう。この変数はiiをナップサックに入れるときxi=1x_i = 1、入れないときxi=0x_i = 0となるような変数です。最後にナップサックの最大容量をWWとします。
    +最大化したいのは、ナップサックに入れる荷物の合計です。よってこれを目的関数として表現しましょう。さらにナップサックの容量制限以下にしなければならない制約を考えると、ナップサック問題は以下のような数式で表現されます。

    +
    +max i=0N1vixi(1) + \max \ \sum_{i=0}^{N-1} v_i x_i \tag{1} +
    +s.t.i=0N1wixiW(2) + \mathrm{s.t.} \quad \sum_{i=0}^{N-1} w_i x_i \leq W \tag{2} +
    +xi{0,1}(i{0,1,,N1})(3) + x_i \in \{0, 1\} \quad (\forall i \in \{0, 1, \dots, N-1\}) \tag{3} +
    +
    +
    +

    3.2. JijModelingによるモデル構築#

    +
    +

    3.2.1. ナップサック問題で用いる変数を定義#

    +

    式(1), (2), (3)で用いられている変数v,w,N,W,xi,i\bm{v}, \bm{w}, N, W, x_i, iを、以下のようにして定義しましょう。

    +
    import jijmodeling as jm
    +
    +
    +# define variables
    +v = jm.Placeholder('v', dim=1)
    +N = v.shape[0]
    +w = jm.Placeholder('w', shape=(N))
    +W = jm.Placeholder('W')
    +x = jm.Binary('x', shape=(N))
    +i = jm.Element('i', (0, N))
    +
    +
    +

    v = jm.Placeholder('v', dim=1)でナップサックに入れる物の価値を表す一次元のリストを宣言し、その具体的な要素数をNとしています。そのNを用いて、ナップサックに入れる物の重さを表す一次元のリストをw = jm.Placeholder('w', shape=(N))のように定義することで、vwが同じ長さであることを保証できます。W = jm.Placeholder('W')ではナップサックの容量制限を表すWWを定義しています。続くx = jm.Binary('x', shape=(N))により、v, wと同じ長さのバイナリ変数リストxを定義します。最後にi = jm.Element('i', (0, N))vi,wi,xiv_i, w_i, x_iの添字を定義しており、これは0i<N0\leq i < Nの範囲の整数であることを表しています。

    +
    +
    +

    3.2.2. 目的関数の追加#

    +

    式(1)を目的関数として実装します。

    +
    # set problem
    +problem = jm.Problem('Knapsack')    
    +# set objective function
    +obj = - jm.Sum(i, v[i]*x[i])
    +problem += obj
    +
    +
    +

    問題を作成し、そこに目的関数を追加しましょう。Sum(i, 数式)とすることで、数式部分の総和を添字iに対して行うことができます。

    +
    +
    +

    3.2.3. 制約の追加#

    +

    式(2)の制約を実装しましょう。

    +
    # set total weight constraint
    +const = jm.Sum(i, w[i]*x[i])
    +problem += jm.Constraint('weight', const<=W)
    +
    +
    +

    Constraint(制約名, 制約式)とすることで、制約式に適当な制約名を付与することができます。
    +実際に実装された数式をJupyter Notebookで表示してみましょう。

    +

    +
    +
    +

    3.2.4. インスタンスの作成#

    +

    先程の冒険家の物語を、インスタンスとして設定しましょう。ただし宝物の価値は$1000で規格化、さらに宝物の重さも100gで規格化された値を用います。

    +
    # set a list of values & weights 
    +inst_v = [5, 7, 2, 1, 4, 3]
    +inst_w = [8, 10, 6, 4, 5, 3]
    +# set maximum weight
    +inst_W = 20
    +instance_data = {'v': inst_v, 'w': inst_w, 'W': inst_W}    
    +
    +
    +
    +
    +

    3.2.5. 未定乗数の設定#

    +

    このナップサック問題には制約が一つあります。よってその制約の重みを設定する必要があります。 +先程のConstraint部分で付けた名前と一致させるように、辞書型を用いて設定を行います。

    +
    # set multipliers
    +lam1 = 1.0
    +multipliers = {'weight': lam1}    
    +
    +
    +
    +
    +

    3.2.6. JijModeling transpilerによるPyQUBOへの変換#

    +

    ここまで行われてきた実装は、全てJijModelingによるものでした。 +これをPyQUBOに変換することで、OpenJijはもちろん、他のソルバーを用いた組合せ最適化計算を行うことが可能になります。

    +
    from jijmodeling.transpiler.pyqubo import to_pyqubo
    +
    +# convert to pyqubo
    +pyq_model, pyq_chache = to_pyqubo(problem, instance_data, {})
    +qubo, bias = pyq_model.compile().to_qubo(feed_dict=multipliers)
    +
    +
    +

    JijModelingで作成されたproblem、そして先ほど値を設定したinstance_dataを引数として、to_pyquboによりPyQUBOモデルを作成します。次にそれをコンパイルすることで、OpenJijなどで計算が可能なQUBOモデルにします。

    +
    +
    +

    3.2.7. OpenJijによる最適化計算の実行#

    +

    今回はOpenJijのシミュレーテッド・アニーリングを用いて、最適化問題を解くことにします。 +それには以下のようにします。

    +
    # set sampler
    +sampler = oj.SASampler()
    +# solve problem
    +response = sampler.sample_qubo(qubo)
    +
    +
    +

    SASamplerを設定し、そのサンプラーに先程作成したQUBOモデルのquboを入力することで、計算結果が得られます。

    +
    +
    +

    3.2.8. デコードと解の表示#

    +

    返された計算結果をデコードし、解析を行いやすくします。

    +
    # decode solution
    +result = pyq_chache.decode(response)
    +
    +
    +

    このようにして得られた結果から、実際にどの宝物をナップサックに入れたのかを見てみましょう。

    +
    indices, _, _ = result.record.solution['x'][0]
    +inst_w = instance_data['w']
    +sum_w = 0
    +for i in indices[0]:
    +    sum_w += inst_w[i]
    +print('Indices of x = 1: ', indices[0])
    +print('Value of objective function: ', result.evaluation.objective)
    +print('Value of constraint term: ', result.evaluation.constraint_violations['weight'])
    +print('Total weight: ', sum_w)
    +
    +
    +

    すると以下のような出力を得ます。

    +
    Indices of x = 1:  [0, 3, 4, 5]
    +Value of objective function:  [-13.0]
    +Value of constraint term:  [0.0]
    +Total weight:  20
    +
    +
    +

    目的関数の値にマイナスをかけたものが、実際にナップサックに入れた宝物の価値の合計です。また.evaluation.constarint_violations[制約名]とすることで、その制約がどれだけ満たされていないかを取得することができます。

    +
    +
    +
    + + + + +
    + +
    + +
    +
    + + +
    + + +
    +
    + + + + + + + \ No newline at end of file