Parameter Tuning#

int GRBtunemodel(GRBmodel *model)#

Perform an automated search for parameter settings that improve performance on a model. Upon completion, this routine stores the best parameter sets it found. The number of stored parameter sets can be determined by querying the value of the TuneResultCount attribute. The actual settings can be retrieved using GRBgettuneresult.

Please refer to the parameter tuning section for details on the tuning tool.

Return value:

A non-zero return value indicates that a problem occurred while tuning the model. Refer to the Error Codes table for a list of possible return values. Details on the error can be obtained by calling GRBgeterrormsg.

Arguments:
  • model – The model to be tuned.

Example:
error = GRBtunemodel(model);
if (error) goto QUIT;

error = GRBgetintattr(model, "TuneResultCount", &nresults);
if (error) goto QUIT;
int GRBgettuneresult(GRBmodel *model, int n)#

Use this routine to retrieve the results of a previous GRBtunemodel call. Calling this routine with argument n causes tuned parameter set n to be copied into the model. Parameter sets are stored as follows: the first (i.e., parameter set 0) is always the set of parameters that was used for the first solve; parameter set 1 is the best tuned set of parameters. These are followed by the remaining parameter sets on the efficiency frontier, representing the best trade-offs between the TuneCriterion and the number of parameter changes. If the parameter TuneResults is set to -2, all other parameter sets that were fully tested are also included. The number of available sets is stored in attribute TuneResultCount.

Once you have retrieved a tuning result, you can call GRBoptimize to use these parameter settings to optimize the model, or GRBwrite to write the changed parameters to a .prm file.

Please refer to the parameter tuning section for details on the tuning tool.

Return value:

A non-zero return value indicates that a problem occurred while retrieving a tuning result. Refer to the Error Codes table for a list of possible return values. Details on the error can be obtained by calling GRBgeterrormsg.

Arguments:
  • model – A model that has previously been used as the argument of GRBtunemodel.

  • n – The index of the tuning result to retrieve. The best result is available as index 0. The number of stored results is available in attribute TuneResultCount.

Example:
error = GRBtunemodel(model);
if (error) goto QUIT;

error = GRBgetintattr(model, "TuneResultCount", &nresults);
if (error) goto QUIT;

if (nresults > 0) {
  error = GRBgettuneresult(model, 0);
  if (error) goto QUIT;
}