Detailed Description
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 |
Macro Definition Documentation
◆ SCIP_HASHSIZE_CERTIFICATE
| #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.
◆ SCIP_MB_TO_CHAR_RATE
| #define SCIP_MB_TO_CHAR_RATE 1048576.0 |
conversion rate from MB to characters
Definition at line 78 of file certificate.cpp.
Function Documentation
◆ checkAndUpdateFilesize()
|
static |
updates file size and returns whether maximum file size has been reached
- Parameters
-
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_MB_TO_CHAR_RATE, and TRUE.
Referenced by SCIPcertificateExit(), SCIPcertificatePrintProblemComment(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPcertificatePrintProofComment(), SCIPcertificatePrintProofMessage(), and SCIPcertificatePrintProofRational().
◆ certificateIsLeftNode()
|
static |
checks whether node is a left node or not
- Parameters
-
certificate certificate information node node from branch and bound tree
Definition at line 96 of file certificate.cpp.
References SCIP_Certnodedata::assumptionindex_left, FALSE, nodedata, SCIP_Certificate::nodedatahash, NULL, SCIP_NODETYPE_PROBINGNODE, SCIPcertificateIsEnabled(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnodeGetParent(), SCIPnodeGetType(), and TRUE.
Referenced by SCIPcertificateUpdateParentData().
◆ printBoundAssumption()
|
static |
prints variable bound assumption into certificate
- Returns
- index of this bound in the certificate file
- Parameters
-
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 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, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPrationalSetRational(), SCIPvarGetCertificateIndex(), TRUE, and SCIP_CertificateBound::varindex.
Referenced by SCIPcertificateUpdateBranchingData().
◆ certificateFreeNodeData()
|
static |
free nodedata of corresponding node
- Parameters
-
certificate certificate information node focus node
Definition at line 162 of file certificate.cpp.
References SCIP_Certificate::blkmem, BMSfreeBlockMemory, nodedata, SCIP_Certificate::nodedatahash, NULL, SCIP_CALL, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPhashmapRemove(), and SCIPrationalFreeBlock().
Referenced by SCIPcertificatePrintUnsplitting().
◆ certificatePrintDualbound()
|
static |
prints dual bound to proof section and increments indexcounter
- Parameters
-
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 FALSE, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, NULL, SCIP_Certificate::objintegral, SCIP_CALL, SCIP_OKAY, SCIP_R_ROUND_UPWARDS, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPrationalIsAbsInfinity(), SCIPrationalIsInfinity(), SCIPrationalIsIntegral(), SCIPrationalIsNegInfinity(), and SCIPrationalRoundInteger().
Referenced by SCIPcertificatePrintDualboundExactLP(), SCIPcertificatePrintDualboundPseudo(), SCIPcertificatePrintInheritedBound(), and SCIPcertificatePrintUnsplitting().
◆ certificatePrintSol()
|
static |
prints the best solution found
- Parameters
-
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 NULL, SCIP_Certificate::origfile, SCIP_CALL, SCIP_OKAY, SCIPbuffer(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPgetOrigVarsData(), SCIPgetVarsData(), SCIPmakeSolExact(), SCIPrationalCreateBufferArray(), SCIPrationalFreeBufferArray(), SCIPrationalIsZero(), SCIPsolGetValExact(), SCIPsolIsExact(), and SCIPvarGetCertificateIndex().
Referenced by SCIPcertificatePrintResult().
◆ SCIPcertificateUpdateBoundData()
| 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
- Parameters
-
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 FALSE, nodedata, SCIP_Certificate::nodedatahash, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPrationalIsLT(), and SCIPrationalSetRational().
Referenced by SCIPcertificatePrintDualboundExactLP(), and SCIPcertificatePrintDualboundPseudo().
◆ SCIPcertificateCreate()
| SCIP_RETCODE SCIPcertificateCreate | ( | SCIP_CERTIFICATE ** | certificate, |
| SCIP_MESSAGEHDLR * | messagehdlr | ||
| ) |
creates certificate data structure
- Parameters
-
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().
◆ SCIPcertificateFree()
| void SCIPcertificateFree | ( | SCIP_CERTIFICATE ** | certificate | ) |
frees certificate data structure
- Parameters
-
certificate pointer to store the certificate information
Definition at line 403 of file certificate.cpp.
References BMSfreeMemory, and NULL.
Referenced by SCIPstatFree().
◆ SCIPcertificateInit()
| 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
- Parameters
-
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, 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, 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, and SCIP_Certificate::valssize.
Referenced by initSolve().
◆ SCIPcertificateInitTransFile()
| SCIP_RETCODE SCIPcertificateInitTransFile | ( | SCIP * | scip | ) |
initializes certificate information and creates files for certificate output
- Parameters
-
scip scip data structure
Definition at line 617 of file certificate.cpp.
References SCIP_Certificate::derivationfile, FALSE, SCIP_Certificate::indexcounter, NULL, 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, and TRUE.
Referenced by SCIPsolveCIP().
◆ concatenateCertificate()
|
static |
concatenates the certificate and the _der file and deletes the _der file
- Parameters
-
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().
◆ SCIPcertificateExit()
| SCIP_RETCODE SCIPcertificateExit | ( | SCIP * | scip | ) |
closes the certificate output files
- Parameters
-
scip scip data structure
Definition at line 803 of file certificate.cpp.
References SCIP_Certificate::aggrinfohash, 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().
◆ SCIPgetCertificate()
| SCIP_CERTIFICATE * SCIPgetCertificate | ( | SCIP * | scip | ) |
returns certificate data structure
- Parameters
-
scip SCIP data structure
Definition at line 885 of file certificate.cpp.
References 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().
◆ SCIPcertificateIsEnabled()
| SCIP_Bool SCIPcertificateIsEnabled | ( | SCIP_CERTIFICATE * | certificate | ) |
returns whether the certificate output is activated
- Parameters
-
certificate certificate information
Definition at line 896 of file certificate.cpp.
References SCIP_Certificate::derivationfile, FALSE, NULL, SCIP_Certificate::origfile, 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().
◆ SCIPcertificateGetFilesize()
| SCIP_Real SCIPcertificateGetFilesize | ( | SCIP_CERTIFICATE * | certificate | ) |
returns current certificate file size in MB
- Parameters
-
certificate certificate information
Definition at line 906 of file certificate.cpp.
References SCIP_Certificate::filesize, and SCIPcertificateIsEnabled().
◆ SCIPcertificateGetCurrentIndex()
| SCIP_Longint SCIPcertificateGetCurrentIndex | ( | SCIP_CERTIFICATE * | certificate | ) |
returns current certificate index (return -1 if certificate not active)
- Parameters
-
certificate certificate information
Definition at line 917 of file certificate.cpp.
References SCIP_Certificate::indexcounter, and SCIPcertificateIsEnabled().
Referenced by SCIPdomchgAddCurrentCertificateIndex(), SCIPinferVarLbConsExact(), SCIPinferVarUbConsExact(), SCIPnodeAddBoundinfer(), SCIPnodeAddBoundinferExact(), SCIPvarGetLbCertificateIndexGlobal(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetUbCertificateIndexGlobal(), and SCIPvarGetUbCertificateIndexLocal().
◆ SCIPcertificateEnsureLastBoundInfoConsistent()
| 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
- Parameters
-
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 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, SCIPcertificateIsEnabled(), SCIPrationalRoundReal(), SCIPvarGetCertificateIndex(), TRUE, and SCIP_CertificateBound::varindex.
Referenced by boundchgApplyGlobal(), and SCIPdomchgAddCurrentCertificateIndex().
◆ SCIPcertificateSetAndPrintObjective()
| 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
- Parameters
-
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 BMSallocBlockMemory, SCIP_CertificateBound::boundval, SCIP_Certificate::lastinfo, NULL, SCIP_ALLOC, SCIP_CALL, SCIP_MAXSTRLEN, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPrationalCreateBlock(), SCIPrationalIsZero(), and SCIPsnprintf().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
◆ 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, ...)
- Parameters
-
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 certificatePrintSol(), SCIP_Certificate::finalbound, NULL, 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().
◆ SCIPcertificateSaveFinalbound()
| SCIP_RETCODE SCIPcertificateSaveFinalbound | ( | SCIP * | scip, |
| SCIP_CERTIFICATE * | certificate | ||
| ) |
prints the last part of the certificate header (RTP range/sol, ...)
- Parameters
-
scip SCIP data structure certificate certificate information
Definition at line 1131 of file certificate.cpp.
References SCIP_Certificate::finalbound, NULL, SCIP_OKAY, SCIPcertificateIsEnabled(), and SCIPgetLowerboundExact().
Referenced by SCIPsolve().
◆ SCIPcertificatePrintProblemMessage()
| void SCIPcertificatePrintProblemMessage | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| const char * | formatstr, | ||
| ... | |||
| ) |
prints a string to the problem section of the certificate file
- Parameters
-
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_MAXSTRLEN, SCIPcertificateIsEnabled(), SCIPfprintf(), and SCIP_Certificate::transfile.
Referenced by certificatePrintSol(), SCIPcertificateInit(), SCIPcertificateInitTransFile(), SCIPcertificatePrintBoundCons(), SCIPcertificatePrintCons(), SCIPcertificatePrintConsHeader(), SCIPcertificatePrintDerHeader(), SCIPcertificatePrintIntHeader(), SCIPcertificatePrintRtpInfeas(), SCIPcertificatePrintRtpRange(), SCIPcertificatePrintVarHeader(), SCIPcertificatePrintVersionHeader(), and SCIPcertificateSetAndPrintObjective().
◆ SCIPcertificatePrintProofMessage()
| void SCIPcertificatePrintProofMessage | ( | SCIP_CERTIFICATE * | certificate, |
| const char * | formatstr, | ||
| ... | |||
| ) |
prints a string to the proof section of the certificate file
- Parameters
-
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().
◆ SCIPcertificatePrintProblemRational()
| SCIP_RETCODE SCIPcertificatePrintProblemRational | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| SCIP_RATIONAL * | val | ||
| ) |
prints a rational number to the problem section of the certificate file
- Parameters
-
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_OKAY, SCIPcertificateIsEnabled(), SCIPfputs(), SCIPrationalStrLen(), SCIPrationalToString(), and SCIP_Certificate::transfile.
Referenced by certificatePrintSol(), SCIPcertificatePrintBoundCons(), SCIPcertificatePrintCons(), SCIPcertificatePrintRtpRange(), and SCIPcertificateSetAndPrintObjective().
◆ SCIPcertificatePrintProofRational()
| SCIP_RETCODE SCIPcertificatePrintProofRational | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_RATIONAL * | val | ||
| ) |
prints a rational number to the proof section of the certificate file
- Parameters
-
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().
◆ SCIPcertificatePrintProblemComment()
| void SCIPcertificatePrintProblemComment | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| const char * | formatstr, | ||
| ... | |||
| ) |
prints a comment to the problem section of the certificate file
- Parameters
-
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_MAXSTRLEN, SCIPcertificateIsEnabled(), SCIPfprintf(), and SCIP_Certificate::transfile.
◆ SCIPcertificatePrintProofComment()
| void SCIPcertificatePrintProofComment | ( | SCIP_CERTIFICATE * | certificate, |
| const char * | formatstr, | ||
| ... | |||
| ) |
prints a comment to the proof section of the certificate file
- Parameters
-
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().
◆ SCIPcertificatePrintVersionHeader()
| void SCIPcertificatePrintVersionHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile | ||
| ) |
prints version header
- Parameters
-
certificate certificate information isorigfile should the line be printed to the origfile or the transfile
Definition at line 1307 of file certificate.cpp.
References NULL, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
◆ SCIPcertificatePrintVarHeader()
| void SCIPcertificatePrintVarHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| int | nvars | ||
| ) |
prints variable section header
- Parameters
-
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 NULL, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
◆ SCIPcertificatePrintIntHeader()
| void SCIPcertificatePrintIntHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| int | nintvars | ||
| ) |
prints integer section header
- Parameters
-
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 NULL, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
◆ SCIPcertificatePrintConsHeader()
| void SCIPcertificatePrintConsHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| int | nconss, | ||
| int | nboundconss | ||
| ) |
prints constraint section header
- Parameters
-
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 NULL, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
◆ SCIPcertificatePrintDerHeader()
| void SCIPcertificatePrintDerHeader | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile | ||
| ) |
prints derivation section header
- Parameters
-
certificate certificate information isorigfile should the line be printed to the origfile or the transfile
Definition at line 1377 of file certificate.cpp.
References SCIP_Certificate::conscounter, SCIP_Certificate::indexcounter, NULL, SCIP_Longint, SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificatePrintResult().
◆ SCIPcertificatePrintCons()
| 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
- Parameters
-
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, SCIP_Certificate::indexcounter, SCIP_Certificate::indexcounter_ori, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, NULL, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProblemMessage(), and SCIPcertificatePrintProblemRational().
Referenced by SCIPcertifyCons(), and SCIPconsPrintCertificateExactLinear().
◆ certificatePrintRow()
|
static |
prints a line for an exact row to the certificate (without derivation)
- Parameters
-
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
- Parameters
-
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 SCIP_Row::cols, SCIP_RowExact::cols, FALSE, SCIP_ColExact::fpcol, SCIP_RowExact::fprow, SCIP_Var::index, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, SCIP_Row::name, NULL, SCIP_CALL, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPcolExactGetVar(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalSetReal(), SCIProwExactGetCols(), SCIProwExactGetNNonz(), SCIProwExactGetRhs(), SCIProwExactGetRow(), SCIProwExactGetVals(), SCIProwGetNNonz(), SCIPsetIsInfinity(), SCIPvarGetCertificateIndex(), and SCIP_Col::var.
Referenced by SCIPcertificatePrintMirCut().
◆ certificatePrintMirSplit()
|
static |
prints mir split for the specified aggrrow
- Parameters
-
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 FALSE, 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, and SCIP_MirInfo::varinds.
Referenced by SCIPcertificatePrintMirCut().
◆ certificatePrintWeakDerStart()
|
static |
prints all local bounds that differ from their global bounds as the bounds to take into account
- Parameters
-
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 SCIP_Var::exactdata, SCIP_VarDataExact::glbdom, SCIP_Var::glbdom, SCIP_Dom::lb, SCIP_DomExact::lb, SCIP_VarDataExact::locdom, SCIP_Var::locdom, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPprobGetNVars(), SCIPprobGetVars(), SCIPrationalIsEQ(), SCIPvarGetCertificateIndex(), SCIPvarGetLbCertificateIndexLocal(), SCIPvarGetLbLocalExact(), SCIPvarGetUbCertificateIndexLocal(), SCIPvarGetUbLocalExact(), SCIP_Dom::ub, and SCIP_DomExact::ub.
Referenced by SCIPcertificatePrintAggrrow(), and SCIPcertificatePrintMirCut().
◆ 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)
- Parameters
-
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, certificatePrintMirSplit(), certificatePrintRow(), certificatePrintWeakDerStart(), SCIP_MirInfo::frac, 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().
◆ SCIPcertificatePrintBoundCons()
| 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
- Parameters
-
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_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPrationalSetRational(), SCIPvarGetCertificateIndex(), SCIPvarSetLbCertificateIndexGlobal(), SCIPvarSetUbCertificateIndexGlobal(), TRUE, and SCIP_CertificateBound::varindex.
Referenced by SCIPcertificateInit(), and SCIPcertificateInitTransFile().
◆ SCIPcertificateUpdateParentData()
| SCIP_RETCODE SCIPcertificateUpdateParentData | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_NODE * | node, | ||
| SCIP_Longint | fileindex, | ||
| SCIP_RATIONAL * | newbound | ||
| ) |
installs updated node data in parent node
- Parameters
-
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 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_OKAY, SCIPcertificateIsEnabled(), SCIPhashmapExists(), SCIPhashmapGetImage(), SCIPnodeGetParent(), SCIPrationalIsGT(), SCIPrationalIsInfinity(), SCIPrationalIsLT(), SCIPrationalSetRational(), and TRUE.
Referenced by SCIPcertificatePrintCutoffConflictingBounds(), SCIPcertificatePrintDualboundExactLP(), SCIPcertificatePrintDualboundPseudo(), SCIPcertificatePrintInheritedBound(), SCIPcertificatePrintUnsplitting(), and SCIPcertifyActivityConflict().
◆ SCIPcertificatePrintDualboundExactLP()
| 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
- Parameters
-
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 SCIP_Certificate::blkmem, certificatePrintDualbound(), SCIP_LpExact::cols, SCIP_RowExact::dualfarkas, SCIP_RowExact::dualsol, SCIP_ColExact::farkascoef, SCIP_LpExact::fplp, 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_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, and SCIP_ColExact::var.
Referenced by priceAndCutLoop(), SCIPnodeUpdateLowerboundLP(), and solveNode().
◆ SCIPcertificatePrintDualboundPseudo()
| 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
- Parameters
-
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 certificatePrintDualbound(), SCIP_Certificate::indexcounter, NULL, SCIP_Certificate::objintegral, SCIP_CALL, SCIP_Longint, SCIP_OKAY, 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(), and SCIPvarGetUbCertificateIndexLocal().
Referenced by applyBounding(), propAndSolve(), SCIPnodeAddBoundinfer(), SCIPnodeAddBoundinferExact(), and solveNode().
◆ SCIPcertificatePrintInheritedBound()
| 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
- Parameters
-
set general SCIP settings certificate certificate data structure node node data
Definition at line 2490 of file certificate.cpp.
References 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().
◆ SCIPcertificateGetRowIndex()
| SCIP_Longint SCIPcertificateGetRowIndex | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_ROWEXACT * | row, | ||
| SCIP_Bool | rhs | ||
| ) |
returns the index for a row in the certificate
- Parameters
-
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 SCIP_RowExact::lhs, SCIP_RowExact::rhs, SCIP_Certificate::rowdatahash, SCIP_Longint, SCIP_LONGINT_MAX, SCIPhashmapGetImageLong(), SCIPrationalIsAbsInfinity(), and SCIPrationalIsEQ().
Referenced by SCIPcertificatePrintAggrrow(), SCIPcertificatePrintMirCut(), SCIPcertifyActivityConflict(), SCIPcertifyActivityVarBoundExact(), and SCIPgetFarkasProof().
◆ SCIPcertificateUpdateBranchingData()
| 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
- Parameters
-
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 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, SCIPcertificateIsEnabled(), SCIPhashmapGetImage(), SCIPnodeGetParent(), SCIPnodeGetType(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsIntegral(), SCIPrationalSetReal(), and SCIP_Certificate::transfile.
Referenced by SCIPtreeBranchVar(), and SCIPtreeBranchVarExact().
◆ SCIPcertificateNewNodeData()
| SCIP_RETCODE SCIPcertificateNewNodeData | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_STAT * | stat, | ||
| SCIP_NODE * | node | ||
| ) |
create a new node data structure for the current node
- Parameters
-
certificate SCIP certificate stat problem statistics node new node, that was created
Definition at line 2615 of file certificate.cpp.
References 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().
◆ SCIPcertificatePrintCutoffBound()
| SCIP_RETCODE SCIPcertificatePrintCutoffBound | ( | SCIP * | scip, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_RATIONAL * | bound, | ||
| SCIP_Longint * | certificateline | ||
| ) |
prints cutoff bound for objective value
- Parameters
-
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_OKAY, SCIP_R_ROUND_DOWNWARDS, SCIPbuffer(), SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPisObjIntegral(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsIntegral(), SCIPrationalRoundInteger(), and SCIPrationalSetRational().
Referenced by SCIPgetDualProof().
◆ SCIPcertificatePrintAggrrow()
| 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
- Parameters
-
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 certificatePrintWeakDerStart(), FALSE, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_Certificate::lastinfo, NULL, SCIP_Certificate::rowdatahash, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPaggrRowGetInds(), SCIPaggrRowGetNNz(), SCIPaggrRowGetRhs(), SCIPaggrRowGetValueSafely(), SCIPaggrRowPrint(), SCIPcertificateGetRowIndex(), SCIPcertificateIsEnabled(), SCIPcertificatePrintProofMessage(), SCIPcertificatePrintProofRational(), SCIPdebug, SCIPdebugMessage, SCIPhashmapExists(), SCIPprobGetVars(), SCIPrationalCreateBuffer(), SCIPrationalFreeBuffer(), SCIPrationalIsPositive(), SCIPrationalSetReal(), SCIProwExactPrint(), SCIProwGetRowExact(), and SCIPvarGetCertificateIndex().
Referenced by SCIPgetDualProof(), and SCIPgetFarkasProof().
◆ SCIPcertificateClearAggrinfo()
| SCIP_RETCODE SCIPcertificateClearAggrinfo | ( | SCIP * | scip | ) |
free all aggregation information
- Parameters
-
scip global SCIP data structure
Definition at line 2780 of file certificate.cpp.
References SCIP_Certificate::aggrinfo, SCIP_Certificate::aggrinfohash, SCIP_Certificate::aggrinfosize, SCIP_Certificate::blkmem, BMSfreeBlockMemoryArray, SCIP_Certificate::naggrinfos, NULL, SCIP_CALL, SCIP_Longint, SCIP_OKAY, SCIPcertificateFreeAggrInfo(), SCIPcertificateIsEnabled(), SCIPgetCertificate(), SCIPhashmapFree(), and SCIPhashmapRemoveAll().
Referenced by freeSolve(), and SCIPcertificateExit().
◆ SCIPcertificateClearMirinfo()
| SCIP_RETCODE SCIPcertificateClearMirinfo | ( | SCIP * | scip | ) |
free all mir information
- Parameters
-
scip global SCIP data structure
Definition at line 2813 of file certificate.cpp.
References SCIP_Certificate::blkmem, BMSfreeBlockMemory, BMSfreeBlockMemoryArray, SCIP_MirInfo::frac, 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().
◆ SCIPcertificateFreeAggrInfo()
| SCIP_RETCODE SCIPcertificateFreeAggrInfo | ( | SCIP_SET * | set, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_LP * | lp, | ||
| SCIP_AGGREGATIONINFO * | aggrinfo, | ||
| SCIP_ROW * | row | ||
| ) |
free aggregation information for row
- Parameters
-
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, 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().
◆ SCIPcertificateFreeMirInfo()
| SCIP_RETCODE SCIPcertificateFreeMirInfo | ( | SCIP_SET * | set, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_LP * | lp, | ||
| SCIP_MIRINFO * | mirinfo, | ||
| SCIP_ROW * | row | ||
| ) |
free mir information for row
- Parameters
-
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, 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().
◆ SCIPcertificateFreeRowInfo()
| SCIP_RETCODE SCIPcertificateFreeRowInfo | ( | SCIP * | scip, |
| SCIP_ROW * | row | ||
| ) |
free information that is possibly still stored about this row in the certificate structure
- Parameters
-
scip SCIP data structure row a SCIP row
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().
◆ SCIPcertificateNewAggrInfo()
| 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
- Parameters
-
scip SCIP data structure aggrrow agrrrow that results from the aggregation aggrrows array of rows used fo the aggregation weights array of weights naggrrows length of the arrays negslackrows array of rows that are added implicitly with negative slack negslackweights array of negative slack weights nnegslackrows length of the negative slack array
Definition at line 3004 of file certificate.cpp.
References SCIP_Certificate::aggrinfo, SCIP_Certificate::aggrinfosize, SCIP_AggregationInfo::aggrrow, SCIP_AggregationInfo::aggrrows, SCIP_AggregationInfo::arpos, SCIP_AggregationInfo::fileindex, SCIP_Certificate::indexcounter, SCIP_Certificate::naggrinfos, SCIP_AggregationInfo::naggrrows, SCIP_AggregationInfo::negslackrows, SCIP_AggregationInfo::negslackweights, SCIP_AggregationInfo::nnegslackrows, NULL, SCIP_CALL, SCIP_OKAY, SCIPaggrRowCopy(), SCIPallocBlockMemory, SCIPallocBlockMemoryArray, SCIPcertificateIsEnabled(), SCIPdebugMessage, SCIPgetCertificate(), SCIPreallocBlockMemoryArray, SCIProwCapture(), SCIProwGetName(), SCIP_AggregationInfo::substfactor, TRUE, SCIP_AggregationInfo::weights, and SCIP_Certificate::workingaggrinfo.
Referenced by SCIPaddCertificateAggrInfo().
◆ SCIPcertificateNewMirInfo()
| SCIP_RETCODE SCIPcertificateNewMirInfo | ( | SCIP * | scip | ) |
create a new split info structure for the current cut
- Parameters
-
scip SCIP data structure
Definition at line 3074 of file certificate.cpp.
References SCIP_MirInfo::arpos, 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().
◆ SCIPcertificatePrintUnsplitting()
| SCIP_RETCODE SCIPcertificatePrintUnsplitting | ( | SCIP_SET * | set, |
| SCIP_CERTIFICATE * | certificate, | ||
| SCIP_NODE * | node | ||
| ) |
prints unsplitting information to proof section
- Parameters
-
set general SCIP settings certificate certificate data structure node node data
Definition at line 3130 of file certificate.cpp.
References 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().
◆ SCIPcertificatePrintRtpRange()
| SCIP_RETCODE SCIPcertificatePrintRtpRange | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile, | ||
| SCIP_RATIONAL * | lowerbound, | ||
| SCIP_RATIONAL * | upperbound | ||
| ) |
prints RTP section with lowerbound and upperbound range
- Parameters
-
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_CALL, SCIP_OKAY, SCIPcertificateIsEnabled(), SCIPcertificatePrintProblemMessage(), SCIPcertificatePrintProblemRational(), SCIPrationalIsInfinity(), and SCIPrationalIsNegInfinity().
Referenced by SCIPcertificatePrintResult().
◆ SCIPcertificatePrintRtpInfeas()
| void SCIPcertificatePrintRtpInfeas | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Bool | isorigfile | ||
| ) |
prints RTP section for infeasibility
- Parameters
-
certificate certificate data structure isorigfile should the original solution be printed or in transformed space
Definition at line 3270 of file certificate.cpp.
References SCIPcertificateIsEnabled(), and SCIPcertificatePrintProblemMessage().
Referenced by SCIPcertificatePrintResult().
◆ SCIPcertificateSetLastBoundIndex()
| SCIP_RETCODE SCIPcertificateSetLastBoundIndex | ( | SCIP_CERTIFICATE * | certificate, |
| SCIP_Longint | index | ||
| ) |
sets the last bound index for the certificate
- Parameters
-
certificate certificate data structure index index of new bound
Definition at line 3283 of file certificate.cpp.
References SCIP_Certificate::lastboundindex, SCIP_OKAY, and SCIPcertificateIsEnabled().
Referenced by boundchgApplyExact(), SCIPboundchgApply(), SCIPboundchgUndo(), and SCIPcertifyActivityVarBoundExact().
◆ SCIPcertificateGetLastBoundIndex()
| SCIP_Longint SCIPcertificateGetLastBoundIndex | ( | SCIP_CERTIFICATE * | certificate | ) |
returns the last bound index for the certificate
- Parameters
-
certificate certificate data structure
Definition at line 3297 of file certificate.cpp.
References SCIP_Certificate::lastboundindex, and SCIPcertificateIsEnabled().
Referenced by SCIPvarChgLbLocal(), SCIPvarChgLbLocalExact(), SCIPvarChgUbLocal(), SCIPvarChgUbLocalExact(), varProcessChgLbLocal(), and varProcessChgUbLocal().
◆ SCIPcertificatePrintCutoffConflictingBounds()
| 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
- Parameters
-
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 SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_AggregateExact::constant, SCIP_Var::data, SCIP_Var::exactdata, FALSE, SCIP_Certificate::indexcounter, SCIP_Var::negatedvar, NULL, SCIP_AggregateExact::scalar, SCIP_Bool, SCIP_CALL, SCIP_ERROR, 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, SCIP_Aggregate::var, and SCIP_Var::varstatus.
Referenced by SCIPcertificatePrintCutoffConflictingBounds(), SCIPinferVarLbConsExact(), and SCIPinferVarUbConsExact().
◆ SCIPcertificatePrintGlobalBound()
| 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
- Parameters
-
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 SCIP_VarDataExact::aggregate, SCIP_Var::aggregate, SCIP_CertificateBound::boundtype, SCIP_CertificateBound::boundval, SCIP_CertificateBound::certificateindex, SCIP_AggregateExact::constant, SCIP_Var::data, SCIP_Var::exactdata, SCIP_Certificate::indexcounter, SCIP_CertificateBound::isbound, SCIP_CertificateBound::isglobal, SCIP_Certificate::lastinfo, SCIP_Var::negatedvar, NULL, SCIP_AggregateExact::scalar, SCIP_BOUNDTYPE_LOWER, SCIP_BOUNDTYPE_UPPER, SCIP_CALL, SCIP_ERROR, 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, SCIP_Aggregate::var, SCIP_CertificateBound::varindex, and SCIP_Var::varstatus.
Referenced by SCIPcertificatePrintGlobalBound(), SCIPnodeAddBoundinfer(), and SCIPnodeAddBoundinferExact().
◆ SCIPconsPrintCertificateExactLinear()
| SCIP_RETCODE SCIPconsPrintCertificateExactLinear | ( | SCIP * | scip, |
| SCIP_CONS * | cons | ||
| ) |
- Parameters
-
scip SCIP data structure cons constraint
Definition at line 3470 of file certificate.cpp.
References FALSE, 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().
◆ SCIPcertificateGetConsIndex()
| 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
- Parameters
-
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 SCIP_Certificate::rowdatahash, SCIP_Longint, SCIP_LONGINT_MAX, SCIPhashmapGetImageLong(), SCIPrationalIsAbsInfinity(), and SCIPrationalIsEQ().
Referenced by SCIPcertifyActivityConflict(), and SCIPcertifyActivityVarBoundExact().