5656_SCIP_BOUNDTYPE_TO_STRING = {SCIP_BOUNDTYPE_UPPER: ' <=' ,
5757 SCIP_BOUNDTYPE_LOWER: ' >=' }
5858
59+ cdef extern from " scip/config.h" :
60+ """
61+ #ifdef WITH_DEBUG_SOLUTION
62+ #define PYSCIPOPT_WITH_DEBUG_SOLUTION 1
63+ #else
64+ #define PYSCIPOPT_WITH_DEBUG_SOLUTION 0
65+ #endif
66+ """
67+ bint PYSCIPOPT_WITH_DEBUG_SOLUTION
68+
5969# Mapping the SCIP_RESULT enum to a python class
6070# This is required to return SCIP_RESULT in the python code
6171# In __init__.py this is imported as SCIP_RESULT to keep the
@@ -141,7 +151,6 @@ cdef class PY_SCIP_STATUS:
141151 INFORUNBD = SCIP_STATUS_INFORUNBD
142152
143153StageNames = {}
144-
145154cdef class PY_SCIP_STAGE:
146155 INIT = SCIP_STAGE_INIT
147156 PROBLEM = SCIP_STAGE_PROBLEM
@@ -171,7 +180,6 @@ cdef class PY_SCIP_NODETYPE:
171180 SUBROOT = SCIP_NODETYPE_SUBROOT
172181 REFOCUSNODE = SCIP_NODETYPE_REFOCUSNODE
173182
174-
175183cdef class PY_SCIP_PROPTIMING:
176184 BEFORELP = SCIP_PROPTIMING_BEFORELP
177185 DURINGLPLOOP = SCIP_PROPTIMING_DURINGLPLOOP
@@ -198,7 +206,6 @@ cdef class PY_SCIP_HEURTIMING:
198206 AFTERPROPLOOP = SCIP_HEURTIMING_AFTERPROPLOOP
199207
200208EventNames = {}
201-
202209cdef class PY_SCIP_EVENTTYPE:
203210 DISABLED = SCIP_EVENTTYPE_DISABLED
204211 VARADDED = SCIP_EVENTTYPE_VARADDED
@@ -7756,6 +7763,24 @@ cdef class Model:
77567763 """
77577764 PY_SCIP_CALL(SCIPsetRelaxSolVal(self ._scip, NULL , var.scip_var, val))
77587765
7766+ def enableDebugSol (self ):
7767+ """
7768+ Enables the debug solution mechanism, which allows tracing back the invalidation of
7769+ a debug solution during the solution process of SCIP. It must be explicitly
7770+ enabled for the SCIP data structure.
7771+ """
7772+ if not PYSCIPOPT_WITH_DEBUG_SOLUTION:
7773+ raise RuntimeError (" SCIP must be built with `DEBUGSOL=true` to enable the debug solution mechanism." )
7774+ SCIPenableDebugSol(self ._scip)
7775+
7776+ def disableDebugSol (self ):
7777+ """
7778+ Disables the debug solution mechanism.
7779+ """
7780+ if not PYSCIPOPT_WITH_DEBUG_SOLUTION:
7781+ raise RuntimeError (" SCIP must be built with `DEBUGSOL=true` to disable the debug solution mechanism." )
7782+ SCIPdisableDebugSol(self ._scip)
7783+
77597784 def getConss (self , transformed = True ):
77607785 """
77617786 Retrieve all constraints.
0 commit comments