Skip to content

Commit aa487c0

Browse files
committed
add duals to det contconic tests
1 parent 130ced6 commit aa487c0

1 file changed

Lines changed: 49 additions & 10 deletions

File tree

test/Test/contconic.jl

Lines changed: 49 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -216,14 +216,53 @@ end
216216
(MOI.VectorAffineFunction{Float64}, MOI.PositiveSemidefiniteConeSquare) => [[1, 0, 0, -1, 1, 0, -1, -1, 1] / 3])
217217
MOIT.psds3test(mock, config)
218218
end
219-
@testset "LogDet and RootDet" begin
220-
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [0, 1, 0, 1, 1])
221-
MOIT.logdetttest(mock, config)
222-
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [0, 1, 0, 0, 1, 1])
223-
MOIT.logdetstest(mock, config)
224-
225-
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [1, 1, 0, 1])
226-
MOIT.rootdetttest(mock, config)
227-
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [1, 1, 0, 0, 1])
228-
MOIT.rootdetstest(mock, config)
219+
@testset "LogDet" begin
220+
# TODO fix: errors with "Fallback getter for variable constraint dual does not support other variable-wise constraints on the variable"
221+
# mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [0, 1, 0, 1, 1],
222+
# (MOI.SingleVariable, MOI.EqualTo{Float64}) => [2],
223+
# (MOI.VectorAffineFunction{Float64}, MOI.Nonnegatives) => [[1, 1]])
224+
# MOIT.logdett1vtest(mock, config)
225+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [0, 1, 0, 1, 1],
226+
(MOI.SingleVariable, MOI.EqualTo{Float64}) => [2],
227+
(MOI.VectorAffineFunction{Float64}, MOI.Nonnegatives) => [[1, 1]],
228+
(MOI.VectorAffineFunction{Float64}, MOI.LogDetConeTriangle) => [[-1, -2, 1, 0, 1]])
229+
MOIT.logdett1ftest(mock, config)
230+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [log(5)],
231+
(MOI.VectorAffineFunction{Float64}, MOI.LogDetConeTriangle) => [[-1, log(5) - 3, 1, -1, 1.6, 0, -0.2, 0.4]])
232+
MOIT.logdett2test(mock, config)
233+
# TODO fix: errors with "Fallback getter for variable constraint dual does not support other variable-wise constraints on the variable"
234+
# mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [0, 1, 0, 0, 1, 1],
235+
# (MOI.SingleVariable, MOI.EqualTo{Float64}) => [2],
236+
# (MOI.VectorAffineFunction{Float64}, MOI.Nonnegatives) => [[1, 1]])
237+
# MOIT.logdets1vtest(mock, config)
238+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [0, 1, 0, 0, 1, 1],
239+
(MOI.SingleVariable, MOI.EqualTo{Float64}) => [2],
240+
(MOI.VectorAffineFunction{Float64}, MOI.Nonnegatives) => [[1, 1]],
241+
(MOI.VectorAffineFunction{Float64}, MOI.LogDetConeSquare) => [[-1, -2, 1, 0, 0, 1]])
242+
MOIT.logdets1ftest(mock, config)
243+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [log(5)],
244+
(MOI.VectorAffineFunction{Float64}, MOI.LogDetConeSquare) => [[-1, log(5) - 3, 1, -1, 0, -1, 1.6, -0.2, 0, -0.2, 0.4]])
245+
MOIT.logdets2test(mock, config)
246+
end
247+
@testset "RootDet" begin
248+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [1, 1, 0, 1],
249+
(MOI.VectorAffineFunction{Float64}, MOI.Nonnegatives) => [[0.5, 0.5]])
250+
MOIT.rootdett1vtest(mock, config)
251+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [1, 1, 0, 1],
252+
(MOI.VectorAffineFunction{Float64}, MOI.Nonnegatives) => [[0.5, 0.5]],
253+
(MOI.VectorAffineFunction{Float64}, MOI.RootDetConeTriangle) => [[-1.0, 0.5, 0.0, 0.5]])
254+
MOIT.rootdett1ftest(mock, config)
255+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [5 ^ inv(3)],
256+
(MOI.VectorAffineFunction{Float64}, MOI.RootDetConeTriangle) => [vcat(-1, [1, -1, 1.6, 0, -0.2, 0.4] / 3 * (5 ^ inv(3)))])
257+
MOIT.rootdett2test(mock, config)
258+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [1, 1, 0, 0, 1],
259+
(MOI.VectorAffineFunction{Float64}, MOI.Nonnegatives) => [[0.5, 0.5]])
260+
MOIT.rootdets1vtest(mock, config)
261+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [1, 1, 0, 0, 1],
262+
(MOI.VectorAffineFunction{Float64}, MOI.Nonnegatives) => [[0.5, 0.5]],
263+
(MOI.VectorAffineFunction{Float64}, MOI.RootDetConeSquare) => [[-1.0, 0.5, 0.0, 0.0, 0.5]])
264+
MOIT.rootdets1ftest(mock, config)
265+
mock.optimize! = (mock::MOIU.MockOptimizer) -> MOIU.mock_optimize!(mock, [5 ^ inv(3)],
266+
(MOI.VectorAffineFunction{Float64}, MOI.RootDetConeSquare) => [vcat(-1, [1, -1, 0, -1, 1.6, -0.2, 0, -0.2, 0.4] / 3 * (5 ^ inv(3)))])
267+
MOIT.rootdets2test(mock, config)
229268
end

0 commit comments

Comments
 (0)