@@ -18,20 +18,21 @@ function runtests()
18
18
end
19
19
20
20
function test_runtests ()
21
- model = MOI. instantiate (ECOS. Optimizer, with_bridge_type = Float64)
21
+ model = MOI. Utilities. CachingOptimizer (
22
+ MOI. Utilities. UniversalFallback (MOI. Utilities. Model {Float64} ()),
23
+ MOI. instantiate (ECOS. Optimizer; with_bridge_type = Float64),
24
+ )
25
+ @test model. optimizer. model. model_cache isa
26
+ MOI. Utilities. UniversalFallback{ECOS. OptimizerCache}
22
27
MOI. set (model, MOI. Silent (), true )
23
28
exclude = String[
24
- # Expected test failures:
25
- # Problem is a nonconvex QP (fixed in MOI 0.10.6)
26
- " test_basic_ScalarQuadraticFunction_EqualTo" ,
27
- " test_basic_ScalarQuadraticFunction_GreaterThan" ,
28
- " test_basic_ScalarQuadraticFunction_Interval" ,
29
- " test_basic_VectorQuadraticFunction_" ,
30
- " test_quadratic_SecondOrderCone_basic" ,
31
- " test_quadratic_nonconvex_" ,
32
- # MathOptInterface.jl issue #1431
33
- " test_model_LowerBoundAlreadySet" ,
34
- " test_model_UpperBoundAlreadySet" ,
29
+ # ZerosBridge does not support ConstraintDual. These are tested below in
30
+ # test_runtests_ZerosBridge
31
+ " test_conic_RotatedSecondOrderCone_INFEASIBLE_2" ,
32
+ " test_conic_linear_VectorOfVariables_2" ,
33
+ " test_linear_integration" ,
34
+ " test_quadratic_constraint_GreaterThan" ,
35
+ " test_quadratic_constraint_LessThan" ,
35
36
]
36
37
if Sys. WORD_SIZE == 32
37
38
# These tests fail on x86 Linux, returning ITERATION_LIMIT instead of
@@ -55,6 +56,39 @@ function test_runtests()
55
56
return
56
57
end
57
58
59
+ function test_runtests_ZerosBridge ()
60
+ optimizer = MOI. instantiate (ECOS. Optimizer; with_bridge_type = Float64)
61
+ MOI. Bridges. remove_bridge (
62
+ optimizer,
63
+ MOI. Bridges. Variable. ZerosBridge{Float64},
64
+ )
65
+ model = MOI. Utilities. CachingOptimizer (
66
+ MOI. Utilities. UniversalFallback (MOI. Utilities. Model {Float64} ()),
67
+ optimizer,
68
+ )
69
+ MOI. Test. runtests (
70
+ model,
71
+ MOI. Test. Config (
72
+ atol = 1e-3 ,
73
+ rtol = 1e-3 ,
74
+ exclude = Any[
75
+ MOI. ConstraintBasisStatus,
76
+ MOI. VariableBasisStatus,
77
+ MOI. ObjectiveBound,
78
+ ],
79
+ ),
80
+ include = String[
81
+ # ZerosBridge does not support ConstraintDual
82
+ " test_conic_RotatedSecondOrderCone_INFEASIBLE_2" ,
83
+ " test_conic_linear_VectorOfVariables_2" ,
84
+ " test_linear_integration" ,
85
+ " test_quadratic_constraint_GreaterThan" ,
86
+ " test_quadratic_constraint_LessThan" ,
87
+ ],
88
+ )
89
+ return
90
+ end
91
+
58
92
function test_RawOptimizerAttribute ()
59
93
model = ECOS. Optimizer ()
60
94
MOI. set (model, MOI. RawOptimizerAttribute (" abstol" ), 1e-5 )
0 commit comments