Jump.jl: names for MOI sets

Created on 24 Aug 2017  路  8Comments  路  Source: jump-dev/JuMP.jl

Right now we have PSDCone. Do we have a JuMP name for every MOI set? Relevant for https://github.com/JuliaOpt/JuMP.jl/pull/1093.

Most helpful comment

SOCCone = "Second Order Cone Cone"

All 8 comments

We could also have SOCCone and RSOCCone.

SOCCone = "Second Order Cone Cone"

people don't care that it's a cone. they care that it's the epigraph of the L2-norm. same goes for PSDCone - all that's needed is "PSD" or "PSDmatrix"

and to me, in modeling, the RSOC is just kind of stupid. it's usually used for the epigraph of the perspective of the square function, which is much more natural to model with.

i'm fine with just using the MOI names. there should be a DCP package built on top of jump so people can model with simple functions, perspectives etc

SOCCone and RSOCCone are not really convincing. If we can't come up with elegant names then might as well just use the MOI names for clarity.

What might help is allowing people to drop the dimension argument and let JuMP infer it.

We could probably do something like

@constraint m fun in SecondOrderCone

and in th e macro we do SecondOrderCone(fun).
We simply need to define SecondOrderCone(f::VectorAffineFunction) = SecondOrderCone(length(f.constant)) and it would work.

For the names, the user would probably do const PSDC = PositiveSemidefiniteConeTriangle and const SOC = SecondOrderCone in his code. We could probably add these aliases in JuMP but not sure.

Was this page helpful?
0 / 5 - 0 ratings