Highs ipmをinstance22 を W/O Cardinals Graph in rosterで走らせると、24時間経ってもROOT LP値を得ることができません。
現状のHighs ipmで行うと、恐らくは、一カ月以上計算機を廻さないといけないでしょう。そこでPDLPに期待がかかるのですが、高精度、kkt_tolerance=1e-7にすると、IPMと時間的には大差ありません。(4060Ti)
そこで、初期は、精度を落として、1e-4からスタートし、徐々に精度を上げる方式を取ることで、高速化できないかを検討しました。1e-4ならば、高速に解が得られます。また、解の安定性のための初期スケーリング処理も必要ないようです。
下のグラフは、kkt_tolerance=1e-4での目的関数値の変化のグラフです。
精度が悪いので、目的関数値は、滑らかではなく、凹凸があります。そこで、適当に低域フィルタリングして十分傾きが≒0近くなったときに、精度を上げるようにします。これを1e-7最終精度まで繰り返して、最後に収束を判定します。ROOTまで来たら1e-7に固定しBr&Bound処理に移行します。
0 件のコメント:
コメントを投稿