File tree Expand file tree Collapse file tree 2 files changed +61
-0
lines changed
Expand file tree Collapse file tree 2 files changed +61
-0
lines changed Original file line number Diff line number Diff line change 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"
Original file line number Diff line number Diff line change 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
You can’t perform that action at this time.
0 commit comments