CSDP.jl
CSDP.jl copied to clipboard
Test failures
There are weird issues detected by Github Actions on Mac OS: https://github.com/jump-dev/CSDP.jl/blob/53b41fbdcb4601d75f07a4461b5f89a43367a0b7/test/MOI_wrapper.jl#L104-L132 Could someone with a mac take a look ?
I mean, CSDP is just unreliable:
julia> MOI.empty!(model)
julia> MOI.Test.test_objective_ObjectiveFunction_blank(model, config)
CSDP 6.2.0
This is a pure primal feasibility problem.
Iter: 0 Ap: 0.00e+00 Pobj: 0.0000000e+00 Ad: 0.00e+00 Dobj: 0.0000000e+00
Failure: return code is 9
Primal objective value: 0.0000000e+00
Dual objective value: 0.0000000e+00
Relative primal infeasibility: 1.50e+00
Relative dual infeasibility: 1.73e+01
Real Relative Gap: 0.00e+00
XZ Relative Gap: 8.94e+155
DIMACS error measures: 1.50e+00 0.00e+00 2.41e+01 0.00e+00 0.00e+00 8.94e+155
Test Failed at /Users/oscar/.julia/packages/MathOptInterface/Ohzb2/src/Test/test_objective.jl:200
Expression: MOI.get(model, MOI.TerminationStatus()) == config.optimal_status
Evaluated: MathOptInterface.NUMERICAL_ERROR == MathOptInterface.OPTIMAL
ERROR: There was an error during testing
julia> MOI.empty!(model)
julia> MOI.Test.test_objective_ObjectiveFunction_blank(model, config)
CSDP 6.2.0
This is a pure primal feasibility problem.
Iter: 0 Ap: 0.00e+00 Pobj: 0.0000000e+00 Ad: 0.00e+00 Dobj: 0.0000000e+00
Iter: 1 Ap: 8.10e-01 Pobj: 0.0000000e+00 Ad: 9.00e-01 Dobj: -3.5004939e+01
Iter: 2 Ap: 1.09e-01 Pobj: 0.0000000e+00 Ad: 9.00e-01 Dobj: -2.3002175e+03
Iter: 3 Ap: 1.33e-02 Pobj: 0.0000000e+00 Ad: 9.00e-01 Dobj: -1.1473294e+07
Declaring primal infeasibility.
Success: SDP is primal infeasible
Certificate of primal infeasibility: a'*y=-1.00000e+00, ||A'(y)-Z||=1.50964e-09
Test Failed at /Users/oscar/.julia/packages/MathOptInterface/Ohzb2/src/Test/test_objective.jl:200
Expression: MOI.get(model, MOI.TerminationStatus()) == config.optimal_status
Evaluated: MathOptInterface.INFEASIBLE == MathOptInterface.OPTIMAL
ERROR: There was an error during testing
julia> MOI.empty!(model)
julia> MOI.Test.test_objective_ObjectiveFunction_blank(model, config)
CSDP 6.2.0
This is a pure primal feasibility problem.
Iter: 0 Ap: 0.00e+00 Pobj: 0.0000000e+00 Ad: 0.00e+00 Dobj: 0.0000000e+00
Iter: 1 Ap: 1.00e+00 Pobj: 0.0000000e+00 Ad: 9.00e-01 Dobj: 4.4052605e+78
Success: SDP solved
Primal objective value: 0.0000000e+00
Dual objective value: 0.0000000e+00
Relative primal infeasibility: 0.00e+00
Relative dual infeasibility: 7.56e-89
Real Relative Gap: 0.00e+00
XZ Relative Gap: 5.00e-11
DIMACS error measures: 0.00e+00 0.00e+00 1.05e-88 0.00e+00 0.00e+00 5.00e-11
Because this is non-deterministic, we must be screwing up the C code somewhere with uninitialized memory.
Why is the C interface so convoluted?