functions for certified solving
returns whether certificate output is activated
returns whether certificate output is activated
| scip | certificate information |
Definition at line 160 of file scip_certificate.c.
References assert(), FALSE, NULL, SCIP_Bool, 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_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), SCIP_DECL_HEUREXEC(), 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().
should the certificate track bound changes?
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| scip | SCIP data structure |
Definition at line 186 of file scip_certificate.c.
References SCIP_Bool, SCIP_STAGE_INITSOLVE, SCIPinProbing(), and SCIPisCertified().
Referenced by boundchgApplyExact(), SCIPboundchgApply(), SCIPboundchgUndo(), SCIPinferVarLbConsExact(), SCIPinferVarUbConsExact(), SCIPvarChgLbLocal(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocal(), SCIPvarChgUbLocalExact(), and tightenVarBounds().
| 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
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| 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 assert(), FALSE, NULL, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPcertificatePrintCons(), SCIPcheckStage, and TRUE.
Referenced by SCIPcertifyConsOrigExactLinear().
| 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
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| 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, nvars, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPbuffer(), SCIPcertifyActivityVarBoundExact(), SCIPcheckStage, SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalSetReal(), TRUE, and vars.
Referenced by tightenVarBounds().
| 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
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| 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_Var::aggregate, SCIP_VarDataExact::aggregate, assert(), SCIP_CertificateBound::boundtype, SCIP_CertificateBound::boundval, SCIP_CertificateBound::certificateindex, SCIP_AggregateExact::constant, SCIP_Var::data, SCIP_Var::exactdata, FALSE, getInequalitySense(), i, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_CertificateBound::isglobal, SCIP_Certificate::lastinfo, SCIP_Var::negatedvar, NULL, nvars, 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, vars, and SCIP_Var::varstatus.
Referenced by SCIPcertifyActivityVarBound(), SCIPcertifyActivityVarBoundExact(), and tightenVarBounds().
| 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
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| 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 assert(), SCIP_RowExact::cols, FALSE, i, SCIP_Certificate::indexcounter, NULL, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPcertificateGetConsIndex(), SCIPcertificateGetRowIndex(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPcertificateUpdateParentData(), SCIPcheckStage, SCIPgetCertificate(), SCIPgetCurrentNode(), SCIPisCertified(), SCIPrationalIsPositive(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetUbCertificateIndexLocal(), TRUE, SCIP_ColExact::var, var, and vars.
Referenced by printActivityConflictToCertificate().
| 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
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| 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 assert(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcertificateNewAggrInfo(), SCIPcheckStage, and TRUE.
Referenced by SCIPaggrRowSumRows().
| SCIP_RETCODE SCIPstoreCertificateActiveAggrInfo | ( | SCIP * | scip, |
| SCIP_ROW * | row ) |
stores the active aggregation information in the certificate data structures for a row
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| 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, assert(), FALSE, SCIP_Certificate::naggrinfos, NULL, SCIP_CALL, SCIP_OKAY, SCIPcheckStage, SCIPgetCertificate(), SCIPhashmapSetImage(), SCIPisCertified(), SCIPisExact(), TRUE, and SCIP_Certificate::workingaggrinfo.
Referenced by addCut().
| SCIP_RETCODE SCIPfreeCertificateActiveAggrInfo | ( | SCIP * | scip | ) |
frees the active aggregation information
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| scip | SCIP data structure |
Definition at line 603 of file scip_certificate.c.
References SCIP_Certificate::aggrinfo, assert(), FALSE, SCIP_Certificate::naggrinfos, NULL, SCIP_CALL, SCIP_OKAY, SCIPcertificateFreeAggrInfo(), SCIPcheckStage, SCIPgetCertificate(), SCIPisCertified(), SCIPisExact(), TRUE, and SCIP_Certificate::workingaggrinfo.
Referenced by SCIP_DECL_SEPAEXECLP().
| SCIP_RETCODE SCIPaddCertificateMirInfo | ( | SCIP * | scip | ) |
adds mir information (split, etc) to certificate for one row
scip is 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
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| scip | SCIP data structure |
Definition at line 644 of file scip_certificate.c.
References assert(), FALSE, NULL, SCIP_CALL, SCIP_OKAY, SCIPcertificateNewMirInfo(), SCIPcheckStage, and TRUE.
Referenced by calcMIRSafely().
| SCIP_RETCODE SCIPstoreCertificateActiveMirInfo | ( | SCIP * | scip, |
| SCIP_ROW * | row ) |
stores the active mir information in the certificate data structures for a row
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| scip | SCIP data structure |
| row | row that mirinfo is stored for |
Definition at line 668 of file scip_certificate.c.
References assert(), FALSE, i, 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().
| SCIP_RETCODE SCIPcertifyMirCut | ( | SCIP * | scip, |
| SCIP_ROW * | row ) |
print MIR cut to certificate file
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| 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().
| SCIP_RETCODE SCIPfreeCertificateActiveMirInfo | ( | SCIP * | scip | ) |
frees the active mir information
scip is in one of the following stages:
See SCIP_STAGE for a complete list of all possible solving stages.
| scip | SCIP data structure |
Definition at line 770 of file scip_certificate.c.
References assert(), FALSE, SCIP_MirInfo::frac, i, 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().