Features
- added command line option
-tto specify the number of threads, which triggers concurrent solving viaSCIPsolveConcurrent()
Performance improvements
- implemented interval function evaluation callback in CONOPT interface
- reduced complexity of
SCIPundoBdchgsProof()during conflict analysis accelerating execution for many variables - terminate dynamic programming in the exact knapsack solver early once the optimal LP-based upper bound is reached
Fixed bugs
- include original objective offset when writing transformed problem
- corrected random seed calculation in
SCIPsetInitializeRandomSeed()in optimized mode - correct node selector for heuristic node preview in main solving loop
- stop interrupted node without copying to child node to simplify continuation of solve
- fixed bug with locking/unlocking aggregated variables in cons_orbisack/orbitope_full/orbitope_pp/symresack
- fixed a bug in sassy/dejavu by adding a patch to dejavu/preprocess.h
- fixed that registering branching candidates in the estimate callback of a nlhdlr was not accounted in the nlhdlr statistics
- fixed that copying relaxation-only variable in
SCIPgetVarCopy()was not rejected as intended - apply consistent arithmetic and tolerance to
SCIPselectWeighted*()for stable critical item - fixed invalid memory access when calling
SCIPgetStatus()in INIT stage - fixed that functions declared in pub_history.h were not included in optimized builds of SCIP
- fixed that parameter changes were printed to the log when parsing emphasis settings via an "emphasis:" line in a settings file (other parameter settings are not printed)
- disabled use of
std::unchecked_array_iteratorin amplmp's variant of fmt when using MSVC >= 2026 - fixed compilation issue with MSVC 2026 when enabling C++20
- fixed compilation issues with clang-based Intel compiler on Windows
- fixed that
check/check.shdid not resetEXECNAMEbefore calling tmpfile configuration script
Interface changes
New API functions
- added
SCIPcalcBestCut()to try multiple cut generation methods (FlowCover, KnapsackCover, CMIR) on an aggregation row and return the best cut by efficacy - added
SCIPinitCutGenParams(),SCIPcreateCutGenResult(), andSCIPfreeCutGenResult()as helper functions forSCIPcalcBestCut() - added
SCIPnlpiOracleEvalObjectiveInterval()andSCIPnlpiOracleEvalConstraintInterval() - added
SCIPgetSolvingPhase()along with enumSCIP_SOLVINGPHASEto query the current solving phase tracked by the solvingphase event handler, phase evaluation requiressolvingphases/enabled = TRUEorsolvingphases/testmode = TRUE - added
SCIPgetSolvingPhaseFlags()along with typedefSCIP_SOLVINGPHASEFLAGfor flagsSCIP_SOLVINGPHASEFLAG_NONE/RANK1/ESTIMATE/OPTIMAL/LOGto query which reached transition criteria have been detected by the solvingphase event handler, flag evaluation requiressolvingphases/enabled = TRUEorsolvingphases/testmode = TRUE - added
SCIPiisGetSubscipCons()andSCIPiisGetSubscipVar()to get the variables and constraints of the IIS subscip corresponding to the main problem - added
SCIPiisGetVarsmap()andSCIPiisGetConssmap()
New parameters
presolving/milp/enableGF2: whether to enable GF2 presolver in upcoming PaPILO 4concurrent/symmetrybefore: whether symmetry should be computed before concurrent solvingconstraints/<handler>/copytypedconsfor knapsack, logicor, setppc, and varbound constraint handlers to copy constraints with their native type instead of as linear constraints (default: FALSE)
Data Structures
- added struct
SCIP_CUTGENPARAMSfor cut generation parameters - added struct
SCIP_CUTGENRESULTfor cut generation result
Build system
- added build flag
CHECKNAME=autoto control name checks in plugin function calls
Cmake
- added workaround to avoid
-isystemfor ZLIB headers on macOS (leads to compilation issues for C++ code)
Makefiles
- changed default compiler (
COMP) from gnu to clang when on macOS and addedmake/make.darwin.arm.clang{.opt,.dbg,} - fixed makefiles for build with
LPS=highs
Miscellaneous
- added an example with a nonlinear handler for the potential function of the Lennard-Jones Cluster problem
For more information on attached assets, check https://scipopt.org/index.php#download.