@@ -174,14 +174,18 @@ end
174
174
_non_constant (a:: Vector{T} ) where T = convert .(MOI. ScalarAffineFunction{T}, a)
175
175
_non_constant (a:: Vector{<:MOI.AbstractFunction} ) = a
176
176
177
- function add_constraint (model:: MOI.ModelLike , p, cone:: SOSLikeCone ; kws... )
177
+ # Add constraint with `p` having coefficients being MOI functions.
178
+ # This is needed as a workaround as JuMP does not support complex numbers yet.
179
+ # We can remove it when https://github.com/jump-dev/JuMP.jl/pull/2391 is done
180
+ # We overload `JuMP.add_constraint` to avoid clash with the name.
181
+ function JuMP. add_constraint (model:: MOI.ModelLike , p, cone:: SOSLikeCone ; kws... )
178
182
coefs = MOI. Utilities. vectorize (_non_constant (MP. coefficients (p)))
179
183
monos = MP. monomials (p)
180
184
set = JuMP. moi_set (cone, monos; kws... )
181
185
return MOI. add_constraint (model, coefs, set)
182
186
end
183
- function add_constraint (model:: JuMP.Model , p, cone:: SOSLikeCone ; kws... )
184
- ci = add_constraint (JuMP. backend (model), p, cone; kws... )
187
+ function JuMP . add_constraint (model:: JuMP.Model , p, cone:: SOSLikeCone ; kws... )
188
+ ci = JuMP . add_constraint (JuMP. backend (model), p, cone; kws... )
185
189
return JuMP. ConstraintRef (model, ci, PolyJuMP. PolynomialShape (MP. monomials (p)))
186
190
end
187
191
0 commit comments