heuristics.h
Go to the documentation of this file.
31/*---+----1----+----2----+----3----+----4----+----5----+----6----+----7----+----8----+----9----+----0----+----1----+----2*/
57 * This method performs a diving according to the settings defined by the diving settings @p diveset; Contrary to the
58 * name, SCIP enters probing mode (not diving mode) and dives along a path into the tree. Domain propagation
62 * score defined by the @p diveset and whose solution value has not yet been rendered infeasible by propagation,
65 * The algorithm iteratively selects the the next (unfixed) candidate in the list, until either enough domain changes
66 * or the resolve frequency of the LP trigger an LP resolve (and hence, the set of potential candidates changes),
70 * After the set of remaining candidates is empty or the targeted depth is reached, the node LP is
73 * @see heur_guideddiving.c for an example implementation of a dive set controlling the diving algorithm.
75 * @note the node from where the algorithm is called is checked for a basic LP solution. If the solution
76 * is non-basic, e.g., when barrier without crossover is used, the method returns without performing a dive.
78 * @note currently, when multiple diving heuristics call this method and solve an LP at the same node, only the first
89 SCIP_Longint iterlim, /**< nonnegative iteration limit for the LP solves, or -1 for dynamic setting */
91 SCIP_Real lpresolvedomchgquot, /**< percentage of immediate domain changes during probing to trigger LP resolve or -1
101 SCIP_HASHMAP* varmap, /**< a hashmap to store the mapping of source variables to the corresponding
104 SCIP_VAR** fixedvars, /**< source variables whose copies should be fixed in the target SCIP environment, or NULL */
106 int nfixedvars, /**< number of source variables whose copies should be fixed in the target SCIP environment, or NULL */
107 SCIP_Bool uselprows, /**< should the linear relaxation of the problem defined by LP rows be copied? */
115 * a trust region constraint measures the deviation from the current incumbent solution \f$x^*\f$ by an auxiliary
120 * Only binary variables are taken into account. The deviation is penalized in the objective function using
123 * @note: the trust region constraint creates an auxiliary variable to penalize the deviation from
124 * the current incumbent solution. This variable can afterwards be accessed using SCIPfindVar() by its name
common defines and data types used in all packages of SCIP
SCIP_RETCODE SCIPaddTrustregionNeighborhoodConstraint(SCIP *scip, SCIP *subscip, SCIP_VAR **subvars, SCIP_Real violpenalty)
Definition: heuristics.c:1029
SCIP_RETCODE SCIPperformGenericDivingAlgorithm(SCIP *scip, SCIP_DIVESET *diveset, SCIP_SOL *worksol, SCIP_HEUR *heur, SCIP_RESULT *result, SCIP_Bool nodeinfeasible, SCIP_Longint iterlim, int nodelimit, SCIP_Real lpresolvedomchgquot, SCIP_DIVECONTEXT divecontext)
Definition: heuristics.c:220
SCIP_RETCODE SCIPcopyLargeNeighborhoodSearch(SCIP *sourcescip, SCIP *subscip, SCIP_HASHMAP *varmap, const char *suffix, SCIP_VAR **fixedvars, SCIP_Real *fixedvals, int nfixedvars, SCIP_Bool uselprows, SCIP_Bool copycuts, SCIP_Bool *success, SCIP_Bool *valid)
Definition: heuristics.c:951
Definition: objbenders.h:44
Definition: struct_heur.h:68
Definition: struct_misc.h:138
Definition: struct_heur.h:98
Definition: struct_sol.h:74
Definition: struct_var.h:208
Definition: struct_scip.h:70
type definitions for primal heuristics
type definitions for miscellaneous datastructures
type definitions for return codes for SCIP methods
type definitions for SCIP's main datastructure
type definitions for storing primal CIP solutions
type definitions for problem variables