jump-dev / HiGHS.jl

A Julia interface to the HiGHS solver
https://highs.dev
MIT License
103 stars 14 forks source link

Update to HiGHS v1.2.0 #81

Closed odow closed 2 years ago

odow commented 2 years ago

Closes https://github.com/jump-dev/HiGHS.jl/issues/70 Closes https://github.com/jump-dev/HiGHS.jl/issues/73 Closes https://github.com/jump-dev/HiGHS.jl/issues/80

odow commented 2 years ago

@lgottwald @jajhall looks like there are some segfaults in presolve somewhere: https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true

signal (11): Segmentation fault
[152](https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true#step:6:152)
in expression starting at /home/runner/work/HiGHS.jl/HiGHS.jl/test/MOI_wrapper.jl:243
[153](https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true#step:6:153)
_ZN8presolve9HPresolve4linkEi at /home/runner/.julia/artifacts/b35ce16fd0665f735f8c25e9b0c5ca2209d78208/lib/libhighs.so (unknown line)
[154](https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true#step:6:154)
_ZN8presolve9HPresolve7fromCSCERKSt6vectorIdSaIdEERKS1_IiSaIiEES9_ at /home/runner/.julia/artifacts/b35ce16fd0665f735f8c25e9b0c5ca2209d78208/lib/libhighs.so (unknown line)
[155](https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true#step:6:155)
_ZN8presolve9HPresolve8setInputER7HighsLpRK12HighsOptionsP10HighsTimer at /home/runner/.julia/artifacts/b35ce16fd0665f735f8c25e9b0c5ca2209d78208/lib/libhighs.so (unknown line)
[156](https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true#step:6:156)
_ZN17PresolveComponent3runEv at /home/runner/.julia/artifacts/b35ce16fd0665f735f8c25e9b0c5ca2209d78208/lib/libhighs.so (unknown line)
[157](https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true#step:6:157)
_ZN5Highs11runPresolveEv at /home/runner/.julia/artifacts/b35ce16fd0665f735f8c25e9b0c5ca2209d78208/lib/libhighs.so (unknown line)
[158](https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true#step:6:158)
_ZN5Highs3runEv at /home/runner/.julia/artifacts/b35ce16fd0665f735f8c25e9b0c5ca2209d78208/lib/libhighs.so (unknown line)
[159](https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true#step:6:159)
Highs_run at /home/runner/work/HiGHS.jl/HiGHS.jl/src/gen/libhighs.jl:47 [inlined]
[160](https://github.com/jump-dev/HiGHS.jl/runs/5117936095?check_suite_focus=true#step:6:160)
optimize! at /home/runner/work/HiGHS.jl/HiGHS.jl/src/MOI_wrapper.jl:1562

I'll work to exclude the failing tests and then build some reproducible examples.

jajhall commented 2 years ago

Bummer! Good job I've not advertised v1.2.0 directly to users. Rome wasn't built in a day...

odow commented 2 years ago

This seems to be the underlying issue: https://github.com/ERGO-Code/HiGHS/issues/717

A lot of JuMP tests (and users) have a work-flow that looks like add variables -> constraints -> more variables -> more constraints.

jajhall commented 2 years ago

Thanks. I'll create a HiGHS unit test for this and get it fixed today.

codecov[bot] commented 2 years ago

Codecov Report

Merging #81 (1d89901) into master (221489a) will decrease coverage by 1.03%. The diff coverage is 89.58%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master      #81      +/-   ##
==========================================
- Coverage   82.65%   81.61%   -1.04%     
==========================================
  Files           2        3       +1     
  Lines        1199     1213      +14     
==========================================
- Hits          991      990       -1     
- Misses        208      223      +15     
Impacted Files Coverage Δ
src/gen/libhighs.jl 34.74% <ø> (ø)
src/MOI_wrapper.jl 92.91% <88.88%> (-1.48%) :arrow_down:
src/HiGHS.jl 100.00% <100.00%> (ø)

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 221489a...1d89901. Read the comment docs.

odow commented 2 years ago

@jajhall I updated the binaries to https://github.com/ERGO-Code/HiGHS/commit/f73254cfaa532139075fb174aa0c2e06e12cee34 and things look great.

We're passing all the JuMP tests on Windows, Mac, and Linux, on 64-bit and 32-bit, and we're testing the simplex and IPM solvers with and without presolve.

jajhall commented 2 years ago

How about MIP?

odow commented 2 years ago

Yes, all the MIP problems are passing as well

odow commented 2 years ago

Actually I found one issue, but it's a compilation problem, not a correctness blocker: https://github.com/ERGO-Code/HiGHS/issues/734