Closed odow closed 2 years ago
@odow This is an issue with Pavito and not Alpine? If I run Pavito with Gurobi/CPLEX as underlying cont_solver
instead of Ipopt, the mixed-integer cycling doesn't appear in Pavito.
the issue is in Pavito. But the problem is that these tests are flakey, so they should probably be changed to not encounter Pavito's cycling.
Agreed! Was going to update some of these tests in the PR.
@odow From my observations, when an NLP exhibits multiple symmetric arg mins for the global minimum (like (-1,1), (1,1), (1,-1), (-1,-1)), Pavito seems to get into the MI cycling issue when Cbc and Ipopt are the underlying solvers. Of course, this doesn't happen with Gurobi as it's underlying solver. Although, I updated the unit tests in Alpine to make them a bit more meaningful and break this solution symmetry. Let me know if this needs more attention here.
I left quite a few TODOs in the tests: https://github.com/lanl-ansi/Alpine.jl/blob/ecf084c86d78fbbf3088630dc5e7366354d11a60/test/test_algorithm.jl#L153-L155 We should investigate and/or fix.