CPLEX最適化ソフトウェアのJava APIを使用しています。ソルバが最適化を完了した後、解とLPのパラメータも印刷します。CPLEXを印刷すると、行、列、および置換がなくなります
MIP Presolve eliminated 282 rows and 230 columns.
Aggregator did 14 substitutions
これらの削除された行と列を観察するにはどうすればよいですか? APIには組み込み関数がありますか?
CPLEX最適化ソフトウェアのJava APIを使用しています。ソルバが最適化を完了した後、解とLPのパラメータも印刷します。CPLEXを印刷すると、行、列、および置換がなくなります
MIP Presolve eliminated 282 rows and 230 columns.
Aggregator did 14 substitutions
これらの削除された行と列を観察するにはどうすればよいですか? APIには組み込み関数がありますか?
C APIを使用して事前/縮小モデルにアクセスできますが、Java APIまたはコンサートでは一般的にアクセスできません。 Java APIにはPresolveCallbackがありますが、これはあまり使いやすいものではありません(つまり、解決中に何度か呼び出され、どの呼び出しが必要なのか必ずしも分かりません)。それがあなたのニーズに合っているかどうかをすぐに調べる価値があるかもしれません。
この情報を取得するもう1つの手法は、setOutメソッドを使用して独自のストリームにCPLEXログをリダイレクトし、「MIP Presolve XXX行とXXX列を排除したように見える」行を解析することです。このhereとhereの例があります。これは、一般的なJavaプログラミング技術(実際はCPLEXに関連していない)ですので、ここではこれ以上のコードスニペットを提供するつもりはありません。