Pythonによるアニーリングマシン入門 PyQUBOで解く最適化問題/棚橋耕太郎/中田百科/田中宗

著:棚橋耕太郎 著:中田百科 監修:田中宗
出版社:共立出版
発売日:2025年06月
キーワード:Pythonによるアニーリングマシン入門PyQUBOで解く最適化問題棚橋耕太郎中田百科田中宗 ぱいそんによるあにーりんぐましんにゆうもんPYTH パイソンニヨルアニーリングマシンニユウモンPYTH たなはし こうたろう なかだ タナハシ コウタロウ ナカダ



著者名:棚橋耕太郎  中田百科  田中宗 
出版社名:共立出版

本書では、プログラミング言語であるPythonを用いて、アニーリングマシンを利用し最適化問題を解くための方法を学ぶことができます。

世の中にはたくさんの組合せ最適化問題が存在しています。電車の運行計画、工場の生産スケジュール、チラシ上の商品のレイアウト、電子回路の最適な設計など、例を挙げるときりがありません。これらは従来、汎用的な数理最適化ソルバーを用いて解かれていましたが、2011年にD-Wave Systemsによって世界初の量子アニーリングマシンが開発されて以来、多くのアニーリングマシンが世の中に登場し、組合せ最適化問題に対する新しい技術的なアプローチとして注目されるようになりました。
ユーザがこれらのマシンを利用する際には、最適化問題の形式の一種であるイジングモデルやQUBO(Quadratic Unconstrained Binary Optimization)を作成してマシンに入力し、その解をビット列の出力として得ます。それぞれのアニーリングマシンはそれぞれ固有の動作原理を持っており、アニーリングマシンとしての特徴も非常に異なっていますが、解きたい問題をイジングモデルやQUBOにさえ変換できれば、どのようなアニーリングマシンであってもQUBOから問題を解いてくれます。

本書では、PythonライブラリのPyQUBOを用いることで最適化問題からQUBOを作成する方法を説明します。実際にアニーリングマシンで問題を解くには、パラメータの逐次調整や得られたビット列の解釈など、多くの処理が必要になります。この処理をしてくれるのがPyQUBOです。どのようなアニーリングマシンを使うかにかかわらず、組合せ最適化問題を記述してQUBOを生成し、マシンから返ってきたビット列を解釈する役割をPyQUBOが担ってくれます。また、QUBOは量子アニーリングだけでなく量子ゲート方式の最適化手法にも頻繁に登場します。そこで、PyQUBOを用いた量子最適化計算についても説明します。

なお、アニーリングは組合せ最適化問題を解くためのアプローチの1つに過ぎないため、本書では組合せ最適化問題を解くための他の手法として、貪欲法、全探索法、数理最適化ソルバーを用いる方法についても紹介します。問題によって解くための適切なアプローチは異なるため、それぞれの手法を知っておくことで、アニーリングマシンがどのような問題に対して得意であるのかなどの見極めができるようになります。

※本データはこの商品が発売された時点の情報です。