Try our new documentation site (beta).
Start
Type: | double |
---|---|
Modifiable: | Yes |
The current MIP start vector. The MIP solver will attempt to build an
initial solution from this vector when it is available. Note that the
start can be partially populated -- the MIP solver will attempt to
fill in values for missing start values. If you wish to leave the
start value for a variable undefined, you can either avoid setting the
Start
attribute for that variable, or you can set it to a
special undefined
value (GRB_UNDEFINED
in C and C++,
or GRB.UNDEFINED
in Java, .NET, and Python).
If the Gurobi MIP solver log indicates that your MIP start didn't produce a new incumbent solution, note that there can be multiple explanations. One possibility is that your MIP start is infeasible. Another, more common possibility is that one of the Gurobi heuristics found a solution that is as good as the solution produced by the MIP start, so the MIP start solution was cut off. Finally, if you specified a partial MIP start, it is possible that the limited MIP exploration done on this partial start was insufficient to find a new incumbent solution. You can try setting the StartNodeLimit parameter to a larger value if you want Gurobi to work harder to try to complete the partial start.
If you solve a sequence of models, where one is built by modifying the
previous one, and if you don't provide a MIP start, then Gurobi will
try to construct one automatically from the solution of the previous
model. If you don't want it to try this, you should reset the model
before starting the subsequent solve. If you provided a MIP start but
would prefer to use the previous solution as the start instead, you
should clear your start (by setting the Start
attribute
to undefined
for all variables).
If you want to diagnose an infeasible MIP start, you can try fixing the variables in the model to their values in your MIP start (by setting their lower and upper bound attributes). If the resulting MIP model is infeasible, you can then compute an IIS on this model to get additional information that should help to identify the cause of the infeasibility.
Only affects MIP models.
For examples of how to query or modify attributes, refer to our Attribute Examples.