Adding (some) conic constraints.#136
Conversation
…OI.ExponentialCone, MOI.PowerCone as supported types
Codecov Report✅ All modified and coverable lines are covered by tests. Additional details and impacted files@@ Coverage Diff @@
## master #136 +/- ##
=======================================
Coverage 99.51% 99.51%
=======================================
Files 17 17
Lines 2061 2075 +14
=======================================
+ Hits 2051 2065 +14
Misses 10 10 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
|
Ya, we'll have to simply enumerate the conic sets. You could could make your own internal Union type though: _ConicSets =Union{ExponentialCone, GeometricMeanCone, ...} |
|
Thoughts @bernalde? |
|
Folks, this is exciting. I’ll do a more in depth review once you consider it useful, but one observation from my paper was the fact that the same cone appears in the BigM and HR reformulations, just involving the binary variables. If you already have access to the type of cone and how it was built, then you have everything to complete the recipe. Happy to talk more about this and provide code that we used (the repo in the paper should have all). Cheers! |
Adding some conic constraints that can be handled with BigM and Hull. Some things I found odd that maybe you can comment on or correct me.
Hull reformulation is standard throughout all cones, but cones in MOI inherit from
AbstractVectorSet, so I can't just ask for any cone. Right now I'm stuck naming each type of cone rather than a genericMOI.Conedatatype.BigM reformulation looks like it needs to be adapted per cone type, and right now I'm kind of having to reason out the correct direction based on the table provided in the paper. Snippet from the paper below.
Overall a good introduction to cones but I just can't get past these two things while I was trying to generalize the code.