Solving Constraint Integer Programs

heur_undercover.h File Reference

Detailed Description

Undercover primal heuristic for MINLPs.

Timo Berthold
Ambros Gleixner

The undercover heuristic is designed for mixed-integer nonlinear programs and tries to fix a subset of variables such as to make each constraint linear or convex. For this purpose it solves a binary program to automatically determine the minimum number of variable fixings necessary. As fixing values, we use values from the LP relaxation, the NLP relaxation, or the incumbent solution.

Definition in file heur_undercover.h.

#include "scip/scip.h"

Go to the source code of this file.


SCIP_RETCODE SCIPincludeHeurUndercover (SCIP *scip)
SCIP_RETCODE SCIPcomputeCoverUndercover (SCIP *scip, int *coversize, SCIP_VAR **cover, SCIP_Real timelimit, SCIP_Real memorylimit, SCIP_Real objlimit, SCIP_Bool globalbounds, SCIP_Bool onlyconvexify, SCIP_Bool coverbd, char coveringobj, SCIP_Bool *success)

Function Documentation

SCIP_RETCODE SCIPincludeHeurUndercover ( SCIP scip)

creates the undercover primal heuristic and includes it in SCIP

scipSCIP data structure
SCIP_RETCODE SCIPcomputeCoverUndercover ( SCIP scip,
int *  coversize,
SCIP_VAR **  cover,
SCIP_Real  timelimit,
SCIP_Real  memorylimit,
SCIP_Real  objlimit,
SCIP_Bool  globalbounds,
SCIP_Bool  onlyconvexify,
SCIP_Bool  coverbd,
char  coveringobj,
SCIP_Bool success 

computes a minimal set of covering variables

scipSCIP data structure
coversizesize of the computed cover
coverpointer to store the variables (of the original SCIP) in the computed cover (should be ready to hold SCIPgetNVars(scip) entries)
timelimittime limit
memorylimitmemory limit
objlimitobjective limit: upper bound on coversize
globalboundsshould global bounds on variables be used instead of local bounds at focus node?
onlyconvexifyshould we only fix/ variables creating nonconvexity?
coverbdshould bounddisjunction constraints be covered (or just copied)?
coveringobjobjective function of the covering problem ('b'ranching status, influenced nonlinear 'c'onstraints/'t'erms, 'd'omain size, 'l'ocks, 'm'in of up/down locks, 'u'nit penalties, constraint 'v'iolation)
successfeasible cover found?