Skip to content

Commit bde5dff

Browse files
authored
Remove cons_offset (#14)
1 parent 72e6d7c commit bde5dff

File tree

2 files changed

+13
-24
lines changed

2 files changed

+13
-24
lines changed

src/conic_form.jl

Lines changed: 0 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,6 @@ mutable struct ConicForm{T, AT, VT, C} <: MOI.ModelLike
2323
end
2424

2525
_set_type(::MOI.ConstraintIndex{F,S}) where {F,S} = S
26-
cons_offset(conic::MOI.Zeros) = conic.dimension
27-
cons_offset(conic::MOI.Nonnegatives) = conic.dimension
28-
cons_offset(conic::MOI.SecondOrderCone) = conic.dimension
29-
cons_offset(conic::MOI.PositiveSemidefiniteConeTriangle) = MOI.dimension(conic)
3026

3127
function get_conic_form(::Type{T}, model::M, con_idx) where {T, M <: MOI.AbstractOptimizer}
3228
# extract cones

test/conic_form.jl

Lines changed: 13 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -21,30 +21,30 @@ CONIC_OPTIMIZERS = [SCS.Optimizer, ProxSDP.Optimizer, COSMO.Optimizer]
2121
vov = MOI.VectorOfVariables(X)
2222

2323
cX = MOI.add_constraint(
24-
model,
24+
model,
2525
MOI.VectorAffineFunction{Float64}(vov), MOI.PositiveSemidefiniteConeTriangle(3)
2626
)
2727

2828
cx = MOI.add_constraint(
29-
model,
29+
model,
3030
MOI.VectorAffineFunction{Float64}(MOI.VectorOfVariables(x)), MOI.SecondOrderCone(3)
3131
)
3232

3333
c1 = MOI.add_constraint(
34-
model,
34+
model,
3535
MOI.VectorAffineFunction(
36-
MOI.VectorAffineTerm.(1:1, MOI.ScalarAffineTerm.([1., 1., 1., 1.], [X[1], X[3], X[end], x[1]])),
36+
MOI.VectorAffineTerm.(1:1, MOI.ScalarAffineTerm.([1., 1., 1., 1.], [X[1], X[3], X[end], x[1]])),
3737
[-1.0]
38-
),
38+
),
3939
MOI.Zeros(1)
4040
)
4141

4242
c2 = MOI.add_constraint(
43-
model,
43+
model,
4444
MOI.VectorAffineFunction(
45-
MOI.VectorAffineTerm.(1:1, MOI.ScalarAffineTerm.([1., 2, 1, 2, 2, 1, 1, 1], [X; x[2]; x[3]])),
45+
MOI.VectorAffineTerm.(1:1, MOI.ScalarAffineTerm.([1., 2, 1, 2, 2, 1, 1, 1], [X; x[2]; x[3]])),
4646
[-0.5]
47-
),
47+
),
4848
MOI.Zeros(1)
4949
)
5050

@@ -64,7 +64,7 @@ end
6464

6565
@testset "MOI to MatOI conversion 2" begin
6666
# find equivalent diffcp program here - https://github.com/AKS1996/jump-gsoc-2020/blob/master/diffcp_sdp_3_py.ipynb
67-
67+
6868
for optimizer in CONIC_OPTIMIZERS
6969
model = MOI.instantiate(optimizer, with_bridge_type=Float64)
7070

@@ -74,11 +74,11 @@ end
7474
η = 10.0
7575

7676
c1 = MOI.add_constraint(
77-
model,
77+
model,
7878
MOI.VectorAffineFunction(
7979
MOI.VectorAffineTerm.(1, MOI.ScalarAffineTerm.(-1.0, x[1:6])),
8080
[η]
81-
),
81+
),
8282
MOI.Nonnegatives(1)
8383
)
8484
c2 = MOI.add_constraint(model, MOI.VectorAffineFunction(MOI.VectorAffineTerm.(1:6, MOI.ScalarAffineTerm.(1.0, x[1:6])), zeros(6)), MOI.Nonnegatives(6))
@@ -92,11 +92,11 @@ end
9292
[x[1:7]; x[1:3]; x[5:6]; x[1:3]; x[5:7]])),
9393
zeros(3)), MOI.PositiveSemidefiniteConeTriangle(2))
9494
c4 = MOI.add_constraint(
95-
model,
95+
model,
9696
MOI.VectorAffineFunction(
9797
MOI.VectorAffineTerm.(1, MOI.ScalarAffineTerm.(0.0, [x[1:3]; x[5:6]])),
9898
[0.0]
99-
),
99+
),
100100
MOI.Zeros(1)
101101
)
102102

@@ -112,13 +112,6 @@ end
112112
end
113113

114114
@testset "Testing minor utilities" begin
115-
# testing offsets
116-
n = rand(Int) % 100
117-
@test MatOI.cons_offset(MOI.Zeros(n)) == n
118-
@test MatOI.cons_offset(MOI.Nonnegatives(n)) == n
119-
@test MatOI.cons_offset(MOI.SecondOrderCone(n)) == n
120-
@test MatOI.cons_offset(MOI.PositiveSemidefiniteConeTriangle(n)) == ((n+1)*n)/2
121-
122115
model = MOI.instantiate(SCS.Optimizer, with_bridge_type=Float64)
123116
cf = MatOI.get_conic_form(Float64,model,[])
124117
@test MOI.is_empty(cf) == false

0 commit comments

Comments
 (0)