The @constraint
call should not throw the error you originally specified; the division by the a
variable should fail.
using JuMP, Gurobi
m = Model(solver = GurobiSolver())
@variables m begin
fp
fq
a
v
end
@constraint(m, (fp^2 + fq^2) / a^2 <= v)
results in
/(::Int64,::JuMP.GenericQuadExpr{Float64,JuMP.Variable}) is not defined. Are you trying to build a nonlinear problem? Make sure you use @NLconstraint/@NLobjective.
in /(::Int64, ::JuMP.GenericQuadExpr{Float64,JuMP.Variable}) at /Users/twan/code/julia/RigidBodyDynamics/v0.5/JuMP/src/operators.jl:639
while
using JuMP, Gurobi
m = Model(solver = GurobiSolver())
@variables m begin
fp
fq
a
v
end
@NLconstraint(m, (fp^2 + fq^2) / a^2 <= v)
solve(m)
does result in the error you reported originally. Please do provide a minimal example right off the bat in the future; all of the back and forth above would have been unnecessary.
The constraint is indeed convex since a
and v
are also constrained to be positive; this is a rotated Lorentz cone constraint, as @Stephen_Vavasis mentioned.