Detailed Description
constraint handler for the integrality constraint
Definition in file cons_integral.c.
#include "scip/cons_integral.h"#include "scip/pub_cons.h"#include "scip/pub_message.h"#include "scip/pub_var.h"#include "scip/pub_sol.h"#include "scip/scip_branch.h"#include "scip/scip_cons.h"#include "scip/scip_exact.h"#include "scip/scip_lp.h"#include "scip/scip_lpexact.h"#include "scip/scip_message.h"#include "scip/scip_numerics.h"#include "scip/scip_prob.h"#include "scip/scip_probing.h"#include "scip/scip_sol.h"#include "scip/scip_mem.h"#include "scip/rational.h"#include <string.h>Go to the source code of this file.
Macros | |
| #define | CONSHDLR_NAME "integral" |
| #define | CONSHDLR_DESC "integrality constraint" |
| #define | CONSHDLR_ENFOPRIORITY 0 |
| #define | CONSHDLR_CHECKPRIORITY 0 |
| #define | CONSHDLR_EAGERFREQ -1 |
| #define | CONSHDLR_NEEDSCONS FALSE |
| #define | consCopyIntegral NULL |
| #define | consEnfopsIntegral NULL |
Functions | |
| static SCIP_RETCODE | checkIntegralityExact (SCIP *scip, SCIP_SOL *sol, SCIP_Bool printreason, SCIP_RESULT *result) |
| static | SCIP_DECL_CONSHDLRCOPY (conshdlrCopyIntegral) |
| static | SCIP_DECL_CONSENFOLP (consEnfolpIntegral) |
| static | SCIP_DECL_CONSENFORELAX (consEnforelaxIntegral) |
| static | SCIP_DECL_CONSCHECK (consCheckIntegral) |
| static | SCIP_DECL_CONSLOCK (consLockIntegral) |
| static | SCIP_DECL_CONSGETDIVEBDCHGS (consGetDiveBdChgsIntegral) |
| SCIP_RETCODE | SCIPincludeConshdlrIntegral (SCIP *scip) |
Macro Definition Documentation
◆ CONSHDLR_NAME
| #define CONSHDLR_NAME "integral" |
Definition at line 53 of file cons_integral.c.
◆ CONSHDLR_DESC
| #define CONSHDLR_DESC "integrality constraint" |
Definition at line 54 of file cons_integral.c.
◆ CONSHDLR_ENFOPRIORITY
| #define CONSHDLR_ENFOPRIORITY 0 |
priority of the constraint handler for constraint enforcing
Definition at line 55 of file cons_integral.c.
◆ CONSHDLR_CHECKPRIORITY
| #define CONSHDLR_CHECKPRIORITY 0 |
priority of the constraint handler for checking feasibility
Definition at line 56 of file cons_integral.c.
◆ CONSHDLR_EAGERFREQ
| #define CONSHDLR_EAGERFREQ -1 |
frequency for using all instead of only the useful constraints in separation, propagation and enforcement, -1 for no eager evaluations, 0 for first only
Definition at line 58 of file cons_integral.c.
◆ CONSHDLR_NEEDSCONS
| #define CONSHDLR_NEEDSCONS FALSE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 59 of file cons_integral.c.
◆ consCopyIntegral
| #define consCopyIntegral NULL |
Definition at line 143 of file cons_integral.c.
◆ consEnfopsIntegral
| #define consEnfopsIntegral NULL |
Definition at line 145 of file cons_integral.c.
Function Documentation
◆ checkIntegralityExact()
|
static |
checks whether primal solution satisfies all integrality restrictions without tolerances
- Parameters
-
scip SCIP data structure sol solution to be checked printreason should infeasisibility reason be printed? result pointer to store the result of the lp enforcement call
Definition at line 64 of file cons_integral.c.
References FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPbuffer(), SCIPdebugMessage, SCIPgetMessagehdlr(), SCIPgetSolVal(), SCIPgetSolValExact(), SCIPgetSolVarsData(), SCIPinfoMessage(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsIntegral(), SCIPrationalMessage(), SCIPrationalSetReal(), SCIPsolIsExact(), SCIPvarGetName(), SCIPvarGetProbindex(), SCIPvarGetType(), and TRUE.
Referenced by SCIP_DECL_CONSCHECK().
◆ SCIP_DECL_CONSHDLRCOPY()
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 129 of file cons_integral.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrIntegral(), and TRUE.
◆ SCIP_DECL_CONSENFOLP()
|
static |
constraint enforcing method of constraint handler for LP solutions
Definition at line 149 of file cons_integral.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIPbranchLP(), SCIPbranchLPExact(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetLPSolstat(), SCIPgetNLPBranchCands(), and SCIPisExact().
◆ SCIP_DECL_CONSENFORELAX()
|
static |
constraint enforcing method of constraint handler for relaxation solutions
Definition at line 191 of file cons_integral.c.
References CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_CUTOFF, SCIP_DIDNOTRUN, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIPaddExternBranchCand(), SCIPbranchExtern(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetNBinImplVars(), SCIPgetNIntImplVars(), SCIPgetSolVal(), SCIPgetVarsData(), SCIPisFeasEQ(), SCIPisFeasIntegral(), SCIPvarGetLbLocal(), SCIPvarGetName(), SCIPvarGetUbLocal(), and SCIPvarIsIntegral().
◆ SCIP_DECL_CONSCHECK()
|
static |
feasibility check method of constraint handler for integral solutions
Definition at line 255 of file cons_integral.c.
References checkIntegralityExact(), CONSHDLR_NAME, EPSFRAC, NULL, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIPconshdlrGetName(), SCIPdebugMsg, SCIPfeastol(), SCIPgetSolVal(), SCIPgetSolVarsData(), SCIPinfoMessage(), SCIPisExact(), SCIPisFeasIntegral(), SCIPupdateSolIntegralityViolation(), and SCIPvarGetName().
◆ SCIP_DECL_CONSLOCK()
|
static |
variable rounding lock method of constraint handler
Definition at line 313 of file cons_integral.c.
References SCIP_OKAY.
◆ SCIP_DECL_CONSGETDIVEBDCHGS()
|
static |
constraint handler method to suggest dive bound changes during the generic diving algorithm
Definition at line 320 of file cons_integral.c.
References CONSHDLR_NAME, FALSE, NULL, SCIP_Bool, SCIP_BRANCHDIR_DOWNWARDS, SCIP_BRANCHDIR_UPWARDS, SCIP_CALL, SCIP_DIVETYPE_INTEGRALITY, SCIP_OKAY, SCIP_Real, SCIP_REAL_MIN, SCIPaddDiveBoundChange(), SCIPceil(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPfloor(), SCIPgetDivesetScore(), SCIPgetSolVal(), SCIPgetSolVarsData(), SCIPisFeasIntegral(), SCIPisGE(), SCIPisLE(), SCIPvarGetLbLocal(), SCIPvarGetUbLocal(), and TRUE.