2020年6月7日日曜日

探索プログラム改善

どうも思うように解が出てこないので、さらに一工夫することにしました。前回、探査木のROOT付近では、BFSある程度depthが深くなったところでDFSにする話をしました。切り替え境界のdepthが深ければ深いほど、よりOptimumに近づくと考えられます。理想を言えば、BFS中にInteger解が得られたらそれがBestです。なので、同じ時間内で、もっとdepthを掘ることを考えます。そのためには、同じdepth中のtop Kだけを取ります。言い換えると、その時点の質のよいエリートだけを対象とします。その時点で出来がよくないのは、将来(ボトム方向に下降したときに)劇的改善は見込めないだろう、亀は兎を追い越せないだろう、という発想です。

こうすることで、厳密LBではなくなってしまいます。推定LBとなってしまう代わりに、下位depthにおいて、OptimumなObj付近を効率よく探索できるということです。Shiftsが7だと、全組み合わせは、7**depth となり高々depth30程度でも1e25程度の空間となります。Instance15で、Interger解が得られているのは、現在のところdepth 140付近です。

0 件のコメント:

コメントを投稿