methods for certificate output
Definition in file certificate.cpp.
#include <stdio.h>#include <assert.h>#include <string.h>#include <map>#include "lpiexact/lpiexact.h"#include "scip/def.h"#include "blockmemshell/memory.h"#include "scip/lp.h"#include "scip/lpexact.h"#include "scip/misc.h"#include "scip/pub_cons.h"#include "scip/pub_lpexact.h"#include "scip/pub_misc.h"#include "scip/pub_message.h"#include "scip/pub_tree.h"#include "scip/pub_var.h"#include "scip/prob.h"#include "scip/cuts.h"#include "scip/cons_exactlinear.h"#include "scip/scip_certificate.h"#include "scip/scip_exact.h"#include "scip/scip_general.h"#include "scip/scip_lp.h"#include "scip/scip_mem.h"#include "scip/scip_message.h"#include "scip/scip_numerics.h"#include "scip/scip_prob.h"#include "scip/scip_probing.h"#include "scip/scip_sol.h"#include "scip/scip_solve.h"#include "scip/scip_solvingstats.h"#include "scip/scip_tree.h"#include "scip/set.h"#include "scip/sol.h"#include "scip/struct_certificate.h"#include "scip/struct_lpexact.h"#include "scip/struct_scip.h"#include "scip/struct_stat.h"#include "scip/struct_var.h"#include "scip/var.h"#include "scip/certificate.h"Go to the source code of this file.
Macros | |
| #define | SCIP_HASHSIZE_CERTIFICATE 500 |
| #define | SCIP_MB_TO_CHAR_RATE 1048576.0 |
| #define SCIP_HASHSIZE_CERTIFICATE 500 |
size of hash map for certificate -> nodesdata mapping used for certificate output
Definition at line 77 of file certificate.cpp.
Referenced by SCIPcertificateInit().
| #define SCIP_MB_TO_CHAR_RATE 1048576.0 |
conversion rate from MB to characters
Definition at line 78 of file certificate.cpp.
Referenced by checkAndUpdateFilesize().
|
static |
updates file size and returns whether maximum file size has been reached
| certificate | certificate information |
| nchars | number of characters printed |
Definition at line 82 of file certificate.cpp.
References FALSE, SCIP_Certificate::filesize, SCIP_Certificate::maxfilesize, SCIP_Bool, SCIP_MB_TO_CHAR_RATE, SCIP_Real, and TRUE.
Referenced by SCIPcertificateExit(), SCIPcertificatePrintProblemComment(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPcertificatePrintProofComment(), SCIPcertificatePrintProofMessage(), and SCIPcertificatePrintProofRational().
|
static |
checks whether node is a left node or not
| certificate | certificate information |
| node | node from branch and bound tree |
Definition at line 96 of file certificate.cpp.
References assert(), SCIP_Certnodedata::assumptionindex_left, FALSE, nodedata, SCIP_Certificate::nodedatahash, NULL, SCIP_Bool, SCIP_NODETYPE_PROBINGNODE, SCIPcertificateIsEnabled(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnodeGetParent(), SCIPnodeGetType(), and TRUE.
Referenced by SCIPcertificateUpdateParentData().
|
static |
prints variable bound assumption into certificate
| certificate | certificate information |
| var | variable to print assumption for |
| boundval | value of the bound |
| boundtype | is it the upper bound? |
Definition at line 131 of file certificate.cpp.
References assert(), SCIP_CertificateBound::boundtype, SCIP_CertificateBound::boundval, SCIP_CertificateBound::certificateindex, FALSE, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_CertificateBound::isglobal, SCIP_Certificate::lastinfo, NULL, SCIP_BOUNDTYPE_LOWER, SCIP_CALL, SCIP_Longint, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPrationalSetRational(), SCIPvarGetCertificateIndex(), TRUE, var, and SCIP_CertificateBound::varindex.
Referenced by SCIPcertificateUpdateBranchingData().
|
static |
free nodedata of corresponding node
| certificate | certificate information |
| node | focus node |
Definition at line 162 of file certificate.cpp.
References assert(), SCIP_Certificate::blkmem, BMSfreeBlockMemory, nodedata, SCIP_Certificate::nodedatahash, NULL, SCIP_CALL, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapRemove(), and SCIPrationalFreeBlock().
Referenced by SCIPcertificatePrintUnsplitting().
|
static |
prints dual bound to proof section and increments indexcounter
| certificate | certificate data structure |
| linename | name of the unsplitting line |
| lowerbound | pointer to lower bound on the objective, NULL indicating infeasibility |
| len | number of dual multipiers |
| ind | index array |
| val | array of dual multipliers |
Definition at line 186 of file certificate.cpp.
References assert(), FALSE, i, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, NULL, SCIP_Certificate::objintegral, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPrationalIsAbsInfinity(), SCIPrationalIsInfinity(), SCIPrationalIsIntegral(), SCIPrationalIsNegInfinity(), and SCIPrationalRoundInteger().
Referenced by SCIPcertificatePrintDualboundExactLP(), SCIPcertificatePrintDualboundPseudo(), SCIPcertificatePrintInheritedBound(), and SCIPcertificatePrintUnsplitting().
|
static |
prints the best solution found
| scip | SCIP data structure |
| isorigfile | should the original solution be printed or in transformed space |
| certificate | certificate information |
| sol | solution to be printed |
Definition at line 264 of file certificate.cpp.
References assert(), i, NULL, nvars, SCIP_Certificate::origfile, SCIP_Bool, SCIP_CALL, SCIP_OKAY, SCIPbuffer(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPgetOrigVarsData(), SCIPgetVarsData(), SCIPmakeSolExact(), SCIPrationalCreateBufferArray(), SCIPrationalFreeBufferArray(), SCIPrationalIsZero(), SCIPsolGetValExact(), SCIPsolIsExact(), SCIPvarGetCertificateIndex(), sol, and vars.
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 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().
|
static |
concatenates the certificate and the _der file and deletes the _der file
| certificate | the certificate pointer |
Definition at line 782 of file certificate.cpp.
References SCIP_Certificate::derivationfilename, SCIP_MAXSTRLEN, SCIPfclose(), SCIPfopen(), SCIPfread(), SCIPfwrite(), and SCIP_Certificate::transfile.
Referenced by SCIPcertificateExit().
| 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
| scip | SCIP 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 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 (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().
| 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, ...)
| scip | SCIP data structure |
| certificate | certificate information |
Definition at line 1131 of file certificate.cpp.
References assert(), SCIP_Certificate::finalbound, NULL, SCIP_OKAY, SCIPcertificateIsEnabled(), and SCIPgetLowerboundExact().
Referenced by SCIPsolve().
| 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 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 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 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().
|
static |
prints a line for an exact row to the certificate (without derivation)
| alternativerhs | is used instead of the real rhs of the row (infinity if real rhs should be used). This is necessary for integer cut where the rhs was rounded down from the original rhs |
| set | global SCIP settings |
| certificate | certificate structure |
| rowexact | exact SCIP row |
| alternativerhs | rhs to be used instead or rowexact->rhs (infinity to disable this) |
Definition at line 1458 of file certificate.cpp.
References assert(), SCIP_Row::cols, SCIP_RowExact::cols, FALSE, SCIP_ColExact::fpcol, SCIP_RowExact::fprow, i, SCIP_Var::index, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, SCIP_Row::name, NULL, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPcolExactGetVar(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalSetReal(), SCIProwExactGetCols(), SCIProwExactGetNNonz(), SCIProwExactGetRhs(), SCIProwExactGetRow(), SCIProwExactGetVals(), SCIProwGetNNonz(), SCIPsetIsInfinity(), SCIPvarGetCertificateIndex(), and SCIP_Col::var.
Referenced by SCIPcertificatePrintMirCut().
|
static |
prints mir split for the specified aggrrow
| set | SCIP settings |
| prob | SCIP problem data |
| certificate | certificate information |
| row | row that split should be printed for |
Definition at line 1517 of file certificate.cpp.
References assert(), FALSE, i, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, SCIP_Certificate::mirinfohash, SCIP_MirInfo::nslacks, SCIP_MirInfo::nsplitvars, SCIP_MirInfo::rhs, SCIP_CALL, SCIP_OKAY, SCIP_Real, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPcolGetVar(), SCIPdebugMessage, SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPprobGetVars(), SCIPrationalAddReal(), SCIPrationalCreateBuffer(), SCIPrationalDebugMessage, SCIPrationalFreeBuffer(), SCIPrationalIsIntegral(), SCIPrationalSetReal(), SCIPrealIsExactlyIntegral(), SCIProwGetCols(), SCIProwGetConstant(), SCIProwGetLhs(), SCIProwGetName(), SCIProwGetNNonz(), SCIProwGetRhs(), SCIProwGetVals(), SCIPvarGetCertificateIndex(), SCIPvarGetName(), SCIPvarIsBinary(), SCIPvarIsIntegral(), SCIP_MirInfo::slackcoefficients, SCIP_MirInfo::slackrows, SCIP_MirInfo::slacksign, SCIP_MirInfo::splitcoefficients, var, varidx, SCIP_MirInfo::varinds, and vars.
Referenced by SCIPcertificatePrintMirCut().
|
static |
prints all local bounds that differ from their global bounds as the bounds to take into account
| certificate | SCIP certificate |
| prob | SCIP problem data |
| local | TRUE if the cut is only valid locally |
Definition at line 1713 of file certificate.cpp.
References assert(), i, nvars, SCIP_Bool, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPrationalIsEQ(), SCIPvarGetCertificateIndex(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetLbLocalExact(), SCIPvarGetUbCertificateIndexLocal(), SCIPvarGetUbLocalExact(), var, and vars.
Referenced by SCIPcertificatePrintAggrrow(), and SCIPcertificatePrintMirCut().
| 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 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 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
| set | general SCIP settings |
| certificate | certificate data structure |
| node | node data |
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_Longint SCIPcertificateGetRowIndex | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_ROWEXACT * | row, | ||
| SCIP_Bool | rhs ) |
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 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 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 SCIPcertificateClearAggrinfo | ( | SCIP * | scip | ) |
free all aggregation information
| scip | global SCIP data structure |
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
| scip | global SCIP data structure |
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 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 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 SCIPcertificateNewMirInfo | ( | SCIP * | scip | ) |
create a new split info structure for the current cut
| scip | SCIP data structure |
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 SCIPcertificatePrintUnsplitting | ( | SCIP_SET * | set, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_NODE * | node ) |
prints unsplitting information to proof section
| set | general SCIP settings |
| certificate | certificate data structure |
| node | node data |
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().
| 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 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_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 ) |
| scip | SCIP data structure |
| cons | constraint |
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().