methods for certificate output
Definition in file certificate.h.
#include "scip/def.h"#include "scip/type_set.h"#include "scip/type_cuts.h"#include "scip/type_stat.h"#include "scip/type_tree.h"#include "scip/type_certificate.h"#include "scip/type_message.h"#include "scip/type_rational.h"#include "scip/type_sol.h"#include "scip/type_lpexact.h"#include "scip/type_cons.h"#include "scip/type_var.h"#include "scip/pub_fileio.h"#include "scip/type_prob.h"#include "blockmemshell/memory.h"Go to the source code of this file.
| SCIP_RETCODE SCIPcertificateCreate | ( | SCIP_CERTIFICATE ** | certificate, |
| SCIP_MESSAGEHDLR * | messagehdlr ) |
creates certificate data structure
| certificate | pointer to store the certificate information |
| messagehdlr | message handler |
Definition at line 360 of file certificate.cpp.
References BMSallocMemory, FALSE, NULL, SCIP_ALLOC, SCIP_OKAY, and SCIP_REAL_MAX.
Referenced by SCIPstatCreate().
| void SCIPcertificateFree | ( | SCIP_CERTIFICATE ** | certificate | ) |
frees certificate data structure
| certificate | pointer to store the certificate information |
Definition at line 403 of file certificate.cpp.
References assert(), BMSfreeMemory, and NULL.
Referenced by SCIPstatFree().
| SCIP_RETCODE SCIPcertificateInit | ( | SCIP * | scip, |
| SCIP_CERTIFICATE * | certificate, | ||
| BMS_BLKMEM * | blkmem, | ||
| SCIP_SET * | set, | ||
| SCIP_MESSAGEHDLR * | messagehdlr ) |
initializes certificate information and creates files for certificate output
| scip | scip data structure |
| certificate | certificate information |
| blkmem | block memory |
| set | global SCIP settings |
| messagehdlr | message handler |
Definition at line 418 of file certificate.cpp.
References SCIP_Certificate::aggrinfo, SCIP_Certificate::aggrinfohash, SCIP_Certificate::aggrinfosize, assert(), SCIP_Certificate::blkmem, BMSallocMemoryArray, BMScopyMemoryArray, SCIP_Certificate::derivationfile, SCIP_Certificate::derivationfilename, FALSE, SCIP_Certificate::finalbound, SCIP_Certificate::maxfilesize, SCIP_Certificate::mirinfo, SCIP_Certificate::mirinfohash, SCIP_Certificate::mirinfosize, SCIP_Certificate::nodedatahash, NULL, nvars, SCIP_Certificate::origfile, SCIP_Certificate::origfilename, SCIP_Certificate::rootbound, SCIP_Certificate::rowdatahash, SCIP_ALLOC, SCIP_CALL, SCIP_ERROR, SCIP_FILECREATEERROR, SCIP_HASHSIZE_CERTIFICATE, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIP_VERBLEVEL_NORMAL, SCIPABORT, SCIPallocBlockMemoryArray, SCIPblkmem(), SCIPbuffer(), SCIPcertificatePrintBoundCons(), SCIPcertificatePrintConsHeader(), SCIPcertificatePrintIntHeader(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintVarHeader(), SCIPcertificatePrintVersionHeader(), SCIPcertificateSetAndPrintObjective(), SCIPcertifyConsOrigExactLinear(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPerrorMessage, SCIPfopen(), SCIPgetLhsExactLinear(), SCIPgetNConss(), SCIPgetNOrigConss(), SCIPgetNVars(), SCIPgetOrigConss(), SCIPgetOrigVarsData(), SCIPgetRhsExactLinear(), SCIPgetVarsData(), SCIPhashmapCreate(), SCIPmessagePrintVerbInfo(), SCIPprintSysError(), SCIPrationalCreateBlock(), SCIPrationalCreateBlockArray(), SCIPrationalCreateBufferArray(), SCIPrationalFreeBufferArray(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalSetRational(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetCertificateIndex(), SCIPvarGetLbGlobalExact(), SCIPvarGetName(), SCIPvarGetObjExact(), SCIPvarGetType(), SCIPvarGetUbGlobalExact(), SCIPvarSetCertificateIndex(), SCIP_Certificate::transfile, TRUE, SCIP_Certificate::vals, SCIP_Certificate::valssize, and vars.
Referenced by initSolve().
| SCIP_RETCODE SCIPcertificateInitTransFile | ( | SCIP * | scip | ) |
initializes certificate information and creates files for certificate output
| scip | scip data structure |
Definition at line 617 of file certificate.cpp.
References assert(), cutoff, SCIP_Certificate::derivationfile, FALSE, SCIP_Certificate::indexcounter, NULL, nvars, SCIP_Certificate::origfile, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_FILECREATEERROR, SCIP_OKAY, SCIP_VARTYPE_BINARY, SCIP_VARTYPE_INTEGER, SCIPABORT, SCIPblkmem(), SCIPbuffer(), SCIPcertificatePrintBoundCons(), SCIPcertificatePrintConsHeader(), SCIPcertificatePrintIntHeader(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintVarHeader(), SCIPcertificatePrintVersionHeader(), SCIPcertificateSetAndPrintObjective(), SCIPconsGetHdlr(), SCIPconshdlrGetName(), SCIPconsPrintCertificateExactLinear(), SCIPconstructLP(), SCIPdebug, SCIPdebugMessage, SCIPerrorMessage, SCIPgetCertificate(), SCIPgetConss(), SCIPgetLhsExactLinear(), SCIPgetNConss(), SCIPgetRhsExactLinear(), SCIPgetVarsData(), SCIPisLPConstructed(), SCIPprintCons(), SCIPprintSysError(), SCIPrationalCreateBufferArray(), SCIPrationalFreeBufferArray(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalSetRational(), SCIPvarGetCertificateIndex(), SCIPvarGetLbGlobalExact(), SCIPvarGetName(), SCIPvarGetObjExact(), SCIPvarGetType(), SCIPvarGetUbGlobalExact(), SCIPvarSetCertificateIndex(), SCIPvarSetLbCertificateIndexGlobal(), SCIPvarSetUbCertificateIndexGlobal(), SCIP_Certificate::transfile, SCIP_Certificate::transfile_initialized, TRUE, and vars.
Referenced by SCIPsolveCIP().
| SCIP_RETCODE SCIPcertificateExit | ( | SCIP * | scip | ) |
closes the certificate output files
| scip | scip data structure |
Definition at line 803 of file certificate.cpp.
References SCIP_Certificate::aggrinfohash, assert(), SCIP_Certificate::blkmem, BMSfreeBlockMemory, BMSfreeMemoryArray, SCIP_CertificateBound::boundval, checkAndUpdateFilesize(), concatenateCertificate(), SCIP_Certificate::derivationfile, SCIP_Certificate::derivationfilename, FALSE, SCIP_Certificate::filesize, SCIP_Certificate::finalbound, SCIP_Certificate::indexcounter, SCIP_Certificate::lastinfo, SCIP_Certificate::mirinfohash, SCIP_Certificate::nodedatahash, NULL, SCIP_Certificate::origfile, SCIP_Certificate::origfilename, SCIP_Certificate::rootbound, SCIP_Certificate::rowdatahash, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIP_VERBLEVEL_NORMAL, SCIPcertificateClearAggrinfo(), SCIPcertificateClearMirinfo(), SCIPcertificateIsEnabled(), SCIPdebugMessage, SCIPfclose(), SCIPfprintf(), SCIPgetCertificate(), SCIPgetMessagehdlr(), SCIPhashmapFree(), SCIPhashmapIsEmpty(), SCIPmessagePrintVerbInfo(), SCIPrationalFreeBlock(), SCIPrationalFreeBlockArray(), SCIP_Certificate::transfile, TRUE, SCIP_Certificate::vals, and SCIP_Certificate::valssize.
Referenced by freeSolve().
| SCIP_CERTIFICATE * SCIPgetCertificate | ( | SCIP * | scip | ) |
returns certificate data structure
Definition at line 885 of file certificate.cpp.
References assert(), and NULL.
Referenced by boundchgApplyExact(), boundchgApplyGlobal(), calcMIRSafely(), createAndAddProofcons(), cutsRoundMIRSafely(), cutsSubstituteMIRSafely(), cutsTransformMIRSafely(), cutTightenCoefsSafely(), freeSolve(), removeExactConflictFromCertificateHashmap(), SCIPboundchgApply(), SCIPboundchgUndo(), SCIPcertificateClearAggrinfo(), SCIPcertificateClearMirinfo(), SCIPcertificateExit(), SCIPcertificateFreeRowInfo(), SCIPcertificateInitTransFile(), SCIPcertificateNewAggrInfo(), SCIPcertificateNewMirInfo(), SCIPcertifyActivityConflict(), SCIPcertifyMirCut(), SCIPconsPrintCertificateExactLinear(), SCIPfreeCertificateActiveAggrInfo(), SCIPfreeCertificateActiveMirInfo(), SCIPfreeSolve(), SCIPgetDualProof(), SCIPgetFarkasProof(), SCIPinferVarLbConsExact(), SCIPinferVarUbConsExact(), SCIPsolve(), SCIPstoreCertificateActiveAggrInfo(), SCIPstoreCertificateActiveMirInfo(), SCIPvarChgLbLocal(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocal(), SCIPvarChgUbLocalExact(), SCIPvarGetLbCertificateIndexGlobal(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetUbCertificateIndexGlobal(), SCIPvarGetUbCertificateIndexLocal(), varProcessChgLbLocal(), and varProcessChgUbLocal().
| SCIP_Bool SCIPcertificateIsEnabled | ( | SCIP_CERTIFICATE * | certificate | ) |
returns whether the certificate output is activated
| certificate | certificate information |
Definition at line 896 of file certificate.cpp.
References SCIP_Certificate::derivationfile, FALSE, NULL, SCIP_Certificate::origfile, SCIP_Bool, SCIP_Certificate::transfile, and TRUE.
Referenced by certificateFreeNodeData(), certificateIsLeftNode(), certificatePrintDualbound(), certificatePrintMirSplit(), certificatePrintRow(), certificatePrintWeakDerStart(), printBoundAssumption(), SCIPcertificateClearAggrinfo(), SCIPcertificateClearMirinfo(), SCIPcertificateEnsureLastBoundInfoConsistent(), SCIPcertificateExit(), SCIPcertificateFreeAggrInfo(), SCIPcertificateFreeMirInfo(), SCIPcertificateGetCurrentIndex(), SCIPcertificateGetFilesize(), SCIPcertificateGetLastBoundIndex(), SCIPcertificateNewAggrInfo(), SCIPcertificateNewMirInfo(), SCIPcertificateNewNodeData(), SCIPcertificatePrintAggrrow(), SCIPcertificatePrintBoundCons(), SCIPcertificatePrintCons(), SCIPcertificatePrintConsHeader(), SCIPcertificatePrintCutoffBound(), SCIPcertificatePrintDerHeader(), SCIPcertificatePrintDualboundExactLP(), SCIPcertificatePrintDualboundPseudo(), SCIPcertificatePrintInheritedBound(), SCIPcertificatePrintIntHeader(), SCIPcertificatePrintMirCut(), SCIPcertificatePrintProblemComment(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPcertificatePrintProofComment(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPcertificatePrintResult(), SCIPcertificatePrintRtpInfeas(), SCIPcertificatePrintRtpRange(), SCIPcertificatePrintUnsplitting(), SCIPcertificatePrintVarHeader(), SCIPcertificatePrintVersionHeader(), SCIPcertificateSaveFinalbound(), SCIPcertificateSetAndPrintObjective(), SCIPcertificateSetLastBoundIndex(), SCIPcertificateUpdateBoundData(), SCIPcertificateUpdateBranchingData(), SCIPcertificateUpdateParentData(), SCIPdomchgAddCurrentCertificateIndex(), SCIPfreeSolve(), and SCIPisCertified().
| SCIP_Real SCIPcertificateGetFilesize | ( | SCIP_CERTIFICATE * | certificate | ) |
returns current certificate index (return -1 if certificate not active)
returns current certificate file size in MB
| certificate | certificate information |
Definition at line 906 of file certificate.cpp.
References SCIP_Certificate::filesize, SCIP_Real, and SCIPcertificateIsEnabled().
| SCIP_Longint SCIPcertificateGetCurrentIndex | ( | SCIP_CERTIFICATE * | certificate | ) |
returns current certificate index
returns current certificate index (return -1 if certificate not active)
| certificate | certificate information |
Definition at line 917 of file certificate.cpp.
References SCIP_Certificate::indexcounter, SCIP_Longint, and SCIPcertificateIsEnabled().
Referenced by SCIPdomchgAddCurrentCertificateIndex(), SCIPinferVarLbConsExact(), SCIPinferVarUbConsExact(), SCIPnodeAddBoundinfer(), SCIPnodeAddBoundinferExact(), SCIPvarGetLbCertificateIndexGlobal(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetUbCertificateIndexGlobal(), and SCIPvarGetUbCertificateIndexLocal().
| SCIP_Bool SCIPcertificateEnsureLastBoundInfoConsistent | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_VAR * | var, | ||
| SCIP_BOUNDTYPE | boundtype, | ||
| SCIP_Real | newbound, | ||
| SCIP_Bool | needsglobal ) |
checks if information is consistent with printed certificate line
| certificate | certificate information |
| var | variable that gets changed |
| boundtype | lb or ub changed? |
| newbound | new bound |
| needsglobal | if the bound needs to be global |
Definition at line 929 of file certificate.cpp.
References assert(), SCIP_CertificateBound::boundtype, SCIP_CertificateBound::boundval, SCIP_CertificateBound::certificateindex, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_CertificateBound::isglobal, SCIP_Certificate::lastinfo, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_R_ROUND_DOWNWARDS, SCIP_R_ROUND_UPWARDS, SCIP_Real, SCIPcertificateIsEnabled(), SCIPrationalRoundReal(), SCIPvarGetCertificateIndex(), TRUE, var, and SCIP_CertificateBound::varindex.
Referenced by boundchgApplyGlobal(), and SCIPdomchgAddCurrentCertificateIndex().
| SCIP_RETCODE SCIPcertificateSetAndPrintObjective | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| BMS_BLKMEM * | blkmem, | ||
| SCIP_RATIONAL ** | coefs, | ||
| int | nvars ) |
sets the objective function used when printing dual bounds
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
| blkmem | block memory |
| coefs | objective function coefficients |
| nvars | number of variables |
Definition at line 964 of file certificate.cpp.
References assert(), BMSallocBlockMemory, SCIP_CertificateBound::boundval, i, SCIP_Certificate::lastinfo, NULL, nvars, obj, SCIP_ALLOC, SCIP_Bool, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPrationalCreateBlock(), SCIPrationalIsZero(), and SCIPsnprintf().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
| void SCIPcertificatePrintProblemMessage | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| const char * | formatstr, | ||
| ... ) |
prints a string to the problem section of the certificate file
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
| formatstr | format string like in printf() function |
| ... | format arguments line in printf() function |
Definition at line 1147 of file certificate.cpp.
References checkAndUpdateFilesize(), SCIP_Certificate::origfile, SCIP_Bool, SCIP_MAXSTRLEN, SCIPcertificateIsEnabled(), SCIPfprintf(), and SCIP_Certificate::transfile.
Referenced by certificatePrintSol(), SCIPcertificateInit(), SCIPcertificateInitTransFile(), SCIPcertificatePrintBoundCons(), SCIPcertificatePrintCons(), SCIPcertificatePrintConsHeader(), SCIPcertificatePrintDerHeader(), SCIPcertificatePrintIntHeader(), SCIPcertificatePrintRtpInfeas(), SCIPcertificatePrintRtpRange(), SCIPcertificatePrintVarHeader(), SCIPcertificatePrintVersionHeader(), and SCIPcertificateSetAndPrintObjective().
| void SCIPcertificatePrintProofMessage | ( | SCIP_CERTIFICATE * | certificate, |
| const char * | formatstr, | ||
| ... ) |
prints a string to the proof section of the certificate file
| certificate | certificate information |
| formatstr | format string like in printf() function |
| ... | format arguments line in printf() function |
Definition at line 1175 of file certificate.cpp.
References checkAndUpdateFilesize(), SCIP_Certificate::derivationfile, SCIP_MAXSTRLEN, SCIPcertificateIsEnabled(), and SCIPfprintf().
Referenced by certificatePrintDualbound(), certificatePrintMirSplit(), certificatePrintRow(), certificatePrintWeakDerStart(), printBoundAssumption(), SCIPcertificatePrintAggrrow(), SCIPcertificatePrintCutoffBound(), SCIPcertificatePrintCutoffConflictingBounds(), SCIPcertificatePrintGlobalBound(), SCIPcertificatePrintMirCut(), SCIPcertificatePrintUnsplitting(), SCIPcertifyActivityConflict(), and SCIPcertifyActivityVarBoundExact().
| SCIP_RETCODE SCIPcertificatePrintProblemRational | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| SCIP_RATIONAL * | val ) |
prints a rational number to the problem section of the certificate file
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
| val | rational number to print |
Definition at line 1199 of file certificate.cpp.
References BMSallocMemoryArray, BMSfreeMemoryArray, checkAndUpdateFilesize(), NULL, SCIP_Certificate::origfile, SCIP_ALLOC, SCIP_Bool, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPfputs(), SCIPrationalStrLen(), SCIPrationalToString(), and SCIP_Certificate::transfile.
Referenced by certificatePrintSol(), SCIPcertificatePrintBoundCons(), SCIPcertificatePrintCons(), SCIPcertificatePrintRtpRange(), and SCIPcertificateSetAndPrintObjective().
| SCIP_RETCODE SCIPcertificatePrintProofRational | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_RATIONAL * | val ) |
prints a rational number to the proof section of the certificate file
| certificate | certificate information |
| val | rational number to print |
Definition at line 1228 of file certificate.cpp.
References BMSallocMemoryArray, BMSfreeMemoryArray, checkAndUpdateFilesize(), SCIP_Certificate::derivationfile, NULL, SCIP_ALLOC, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPfputs(), SCIPrationalStrLen(), and SCIPrationalToString().
Referenced by certificatePrintDualbound(), certificatePrintMirSplit(), certificatePrintRow(), certificatePrintWeakDerStart(), printBoundAssumption(), SCIPcertificatePrintAggrrow(), SCIPcertificatePrintCutoffBound(), SCIPcertificatePrintCutoffConflictingBounds(), SCIPcertificatePrintGlobalBound(), SCIPcertificatePrintMirCut(), SCIPcertificatePrintUnsplitting(), SCIPcertifyActivityConflict(), and SCIPcertifyActivityVarBoundExact().
| void SCIPcertificatePrintProblemComment | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| const char * | formatstr, | ||
| ... ) |
prints a comment to the problem section of the certificate file
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
| formatstr | format string like in printf() function |
| ... | format arguments line in printf() function |
Definition at line 1252 of file certificate.cpp.
References checkAndUpdateFilesize(), SCIP_Certificate::origfile, SCIP_Bool, SCIP_MAXSTRLEN, SCIPcertificateIsEnabled(), SCIPfprintf(), and SCIP_Certificate::transfile.
| void SCIPcertificatePrintProofComment | ( | SCIP_CERTIFICATE * | certificate, |
| const char * | formatstr, | ||
| ... ) |
prints a comment to the proof section of the certificate file
| certificate | certificate information |
| formatstr | format string like in printf() function |
| ... | format arguments line in printf() function |
Definition at line 1282 of file certificate.cpp.
References checkAndUpdateFilesize(), SCIP_Certificate::derivationfile, SCIP_MAXSTRLEN, SCIPcertificateIsEnabled(), and SCIPfprintf().
| void SCIPcertificatePrintVarHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| int | nvars ) |
prints variable section header
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
| nvars | number of variables |
Definition at line 1322 of file certificate.cpp.
References assert(), NULL, nvars, SCIP_Bool, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
| void SCIPcertificatePrintVersionHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile ) |
prints version header
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
Definition at line 1307 of file certificate.cpp.
References assert(), NULL, SCIP_Bool, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
| void SCIPcertificatePrintIntHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| int | nintvars ) |
prints integer section header
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
| nintvars | number of integer variables |
Definition at line 1340 of file certificate.cpp.
References assert(), NULL, SCIP_Bool, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
| void SCIPcertificatePrintConsHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| int | nconss, | ||
| int | nboundconss ) |
prints constraint section header
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
| nconss | number of all constraints |
| nboundconss | number of bound constraints |
Definition at line 1358 of file certificate.cpp.
References assert(), NULL, SCIP_Bool, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
| void SCIPcertificatePrintDerHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile ) |
prints derivation section header
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
Definition at line 1377 of file certificate.cpp.
References assert(), SCIP_Certificate::conscounter, SCIP_Certificate::indexcounter, NULL, SCIP_Bool, SCIP_Longint, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificatePrintResult().
| 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 ) |
prints constraint
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
| 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 1399 of file certificate.cpp.
References SCIP_Certificate::conscounter, FALSE, i, SCIP_Certificate::indexcounter, SCIP_Certificate::indexcounter_ori, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, NULL, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProblemMessage(), and SCIPcertificatePrintProblemRational().
Referenced by SCIPcertifyCons(), and SCIPconsPrintCertificateExactLinear().
| SCIP_RETCODE SCIPcertificatePrintMirCut | ( | SCIP_SET * | set, |
| SCIP_LP * | lp, | ||
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_PROB * | prob, | ||
| SCIP_ROW * | row, | ||
| const char | sense ) |
prints verification of row as a MIR cut (viewed as a split cut)
| set | SCIP settings |
| lp | SCIP lp data structure |
| certificate | certificate information |
| prob | SCIP problem data |
| row | the row to be printed |
| sense | sense of the constraint, i.e., G, L, or E |
Definition at line 1778 of file certificate.cpp.
References SCIP_Certificate::aggrinfohash, SCIP_AggregationInfo::aggrrows, assert(), certificatePrintMirSplit(), certificatePrintRow(), certificatePrintWeakDerStart(), SCIP_MirInfo::frac, i, SCIP_Certificate::indexcounter, SCIP_Certificate::mirinfohash, SCIP_AggregationInfo::naggrrows, SCIP_Row::name, SCIP_AggregationInfo::negslackrows, SCIP_AggregationInfo::negslackweights, SCIP_AggregationInfo::nnegslackrows, SCIP_MirInfo::nrounddownslacks, SCIP_MirInfo::nslacks, NULL, SCIP_Certificate::rowdatahash, SCIP_MirInfo::scale, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIPcertificateFreeAggrInfo(), SCIPcertificateFreeMirInfo(), SCIPcertificateGetRowIndex(), SCIPcertificateIsEnabled(), SCIPcertificatePrintMirCut(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPdebug, SCIPdebugMessage, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapInsertLong(), SCIPlpGetNRows(), SCIPlpGetRows(), SCIPrationalAddReal(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiff(), SCIPrationalDiffReal(), SCIPrationalDiv(), SCIPrationalDivReal(), SCIPrationalFreeBuffer(), SCIPrationalGetReal(), SCIPrationalIsPositive(), SCIPrationalMultReal(), SCIPrationalNegate(), SCIPrationalRoundLong(), SCIPrationalSetRational(), SCIPrationalSetReal(), SCIProwExactPrint(), SCIProwGetRowExact(), SCIProwIsLocal(), SCIPsetInfinity(), SCIPsetIsInfinity(), SCIP_MirInfo::slackcoefficients, SCIP_MirInfo::slackroundeddown, SCIP_MirInfo::slackrows, SCIP_MirInfo::slackscale, SCIP_MirInfo::slacksign, SCIP_MirInfo::slackusedcoef, SCIP_MirInfo::slackweight, SCIP_AggregationInfo::substfactor, SCIP_MirInfo::unroundedrhs, and SCIP_AggregationInfo::weights.
Referenced by SCIPcertificatePrintDualboundExactLP(), SCIPcertificatePrintMirCut(), SCIPcertifyMirCut(), SCIPgetDualProof(), and SCIPgetFarkasProof().
| SCIP_RETCODE SCIPcertificatePrintCutoffBound | ( | SCIP * | scip, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_RATIONAL * | bound, | ||
| SCIP_Longint * | certificateline ) |
prints cutoff bound for objective value
| scip | SCIP data structure |
| certificate | SCIP certificate |
| bound | the bound |
| certificateline | save the line index |
Definition at line 2669 of file certificate.cpp.
References bound, SCIP_Certificate::indexcounter, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIPbuffer(), SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPisObjIntegral(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsIntegral(), SCIPrationalRoundInteger(), and SCIPrationalSetRational().
Referenced by SCIPgetDualProof().
| SCIP_RETCODE SCIPcertificatePrintAggrrow | ( | SCIP_SET * | set, |
| SCIP_PROB * | prob, | ||
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_AGGRROW * | aggrrow, | ||
| SCIP_ROW ** | aggrrows, | ||
| SCIP_Real * | weights, | ||
| int | naggrrows, | ||
| SCIP_Bool | local, | ||
| SCIP_Longint * | certificateline ) |
create a new node data structure for the current node
| set | general SCIP settings |
| prob | SCIP problem data |
| certificate | SCIP certificate |
| aggrrow | agrrrow that results from the aggregation |
| aggrrows | array of rows used fo the aggregation |
| weights | array of weights |
| naggrrows | length of the arrays |
| local | true if local bound information can be used |
| certificateline | pointer to store the certificate line index or NULL |
Definition at line 2700 of file certificate.cpp.
References assert(), certificatePrintWeakDerStart(), FALSE, i, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, NULL, SCIP_Certificate::rowdatahash, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPaggrRowGetInds(), SCIPaggrRowGetNNz(), SCIPaggrRowGetRhs(), SCIPaggrRowGetValueSafely(), SCIPaggrRowPrint(), SCIPcertificateGetRowIndex(), SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPdebug, SCIPdebugMessage, SCIPhashmapExists(), SCIPprobGetVars(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsPositive(), SCIPrationalSetReal(), SCIProwExactPrint(), SCIProwGetRowExact(), SCIPvarGetCertificateIndex(), and vars.
Referenced by SCIPgetDualProof(), and SCIPgetFarkasProof().
| SCIP_RETCODE SCIPcertificatePrintBoundCons | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| const char * | boundname, | ||
| SCIP_VAR * | var, | ||
| SCIP_RATIONAL * | boundval, | ||
| SCIP_Bool | isupper ) |
prints a variable bound to the problem section of the certificate file and returns line index
| certificate | certificate information |
| isorigfile | should the line be printed to the origfile or the transfile |
| boundname | name of the bound constraint |
| var | variable to print the bound cons for |
| boundval | value of the bound |
| isupper | is it the upper bound? |
Definition at line 2096 of file certificate.cpp.
References SCIP_CertificateBound::boundtype, SCIP_CertificateBound::boundval, SCIP_CertificateBound::certificateindex, SCIP_Certificate::conscounter, SCIP_Certificate::indexcounter, SCIP_Certificate::indexcounter_ori, SCIP_CertificateBound::isbound, SCIP_CertificateBound::isglobal, SCIP_Certificate::lastinfo, NULL, SCIP_Bool, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPrationalSetRational(), SCIPvarGetCertificateIndex(), SCIPvarSetLbCertificateIndexGlobal(), SCIPvarSetUbCertificateIndexGlobal(), TRUE, var, and SCIP_CertificateBound::varindex.
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
| SCIP_RETCODE SCIPcertificateUpdateParentData | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_NODE * | node, | ||
| SCIP_Longint | fileindex, | ||
| SCIP_RATIONAL * | newbound ) |
installs updated node data in parent node
| certificate | certificate information |
| node | node data structure |
| fileindex | index of new bound |
| newbound | pointer to value of new bound, NULL if infeasible |
Definition at line 2149 of file certificate.cpp.
References assert(), certificateIsLeftNode(), SCIP_Certnodedata::derbound_left, SCIP_Certnodedata::derbound_right, SCIP_Certnodedata::derindex_left, SCIP_Certnodedata::derindex_right, SCIP_Certificate::derindex_root, SCIP_Certnodedata::leftfilled, SCIP_Certnodedata::leftinfeas, nodedata, SCIP_Certificate::nodedatahash, NULL, SCIP_Certnodedata::rightfilled, SCIP_Certnodedata::rightinfeas, SCIP_Certificate::rootbound, SCIP_Certificate::rootinfeas, SCIP_Longint, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnodeGetParent(), SCIPrationalIsGT(), SCIPrationalIsInfinity(), SCIPrationalIsLT(), SCIPrationalSetRational(), and TRUE.
Referenced by SCIPcertificatePrintCutoffConflictingBounds(), SCIPcertificatePrintDualboundExactLP(), SCIPcertificatePrintDualboundPseudo(), SCIPcertificatePrintInheritedBound(), SCIPcertificatePrintUnsplitting(), and SCIPcertifyActivityConflict().
| SCIP_RETCODE SCIPcertificatePrintDualboundExactLP | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_SET * | set, | ||
| SCIP_NODE * | node, | ||
| SCIP_PROB * | prob, | ||
| SCIP_Bool | usefarkas ) |
prints a dual bound from an exact lp solution
| certificate | scip certificate struct |
| lpexact | the exact lp |
| set | scip settings |
| node | the current node |
| prob | problem data |
| usefarkas | should an infeasibility proof be printed? |
Definition at line 2224 of file certificate.cpp.
References assert(), SCIP_Certificate::blkmem, certificatePrintDualbound(), SCIP_LpExact::cols, SCIP_RowExact::dualfarkas, SCIP_RowExact::dualsol, SCIP_ColExact::farkascoef, SCIP_LpExact::fplp, i, SCIP_ColExact::index, SCIP_Certificate::indexcounter, SCIP_LpExact::lpiexact, SCIP_LpExact::lpobjval, SCIP_Var::name, SCIP_LpExact::ncols, SCIP_LpExact::nrows, NULL, SCIP_Certificate::objintegral, SCIP_ColExact::redcost, SCIP_Certificate::rowdatahash, SCIP_LpExact::rows, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_LONGINT_MAX, SCIP_OKAY, SCIP_ROWORIGINTYPE_SEPA, SCIPcertificateIsEnabled(), SCIPcertificatePrintMirCut(), SCIPcertificateUpdateBoundData(), SCIPcertificateUpdateParentData(), SCIPcolExactGetVar(), SCIPdebug, SCIPdebugMessage, SCIPhashmapGetImageLong(), SCIPlpExactGetObjval(), SCIPlpiExactGetObjval(), SCIPnodeGetLowerboundExact(), SCIPnodeGetParent(), SCIPprobIsObjIntegral(), SCIPrationalAddProd(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalDiffProd(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsInfinity(), SCIPrationalIsLT(), SCIPrationalIsNegative(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalNegate(), SCIPrationalReallocBlockArray(), SCIPrationalSetInfinity(), SCIPrationalSetRational(), SCIProwExactGetCols(), SCIProwExactGetNNonz(), SCIProwExactGetRow(), SCIProwExactPrint(), SCIProwGetOrigintype(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetLbLocalExact(), SCIPvarGetUbCertificateIndexLocal(), SCIPvarGetUbLocalExact(), SCIP_Certificate::transfile, SCIP_Certificate::vals, SCIP_Certificate::valssize, SCIP_ColExact::var, and var.
Referenced by priceAndCutLoop(), SCIPnodeUpdateLowerboundLP(), and solveNode().
| SCIP_RETCODE SCIPcertificatePrintDualboundPseudo | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_LPEXACT * | lpexact, | ||
| SCIP_NODE * | node, | ||
| SCIP_SET * | set, | ||
| SCIP_PROB * | prob, | ||
| SCIP_Bool | lowerchanged, | ||
| int | modifiedvarindex, | ||
| SCIP_Longint | boundchangeindex, | ||
| SCIP_Real | psval ) |
prints a dual bound from an exact lp solution
in case of a bound change (branching), this happens before the bound change is processed; therefore we add the option to give on varindex, boundchgindex pair to pass directly to the method
prints a dual bound from the pseudo solution
in case of a bound change (branching), this happens before the bound change is processed; therefore we add the option to give on varindex, boundchgindex pair to pass directly to the method
| certificate | scip certificate struct |
| lpexact | the exact lp |
| node | current node |
| set | scip settings |
| prob | problem data |
| lowerchanged | do the modified indices address a change in lb or ub? |
| modifiedvarindex | index of modified variable, or -1 |
| boundchangeindex | index of unprocessed bound change in the certificate, or -1 |
| psval | the pseudo obj value (or inf to use exact lp value) |
Definition at line 2392 of file certificate.cpp.
References assert(), certificatePrintDualbound(), i, SCIP_Certificate::indexcounter, NULL, nvars, obj, SCIP_Certificate::objintegral, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_Real, SCIPcertificateIsEnabled(), SCIPcertificateUpdateBoundData(), SCIPcertificateUpdateParentData(), SCIPlpExactGetPseudoObjval(), SCIPnodeGetLowerbound(), SCIPnodeGetParent(), SCIPprobGetNObjVars(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPprobIsObjIntegral(), SCIPrationalCreateBuffer(), SCIPrationalCreateBufferArray(), SCIPrationalFreeBuffer(), SCIPrationalFreeBufferArray(), SCIPrationalIsAbsInfinity(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalSetRational(), SCIPrationalSetReal(), SCIPsetAllocBufferArray, SCIPsetFreeBufferArray, SCIPsetIsInfinity(), SCIPvarGetCertificateIndex(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetObjExact(), SCIPvarGetUbCertificateIndexLocal(), and vars.
Referenced by applyBounding(), propAndSolve(), SCIPnodeAddBoundinfer(), SCIPnodeAddBoundinferExact(), and solveNode().
| SCIP_RETCODE SCIPcertificatePrintInheritedBound | ( | SCIP_SET * | set, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_NODE * | node ) |
prints the bound that a node inherits from its parent to the certificate
Definition at line 2490 of file certificate.cpp.
References assert(), certificatePrintDualbound(), SCIP_Certificate::indexcounter, nodedata, SCIP_Certificate::nodedatahash, NULL, SCIP_CALL, SCIP_Longint, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificateUpdateParentData(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnodeGetType(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalSetFraction(), and SCIPrationalSetRational().
Referenced by priceAndCutLoop(), and solveNode().
| SCIP_RETCODE SCIPcertificateUpdateBranchingData | ( | SCIP_SET * | set, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_STAT * | stat, | ||
| SCIP_LP * | lp, | ||
| SCIP_NODE * | node, | ||
| SCIP_VAR * | branchvar, | ||
| SCIP_BOUNDTYPE | boundtype, | ||
| SCIP_Real | newbound ) |
updates the parent certificate node data when branching
| set | general SCIP settings |
| certificate | certificate information |
| stat | dynamic problem statistics |
| lp | LP informations |
| node | node data |
| branchvar | the variable that gets branched on |
| boundtype | the bounding type |
| newbound | the new bound |
Definition at line 2557 of file certificate.cpp.
References assert(), SCIP_Certnodedata::assumptionindex_left, SCIP_Certnodedata::assumptionindex_right, SCIP_Lp::diving, nodedata, SCIP_Certificate::nodedatahash, NULL, printBoundAssumption(), SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIP_Real, SCIPcertificateIsEnabled(), SCIPhashmapGetImage(), SCIPnodeGetParent(), SCIPnodeGetType(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsIntegral(), SCIPrationalSetReal(), and SCIP_Certificate::transfile.
Referenced by SCIPtreeBranchVar(), and SCIPtreeBranchVarExact().
| SCIP_RETCODE SCIPcertificateNewNodeData | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_STAT * | stat, | ||
| SCIP_NODE * | node ) |
create a new node data structure for the current node
| certificate | SCIP certificate |
| stat | problem statistics |
| node | new node, that was created |
Definition at line 2615 of file certificate.cpp.
References assert(), SCIP_Certificate::blkmem, BMSallocBlockMemory, SCIP_Certnodedata::derbound_self, SCIP_Certnodedata::derindex_self, FALSE, nodedata, SCIP_Certificate::nodedatahash, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapSetImage(), SCIPnodeGetParent(), SCIPnodeGetType(), SCIPrationalCreateString(), SCIPrationalSetRational(), and TRUE.
Referenced by SCIPnodeCreateChild().
| SCIP_RETCODE SCIPcertificateNewMirInfo | ( | SCIP * | scip | ) |
create a new split info structure for the current cut
Definition at line 3074 of file certificate.cpp.
References SCIP_MirInfo::arpos, assert(), SCIP_MirInfo::frac, SCIP_MirInfo::localbdused, SCIP_Certificate::mirinfo, SCIP_Certificate::mirinfosize, SCIP_MirInfo::nlocalvars, SCIP_Certificate::nmirinfos, SCIP_MirInfo::nrounddownslacks, SCIP_MirInfo::nslacks, SCIP_MirInfo::nsplitvars, NULL, SCIP_MirInfo::rhs, SCIP_MirInfo::scale, SCIP_CALL, SCIP_OKAY, SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPallocClearBlockMemoryArray, SCIPblkmem(), SCIPcertificateIsEnabled(), SCIPdebugMessage, SCIPgetCertificate(), SCIPgetNVars(), SCIPinfinity(), SCIPrationalCreateBlock(), 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::unroundedrhs, SCIP_MirInfo::upperused, SCIP_MirInfo::varinds, and SCIP_Certificate::workingmirinfo.
Referenced by SCIPaddCertificateMirInfo().
| SCIP_RETCODE SCIPcertificateClearAggrinfo | ( | SCIP * | scip | ) |
free all aggregation information
Definition at line 2780 of file certificate.cpp.
References SCIP_Certificate::aggrinfo, SCIP_Certificate::aggrinfohash, SCIP_Certificate::aggrinfosize, assert(), SCIP_Certificate::blkmem, BMSfreeBlockMemoryArray, i, SCIP_Certificate::naggrinfos, NULL, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPcertificateFreeAggrInfo(), SCIPcertificateIsEnabled(), SCIPgetCertificate(), SCIPhashmapFree(), and SCIPhashmapRemoveAll().
Referenced by freeSolve(), and SCIPcertificateExit().
| SCIP_RETCODE SCIPcertificateClearMirinfo | ( | SCIP * | scip | ) |
free all mir information
Definition at line 2813 of file certificate.cpp.
References assert(), SCIP_Certificate::blkmem, BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_MirInfo::frac, i, SCIP_MirInfo::localbdused, SCIP_Certificate::mirinfo, SCIP_Certificate::mirinfohash, SCIP_Certificate::mirinfosize, SCIP_Certificate::nmirinfos, SCIP_MirInfo::nslacks, SCIP_MirInfo::nsplitvars, NULL, SCIP_MirInfo::rhs, SCIP_CALL, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPgetCertificate(), SCIPhashmapFree(), SCIPhashmapRemoveAll(), 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, SCIP_MirInfo::upperused, and SCIP_MirInfo::varinds.
Referenced by freeSolve(), and SCIPcertificateExit().
| SCIP_RETCODE SCIPcertificateFreeAggrInfo | ( | SCIP_SET * | set, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_LP * | lp, | ||
| SCIP_AGGREGATIONINFO * | aggrinfo, | ||
| SCIP_ROW * | row ) |
free aggregation information
free aggregation information for row
| set | general SCIP settings |
| certificate | SCIP certificate structure |
| lp | SCIP lp data structure |
| aggrinfo | SCIP aggregation info |
| row | row that should be freed, or NULL if not needed |
Definition at line 2862 of file certificate.cpp.
References SCIP_Certificate::aggrinfo, SCIP_Certificate::aggrinfohash, SCIP_AggregationInfo::aggrrow, SCIP_AggregationInfo::aggrrows, SCIP_AggregationInfo::arpos, SCIP_Certificate::blkmem, BMSfreeBlockMemory, BMSfreeBlockMemoryArray, i, SCIP_Certificate::naggrinfos, SCIP_AggregationInfo::naggrrows, SCIP_AggregationInfo::negslackrows, SCIP_AggregationInfo::negslackweights, SCIP_AggregationInfo::nnegslackrows, NULL, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPaggrRowFree(), SCIPcertificateIsEnabled(), SCIPhashmapRemove(), SCIProwRelease(), SCIP_AggregationInfo::substfactor, and SCIP_AggregationInfo::weights.
Referenced by SCIPcertificateClearAggrinfo(), SCIPcertificateFreeRowInfo(), SCIPcertificatePrintMirCut(), and SCIPfreeCertificateActiveAggrInfo().
| SCIP_RETCODE SCIPcertificateFreeMirInfo | ( | SCIP_SET * | set, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_LP * | lp, | ||
| SCIP_MIRINFO * | mirinfo, | ||
| SCIP_ROW * | row ) |
free mir information for row
| set | general SCIP settings |
| certificate | SCIP certificate structure |
| lp | SCIP lp data structure |
| mirinfo | SCIP mir info |
| row | row that should be freed, or NULL if not needed |
Definition at line 2912 of file certificate.cpp.
References SCIP_MirInfo::arpos, SCIP_Certificate::blkmem, BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_MirInfo::frac, i, SCIP_MirInfo::localbdused, SCIP_Certificate::mirinfo, SCIP_Certificate::mirinfohash, SCIP_Certificate::nmirinfos, SCIP_MirInfo::nslacks, SCIP_MirInfo::nsplitvars, SCIP_MirInfo::rhs, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPhashmapRemove(), SCIPrationalFreeBlock(), SCIProwRelease(), SCIP_MirInfo::slackcoefficients, SCIP_MirInfo::slackroundeddown, SCIP_MirInfo::slackrows, SCIP_MirInfo::slackscale, SCIP_MirInfo::slacksign, SCIP_MirInfo::slackusedcoef, SCIP_MirInfo::slackweight, SCIP_MirInfo::splitcoefficients, SCIP_MirInfo::upperused, and SCIP_MirInfo::varinds.
Referenced by SCIPcertificateFreeRowInfo(), and SCIPcertificatePrintMirCut().
| SCIP_RETCODE SCIPcertificateFreeRowInfo | ( | SCIP * | scip, |
| SCIP_ROW * | row ) |
free information that is possibly still stored about this row in the certificate structure
Definition at line 2962 of file certificate.cpp.
References SCIP_Certificate::aggrinfohash, SCIP_Certificate::mirinfohash, NULL, SCIP_Certificate::rowdatahash, SCIP_CALL, SCIP_OKAY, SCIPcertificateFreeAggrInfo(), SCIPcertificateFreeMirInfo(), SCIPdebugMessage, SCIPgetCertificate(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapRemove(), SCIPisCertified(), SCIPisExact(), SCIProwGetRowExact(), SCIP_Certificate::workingaggrinfo, and SCIP_Certificate::workingmirinfo.
Referenced by SCIProwRelease().
| SCIP_RETCODE SCIPcertificateNewAggrInfo | ( | SCIP * | scip, |
| SCIP_AGGRROW * | aggrrow, | ||
| SCIP_ROW ** | aggrrows, | ||
| SCIP_Real * | weights, | ||
| int | naggrrows, | ||
| SCIP_ROW ** | negslackrows, | ||
| SCIP_Real * | negslackweights, | ||
| int | nnegslackrows ) |
create a new aggregation info for a row
create a new node data structure for the current node
| 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 3004 of file certificate.cpp.
References SCIP_Certificate::aggrinfo, SCIP_Certificate::aggrinfosize, SCIP_AggregationInfo::aggrrow, SCIP_AggregationInfo::aggrrows, SCIP_AggregationInfo::arpos, assert(), SCIP_AggregationInfo::fileindex, i, SCIP_Certificate::indexcounter, SCIP_Certificate::naggrinfos, SCIP_AggregationInfo::naggrrows, SCIP_AggregationInfo::negslackrows, SCIP_AggregationInfo::negslackweights, SCIP_AggregationInfo::nnegslackrows, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPaggrRowCopy(), SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPcertificateIsEnabled(), SCIPdebugMessage, SCIPgetCertificate(), SCIPreallocBlockMemoryArray, SCIProwCapture(), SCIProwGetName(), SCIP_AggregationInfo::substfactor, TRUE, SCIP_AggregationInfo::weights, and SCIP_Certificate::workingaggrinfo.
Referenced by SCIPaddCertificateAggrInfo().
| SCIP_RETCODE SCIPcertificatePrintUnsplitting | ( | SCIP_SET * | set, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_NODE * | node ) |
prints unsplitting information to proof section
Definition at line 3130 of file certificate.cpp.
References assert(), certificateFreeNodeData(), certificatePrintDualbound(), FALSE, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, nodedata, SCIP_Certificate::nodedatahash, NULL, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_NODETYPE_PROBINGNODE, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPcertificateUpdateParentData(), SCIPdebugMessage, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnodeGetLowerbound(), SCIPnodeGetLowerboundExact(), SCIPnodeGetNumber(), SCIPnodeGetType(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsGE(), SCIPrationalIsGEReal(), SCIPrationalIsInfinity(), SCIPrationalMin(), SCIPrationalSetFraction(), SCIPrationalSetInfinity(), SCIPrationalSetRational(), and TRUE.
Referenced by SCIPnodeFree().
| SCIP_RETCODE SCIPcertificatePrintRtpRange | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| SCIP_RATIONAL * | lowerbound, | ||
| SCIP_RATIONAL * | upperbound ) |
prints RTP section with lowerbound and upperbound range
| certificate | certificate data structure |
| isorigfile | should the original solution be printed or in transformed space |
| lowerbound | pointer to lower bound on the objective |
| upperbound | pointer to upper bound on the objective |
Definition at line 3234 of file certificate.cpp.
References SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPrationalIsInfinity(), and SCIPrationalIsNegInfinity().
Referenced by SCIPcertificatePrintResult().
| SCIP_RETCODE SCIPcertificatePrintResult | ( | SCIP * | scip, |
| SCIP_Bool | isorigfile, | ||
| SCIP_SET * | set, | ||
| SCIP_CERTIFICATE * | certificate ) |
prints the last part of the certificate header (RTP range/sol, ...)
| scip | SCIP data structure |
| isorigfile | should the line be printed to the origfile or the transfile |
| set | general SCIP settings |
| certificate | certificate information |
Definition at line 1016 of file certificate.cpp.
References assert(), certificatePrintSol(), SCIP_Certificate::finalbound, NULL, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_OKAY, SCIP_STATUS_INFEASIBLE, SCIP_STATUS_OPTIMAL, SCIPcertificateIsEnabled(), SCIPcertificatePrintDerHeader(), SCIPcertificatePrintRtpInfeas(), SCIPcertificatePrintRtpRange(), SCIPgetBestSol(), SCIPgetPrimalboundExact(), SCIPgetStatus(), SCIPgetUpperboundExact(), SCIPisInRestart(), SCIPisPrimalboundSol(), SCIPmakeSolExact(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalSetInfinity(), SCIPrationalSetNegInfinity(), SCIPrationalSetRational(), SCIPretransformSolExact(), and SCIPsolIsExact().
Referenced by freeSolve().
| SCIP_RETCODE SCIPcertificateSaveFinalbound | ( | SCIP * | scip, |
| SCIP_CERTIFICATE * | certificate ) |
prints the last part of the certificate header (RTP range/sol, ...)
Definition at line 1131 of file certificate.cpp.
References assert(), SCIP_Certificate::finalbound, NULL, SCIP_OKAY, SCIPcertificateIsEnabled(), and SCIPgetLowerboundExact().
Referenced by SCIPsolve().
| void SCIPcertificatePrintRtpInfeas | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile ) |
prints RTP section for infeasibility
| certificate | certificate data structure |
| isorigfile | should the original solution be printed or in transformed space |
Definition at line 3270 of file certificate.cpp.
References SCIP_Bool, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificatePrintResult().
| SCIP_RETCODE SCIPcertificateUpdateBoundData | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_NODE * | node, | ||
| SCIP_Longint | fileindex, | ||
| SCIP_RATIONAL * | newbound ) |
updates the current derived bound of the node with newbound, if newbound is better
| certificate | certificate information |
| node | node data structure |
| fileindex | index of new bound's proof |
| newbound | value of new bound |
Definition at line 333 of file certificate.cpp.
References assert(), FALSE, nodedata, SCIP_Certificate::nodedatahash, SCIP_Longint, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPrationalIsLT(), and SCIPrationalSetRational().
Referenced by SCIPcertificatePrintDualboundExactLP(), and SCIPcertificatePrintDualboundPseudo().
| SCIP_RETCODE SCIPcertificateSetLastBoundIndex | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Longint | index ) |
sets the last bound index for the certificate
| certificate | certificate data structure |
| index | index of new bound |
Definition at line 3283 of file certificate.cpp.
References assert(), SCIP_Certificate::lastboundindex, SCIP_Longint, SCIP_OKAY, and SCIPcertificateIsEnabled().
Referenced by boundchgApplyExact(), SCIPboundchgApply(), SCIPboundchgUndo(), and SCIPcertifyActivityVarBoundExact().
| SCIP_Longint SCIPcertificateGetLastBoundIndex | ( | SCIP_CERTIFICATE * | certificate | ) |
returns the last bound index for the certificate
| certificate | certificate data structure |
Definition at line 3297 of file certificate.cpp.
References SCIP_Certificate::lastboundindex, SCIP_Longint, and SCIPcertificateIsEnabled().
Referenced by SCIPvarChgLbLocal(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocal(), SCIPvarChgUbLocalExact(), varProcessChgLbLocal(), and varProcessChgUbLocal().
| SCIP_Longint SCIPcertificateGetRowIndex | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_ROWEXACT * | row, | ||
| SCIP_Bool | rhs ) |
returns the index for a row in the certificate
returns the index for a row in the certificate
| certificate | certificate data structure |
| row | row to consider |
| rhs | whether we want the index for the rhs or the lhs |
Definition at line 2541 of file certificate.cpp.
References assert(), SCIP_RowExact::lhs, SCIP_RowExact::rhs, SCIP_Certificate::rowdatahash, SCIP_Bool, SCIP_Longint, SCIP_LONGINT_MAX, SCIPhashmapGetImageLong(), SCIPrationalIsAbsInfinity(), and SCIPrationalIsEQ().
Referenced by SCIPcertificatePrintAggrrow(), SCIPcertificatePrintMirCut(), SCIPcertifyActivityConflict(), SCIPcertifyActivityVarBoundExact(), and SCIPgetFarkasProof().
| SCIP_RETCODE SCIPcertificatePrintCutoffConflictingBounds | ( | SCIP * | scip, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_VAR * | var, | ||
| SCIP_RATIONAL * | lb, | ||
| SCIP_RATIONAL * | ub, | ||
| SCIP_Longint | lbindex, | ||
| SCIP_Longint | ubindex ) |
prints a proof that boundchange is leads to infeasibility
| scip | SCIP data structure |
| certificate | certificate data structure |
| var | variable |
| lb | lower bound |
| ub | upper bound |
| lbindex | index of the lower bound |
| ubindex | index of the upper bound |
Definition at line 3305 of file certificate.cpp.
References assert(), FALSE, SCIP_Certificate::indexcounter, NULL, SCIP_Bool, SCIP_CALL, SCIP_ERROR, SCIP_Longint, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPbuffer(), SCIPcertificatePrintCutoffConflictingBounds(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPcertificateUpdateParentData(), SCIPgetCurrentNode(), SCIPisCertified(), SCIPrationalAddReal(), SCIPrationalCreateBuffer(), SCIPrationalDiff(), SCIPrationalDiv(), SCIPrationalFreeBuffer(), SCIPrationalIsGT(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalMultReal(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetLbLocalExact(), SCIPvarGetNegationConstant(), SCIPvarGetUbCertificateIndexLocal(), SCIPvarGetUbLocalExact(), TRUE, and var.
Referenced by SCIPcertificatePrintCutoffConflictingBounds(), SCIPinferVarLbConsExact(), and SCIPinferVarUbConsExact().
| SCIP_RETCODE SCIPcertificatePrintGlobalBound | ( | SCIP * | scip, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_VAR * | var, | ||
| SCIP_BOUNDTYPE | boundtype, | ||
| SCIP_RATIONAL * | value, | ||
| SCIP_Longint | certificateindex ) |
prints a proof for a new global bound
| scip | SCIP data structure |
| certificate | SCIP certificate |
| var | variable |
| boundtype | Whether we have an upper bound or a lower bound |
| value | value of the bound |
| certificateindex | index in the certificate |
Definition at line 3404 of file certificate.cpp.
References assert(), SCIP_CertificateBound::boundtype, SCIP_CertificateBound::boundval, SCIP_CertificateBound::certificateindex, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_CertificateBound::isglobal, SCIP_Certificate::lastinfo, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_ERROR, SCIP_Longint, SCIP_OKAY, SCIP_VARSTATUS_AGGREGATED, SCIP_VARSTATUS_COLUMN, SCIP_VARSTATUS_FIXED, SCIP_VARSTATUS_LOOSE, SCIP_VARSTATUS_NEGATED, SCIP_VARSTATUS_ORIGINAL, SCIPABORT, SCIPcertificatePrintGlobalBound(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPisCertified(), SCIPrationalAddReal(), SCIPrationalDiv(), SCIPrationalIsPositive(), SCIPrationalIsZero(), SCIPrationalMult(), SCIPrationalMultReal(), SCIPrationalSetRational(), SCIPvarGetCertificateIndex(), SCIPvarGetNegationConstant(), TRUE, var, and SCIP_CertificateBound::varindex.
Referenced by SCIPcertificatePrintGlobalBound(), SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().
| SCIP_RETCODE SCIPconsPrintCertificateExactLinear | ( | SCIP * | scip, |
| SCIP_CONS * | cons ) |
Definition at line 3470 of file certificate.cpp.
References assert(), FALSE, i, SCIP_Certificate::indexcounter, NULL, SCIP_Certificate::rowdatahash, SCIP_CALL, SCIP_ERROR, SCIP_Longint, SCIP_LONGINT_MAX, SCIP_OKAY, SCIPABORT, SCIPallocBufferArray, SCIPbuffer(), SCIPcertificatePrintCons(), SCIPcolExactGetVar(), SCIPerrorMessage, SCIPfreeBufferArray, SCIPgetCertificate(), SCIPgetRowExactExactLinear(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapGetImageLong(), SCIPhashmapInsertLong(), SCIPisCertified(), SCIPmessageFPrintWarning(), SCIPrationalCreateBuffer(), SCIPrationalDiff(), SCIPrationalFreeBuffer(), SCIPrationalIsAbsInfinity(), SCIPrationalIsEQ(), SCIPrationalIsInfinity(), SCIPrationalIsNegInfinity(), SCIProwExactGetCols(), SCIProwExactGetConstant(), SCIProwExactGetLhs(), SCIProwExactGetNNonz(), SCIProwExactGetRhs(), SCIProwExactGetVals(), and SCIPvarGetCertificateIndex().
Referenced by SCIPcertificateInitTransFile().
| SCIP_Longint SCIPcertificateGetConsIndex | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_CONS * | cons, | ||
| SCIP_RATIONAL * | lhs, | ||
| SCIP_RATIONAL * | rhs, | ||
| SCIP_Bool | useRhs ) |
returns the index of the given constraint in the certificate
| certificate | certificate data structure |
| cons | constraint |
| lhs | lhs of the constraint |
| rhs | rhs of the constraint |
| useRhs | whether to return the index of the rhs or lhs |
Definition at line 3550 of file certificate.cpp.
References assert(), SCIP_Certificate::rowdatahash, SCIP_Bool, SCIP_Longint, SCIP_LONGINT_MAX, SCIPhashmapGetImageLong(), SCIPrationalIsAbsInfinity(), and SCIPrationalIsEQ().
Referenced by SCIPcertifyActivityConflict(), and SCIPcertifyActivityVarBoundExact().