Skip to content

Commit a72c3b3

Browse files
committed
Merge branch '3915-fix-significant-time-waste' into 'master'
reduce time that plugin callbacks spent to determine that they do not run Closes #3915 See merge request integer/scip!3844
2 parents 349b1a0 + 902102f commit a72c3b3

26 files changed

+662
-497
lines changed

CHANGELOG

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -40,6 +40,7 @@ Performance improvements
4040

4141
- reimplemented SCIPvarGetActiveRepresentatives() by using dense arrays to avoid repeated resorting.
4242
- simplified symmetry detection graphs in case all edges have the same color
43+
- avoid unnecessary calls of constraint handlers components, benders, benderslp, propagator genvbounds, and heuristics ofins, subnlp, nlpdiving, indicator
4344

4445
Examples and applications
4546
-------------------------
@@ -157,6 +158,8 @@ Interface changes
157158
- added SCIPincludeRelaxBenders(), which is used to include the Benders' decomposition relaxator.
158159
- added SCIPgetMasterProblemRelaxBenders() for retrieving the master problem SCIP instance from the Benders' decomposition relaxator.
159160
- added SCIPsortDownIntIntIntReal()
161+
- SCIPconshdlrSetNeedsCons() to set whether constraint handler callbacks should also be called if there are no constraints
162+
- SCIPpropSetTimingmask() to set timing mask of a propagator
160163

161164
### Changes in preprocessor macros
162165

@@ -165,6 +168,8 @@ Interface changes
165168
- SCIPincludeConshdlrOrbitopePP(), SCIPcreateConsOrbitopePP(), SCIPcreateConsBasicOrbitopePP(), SCIPincludeConshdlrOrbitopeFull(), SCIPcreateConsOrbitopeFull(), SCIPcreateConsBasicOrbitopeFull()
166169
- SCIP_VERSION_SUB and SCIP_SUBVERSION are deprecated
167170
- removed SCIP_VARTYPE_IMPLINT_CHAR
171+
- added SCIP_PROPTIMING_NONE propagator timing to never call
172+
- added SCIP_HEURTIMING_NONE heuristic timing to never call
168173

169174
### Command line interface
170175

@@ -184,6 +189,8 @@ Interface changes
184189
- removed reading/gmsreader/signpower
185190
- removed benders/default/numthreads, multi-threading support for Benders' decomposition has been temporarily disabled.
186191
- restricted range of parameter propagating/symmetry/sstleadervartype to [1,7]; its new default value is 6
192+
- propagating/*/timingmask extended by setting 0 to disable propagators completely
193+
- changed defaults of constraints/components/propfreq and constraints/components/maxdepth to -1 and 2147483647, respectively, to avoid unnecessary calls of components propagator by default
187194

188195
### New parameters
189196

CMakeLists.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_DEBUG} ${CMAKE_CXX_FLAGS_R
2121
set(SCIP_VERSION_MAJOR 10)
2222
set(SCIP_VERSION_MINOR 0)
2323
set(SCIP_VERSION_PATCH 0)
24-
set(SCIP_VERSION_API 143)
24+
set(SCIP_VERSION_API 144)
2525

2626
project(SCIP
2727
VERSION ${SCIP_VERSION_MAJOR}.${SCIP_VERSION_MINOR}.${SCIP_VERSION_PATCH}

make/make.project

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ CLOCKTYPE = 1
9797
SCIP_VERSION_MAJOR = 10
9898
SCIP_VERSION_MINOR = 0
9999
SCIP_VERSION_PATCH = 0
100-
SCIP_VERSION_API = 143
100+
SCIP_VERSION_API = 144
101101
SCIP_VERSION = $(SCIP_VERSION_MAJOR).$(SCIP_VERSION_MINOR).$(SCIP_VERSION_PATCH)
102102

103103
# compiling and linking parameters

src/scip/cons.c

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5289,6 +5289,17 @@ SCIP_Bool SCIPconshdlrNeedsCons(
52895289
return conshdlr->needscons;
52905290
}
52915291

5292+
/** sets the needscons flag of constraint handler, for example to disable without constraints */
5293+
void SCIPconshdlrSetNeedsCons(
5294+
SCIP_CONSHDLR* conshdlr, /**< constraint handler */
5295+
SCIP_Bool needscons /**< should be skipped, if no constraints are available? */
5296+
)
5297+
{
5298+
assert(conshdlr != NULL);
5299+
5300+
conshdlr->needscons = needscons;
5301+
}
5302+
52925303
/** does the constraint handler perform presolving? */
52935304
SCIP_Bool SCIPconshdlrDoesPresolve(
52945305
SCIP_CONSHDLR* conshdlr /**< constraint handler */

0 commit comments

Comments
 (0)