Skip to content

Commit ee8a846

Browse files
committed
[Bridges] explicitly document bridges not added by default
1 parent c4cd518 commit ee8a846

File tree

1 file changed

+33
-0
lines changed

1 file changed

+33
-0
lines changed

src/Bridges/Constraint/Constraint.jl

Lines changed: 33 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -107,6 +107,39 @@ function add_all_bridges(model, ::Type{T}) where {T}
107107
model,
108108
ExponentialConeToScalarNonlinearFunctionBridge{T},
109109
)
110+
# Bridges not added by default:
111+
#
112+
# * FunctionConversionBridge
113+
# This bridge is not added because, even though it is not abstract, it
114+
# is highly parameterized, and parameterized versions such as
115+
# ScalarFunctionizeBridge are added.
116+
# * IndicatorSetMapBridge
117+
# This bridge is not added because, even though it is not abstract, it
118+
# is highly parameterized, and parameterized versions such as
119+
# IndicatorGreaterToLessThanBridge are added.
120+
# * NormSpecialCaseBridge
121+
# This bridge is not added because, even though it is not abstract, it
122+
# is highly parameterized, and parameterized versions such as
123+
# NormOneConeToNormConeBridge are added.
124+
# * NumberConversionBridge
125+
# This bridge is not added by default because it would silently enable
126+
# models with mixed precision. In most cases, this is a bug in the
127+
# user's code, so we leave this bridge as opt-in.
128+
# * RSOCtoNonConvexQuadBridge
129+
# This bridge is not added by default because it starts with a convex
130+
# conic constraint and generate a non-convex constraint (in the QCP
131+
# interpretation).
132+
# * SOCtoNonConvexQuadBridge
133+
# This bridge is not added by default because it starts with a convex
134+
# conic constraint and generate a non-convex constraint (in the QCP
135+
# interpretation).
136+
# * SOCtoPSDBridge
137+
# This bridge is not added because transforming the `SOC` to `RSOC` and
138+
# then to `PSD` produces a smaller SDP constraint. `RSOCtoPSDBridge` is
139+
# added by default.
140+
# * SetConversionBridge
141+
# This bridge is not added because, even though it is not abstract, it
142+
# is highly parameterized, and it intended for use by MOI extensions.
110143
return
111144
end
112145

0 commit comments

Comments
 (0)