@@ -29,12 +29,6 @@ Add all bridges defined in the `Bridges.Constraint` submodule to `model`.
29
29
The coefficient type used is `T`.
30
30
"""
31
31
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
38
32
MOI. Bridges. add_bridge (model, AllDifferentToCountDistinctBridge{T})
39
33
MOI. Bridges. add_bridge (model, BinPackingToMILPBridge{T})
40
34
MOI. Bridges. add_bridge (model, CircuitToMILPBridge{T})
@@ -43,17 +37,19 @@ function add_all_bridges(model, ::Type{T}) where {T}
43
37
MOI. Bridges. add_bridge (model, CountBelongsToMILPBridge{T})
44
38
MOI. Bridges. add_bridge (model, CountDistinctToMILPBridge{T})
45
39
MOI. Bridges. add_bridge (model, CountGreaterThanToMILPBridge{T})
46
- MOI. Bridges. add_bridge (
47
- model,
48
- ExponentialConeToScalarNonlinearFunctionBridge{T},
49
- )
40
+ # * ExponentialConeToScalarNonlinearFunctionBridge{T}
41
+ # This bridge is not added by default because it starts with a convex
42
+ # conic constraint and adds a nonlinear constraint that local NLP
43
+ # solvers like Ipopt can struggle with because of log(x) when x is 0.
44
+ # In addition, the bridge does not support ConstraintDual.
50
45
# * FunctionConversionBridge{T}
51
46
# This bridge is not added because, even though it is not abstract, it
52
47
# is highly parameterized, and parameterized versions such as
53
48
# ScalarFunctionizeBridge are added.
54
49
MOI. Bridges. add_bridge (model, GeoMeanBridge{T})
55
50
MOI. Bridges. add_bridge (model, GeoMeanToPowerBridge{T})
56
51
MOI. Bridges. add_bridge (model, GeoMeantoRelEntrBridge{T})
52
+ MOI. Bridges. add_bridge (model, GreaterToIntervalBridge{T})
57
53
MOI. Bridges. add_bridge (model, GreaterToLessBridge{T})
58
54
MOI. Bridges. add_bridge (model, HermitianToSymmetricPSDBridge{T})
59
55
MOI. Bridges. add_bridge (model, IndicatorActiveOnFalseBridge{T})
@@ -68,6 +64,7 @@ function add_all_bridges(model, ::Type{T}) where {T}
68
64
MOI. Bridges. add_bridge (model, InequalityToComplementsBridge{T})
69
65
MOI. Bridges. add_bridge (model, IntegerToZeroOneBridge{T})
70
66
MOI. Bridges. add_bridge (model, LessToGreaterBridge{T})
67
+ MOI. Bridges. add_bridge (model, LessToIntervalBridge{T})
71
68
MOI. Bridges. add_bridge (model, LogDetBridge{T})
72
69
MOI. Bridges. add_bridge (model, NonnegToNonposBridge{T})
73
70
MOI. Bridges. add_bridge (model, NonposToNonnegBridge{T})
0 commit comments