1
有沒有辦法列出cplex模型中的所有cplex變量?我對C#界面感興趣。如果您的模型是從文件中讀取的,則Google搜索導致this solution。如果您的模型沒有從文件中讀取,那麼在模型中找不到ILPMatrix(除非您已經專門創建了LPMatrix)。Cplex列出所有模型變量(.NET)
我想我可以寫出來,並在讀回:
Cplex m = new Cplex();
// add lots of variables with lots of different names and constraints
// perhaps even solve the model: m.Solve();
// now list out the variables:
m.ExportModel("myModel.lp");
m.ImportModel("myMOdel.lp");
m.Solve();
IEnumerator mEnum = m.GetLPMatrixEnumerator();
mEnum.MoveNext();
ILPMatrix lpmatrix = (ILPMatrix)mEnum.Current;
double[] x = m.GetValues(lpmatrix);
for (int j = 0; j < lpmatrix.NumVars.Length; ++j)
System.Console.WriteLine("Variable Name:" + lpmatrix.GetNumVar(j).Name + "; Value = " + x[j]);
但似乎應該有一個更好的辦法。我錯過了什麼嗎?
爲了便於比較,這裏是代碼做同樣的Gurobi型號:
foreach (GRBVar var in m.GetVars())
Console.WriteLine("{0} = {1}", var.Get(GRB.StringAttr.VarName), var.Get(GRB.DoubleAttr.X));
從內存中可以看到IloModel各個部分的迭代器。 – TimChippingtonDerrick