Try our new documentation site (beta).
Filter Content By
Version
Text Search
${sidebar_list_label} - Back
Filter by Language
tune_c++.cpp
/* Copyright 2024, Gurobi Optimization, LLC */ /* This example reads a model from a file and tunes it. It then writes the best parameter settings to a file and solves the model using these parameters. */ #include "gurobi_c++.h" #include <cmath> using namespace std; int main(int argc, char *argv[]) { if (argc < 2) { cout << "Usage: tune_c++ filename" << endl; return 1; } GRBEnv *env = 0; try { env = new GRBEnv(); // Read model from file GRBModel model = GRBModel(*env, argv[1]); // Set the TuneResults parameter to 2 // // The first parameter setting is the result for the first solved // setting. The second entry the parameter setting of the best // parameter setting. model.set(GRB_IntParam_TuneResults, 2); // Tune the model model.tune(); // Get the number of tuning results int resultcount = model.get(GRB_IntAttr_TuneResultCount); if (resultcount >= 2) { // Load the tuned parameters into the model's environment // // Note, the first parameter setting is associated to the first solved // setting and the second parameter setting to best tune result. model.getTuneResult(1); // Write tuned parameters to a file model.write("tune.prm"); // Solve the model using the tuned parameters model.optimize(); } } catch(GRBException e) { cout << "Error code = " << e.getErrorCode() << endl; cout << e.getMessage() << endl; } catch (...) { cout << "Error during tuning" << endl; } delete env; return 0; }