Try our new documentation site (beta).
Change parameters
Examples: callback, fixanddive, lp, lpmethod, mip2, params, sensitivity
This section illustrates the use of Gurobi parameters. Example
params
reads a MIP model from a file, then solves the model using
four different values of the MIPFocus
parameter, running for
five seconds per value (MIPFocus
chooses the high-level
strategy that the MIP solver uses to solve the problem). It then
chooses the parameter value that produced the smallest MIP gap, and
continues solving the model until it achieves optimality.
The mechanics of setting a parameter are quite simple. To set
the MIPFocus
parameter in C, do the following:
GRBsetintparam(GRBgetenv(model), GRB_INT_PAR_MIPFOCUS, i);In C++:
model.getEnv().set(GRB_IntParam_MIPFocus, i);In Java:
model.getEnv().set(GRB.IntParam.MIPFocus, i);In C#:
model.GetEnv().Set(GRB.IntParam.MIPFocus, i);In Python:
model.params.MIPFocus = i
Note how parameter settings affect
the behavior of the different models. When we set the
TimeLimit
parameter on the base model, then make a copy of
that model, the parameter setting is carried over to the copy. The
copy gets its own environment that is a copy of the original. When we
set the MIPFocus
parameter on the copy, that parameter change
has no effect on the other copies, nor on the original model.