Detailed Description
methods for certified solving
Function Documentation
◆ SCIPisCertified()
returns whether certificate output is activated
returns whether certificate output is activated
- Parameters
-
scip certificate information
Definition at line 160 of file scip_certificate.c.
References FALSE, NULL, SCIP_STAGE_SOLVING, and SCIPcertificateIsEnabled().
Referenced by addCut(), applyVbounds(), boundchgApplyGlobal(), calcMIRSafely(), createAndAddProofcons(), cutsRoundMIRSafely(), cutsSubstituteMIRSafely(), cutsTransformMIRSafely(), cutTightenCoefsSafely(), nodeReleaseParent(), priceAndCutLoop(), printActivityConflictToCertificate(), proofsetAddAggrrow(), removeExactConflictFromCertificateHashmap(), SCIP_DECL_HEUREXEC(), SCIP_DECL_SEPAEXECLP(), SCIPaggrRowSumRows(), SCIPcertificateFreeRowInfo(), SCIPcertificatePrintCutoffConflictingBounds(), SCIPcertificatePrintGlobalBound(), SCIPcertifyActivityConflict(), SCIPcertifyConsOrigExactLinear(), SCIPcertifyMirCut(), SCIPconsPrintCertificateExactLinear(), SCIPfreeCertificateActiveAggrInfo(), SCIPfreeCertificateActiveMirInfo(), SCIPgetDualProof(), SCIPgetFarkasProof(), SCIPnodeAddBoundinfer(), SCIPnodeAddBoundinferExact(), SCIPnodeUpdateLowerboundLP(), SCIPshouldCertificateTrackBounds(), SCIPsolveCIP(), SCIPstoreCertificateActiveAggrInfo(), SCIPstoreCertificateActiveMirInfo(), SCIPtreeBranchVar(), varProcessChgLbLocal(), and varProcessChgUbLocal().
◆ SCIPshouldCertificateTrackBounds()
should the certificate track bound changes?
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure
Definition at line 186 of file scip_certificate.c.
References SCIP_STAGE_INITSOLVE, SCIPinProbing(), and SCIPisCertified().
Referenced by boundchgApplyExact(), SCIPboundchgApply(), SCIPboundchgUndo(), SCIPinferVarLbConsExact(), SCIPinferVarUbConsExact(), SCIPvarChgLbLocal(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocal(), SCIPvarChgUbLocalExact(), and tightenVarBounds().
◆ SCIPcertifyCons()
| SCIP_RETCODE SCIPcertifyCons | ( | SCIP * | scip, |
| SCIP_Bool | isorigfile, | ||
| const char * | consname, | ||
| const char | sense, | ||
| SCIP_RATIONAL * | side, | ||
| int | len, | ||
| int * | ind, | ||
| SCIP_RATIONAL ** | val | ||
| ) |
prints constraint to certificate
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip certificate information isorigfile should the original solution be printed or in transformed space consname name of the constraint sense sense of the constraint, i.e., G, L, or E side left/right-hand side len number of nonzeros ind index array val coefficient array
Definition at line 203 of file scip_certificate.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcertificatePrintCons(), SCIPcheckStage, and TRUE.
Referenced by SCIPcertifyConsOrigExactLinear().
◆ SCIPcertifyActivityVarBound()
| 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 | ||
| ) |
prints activity bound to proof section
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure linename name of the unsplitting line boundtype type of bound (upper/lower) newbound pointer to lower bound on the objective, NULL indicating infeasibility ismaxactivity TRUE for maxactivity, FALSE for minactivity constraint the constraint variable the variable row the corresponding row, or NULL if constraint has no row representation vals value array lhs lhs of the constraint rhs rhs of the constraint vars variable array nvars number of values
Definition at line 235 of file scip_certificate.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPbuffer(), SCIPcertifyActivityVarBoundExact(), SCIPcheckStage, SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalSetReal(), and TRUE.
Referenced by tightenVarBounds().
◆ SCIPcertifyActivityVarBoundExact()
| 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 | ||
| ) |
prints activity bound to proof section
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure linename name of the unsplitting line boundtype type of bound (upper/lower) newbound pointer to lower bound on the objective, NULL indicating infeasibility ismaxactivity TRUE for maxactivity, FALSE for minactivity constraint the constraint variable the variable row the corresponding row, or NULL if constraint has no row representation vals value array lhs lhs of the constraint rhs rhs of the constraint vars variable array nvars number of values
Definition at line 277 of file scip_certificate.c.
References SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_CertificateBound::boundtype, SCIP_CertificateBound::boundval, SCIP_CertificateBound::certificateindex, SCIP_AggregateExact::constant, SCIP_Var::data, SCIP_Var::exactdata, FALSE, getInequalitySense(), SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_CertificateBound::isglobal, SCIP_Certificate::lastinfo, SCIP_Var::negatedvar, NULL, SCIP_AggregateExact::scalar, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_CALL_ABORT, SCIP_ERROR, SCIP_Longint, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIP_R_ROUND_UPWARDS, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIP_VARTYPE_CONTINUOUS, SCIPABORT, SCIPcertificateGetConsIndex(), SCIPcertificateGetRowIndex(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPcertificateSetLastBoundIndex(), SCIPcertifyActivityVarBoundExact(), SCIPcheckStage, SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPrationalAddProdReal(), SCIPrationalAddReal(), SCIPrationalDiv(), SCIPrationalInvert(), SCIPrationalIsAbsInfinity(), SCIPrationalIsIntegral(), SCIPrationalIsPositive(), SCIPrationalMult(), SCIPrationalMultReal(), SCIPrationalNegate(), SCIPrationalRoundInteger(), SCIPrationalSetRational(), SCIPvarGetCertificateIndex(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetNegationConstant(), SCIPvarGetType(), SCIPvarGetUbCertificateIndexLocal(), SCIP_Certificate::transfile, TRUE, SCIP_Aggregate::var, SCIP_CertificateBound::varindex, and SCIP_Var::varstatus.
Referenced by SCIPcertifyActivityVarBound(), SCIPcertifyActivityVarBoundExact(), and tightenVarBounds().
◆ SCIPcertifyActivityConflict()
| 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 | ||
| ) |
prints activity conflict to certificate file
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure cons constraint row corresponding row, or NULL if constraint does not have representation as row lhs lhs of the constraint rhs rhs of the constraint nvals number of values vals value array vars variable array diff difference between min/max activity as lhs/rhs userhs is rhs or lhs used
Definition at line 471 of file scip_certificate.c.
References SCIP_RowExact::cols, FALSE, SCIP_Certificate::indexcounter, NULL, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPcertificateGetConsIndex(), SCIPcertificateGetRowIndex(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPcertificateUpdateParentData(), SCIPcheckStage, SCIPgetCertificate(), SCIPgetCurrentNode(), SCIPisCertified(), SCIPrationalIsPositive(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetUbCertificateIndexLocal(), TRUE, and SCIP_ColExact::var.
Referenced by printActivityConflictToCertificate().
◆ SCIPaddCertificateAggrInfo()
| SCIP_RETCODE SCIPaddCertificateAggrInfo | ( | SCIP * | scip, |
| SCIP_AGGRROW * | aggrrow, | ||
| SCIP_ROW ** | aggrrows, | ||
| SCIP_Real * | weights, | ||
| int | naggrrows, | ||
| SCIP_ROW ** | negslackrows, | ||
| SCIP_Real * | negslackweights, | ||
| int | nnegslackrows | ||
| ) |
adds aggregation information to certificate for one row
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure aggrrow agrrrow that results from the aggregation aggrrows array of rows used fo the aggregation weights array of weights naggrrows length of the arrays negslackrows array of rows that are added implicitly with negative slack negslackweights array of negative slack weights nnegslackrows length of the negative slack array
Definition at line 534 of file scip_certificate.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcertificateNewAggrInfo(), SCIPcheckStage, and TRUE.
Referenced by SCIPaggrRowSumRows().
◆ SCIPstoreCertificateActiveAggrInfo()
| SCIP_RETCODE SCIPstoreCertificateActiveAggrInfo | ( | SCIP * | scip, |
| SCIP_ROW * | row | ||
| ) |
stores the active aggregation information in the certificate data structures for a row
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure row row that aggregation-info is stored for
Definition at line 565 of file scip_certificate.c.
References SCIP_Certificate::aggrinfo, SCIP_Certificate::aggrinfohash, FALSE, SCIP_Certificate::naggrinfos, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPgetCertificate(), SCIPhashmapSetImage(), SCIPisCertified(), SCIPisExact(), TRUE, and SCIP_Certificate::workingaggrinfo.
Referenced by addCut().
◆ SCIPfreeCertificateActiveAggrInfo()
| SCIP_RETCODE SCIPfreeCertificateActiveAggrInfo | ( | SCIP * | scip | ) |
frees the active aggregation information
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure
Definition at line 603 of file scip_certificate.c.
References SCIP_Certificate::aggrinfo, FALSE, SCIP_Certificate::naggrinfos, NULL, SCIP_CALL, SCIP_OKAY, SCIPcertificateFreeAggrInfo(), SCIPcheckStage, SCIPgetCertificate(), SCIPisCertified(), SCIPisExact(), TRUE, and SCIP_Certificate::workingaggrinfo.
Referenced by SCIP_DECL_SEPAEXECLP().
◆ SCIPaddCertificateMirInfo()
| SCIP_RETCODE SCIPaddCertificateMirInfo | ( | SCIP * | scip | ) |
adds mir information (split, etc) to certificate for one row
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
adds aggregation information to certificate for one row
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure
Definition at line 644 of file scip_certificate.c.
References FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcertificateNewMirInfo(), SCIPcheckStage, and TRUE.
Referenced by calcMIRSafely().
◆ SCIPstoreCertificateActiveMirInfo()
| SCIP_RETCODE SCIPstoreCertificateActiveMirInfo | ( | SCIP * | scip, |
| SCIP_ROW * | row | ||
| ) |
stores the active mir information in the certificate data structures for a row
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure row row that mirinfo is stored for
Definition at line 668 of file scip_certificate.c.
References FALSE, SCIP_MirInfo::localbdused, SCIP_Certificate::mirinfo, SCIP_Certificate::mirinfohash, SCIP_Certificate::nmirinfos, SCIP_MirInfo::nslacks, SCIP_MirInfo::nsplitvars, NULL, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemoryArray, SCIPcheckStage, SCIPgetCertificate(), SCIPgetNVars(), SCIPhashmapSetImage(), SCIPisCertified(), SCIPisExact(), SCIPreallocBlockMemoryArray, SCIP_MirInfo::slackcoefficients, SCIP_MirInfo::slackroundeddown, SCIP_MirInfo::slackrows, SCIP_MirInfo::slackscale, SCIP_MirInfo::slacksign, SCIP_MirInfo::slackusedcoef, SCIP_MirInfo::slackweight, SCIP_MirInfo::splitcoefficients, TRUE, SCIP_MirInfo::upperused, SCIP_MirInfo::varinds, and SCIP_Certificate::workingmirinfo.
Referenced by addCut().
◆ SCIPcertifyMirCut()
| SCIP_RETCODE SCIPcertifyMirCut | ( | SCIP * | scip, |
| SCIP_ROW * | row | ||
| ) |
print MIR cut to certificate file
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure row row that needs to be certified
Definition at line 742 of file scip_certificate.c.
References FALSE, SCIP_CALL, SCIP_OKAY, SCIPcertificatePrintMirCut(), SCIPcheckStage, SCIPgetCertificate(), SCIPisCertified(), SCIPisExact(), and TRUE.
Referenced by addCut().
◆ SCIPfreeCertificateActiveMirInfo()
| SCIP_RETCODE SCIPfreeCertificateActiveMirInfo | ( | SCIP * | scip | ) |
frees the active mir information
- Returns
- SCIP_OKAY is returned if everything worked. Otherwise a suitable error code is passed. See SCIP_RETCODE for a complete list of error codes.
- Precondition
- This method can be called if
scipis in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
- Parameters
-
scip SCIP data structure
Definition at line 770 of file scip_certificate.c.
References FALSE, SCIP_MirInfo::frac, SCIP_MirInfo::localbdused, SCIP_Certificate::mirinfo, SCIP_Certificate::nmirinfos, SCIP_MirInfo::nslacks, NULL, SCIP_MirInfo::rhs, SCIP_CALL, SCIP_OKAY, SCIPblkmem(), SCIPcheckStage, SCIPfreeBlockMemory, SCIPfreeBlockMemoryArray, SCIPgetCertificate(), SCIPgetNVars(), SCIPisCertified(), SCIPisExact(), SCIPrationalFreeBlock(), SCIPreleaseRow(), SCIP_MirInfo::slackcoefficients, SCIP_MirInfo::slackroundeddown, SCIP_MirInfo::slackrows, SCIP_MirInfo::slackscale, SCIP_MirInfo::slacksign, SCIP_MirInfo::slackusedcoef, SCIP_MirInfo::slackweight, SCIP_MirInfo::splitcoefficients, TRUE, SCIP_MirInfo::upperused, SCIP_MirInfo::varinds, and SCIP_Certificate::workingmirinfo.
Referenced by SCIP_DECL_SEPAEXECLP().