153 return isgreaterthan ?
'G' :
'L';
168 if( !(
scip->set->exact_enable) )
173 return !(
scip->set->certificate_filename[0] ==
'-' &&
scip->set->certificate_filename[1] ==
'\0');
206 const char* consname,
218 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcertifyCons",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE) );
237 const char* linename,
256 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcertifyActivityVarBound",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
261 newboundex, ismaxactivity, constraint, variable, row, vals, lhs, rhs,
vars,
nvars);
279 const char* linename,
299 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcertifyActivityVarBoundExact",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
306 certificate =
scip->stat->certificate;
322 newbound, ismaxactivity, constraint, variable->
negatedvar, row, vals, lhs, rhs,
vars,
nvars);
349 if( linename ==
NULL )
362 if(
vars[
i] == variable )
407 if( ivar == variable )
412 assert(upperboundcontribution != ismaxactivity);
487 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcertifyActivityConflict",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
499 assert(conscertificateindex != LONG_MAX);
506 for(
int i = 0;
i < nvals;
i++ )
548 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddCertificateAggrInfo",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
573 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPstoreCertificateActiveAggrInfo",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
610 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPfreeCertificateActiveAggrInfo",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
651 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPaddCertificateMirInfo",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
678 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPstoreCertificateActiveMirInfo",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
749 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPcertifyMirCut",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
778 SCIP_CALL(
SCIPcheckStage(
scip,
"SCIPfreeCertificateActiveMirInfo",
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
FALSE,
TRUE,
FALSE,
FALSE,
FALSE,
FALSE) );
internal methods for Benders' decomposition cuts
internal methods for branching rules and branching candidate storage
SCIP_CERTIFICATE * SCIPgetCertificate(SCIP *scip)
SCIP_Longint SCIPcertificateGetRowIndex(SCIP_CERTIFICATE *certificate, SCIP_ROWEXACT *row, SCIP_Bool rhs)
SCIP_RETCODE SCIPcertificatePrintMirCut(SCIP_SET *set, SCIP_LP *lp, SCIP_CERTIFICATE *certificate, SCIP_PROB *prob, SCIP_ROW *row, const char sense)
SCIP_RETCODE SCIPcertificateUpdateParentData(SCIP_CERTIFICATE *certificate, SCIP_NODE *node, SCIP_Longint fileindex, SCIP_RATIONAL *newbound)
SCIP_RETCODE SCIPcertificateSetLastBoundIndex(SCIP_CERTIFICATE *certificate, SCIP_Longint index)
SCIP_RETCODE SCIPcertificatePrintProofRational(SCIP_CERTIFICATE *certificate, SCIP_RATIONAL *val)
SCIP_Bool SCIPcertificateIsEnabled(SCIP_CERTIFICATE *certificate)
SCIP_Longint SCIPcertificateGetConsIndex(SCIP_CERTIFICATE *certificate, SCIP_CONS *cons, SCIP_RATIONAL *lhs, SCIP_RATIONAL *rhs, SCIP_Bool useRhs)
SCIP_RETCODE SCIPcertificateFreeAggrInfo(SCIP_SET *set, SCIP_CERTIFICATE *certificate, SCIP_LP *lp, SCIP_AGGREGATIONINFO *aggrinfo, SCIP_ROW *row)
SCIP_RETCODE SCIPcertificatePrintCons(SCIP_CERTIFICATE *certificate, SCIP_Bool isorigfile, const char *consname, const char sense, SCIP_RATIONAL *side, int len, int *ind, SCIP_RATIONAL **val)
void SCIPcertificatePrintProofMessage(SCIP_CERTIFICATE *certificate, const char *formatstr,...)
SCIP_RETCODE SCIPcertificateNewAggrInfo(SCIP *scip, SCIP_AGGRROW *aggrrow, SCIP_ROW **aggrrows, SCIP_Real *weights, int naggrrows, SCIP_ROW **negslackrows, SCIP_Real *negslackweights, int nnegslackrows)
SCIP_RETCODE SCIPcertificateNewMirInfo(SCIP *scip)
methods for certificate output
internal methods for clocks and timing issues
internal methods for tree compressions
data structures for concurrent solvers
helper functions for concurrent scip solvers
internal methods for conflict analysis
internal methods for storing conflicts
internal methods for constraints and constraint handlers
Constraint handler for linear constraints in their most general form, .
internal methods for storing cuts in a cut pool
methods for the aggregation rows
#define SCIPcheckStage(scip, method, init, problem, transforming, transformed, initpresolve, presolving, exitpresolve, presolved, initsolve, solving, solved, exitsolve, freetrans, freescip)
common defines and data types used in all packages of SCIP
#define SCIP_CALL_ABORT(x)
internal methods for user interface dialog
default user interface dialog
internal methods for displaying runtime statistics
internal methods for managing events
methods to interpret (evaluate) an expression "fast"
int SCIPgetNVars(SCIP *scip)
SCIP_RETCODE SCIPhashmapSetImage(SCIP_HASHMAP *hashmap, void *origin, void *image)
SCIP_RETCODE SCIPcertifyCons(SCIP *scip, SCIP_Bool isorigfile, const char *consname, const char sense, SCIP_RATIONAL *side, int len, int *ind, SCIP_RATIONAL **val)
SCIP_RETCODE SCIPaddCertificateMirInfo(SCIP *scip)
SCIP_RETCODE SCIPfreeCertificateActiveMirInfo(SCIP *scip)
SCIP_RETCODE SCIPstoreCertificateActiveAggrInfo(SCIP *scip, SCIP_ROW *row)
SCIP_RETCODE SCIPcertifyActivityVarBound(SCIP *scip, const char *linename, SCIP_BOUNDTYPE boundtype, SCIP_Real newbound, SCIP_Bool ismaxactivity, SCIP_CONS *constraint, SCIP_VAR *variable, SCIP_ROWEXACT *row, SCIP_RATIONAL **vals, SCIP_RATIONAL *lhs, SCIP_RATIONAL *rhs, SCIP_VAR **vars, int nvars)
SCIP_RETCODE SCIPcertifyActivityConflict(SCIP *scip, SCIP_CONS *cons, SCIP_ROWEXACT *row, SCIP_RATIONAL *lhs, SCIP_RATIONAL *rhs, int nvals, SCIP_RATIONAL **vals, SCIP_VAR **vars, SCIP_RATIONAL *diff, SCIP_Bool userhs)
SCIP_Bool SCIPisCertified(SCIP *scip)
SCIP_RETCODE SCIPcertifyActivityVarBoundExact(SCIP *scip, const char *linename, SCIP_BOUNDTYPE boundtype, SCIP_RATIONAL *newbound, SCIP_Bool ismaxactivity, SCIP_CONS *constraint, SCIP_VAR *variable, SCIP_ROWEXACT *row, SCIP_RATIONAL **vals, SCIP_RATIONAL *lhs, SCIP_RATIONAL *rhs, SCIP_VAR **vars, int nvars)
SCIP_RETCODE SCIPaddCertificateAggrInfo(SCIP *scip, SCIP_AGGRROW *aggrrow, SCIP_ROW **aggrrows, SCIP_Real *weights, int naggrrows, SCIP_ROW **negslackrows, SCIP_Real *negslackweights, int nnegslackrows)
SCIP_Bool SCIPshouldCertificateTrackBounds(SCIP *scip)
SCIP_RETCODE SCIPfreeCertificateActiveAggrInfo(SCIP *scip)
SCIP_RETCODE SCIPcertifyMirCut(SCIP *scip, SCIP_ROW *row)
SCIP_RETCODE SCIPstoreCertificateActiveMirInfo(SCIP *scip, SCIP_ROW *row)
const char * SCIPconshdlrGetName(SCIP_CONSHDLR *conshdlr)
SCIP_CONSHDLR * SCIPconsGetHdlr(SCIP_CONS *cons)
SCIP_Bool SCIPisExact(SCIP *scip)
#define SCIPfreeBlockMemoryArray(scip, ptr, num)
BMS_BLKMEM * SCIPblkmem(SCIP *scip)
BMS_BUFMEM * SCIPbuffer(SCIP *scip)
#define SCIPallocBlockMemoryArray(scip, ptr, num)
#define SCIPreallocBlockMemoryArray(scip, ptr, oldnum, newnum)
#define SCIPfreeBlockMemory(scip, ptr)
SCIP_Bool SCIPinProbing(SCIP *scip)
void SCIPrationalMult(SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
void SCIPrationalInvert(SCIP_RATIONAL *res, SCIP_RATIONAL *op)
void SCIPrationalFreeBlock(BMS_BLKMEM *mem, SCIP_RATIONAL **rational)
void SCIPrationalRoundInteger(SCIP_RATIONAL *res, SCIP_RATIONAL *src, SCIP_ROUNDMODE_RAT roundmode)
void SCIPrationalDiv(SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_RATIONAL *op2)
SCIP_Bool SCIPrationalIsAbsInfinity(SCIP_RATIONAL *rational)
void SCIPrationalSetReal(SCIP_RATIONAL *res, SCIP_Real real)
void SCIPrationalFreeBuffer(BMS_BUFMEM *bufmem, SCIP_RATIONAL **rational)
SCIP_Bool SCIPrationalIsPositive(SCIP_RATIONAL *rational)
SCIP_RETCODE SCIPrationalCreateBuffer(BMS_BUFMEM *bufmem, SCIP_RATIONAL **rational)
void SCIPrationalSetRational(SCIP_RATIONAL *res, SCIP_RATIONAL *src)
SCIP_Bool SCIPrationalIsIntegral(SCIP_RATIONAL *rational)
void SCIPrationalNegate(SCIP_RATIONAL *res, SCIP_RATIONAL *op)
void SCIPrationalMultReal(SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_Real op2)
void SCIPrationalAddReal(SCIP_RATIONAL *res, SCIP_RATIONAL *rat, SCIP_Real real)
void SCIPrationalAddProdReal(SCIP_RATIONAL *res, SCIP_RATIONAL *op1, SCIP_Real op2)
SCIP_RETCODE SCIPreleaseRow(SCIP *scip, SCIP_ROW **row)
SCIP_NODE * SCIPgetCurrentNode(SCIP *scip)
SCIP_Longint SCIPvarGetUbCertificateIndexLocal(SCIP_VAR *var)
SCIP_Real SCIPvarGetNegationConstant(SCIP_VAR *var)
int SCIPvarGetCertificateIndex(SCIP_VAR *var)
SCIP_VARTYPE SCIPvarGetType(SCIP_VAR *var)
SCIP_Longint SCIPvarGetLbCertificateIndexLocal(SCIP_VAR *var)
internal methods for primal heuristics
assert(minobj< SCIPgetCutoffbound(scip))
OFINS - Objective Function Induced Neighborhood Search - a primal heuristic for reoptimization.
reoptsols primal heuristic
trivialnegation primal heuristic
methods commonly used by primal heuristics
internal methods for branching and inference history
methods for implications, variable bounds, and cliques
methods for catching the user CTRL-C interrupt
internal methods for LP management
safe exact rational bounding methods
interface methods for specific LP solvers
methods for block memory pools and memory buffers
internal miscellaneous methods
internal methods for NLP management
internal methods for NLP solver interfaces
internal methods for node selectors and node priority queues
internal methods for handling parameter settings
internal methods for presolvers
methods commonly used for presolving
internal methods for variable pricers
internal methods for storing priced variables
internal methods for collecting primal CIP solutions and primal informations
internal methods for storing and manipulating the main problem
internal methods for propagators
public methods for managing constraints
wrapper functions to map file i/o to standard or zlib file i/o
public methods for LP management
public methods for message output
public data structures and miscellaneous methods
public methods for primal CIP solutions
public methods for problem variables
internal methods for input file readers
internal methods for relaxators
data structures and methods for collecting reoptimization information
internal methods for return codes for SCIP methods
static char getInequalitySense(SCIP_Bool isgreaterthan)
public methods for certified solving
public methods for constraint handler plugins and constraints
public methods for problem copies
public methods for memory management
public methods for message handling
public methods for nonlinear relaxation
public methods for numerical tolerances
public methods for SCIP parameter handling
public methods for global and local (sub)problems
public methods for solutions
public methods for querying solving statistics
public methods for SCIP variables
register additional core functionality that is designed as plugins
internal methods for separators
internal methods for storing separated cuts
internal methods for storing separated exact cuts
internal methods for global SCIP settings
internal methods for storing primal CIP solutions
internal methods for main solving loop and node processing
internal methods for Benders' decomposition
internal methods for problem statistics
SCIP_Longint certificateindex
SCIP_Longint indexcounter
SCIP_CERTIFICATEBOUND * lastinfo
SCIP_Bool workingaggrinfo
SCIP_HASHMAP * mirinfohash
SCIP_AGGREGATIONINFO ** aggrinfo
SCIP_HASHMAP * aggrinfohash
SCIP_Real * slackcoefficients
SCIP_Real * splitcoefficients
SCIP_Real * slackusedcoef
SCIP_Bool * slackroundeddown
SCIP_AGGREGATEEXACT aggregate
union SCIP_Var::@062351145146014100220174313010263165251013276204 data
SCIP_VARDATAEXACT * exactdata
data structures for certificate output
data structures for exact LP management
SCIP main data structure.
the function declarations for the synchronization store
internal methods for displaying statistics tables
internal methods for branch and bound tree
struct SCIP_Certificate SCIP_CERTIFICATE
struct SCIP_MirInfo SCIP_MIRINFO
struct SCIP_AggregationInfo SCIP_AGGREGATIONINFO
struct SCIP_Cons SCIP_CONS
struct SCIP_AggrRow SCIP_AGGRROW
enum SCIP_BoundType SCIP_BOUNDTYPE
struct SCIP_RowExact SCIP_ROWEXACT
struct SCIP_Rational SCIP_RATIONAL
enum SCIP_Retcode SCIP_RETCODE
@ SCIP_VARTYPE_CONTINUOUS
@ SCIP_VARSTATUS_ORIGINAL
@ SCIP_VARSTATUS_AGGREGATED
internal methods for problem variables
methods for creating output for visualization tools (VBC, BAK)
declarations for XML parsing