Releases: scipopt/soplex
Releases · scipopt/soplex
v8.0.0
interface & parameters
- method
SoPlexBase<R>::factorizeColumnRational()is now public - added
getRowActivity(),getRowActivityRational(),getRowsActivity(),getRowsActivityReal(),getRowsActivityRational(), andgetColActivity(),getColActivityRational(),getColsActivity(),getColsActivityReal()toSoPlexBase<R>, based on extendedcomputePrimalActivity()andcomputeDualActivity() - rename enums for verbosity levels:
SPxOut::DEBUGtoSPxOut::VERB_DEBUGetc. - changed type of second argument of
spx_alloc()andspx_realloc()frominttosize_t - changed second argument of
NameSet::NameSet(), first argument ofNameSet::memRemax(), return ofNameSet::memMax(), and return ofNameSet::memSize()frominttosize_t - add constructor for class
SolBase - deprecated
SOPLEX_SUBVERSION,SOPLEX_VERSION_SUB, andsoplex::subversion()
build system
- for cmake >= 3.30, CMP0167 is enforced and
BOOST_ROOTno longer supported; useBoost_DIRinstead with these cmake versions - increased minimal required cmake version to 3.11
- revised SANITIZE options for makefile: removed
SANITIZE=full, addedSANITIZE=thread,SANITIZE=address, andSANITIZE=memoryto enable thread, address, and memory sanitizers, respectively, in addition to undefined behavior sanitizer; changed default toSANITIZE=false - replaced
SANITIZE_XYZ=(on|off)options for cmake bySANITIZE=(on|off|thread|address|memory)and let it have an actual effect on the build; undefined behavior sanitizer is always enabled if notSANITIZE=off(the default) - Makefiles: by default, SoPlex links with
MPFR=trueandGMP=trueif and only ifBOOST=true(optionsGMP=autoandMPFR=auto) - Makefiles: change default value of
BOOSTto false; setBOOST=truemanually to obtain exact rational solving functionality - cmake: if SoPlex is build with MPFR, then also projects that use such a SoPlex installation will now look for MPFR
- cmake: updated
FindMPFR.cmakeso thatMPFR_DIRis now supported
fixed bugs
- extend memory counters to
size_tto avoid segmentation faults for large-scale problems - removed instantiation of
SPxLPBase<Rational>class template from header file, to avoid problems when SoPlex headers are compiled into several object files of a library
code quality
- avoid deprecated implicit copy constructor for classes
SPxException,SLinSolver, andSLinSolverRational
miscellaneous
- removed 4th number in SoPlex version; new format is major.minor.patch
Downloads of prebuild libraries and executables, as part of the SCIP Optimization Suite, are available at https://scipopt.org/index.php#download.
v7.1.6
Fixed bugs:
- fixed that
SoPlex_objValueRationalStringdid not calculate the required string length correctly - clear vector before modifying number of non-zeros in
SSVectorBase<R>::assign2productShort()ofbasevectors.hto avoid uninitialized indexing - also check whitespace at fourth position and only rely on length in row section in
MPSInput::readLine()to detect more free MPS formats
Code quality:
- reorganize
NameSet::number()to avoid one hash table lookup and remove false compiler warning - avoid a false use-after-free compiler warning from GCC 12 and some more fixes of compiler warnings
v7.1.5
Fixed bug:
- disable setting the boolean variable
MACOSX_RPATHto a string value to actually enable@rpathusage
v7.1.4
Fixed bugs:
- correct use of float_control pragma in stablesum implementation
- relax assertion that requires a valid basis after rational solving
- correct handling of IEEE infinity values when sorting arrays
Miscellaneous:
- rename CMAKE_BUILD_TYPE to SOPLEX_BUILD_TYPE in soplex/config.h
v7.1.3
Fixed bugs
- generalize basis adaption to variable bounds in
loadDesc()ofspxbasis.hppto avoid errors and cyclings due to outdated non-basis declarations - remove fallback methods for
mpq_tif GMP is not linked to avert breaking namespace pollution
Code quality
- correct order of columns and rows when dumping basis
- generalize optional test
_checkBasisScaling()oftestsoplex.hppto both representations
Miscellaneous
- only invalidate factorization after unscaling matrix in
_checkBasisScaling()oftestsoplex.hppto keep basis sequence
v7.1.2
- include C interface (
soplex_interface.h) also in static library when building with cmake
v7.1.1
Code Quality
- use nullptr instead of 0 for NULL pointers
v7.1.0
Interface & Parameters
- add method
SoPlexBase::numRefinements()to return number of iterative refinements - new optional argument
writeZeroObjectiveto write functions ofSoPlexBase - new functions
SPxSolverBase::isTerminationValueEnabled(),SPxSolverBase::toggleTerminationValue(), and
SPxSolverBase::factorizeAndRecompute()
Code Quality
- add option to write dense objective to mps/lp files (including variables with zero objective coefficients)
Fixed Bugs
- remove unused and incorrect SOPLEX_VERSION_API in cmake, SOPLEX_APIVERSION now always set in
spxdefines.h - disable objective limits once if exceeding unscaled and unsimplified solution is not dual feasible
- recompute solution from fresh factorization if objective limit is reached to avoid incorrect terminations
- fix bug when writing bounds for unused variables in MPS file format
Miscellaneous
- removed
gzstream.h/hpp(L-GPL) and replaced it withzstr(MIT License) for.gzfile handling
v7.0.1
Merge branch 'website-cosmetics' into 'bugfix-70' Website cosmetics See merge request integer/soplex!454
v7.0.0
release-700 increase version to 7.0.0.0