Scippy

SCIP

Solving Constraint Integer Programs

Detailed Description

constraint handler for the integrality constraint

Author
Tobias Achterberg

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 SCIP_RETCODE checkIntegralityExact ( SCIP scip,
SCIP_SOL sol,
SCIP_Bool  printreason,
SCIP_RESULT result 
)
static

checks whether primal solution satisfies all integrality restrictions without tolerances

Parameters
scipSCIP data structure
solsolution to be checked
printreasonshould infeasisibility reason be printed?
resultpointer 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 SCIP_DECL_CONSHDLRCOPY ( conshdlrCopyIntegral  )
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 SCIP_DECL_CONSENFOLP ( consEnfolpIntegral  )
static

◆ SCIP_DECL_CONSENFORELAX()

◆ SCIP_DECL_CONSCHECK()

static SCIP_DECL_CONSCHECK ( consCheckIntegral  )
static

◆ SCIP_DECL_CONSLOCK()

static SCIP_DECL_CONSLOCK ( consLockIntegral  )
static

variable rounding lock method of constraint handler

Definition at line 313 of file cons_integral.c.

References SCIP_OKAY.

◆ SCIP_DECL_CONSGETDIVEBDCHGS()

static SCIP_DECL_CONSGETDIVEBDCHGS ( consGetDiveBdChgsIntegral  )
static