こんにちは、量子アニーリングは実用化がちょっと遠ざかりましたが、最近では代わりに既存SAを利用して大規模QUBOを解く問題はまだ業務応用が模索されていて、一部でだんだん成果が出始めているようです。これは、これまでの大規模アニーリング問題に関して並列化や高性能マシンでの実行が想定されていない面もあり、メタヒューリスティクスアルゴでのQUBO実装である程度速度が出るようになってきました。
もちろんメタヒューリスティクスである代わりに、ノーフリーランチ定理というのがあり、なんでも解ける便利なソルバーは実質的にないのですが、とりあえずPoCや日々変わる業務課題に関して利用ができるようになってきました。
今回はVWが行った北京の交通最適化の類似問題において、それを拡張した渋谷区における交通最適化問題を北九州の新進気鋭の量子&機械学習ベンチャー企業のDEVELの比嘉くんが行ってくれました。
DEVEL
利用したマシンはNEC Vector Annealingで、今回は5000量子ビットを利用しました。10万量子ビットなども解けるようですが、とりあえずは5000くらいで。
NEC Vector Annealing
https://jpn.nec.com/nec-vector-annealing-service/index.html
問題設定は交通渋滞解消です。問題はQUBOと呼ばれる定式化で実装されます。その後NEC Vector Annealingのマシンに投入され、答えが出るまで待ちます。
定式化例(リンク先は量子ゲートですが、QUBOは変わりません)
https://blueqat.com/yuichiro_minato2/ada1055b-f3cf-4996-bf29-c15e86174e92
問題設定は今回は始点と終点を別の場所にして、通る経路が重なるようでしたら渋滞判定されます。重なる車の数が多い方が渋滞は酷くなります。
今回は、自動車の数を500台、代替ルート提案を10本、最短距離のルートから10本を選んでもらうようにして渋滞分散を行なっています。計算結果です。計算にはone hot制約と呼ばれる制約をかけられますので、それを利用しています。
渋谷区に500台の車を走らせたシミュレーション結果です。QUBOで計算されています。太い線には30台の車が存在しています。それがだいぶ太い線が少なくなり、分散されているのが最終的に確認できました。こうなるとかなり地図も拡大する必要があります。
もととなる交通最適のpythonコードは2023年に開催されたビプロジーさん主催のビジネス応用のセミナーでの実習で利用されたものを拡張したものです。
量子・AIハイブリッドの基礎を学習するセミナー
https://quantum-biprogy.connpass.com/event/274915/
最近弊社では、TYTANというプロジェクトを立ち上げ、個人や企業が大規模アニーリングに参加しやすくなるようなツールを開発しました。
TYTAN SDK
https://github.com/tytansdk/tytan
今後はこうした大規模アニーリングを使いやすくするように2023年3月からは数千量子ビットから数万量子ビットのSDKツールとAPIの提供を開始したり、QUBOソルバーを提供したい企業向けに収益化プラットフォームを提供開始しています。
結構評判がいいのでどんどん収益化進めましょう。