int user_start_heurs(void *user, double *ub, double *ub_estimate)


The user invokes heuristics and generates the initial global upper bound and also perhaps an upper bound estimate. This is the last place where the user can do things before the branch and cut algorithm starts. She might do some preprocessing, in addition to generating the upper bound.


void *user IN Pointer to the user-defined data structure.
double *ub OUT Pointer to the global upper bound. Initially, the upper bound is set to either -MAXDOUBLE or the bound read in from the parameter file, and should be changed by the user only if a better valid upper bound is found.
double *ub_estimate OUT Pointer to an estimate of the global upper bound. This is useful if the BEST_ESTIMATE diving strategy is used (see the treemanager parameter diving_strategy)

Return values:

USER_ERROR Error. This error is probably not fatal.
USER_SUCCESS User executed function successfully.
USER_DEFAULT No action (someday, there may be a default MIP heuristic here).

Ted Ralphs