lpmethod_c + + . cpp


lpmethod_c + + . cpp


/* Copyright 2021, 狗万app足彩Gurobi Optimization, LLC */ /*用Method参数的不同值求解模型;显示哪个值给出了最短的求解时间。*/ #include "gurobi_c++.h" using namespace std;int main(int argc, char *argv[]) {if (argc < 2) {cout << "Usage: lpmethod_c++ filename" << endl;返回1;} try{//读取模型GRBEnv env = GRBEnv();GRBModel m = GRBModel(env, argv[1]);//方法int bestMethod = -1;get(GRB_DoubleParam_TimeLimit);For (int I = 0; i <= 2; ++i) { m.reset(); m.set(GRB_IntParam_Method, i); m.optimize(); if (m.get(GRB_IntAttr_Status) == GRB_OPTIMAL) { bestTime = m.get(GRB_DoubleAttr_Runtime); bestMethod = i; // Reduce the TimeLimit parameter to save time // with other methods m.set(GRB_DoubleParam_TimeLimit, bestTime); } } // Report which method was fastest if (bestMethod == -1) { cout << "Unable to solve this model" << endl; } else { cout << "Solved in " << bestTime << " seconds with Method: " << bestMethod << endl; } } catch(GRBException e) { cout << "Error code = " << e.getErrorCode() << endl; cout << e.getMessage() << endl; } catch(...) { cout << "Exception during optimization" << endl; } return 0; }