When solving MIPs, MIP Starts and Variable Hints are two different ways to provide information to Gurobi when the user knows or can guess the values of some (or all) variables in a feasible solution, for example, by using heuristics or by providing some problem-specific knowledge. This typically helps performance when Gurobi has trouble finding an initial feasible solution.
While being closely related, MIP Starts and Variable Hints also have some fundamental differences.
- MIP Starts are used to generate an initial feasible solution, which is then improved via MIP search, while Variable Hints guide the MIP search toward anticipated values, affecting the entire solution process.
- You can provide multiple MIP Starts using the NumStart model attribute and the StartNumber parameter (see also How do I use MIP starts?). However, you can only provide one hint per variable.
- MIP Starts can be specified using the Start variable attribute or by providing an MST input file. Variable hints can be specified using the VarHintVal and, optionally, the VarHintPri variable attributes or by providing an HNT input file.