OCTOPUSでは、組合せ最適化問題を高速に解くための擬似量子アニーリングソフトウェアNEC Vector Annealingをご利用いただけます。
利用方法
下記のコマンドで環境設定ファイルを読み込むことで、PythonからVector Annealingを利用可能になります。
$ module load BasePy
$ module load annealing/4.0.0
以下では、巡回セールスマン問題を解くサンプルスクリプトの実行方法を示します。まず、TSPLIBからALL_tsp.tar.gzをダウンロード・展開し、問題ファイル (例: eil51.tsp) を任意のディレクトリに配置してください。
※サンプルスクリプトは"EDGE_WEIGHT_TYPE : EUC_2D"の問題のみ対応しています。また、100都市以上のような大規模な問題ではQUBOが大きくなり、生成できない可能性があるので使用しないでください。
問題ファイルを配置したディレクトリに以下の内容でジョブスクリプトを作成し、バッチジョブを投入してください。キュー名には"VA"を指定してください。
|
1 2 3 4 5 6 7 8 9 10 11 12 |
#!/bin/bash #PBS -q VA #PBS --group=【グループ名】 #PBS -l elapstim_req=00:05:00 #PBS -b 1 #PBS -v OMP_NUM_THREADS=64 cd ${PBS_O_WORKDIR} module load BasePy module load annealing/4.0.0 python /opt/va/V4.0.0X/samples/TSP/python/TspLib.py eil51.tsp |
具体的なVector AnnealingのAPI利用方法は、以下のマニュアルをご参照ください。
参考情報
Vector Annealing x86版 ユーザーズガイド rev2
Vector Annealing C++API (x86版) ユーザーズガイド rev2
Vector Annealing Python API x86版 リファレンスガイド rev2
Parameter Estimator ユーザーズガイド rev5

