lp_c + + . cpp


/*版权所有2023,Gurobi O狗万app足彩ptimization, LLC */ /*本示例从文件中读取LP模型并求解它。如果模型是不可行的或无界的,示例将关闭预解并重新求解模型。如果模型不可行,示例计算一个不可约不一致子系统(IIS),并使用命名空间std将其写入文件*/ #include " gu罗比_c++.h";int main(int argc, char *argv[]) {if (argc < 2) {cout << "用法:lp_c++文件名" << endl;返回1;} try {GRBEnv env = GRBEnv();GRBModel模型= GRBModel(env, argv[1]);model.optimize ();int optimstatus = model.get(GRB_IntAttr_Status);if (optimstatus == GRB_INF_OR_UNBD){模型。集(GRB_IntParam_Presolve, 0); model.optimize(); optimstatus = model.get(GRB_IntAttr_Status); } if (optimstatus == GRB_OPTIMAL) { double objval = model.get(GRB_DoubleAttr_ObjVal); cout << "Optimal objective: " << objval << endl; } else if (optimstatus == GRB_INFEASIBLE) { cout << "Model is infeasible" << endl; // compute and write out IIS model.computeIIS(); model.write("model.ilp"); } else if (optimstatus == GRB_UNBOUNDED) { cout << "Model is unbounded" << endl; } else { cout << "Optimization was stopped with status = " << optimstatus << endl; } } catch(GRBException e) { cout << "Error code = " << e.getErrorCode() << endl; cout << e.getMessage() << endl; } catch (...) { cout << "Error during optimization" << endl; } return 0; }