Skip to content

Commit b9048fa

Browse files
committed
Change bridge weight
1 parent 9b26dd8 commit b9048fa

File tree

3 files changed

+13
-11
lines changed

3 files changed

+13
-11
lines changed

src/Bridges/Constraint/Constraint.jl

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ Add all bridges defined in the `Bridges.Constraint` submodule to `model`.
2929
The coefficient type used is `T`.
3030
"""
3131
function add_all_bridges(model, ::Type{T}) where {T}
32+
if T <: AbstractFloat
33+
# Out of order: put these bridges at the start for backwards
34+
# compatibility.
35+
MOI.Bridges.add_bridge(model, GreaterToIntervalBridge{T})
36+
MOI.Bridges.add_bridge(model, LessToIntervalBridge{T})
37+
end
3238
MOI.Bridges.add_bridge(model, AllDifferentToCountDistinctBridge{T})
3339
MOI.Bridges.add_bridge(model, BinPackingToMILPBridge{T})
3440
MOI.Bridges.add_bridge(model, CircuitToMILPBridge{T})
@@ -48,9 +54,6 @@ function add_all_bridges(model, ::Type{T}) where {T}
4854
MOI.Bridges.add_bridge(model, GeoMeanBridge{T})
4955
MOI.Bridges.add_bridge(model, GeoMeanToPowerBridge{T})
5056
MOI.Bridges.add_bridge(model, GeoMeantoRelEntrBridge{T})
51-
if T <: AbstractFloat
52-
MOI.Bridges.add_bridge(model, GreaterToIntervalBridge{T})
53-
end
5457
MOI.Bridges.add_bridge(model, GreaterToLessBridge{T})
5558
MOI.Bridges.add_bridge(model, HermitianToSymmetricPSDBridge{T})
5659
MOI.Bridges.add_bridge(model, IndicatorActiveOnFalseBridge{T})
@@ -65,9 +68,6 @@ function add_all_bridges(model, ::Type{T}) where {T}
6568
MOI.Bridges.add_bridge(model, InequalityToComplementsBridge{T})
6669
MOI.Bridges.add_bridge(model, IntegerToZeroOneBridge{T})
6770
MOI.Bridges.add_bridge(model, LessToGreaterBridge{T})
68-
if T <: AbstractFloat
69-
MOI.Bridges.add_bridge(model, LessToIntervalBridge{T})
70-
end
7171
MOI.Bridges.add_bridge(model, LogDetBridge{T})
7272
MOI.Bridges.add_bridge(model, NonnegToNonposBridge{T})
7373
MOI.Bridges.add_bridge(model, NonposToNonnegBridge{T})

src/Bridges/Variable/bridges/RSOCtoPSDBridge.jl

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -56,6 +56,8 @@ end
5656
const RSOCtoPSD{T,OT<:MOI.ModelLike} =
5757
SingleBridgeOptimizer{RSOCtoPSDBridge{T},OT}
5858

59+
MOI.Bridges.bridging_cost(::Type{<:RSOCtoPSDBridge}) = 1.5
60+
5961
function bridge_constrained_variable(
6062
::Type{RSOCtoPSDBridge{T}},
6163
model::MOI.ModelLike,

test/Bridges/lazy_bridge_optimizer.jl

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1041,13 +1041,13 @@ Objective function of type `MOI.ScalarQuadraticFunction{$T}` is not supported an
10411041
"""
10421042
Bridge graph with 2 variable nodes, 5 constraint nodes and 2 objective nodes.
10431043
[1] constrained variables in `MOI.Reals` are bridged (distance 1) by $(MOI.Bridges.Variable.FreeBridge{T}).
1044-
[2] constrained variables in `MOI.RotatedSecondOrderCone` are bridged (distance 2) by $(MOI.Bridges.Variable.RSOCtoPSDBridge{T}).
1045-
(1) `MOI.ScalarQuadraticFunction{$T}`-in-`MOI.GreaterThan{$T}` constraints are bridged (distance 5) by $(MOI.Bridges.Constraint.QuadtoSOCBridge{T}).
1046-
(2) `MOI.VectorAffineFunction{$T}`-in-`MOI.RotatedSecondOrderCone` constraints are bridged (distance 4) by $(MOI.Bridges.Constraint.VectorSlackBridge{T,MOI.VectorAffineFunction{T},MOI.RotatedSecondOrderCone}).
1044+
[2] constrained variables in `MOI.RotatedSecondOrderCone` are bridged (distance 2.5) by $(MOI.Bridges.Variable.RSOCtoPSDBridge{T}).
1045+
(1) `MOI.ScalarQuadraticFunction{$T}`-in-`MOI.GreaterThan{$T}` constraints are bridged (distance 5.5) by $(MOI.Bridges.Constraint.QuadtoSOCBridge{T}).
1046+
(2) `MOI.VectorAffineFunction{$T}`-in-`MOI.RotatedSecondOrderCone` constraints are bridged (distance 4.5) by $(MOI.Bridges.Constraint.VectorSlackBridge{T,MOI.VectorAffineFunction{T},MOI.RotatedSecondOrderCone}).
10471047
(3) `MOI.VariableIndex`-in-`MOI.EqualTo{$T}` constraints are bridged (distance 1) by $(MOI.Bridges.Constraint.ScalarFunctionizeBridge{T,MOI.EqualTo{T}}).
10481048
(4) `MOI.VectorAffineFunction{$T}`-in-`MOI.Zeros` constraints are bridged (distance 1) by $(MOI.Bridges.Constraint.ScalarizeBridge{T,MOI.ScalarAffineFunction{T},MOI.EqualTo{T}}).
1049-
(5) `MOI.ScalarQuadraticFunction{$T}`-in-`MOI.LessThan{$T}` constraints are bridged (distance 5) by $(MOI.Bridges.Constraint.QuadtoSOCBridge{T}).
1050-
|1| objective function of type `MOI.ScalarQuadraticFunction{$T}` is bridged (distance 13) by $(MOI.Bridges.Objective.SlackBridge{T,MOI.ScalarQuadraticFunction{T},MOI.ScalarQuadraticFunction{T}}).
1049+
(5) `MOI.ScalarQuadraticFunction{$T}`-in-`MOI.LessThan{$T}` constraints are bridged (distance 5.5) by $(MOI.Bridges.Constraint.QuadtoSOCBridge{T}).
1050+
|1| objective function of type `MOI.ScalarQuadraticFunction{$T}` is bridged (distance 14) by $(MOI.Bridges.Objective.SlackBridge{T,MOI.ScalarQuadraticFunction{T},MOI.ScalarQuadraticFunction{T}}).
10511051
|2| objective function of type `MOI.VariableIndex` is bridged (distance 1) by $(MOI.Bridges.Objective.FunctionizeBridge{T,MOI.VariableIndex}).
10521052
""",
10531053
)

0 commit comments

Comments
 (0)