C Parameter Examples


C Parameter Examples

The C interface defines a symbolic constant for each parameter. The symbolic constant name is prefixed by GRB_type_PAR_, where type is either INT, DBL, or STR. This is followed by the capitalized parameter name. For example, the symbolic constant for the integer Threads parameter (found in C header file gurobi_c.h) is:

#define GRB_INT_PAR_THREADS "Threads"

The routine you use to modify a parameter value depends on the type of the parameter. For a double-valued parameter, you would use GRBsetdblparam. Recall that models get their own environments once they are created, so you'll generally need to get the environment for a model before setting a parameter on that model.

To set the TimeLimit parameter for a model, you'd do:

  modelenv = GRBgetenv(model);
  ...
  error = GRBsetdblparam(modelenv, GRB_DBL_PAR_TIMELIMIT, 100.0);

If you'd prefer to use a string for the parameter name, you can also do:

  error = GRBsetdblparam(modelenv, "TimeLimit", 100.0);
The case of the string is ignored, as are underscores. Thus, TimeLimit and TIME_LIMIT are equivalent.

Use GRBgetdblparam to query the current value of a parameter:

  double currentvalue;
  error = GRBgetdblparam(modelenv, "TimeLimit", &currentvalue);