ソースコードができた.ただし,小さな問題を計
算するためのものだ.求解アルゴリズムは,焼き
なまし法(SA, Simulated Annealing)を用いた.
異なる初期解を30個用意して,それぞれについて
200回の反復計算を行った.
ここで解の収束状況を確認してみよう.下の図は,
横軸に反復回数,縦軸に目的関数値の平均値をと
ったグラフである.すべての初期解を用いて,反
復回数200回までに最適解(目的関数値= 4601)が
得られた.最適解はGurobiで求めたものと一致.
今回は問題のサイズが小さいので,最適解を見つ
けることは難しくない.でも嬉しい.
いきなり大きな問題を扱うと,ロジックの整合性
の確認に手間がかかりすぎる.まずは「小さく始
める」必要がある.
さらにいうと,途中で方針転換があったとしても,
損失を小さく留めることができる.
現状は富士山でいうと,やっと五合目に到達した
ようなものである.頂上は,はるか雲の上だが,
一歩ずつしか進めない.いきなりヘリコプターを
使って頂上へ行くことはできない.