Skip to content

Latest commit

 

History

History
33 lines (23 loc) · 3.38 KB

README.md

File metadata and controls

33 lines (23 loc) · 3.38 KB

HiGHS research performance improvements

The default validated-speedups branch carries the complete measured cumulative-cover-proof-2026-10-13 composite on official HiGHS v1.15.1 (upstream commit 04024d701f79feb8e2f18bc3df0dffc04ef05088), plus an exact objective-halving validity guard and its regression test. This research fork has measured per-instance scope; it is not a universal regression-free or fastest configuration.

Included methods

  • Allocation/copying reductions in factor/vector operations, simplex updates and feasibility jump.
  • Guarded root parity and exact small-sum certificates.
  • Exact disjunctive and two-chain scheduling relaxations, original-LP completion and certification.
  • Coordinate-capacity infeasibility proofs and checked partition-neighborhood primal construction.
  • Certified coordinate reflection and optional half-grid/TU transformations.
  • Continuous equitable folding, a structural 10% benefit filter and scoped cut retention.
  • Optional root-cut and strong-branch controls; certified branching tie repair retains stock defaults.
  • Projected resource packing, lifted one-hot cover cuts and exact objective-floor certificates.

Recognizers inspect coefficients, domains and certified structure. They do not read model names, reference optima, Gurobi points or external benchmark solutions. Unsupported cases retain ordinary HiGHS behavior. Individual optional features and aggressive experimental controls have different measured scopes; source defaults are preserved, and unaccepted controls are not enabled by the supplied validated profiles.

Build and use

cmake -S . -B build -DCMAKE_BUILD_TYPE=Release -DFAST_BUILD=ON \
  -DBUILD_SHARED_LIBS=ON -DBUILD_SHARED_EXTRAS_LIB=OFF -DHIPO=OFF -DZLIB=ON
cmake --build build --target highs-bin -j2
build/bin/highs model.mps --options_file performance/profiles/validated-speedups.options

The main profile uses one thread, parallel off, seed 7, zero MIP gaps and a 300-second limit. Change random_seed to reproduce other seeds. Historic Fastxgemm/Sct2/reflection profiles preserve their recorded seeds. The grid profile is optional and does not establish seed robustness. The original timing builds used GCC 15.2.1; this publication also builds with GCC 13.3.0. Compilers without signed 128-bit arithmetic conservatively decline the optional exact-floor method.

Evidence and validation

Measured results and all performance limits, source identities, test receipt, and profiles are included. The fresh Release build passed 50 existing CLI MIP tests and six focused test cases with 23,363 assertions, including exhaustive cut checks and signed-subnormal objective preservation. Explicit parallel tests were excluded. Old baseline timings are reused; fresh tests check correctness and the build, and supply no additional speedup evidence.

The mathematical cumulative-cover argument and network-integrality certificate are preserved. Numerical primal checks, exact certificate checks and timing acceptance remain distinct. Today’s rejected Csched007/Graphdraw candidates are documented separately and do not replace the default composite. Gurobi binaries, proprietary disassembly, licences and benchmark solution starts are not dependencies of this fork.