-
Notifications
You must be signed in to change notification settings - Fork 94
add L_1-norm and L_infinity-norm cones and tests #818
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
Note: the second test instance for both cones is the same as the SOC3 test, but with the 2-dim SOC replaced with equivalent 2-dim norm1 or norminf cones. The contconic file can do with quite a bit of refactoring and cleanup but that should be done separately. |
Failures for LazyBridgeOptimizer. I don't understand that part. |
Just exclude the tests and add a comment to add them back once bridges are implemented |
Codecov Report
@@ Coverage Diff @@
## master #818 +/- ##
==========================================
+ Coverage 94.83% 94.93% +0.09%
==========================================
Files 71 72 +1
Lines 7649 7872 +223
==========================================
+ Hits 7254 7473 +219
- Misses 395 399 +4
Continue to review full report at Codecov.
|
Bridges added, NEWS updated, tests passing. Please review |
@blegat I addressed your comments except for #818 (comment) |
@blegat should I have a go at implementing constraint duals thru the bridge? any expected gotchas there? edit: I'm not sure whether allowing VectorQuadraticFunction would complicate that. and if it does complicate it, I think having access to duals through the bridge is much more important than being able to use VQF through bridges with these cones. edit 2: and another reason I now oppose supporting VQF is that the bridge could convert a convex model to a nonconvex model (unless we take significantly more care and use DCP rules, which I'm not prepared to do at this stage). |
I don't think so, just implement duals thinking about the VectorAffineFunction and it would automatically work also for VQF because what you do is basically multiplying by the adjoint of the linear map between the two sets and you can proof that it's correct in the lagrangian function so it should work with any function so using
Why is that ? If the quadratic function |
@blegat I need your help to finish this. See my comment 913e3db#r314057544. |
@blegat thanks for the fix in #837.
|
You need to convert the VAF back into a VOV as done in: |
That fixed one of the test failures. Then I made two small modifications to MOIU.functions.jl to get the new tests passing. |
@blegat please merge if you're satisfied |
tests passing. good to merge? |
The names can be bikeshed.
I plan to add bridges from these sets to LP constraints (edit: in a PR after this is merged) (edit 2: may as well add bridges here).
Hypatia supports these cones, and has significantly better performance with these cones than with the LP extended formulations.