Skip to content

Commit b962ed4

Browse files
committed
Fixes
1 parent 9a3ee3a commit b962ed4

File tree

11 files changed

+32
-40
lines changed

11 files changed

+32
-40
lines changed

Project.toml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,5 +9,5 @@ LinearAlgebra = "37e2e46d-f89d-539d-b4ee-838fcccc9c8e"
99
Test = "8dfed614-e22c-5e08-85e1-65c5234f0b40"
1010

1111
[compat]
12-
MathOptInterface = "~0.10"
13-
julia = "^1"
12+
MathOptInterface = "1"
13+
julia = "1"

src/Bridges/Constraint/AllDifferent/ad_to_neq.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,7 @@ function MOIBC.bridge_constraint(
4141
Tuple{Int, Int},
4242
MOI.ConstraintIndex{MOI.ScalarAffineFunction{T}, CP.DifferentFrom{T}},
4343
}()
44-
sizehint!(cons, dim * (dim - 1) / 2)
44+
sizehint!(cons, div(dim * (dim - 1), 2))
4545

4646
for i in 1:dim
4747
for j in (i+1):dim

src/Bridges/Constraint/AllDifferentExceptConstants/adec_to_disjunction.jl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ function MOIBC.bridge_constraint(
3939
# Upper-triangular matrix of constraints: i >= j, i.e. d(d-1)/2 elements:
4040
# \sum_{i=2}^{d} (n - i + 1) = d (d - 1) / 2
4141
cons = Dict{Tuple{Int, Int}, MOI.ConstraintIndex}()
42-
sizehint!(cons, dim * (dim - 1) / 2)
42+
sizehint!(cons, div(dim * (dim - 1), 2))
4343

4444
for i in 1:dim
4545
for j in (i+1):dim

src/Bridges/Constraint/AllDifferentExceptConstants/adec_to_reif.jl

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -78,10 +78,10 @@ function MOIBC.bridge_constraint(
7878
cons_different_reif = Dict{Tuple{Int, Int}, MOI.ConstraintIndex{MOI.VectorAffineFunction{T}, CP.Reification{CP.DifferentFrom{T}}}}()
7979
cons = Dict{Tuple{Int, Int}, MOI.ConstraintIndex{MOI.ScalarAffineFunction{T}, MOI.GreaterThan{T}}}()
8080

81-
sizehint!(vars_different, s.dimension * (s.dimension - 1) / 2)
82-
sizehint!(vars_different_bin, s.dimension * (s.dimension - 1) / 2)
83-
sizehint!(cons_different_reif, s.dimension * (s.dimension - 1) / 2)
84-
sizehint!(cons, s.dimension * (s.dimension - 1) / 2)
81+
sizehint!(vars_different, div(s.dimension * (s.dimension - 1), 2))
82+
sizehint!(vars_different_bin, div(s.dimension * (s.dimension - 1), 2))
83+
sizehint!(cons_different_reif, div(s.dimension * (s.dimension - 1), 2))
84+
sizehint!(cons, div(s.dimension * (s.dimension - 1), 2))
8585

8686
for i in 1:s.dimension
8787
for j in (i+1):s.dimension

src/Bridges/Constraint/DifferentFrom_Reify/reif_neq_to_milp.jl

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -76,16 +76,14 @@ function MOIBC.bridge_constraint(
7676
)
7777

7878
# If the constraint is satisfied, constrain the reified.
79-
smallm = if T <: Int
80-
one(T)
81-
else
82-
T(_REIF_EQTO_FLOAT_EPSILON)
83-
end
84-
8579
con_smallm = MOI.add_constraint(
8680
model,
87-
f_scalars[1] - var_abs / smallm,
88-
MOI.LessThan(zero(T))
81+
if T <: Int
82+
f_scalars[1] - var_abs
83+
else
84+
f_scalars[1] - var_abs / T(_REIF_EQTO_FLOAT_EPSILON)
85+
end,
86+
MOI.LessThan(zero(T)),
8987
)
9088

9189
return ReificationDifferentFrom2MILPBridge{T}(var_abs, var_abs_int, con_abs, con_bigm, con_smallm)

src/Bridges/Constraint/EqualTo_Reify/reif_eqto_to_milp.jl

Lines changed: 6 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -72,16 +72,14 @@ function MOIBC.bridge_constraint(
7272
)
7373

7474
# If the constraint is satisfied, constrain the reified.
75-
smallm = if T <: Int
76-
one(T)
77-
else
78-
T(_REIF_EQTO_FLOAT_EPSILON)
79-
end
80-
8175
con_smallm = MOI.add_constraint(
8276
model,
83-
f_scalars[1] - var_abs / smallm,
84-
MOI.LessThan(zero(T))
77+
if T <: Int
78+
f_scalars[1] - var_abs
79+
else
80+
f_scalars[1] - var_abs / T(_REIF_EQTO_FLOAT_EPSILON)
81+
end,
82+
MOI.LessThan(zero(T)),
8583
)
8684

8785
return ReificationEqualTo2MILPBridge{T}(var_abs, var_abs_int, con_abs, con_bigm, con_smallm)

src/ConstraintProgrammingExtensions.jl

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@ include("sets_graph.jl") # Sets that work on graphs.
2323
include("sets_reification.jl") # Sets that rely on the concept of reification (also called logical constraints).
2424

2525
include("Bridges/Bridges.jl")
26-
include("DeprecatedTest/DeprecatedTest.jl")
2726
include("Test/Test.jl")
2827

2928
include("FlatZinc/FlatZinc.jl")

test/Bridges/Constraint/AllDifferent/ad_to_neq.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@
4444
@test MOIB.added_constraint_types(typeof(bridge)) == [(MOI.ScalarAffineFunction{T}, CP.DifferentFrom{T})]
4545

4646
@test MOI.get(bridge, MOI.NumberOfVariables()) == 0
47-
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.ScalarAffineFunction{T}, CP.DifferentFrom{T}}()) == dim * (dim - 1) / 2
47+
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.ScalarAffineFunction{T}, CP.DifferentFrom{T}}()) == div(dim * (dim - 1), 2)
4848

4949
@test Set(MOI.get(bridge, MOI.ListOfConstraintIndices{MOI.ScalarAffineFunction{T}, CP.DifferentFrom{T}}())) == Set(collect(values(bridge.cons)))
5050
end
5151

5252
@testset "Set of constraints" begin
53-
@test length(bridge.cons) == dim * (dim - 1) / 2
53+
@test length(bridge.cons) == div(dim * (dim - 1), 2)
5454
for i in 1:dim
5555
for j in (i+1):dim
5656
@test MOI.is_valid(model, bridge.cons[i, j])

test/Bridges/Constraint/AllDifferentExceptConstants/adec_to_disjunction.jl

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,13 +44,13 @@
4444
@test MOIB.added_constraint_types(typeof(bridge)) == [(MOI.VectorAffineFunction{T}, CP.Disjunction)]
4545

4646
@test MOI.get(bridge, MOI.NumberOfVariables()) == 0
47-
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.VectorAffineFunction{T}, CP.Disjunction}()) == dim * (dim - 1) / 2
47+
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.VectorAffineFunction{T}, CP.Disjunction}()) == div(dim * (dim - 1), 2)
4848

4949
@test Set(MOI.get(bridge, MOI.ListOfConstraintIndices{MOI.VectorAffineFunction{T}, CP.Disjunction}())) == Set(collect(values(bridge.cons)))
5050
end
5151

5252
@testset "Set of constraints" begin
53-
@test length(bridge.cons) == dim * (dim - 1) / 2
53+
@test length(bridge.cons) == div(dim * (dim - 1), 2)
5454
for i in 1:dim
5555
for j in (i+1):dim
5656
@test MOI.is_valid(model, bridge.cons[i, j])

test/Bridges/Constraint/AllDifferentExceptConstants/adec_to_reif.jl

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -53,11 +53,11 @@
5353
(MOI.ScalarAffineFunction{T}, MOI.GreaterThan{T}),
5454
]
5555

56-
@test MOI.get(bridge, MOI.NumberOfVariables()) == dim * length(values_set) + dim * (dim - 1) / 2
57-
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.VariableIndex, MOI.ZeroOne}()) == dim * length(values_set) + dim * (dim - 1) / 2
56+
@test MOI.get(bridge, MOI.NumberOfVariables()) == dim * length(values_set) + div(dim * (dim - 1), 2)
57+
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.VariableIndex, MOI.ZeroOne}()) == dim * length(values_set) + div(dim * (dim - 1), 2)
5858
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.VectorAffineFunction{T}, CP.Reification{MOI.EqualTo{T}}}()) == dim * length(values_set)
59-
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.ScalarAffineFunction{T}, CP.Reification{CP.DifferentFrom{T}}}()) == dim * (dim - 1) / 2
60-
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.ScalarAffineFunction{T}, MOI.GreaterThan{T}}()) == dim * (dim - 1) / 2
59+
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.ScalarAffineFunction{T}, CP.Reification{CP.DifferentFrom{T}}}()) == div(dim * (dim - 1), 2)
60+
@test MOI.get(bridge, MOI.NumberOfConstraints{MOI.ScalarAffineFunction{T}, MOI.GreaterThan{T}}()) == div(dim * (dim - 1), 2)
6161

6262
@test Set(MOI.get(bridge, MOI.ListOfVariableIndices())) == Set([vec(collect(values(bridge.vars_compare)))..., vec(collect(values(bridge.vars_different)))...])
6363
@test Set(MOI.get(bridge, MOI.ListOfConstraintIndices{MOI.VariableIndex, MOI.ZeroOne}())) == Set([vec(collect(values(bridge.vars_compare_bin)))..., vec(collect(values(bridge.vars_different_bin)))...])
@@ -81,8 +81,8 @@
8181
end
8282
end
8383

84-
@test length(bridge.vars_different) == dim * (dim - 1) / 2
85-
@test length(bridge.vars_different_bin) == dim * (dim - 1) / 2
84+
@test length(bridge.vars_different) == div(dim * (dim - 1), 2)
85+
@test length(bridge.vars_different_bin) == div(dim * (dim - 1), 2)
8686

8787
for i in 1:dim
8888
for j in 1:i
@@ -121,7 +121,7 @@
121121
end
122122

123123
@testset "Compare array variables" begin
124-
@test length(bridge.cons_different_reif) == dim * (dim - 1) / 2
124+
@test length(bridge.cons_different_reif) == div(dim * (dim - 1), 2)
125125

126126
for i in 1:dim
127127
for j in (i+1):dim
@@ -149,7 +149,7 @@
149149
end
150150

151151
@testset "Disjunction" begin
152-
@test length(bridge.cons) == dim * (dim - 1) / 2
152+
@test length(bridge.cons) == div(dim * (dim - 1), 2)
153153

154154
for i in 1:dim
155155
for j in (i+1):dim

0 commit comments

Comments
 (0)