lanl-ansi / Alpine.jl

A Julia/JuMP-based Global Optimization Solver for Non-convex Programs
https://lanl-ansi.github.io/Alpine.jl/latest/
Other
244 stars 39 forks source link

Update to MOI v1.0 #188

Closed odow closed 2 years ago

odow commented 2 years ago

Closes #187 Closes #185 Closes #184 Closes #183 Closes #182 Closes #101

odow commented 2 years ago

Okay @blegat this is a problem. Pavito uses Cbc as a sub-solver, and the switch to MatrixOfConstraints broke it because it no longer supports incremental modifications. What Pavito really needs to do is use Cbc inside a caching optimizer, but it isn't clear how to know whether a given solver needs a cache

odow commented 2 years ago

This failed because of the solver name checks :(

blegat commented 2 years ago

it isn't clear how to know whether a given solver needs a cache

We could use supports_incremental_interface, see https://github.com/jump-dev/MathOptInterface.jl/pull/1776

codecov[bot] commented 2 years ago

Codecov Report

Merging #188 (b9ecad7) into master (65c75f3) will decrease coverage by 0.33%. The diff coverage is 50.00%.

@@            Coverage Diff             @@
##           master     #188      +/-   ##
==========================================
- Coverage   85.64%   85.30%   -0.34%     
==========================================
  Files          16       16              
  Lines        2974     3158     +184     
==========================================
+ Hits         2547     2694     +147     
- Misses        427      464      +37     
Impacted Files Coverage Δ
src/Alpine.jl 100.00% <ø> (ø)
src/tmc.jl 88.00% <ø> (+0.72%) :arrow_up:
src/solver.jl 92.19% <42.30%> (-2.77%) :arrow_down:
src/algorithm.jl 77.41% <66.66%> (-0.26%) :arrow_down:
src/moi_function2expr.jl 89.18% <100.00%> (+0.95%) :arrow_up:
src/utility.jl 82.00% <0.00%> (-1.88%) :arrow_down:
src/multi.jl 74.72% <0.00%> (-0.87%) :arrow_down:
src/log.jl 90.08% <0.00%> (-0.68%) :arrow_down:
src/operators.jl 86.58% <0.00%> (-0.04%) :arrow_down:
... and 10 more

:mega: Codecov can now indicate which changes are the most critical in Pull Requests. Learn more

odow commented 2 years ago

Tests are passing (with the exception of the excluded ones due to Pavito cycling), so I'll merge this so I can make some other fixes.