Skip to content

Adding (some) conic constraints.#136

Open
dnguyen227 wants to merge 3 commits into
infiniteopt:masterfrom
dnguyen227:conic_reformulations
Open

Adding (some) conic constraints.#136
dnguyen227 wants to merge 3 commits into
infiniteopt:masterfrom
dnguyen227:conic_reformulations

Conversation

@dnguyen227

Copy link
Copy Markdown
Contributor

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.

  1. 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 generic MOI.Cone datatype.

  2. 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.

image

Overall a good introduction to cones but I just can't get past these two things while I was trying to generalize the code.

@dnguyen227 dnguyen227 closed this Jun 25, 2026
@dnguyen227 dnguyen227 reopened this Jun 25, 2026
@codecov

codecov Bot commented Jun 25, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 99.51%. Comparing base (48a1ac5) to head (3a83a41).

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.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@pulsipher

Copy link
Copy Markdown
Collaborator

Ya, we'll have to simply enumerate the conic sets. You could could make your own internal Union type though:

_ConicSets =Union{ExponentialCone, GeometricMeanCone, ...}

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants