0
有沒有辦法獲得Cplex在開始解決LP時做的預先求解分析的結果?特別是,我正在查找有關冗餘行的信息。如果可能的話,只運行預先解決方案而不解決LP問題將會很有用。我從C#應用程序使用Cplex 12.5。從Cplex獲得Cplex presolve的結果C#
有沒有辦法獲得Cplex在開始解決LP時做的預先求解分析的結果?特別是,我正在查找有關冗餘行的信息。如果可能的話,只運行預先解決方案而不解決LP問題將會很有用。我從C#應用程序使用Cplex 12.5。從Cplex獲得Cplex presolve的結果C#
您可以通過在文件擴展名爲「.pre」的Cplex對象上使用ExportModel
來生成cplex預先解決的模型。這將導致presolve運行,並使cplex將預先準備的模型寫入文件。輸出格式是一種「sav」格式,它是一種無損,但不可讀的。您可以將其轉換爲可讀的「.lp」格式,但將其導入另一個新的Cplex對象,然後將該模型導出爲.lp文件。
cplex.ExportModel("myModel.pre");
// convert to .lp file
// Could also do this with interactive cplex
Cplex lp_converter = new Cplex();
lp_converter.ImportModel("myModel.pre");
lp_converter.ExportModel("myModelPresolved.lp");
然後你可以閱讀presolved LP文件,並得到一個什麼樣CPLEX不會向你的模型在這一階段的想法。您可能會對cplex的作用程度感到驚訝,您甚至可能很難將預先解決的模型與您的原始模型進行協調。您可以通過設置參數來嘗試更改預先解決的範圍。例如,將參數PreLinear
設置爲1可能會使模型更易識別。
謝謝,這是有用的信息。這是否需要解析.lp文件以獲取有關我的程序的信息(例如關於冗餘行)? –