highs 1.13.0 - #265829
Merged
Merged
Conversation
Member
|
chenrui333
force-pushed
the
bump-highs-1.13.0
branch
from
February 4, 2026 12:18
d19a54c to
463672a
Compare
highs: add `compatibility_version` Signed-off-by: Rui Chen <rui@chenrui.dev>
Signed-off-by: Rui Chen <rui@chenrui.dev>
chenrui333
force-pushed
the
bump-highs-1.13.0
branch
from
February 4, 2026 17:49
463672a to
bd14b4b
Compare
stefanb
approved these changes
Feb 4, 2026
Contributor
|
🤖 An automated task has requested bottles to be published to this PR. Caution Please do not push to this PR branch before the bottle commits have been pushed, as this results in a state that is difficult to recover from. If you need to resolve a merge conflict, please use a merge commit. Do not force-push to this PR branch. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Created by
brew bumpCreated with
brew bump-formula-pr.Details
release notes
Following PR #2623,
singleton column stuffing added to MIP presolve - see Gamrath et al.,
Progress in presolving for mixed integer
programming. Math. Prog. Comp. 7, 367–398 (2015).
Following user PR
#2625, callback data
structs are named, allowing them to be forward-declared data types if
a callback needs to be declared in a public header
Following PR #2626,
IPXis used by default when switching to IPM after simplex reachesiteration limit in
HighsLpRelaxation::runFollowing user PR
#2628,
#include <functional>has been added inhighs/mip/HighsGFkSolve.handhighs/mip/HighsNodeQueue.hto avoid compilation failures for somecompilers.
Prompted by #2633,
the constraint matrix is passed by reference (rather than value) for
each constraint when writing a LP file.
Following PR #2639,
the dominated columns reduction is speeded up for models with many
columns.
Prompted by #2643,
primal simplex is avoided when the unscaled LP problem has primal
infeasibilities but is dual feasible.
Following PR #2644,
the irreducible infeasibility system detection facility has been
refactored and is much more robust. Rather than have
HighsOption::iis_strategybe one from an enum of "strategyscenarios" it is now a bit map
Highs::getIisis called.Hence, by just setting the 2-bit, an IS is formed reliably, and at not great expense (for an LP).
Prompted by #2653,
the very rare report of spurious primal infeasibilities in the optimal
solution of MIPs with large bounds on variables or constraints is
eliminated.
Prompted by #2655,
#2766 and
#2744,
changeRowsBoundshas been added tohighspy.Following PR #2671,
implications gathered by the MIP solver are applied when performing a
bound change.
Prompted by #2676,
the
getIismethod inhighspyis now correct.Following PR #2678, an
option
mip_allow_cut_separation_at_nodes(defaulttrue) has beenadded for models where time is spent on separating cuts at branching
nodes is a considerable fraction of the solution time.
Prompted by #2681,
Highs_getPresolvedColNameandHighs_getPresolvedRowNamehave beenadded to the C API.
Following PR #2695,
HPresolve::enumerateSolutionsenumerates all solutions to purebinary constraints with up to 8 variables. This is run before probing
to avoid (expensive) probing on binary variables that could be
fixed.
Prompted by #2696,
the simplex solver sets dual values of basic variables to zero,
translating this numerical error measure to nonzero residuals in the
dual equations.
Prompted by #2705, a
presolved MIP can be passed from C if it contains implied integers.
Following user PR
#2713, scalar
entries of the
HighsLpclass are not used after the correspondinginstance undergoes
std::moveinhighs/mip/HighsLpRelaxation.cpp.Prompted by #2721, examples
of using solution in Python examples have been improved.
Following user PR
#2747,
save_valueisinitialised wen a
HighsSimplexBadBasisChangeRecordis created.Following PR #2761,
presolve now checks if all binary variables (from a constraint) form a
clique.
Following PR #2762,
the vector is passed by reference rather than value to
freeVectorinhighs/ipm/hipo/auxiliary/Auxiliary.h.Following PR #2768,
the HiPO wrapper no longer makes an unnecessary copy of the LP.
Prompted by #2769,
now initialising
senseinstruct Modelof LP file readerCompiler warnings have been fixed
All unguarded
printfstatements have been removed.Build changes
Added Python 3.14 wheels.
Added a CMake option
BUILD_OPENBLASfor Windows and Linux, whenHIPOis ON andBUILD_OPENBLASis ON, OpenBLAS is downloaded and built as a subproject. The default value is OFF.Update
rules_cudafor the bazel build.Filereader is now in
highs/rather thanextern/.Metis, AMD and RCM are now in
extern/. Metis is no longer an external dependency.Binaries are now available. Standard HiGHS binaries are MIT-licensed and HiGHS with HiPO are Apache-licensed.
Licensing
Code not written for HiGHS is now maintained in the
/externdirectory, and
THIRD_PARTY_NOTICES.mdcontains a statement of thelicenses of all such external code, some of which are permissive
non-MIT licenses.
When HiGHS is built from code, the conditions of the non-MIT licenses
are such that the resulting binaries and executable remain MIT
licensed. However, since the interior point solver HiPO makes use of
some of this external code, we believe that the MIT license is lost
when users link to our precompiled binaries. Hence there are binaries
without HiPO (MIT license), and with HiPO (Apache 2.0 license).
We believe that this is a conservative stance, and we are taking
expert advice that may allow us to relax this distinction.
View the full release notes at https://github.com/ERGO-Code/HiGHS/releases/tag/v1.13.0.