Skip to content

Commit 9d143af

Browse files
committed
Add tests.
1 parent cc15af2 commit 9d143af

File tree

2 files changed

+61
-0
lines changed

2 files changed

+61
-0
lines changed

test/Project.toml

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
[deps]
2+
FileIO = "5789e2e9-d7fb-5bc7-8068-2c6fae9b9549"
3+
JLD2 = "033835bb-8acc-5ee8-8aae-3f567f8a3819"
4+
JuMP = "4076af6c-e467-56ae-b986-b466b2749572"
5+
LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
6+
Mosek = "6405355b-0ac2-5fba-af84-adbd65488c0e"
7+
MosekTools = "1ec41992-ff65-5c91-ac43-2df89e9693a4"
8+
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"

test/runtests.jl

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
using FileIO
2+
using LinearAlgebra
3+
using JuMP
4+
using Test
5+
6+
import MathOptChordalDecomposition
7+
import Mosek
8+
import MosekTools
9+
10+
function construct_model(f, name::String)
11+
# load data
12+
data = load("../sdplib/$name.jld2");
13+
F = data["F"]
14+
c = data["c"]
15+
m = data["m"]
16+
n = data["n"]
17+
18+
# construct model
19+
model = JuMP.Model(f)
20+
set_silent(model)
21+
@variable(model, x[1:m])
22+
@objective(model, Min, c' * x)
23+
@constraint(model, con1, Symmetric(-Matrix(F[1]) + sum(Matrix(F[k + 1]) .* x[k] for k in 1:m)) in JuMP.PSDCone())
24+
return model
25+
end
26+
27+
model = construct_model("mcp124-1") do
28+
MathOptChordalDecomposition.Optimizer(Mosek.Optimizer)
29+
end
30+
31+
JuMP.optimize!(model)
32+
@test round(MOI.get(model.moi_backend.optimizer.model.inner, MOI.ObjectiveValue()); digits=2) == 141.99
33+
34+
model = construct_model("mcp124-2") do
35+
MathOptChordalDecomposition.Optimizer(Mosek.Optimizer)
36+
end
37+
38+
JuMP.optimize!(model)
39+
@test round(MOI.get(model.moi_backend.optimizer.model.inner, MOI.ObjectiveValue()); digits=2) == 269.88
40+
41+
model = construct_model("mcp124-3") do
42+
MathOptChordalDecomposition.Optimizer(Mosek.Optimizer)
43+
end
44+
45+
JuMP.optimize!(model)
46+
@test round(MOI.get(model.moi_backend.optimizer.model.inner, MOI.ObjectiveValue()); digits=2) == 467.75
47+
48+
model = construct_model("mcp124-4") do
49+
MathOptChordalDecomposition.Optimizer(Mosek.Optimizer)
50+
end
51+
52+
JuMP.optimize!(model)
53+
@test round(MOI.get(model.moi_backend.optimizer.model.inner, MOI.ObjectiveValue()); digits=2) == 864.41

0 commit comments

Comments
 (0)