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) |
| #define CONSHDLR_NAME "integral" |
Definition at line 53 of file cons_integral.c.
| #define CONSHDLR_DESC "integrality constraint" |
Definition at line 54 of file cons_integral.c.
| #define CONSHDLR_ENFOPRIORITY 0 |
priority of the constraint handler for constraint enforcing
Definition at line 55 of file cons_integral.c.
| #define CONSHDLR_CHECKPRIORITY 0 |
priority of the constraint handler for checking feasibility
Definition at line 56 of file cons_integral.c.
| #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 57 of file cons_integral.c.
| #define CONSHDLR_NEEDSCONS FALSE |
should the constraint handler be skipped, if no constraints are available?
Definition at line 59 of file cons_integral.c.
| #define consCopyIntegral NULL |
Definition at line 143 of file cons_integral.c.
Referenced by SCIPincludeConshdlrIntegral().
| #define consEnfopsIntegral NULL |
Definition at line 145 of file cons_integral.c.
Referenced by SCIPincludeConshdlrIntegral().
|
static |
checks whether primal solution satisfies all integrality restrictions without tolerances
| 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 assert(), FALSE, NULL, result, 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(), sol, TRUE, and vars.
Referenced by SCIP_DECL_CONSCHECK().
|
static |
copy method for constraint handler plugins (called when SCIP copies plugins)
Definition at line 129 of file cons_integral.c.
References assert(), CONSHDLR_NAME, NULL, SCIP_CALL, SCIP_OKAY, SCIPconshdlrGetName(), SCIPincludeConshdlrIntegral(), TRUE, and valid.
|
static |
constraint enforcing method of constraint handler for LP solutions
Definition at line 149 of file cons_integral.c.
References assert(), CONSHDLR_NAME, NULL, result, SCIP_CALL, SCIP_DIDNOTRUN, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_LPSOLSTAT_UNBOUNDEDRAY, SCIP_OKAY, SCIPbranchLP(), SCIPbranchLPExact(), SCIPconshdlrGetName(), SCIPdebugMsg, SCIPgetLPSolstat(), SCIPgetNLPBranchCands(), and SCIPisExact().
|
static |
constraint enforcing method of constraint handler for relaxation solutions
Definition at line 191 of file cons_integral.c.
References assert(), CONSHDLR_NAME, i, NULL, result, 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(), SCIPvarIsIntegral(), sol, and vars.
|
static |
feasibility check method of constraint handler for integral solutions
Definition at line 255 of file cons_integral.c.
References assert(), checkIntegralityExact(), CONSHDLR_NAME, EPSFRAC, NULL, result, SCIP_CALL, SCIP_FEASIBLE, SCIP_INFEASIBLE, SCIP_OKAY, SCIP_Real, SCIPconshdlrGetName(), SCIPdebugMsg, SCIPfeastol(), SCIPgetSolVal(), SCIPgetSolVarsData(), SCIPinfoMessage(), SCIPisExact(), SCIPisFeasIntegral(), SCIPupdateSolIntegralityViolation(), SCIPvarGetName(), sol, and vars.
|
static |
variable rounding lock method of constraint handler
Definition at line 313 of file cons_integral.c.
References SCIP_OKAY.
|
static |
constraint handler method to suggest dive bound changes during the generic diving algorithm
Definition at line 320 of file cons_integral.c.
References assert(), CONSHDLR_NAME, diveset, FALSE, NULL, roundup, 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(), sol, TRUE, and vars.