Comments (8)
@blegat The question is if this merging belongs to MOI or should be done by each solver wrapper individually. I guess solvers that support the standard cones do this implicitly by sorting the constraints and then constraining consecutive elements of the constraint primal variable to be in the zero cone, nonnegative orthant, etc... (like SCS)
@chriscoey I'll take a look. Thank you.
Apart from this discussion I still think it would be useful to have the box (higher-dimensional interval
l <= x <= u
) as an available constraint set in MOI.
from cosmo.jl.
from cosmo.jl.
#62 instead.
from cosmo.jl.
Implemented in 6a4d93e
What remains to be done is a merging step for multiple constraints that result in ZeroSet, Nonnegatives or Box when the problem is formulated via MOI
from cosmo.jl.
What remains to be done is a merging step for multiple constraints that result in ZeroSet, Nonnegatives or Box when the problem is formulated via MOI
cc @chriscoey I remember you were also interested in having all the Nonnegatives constraint grouped together (but I cannot find the issue in MOI where we discussed it)
from cosmo.jl.
I do this merging in Hypatia. @migarstka I'll add you to the repo
from cosmo.jl.
Hypatia can handle a multidimensional box with a single L_inf norm epigraph (conic) constraint. So there's a question of whether MOI have the box set or the box cone or both
from cosmo.jl.
I wouldn't be against adding a multidimensional box. Users may want to model with that (e.g. having the state belong to an hyperrectangle is useful in Control), and solvers supports it so it makes sense to add it to MOI.
Grouping constraints of the same cone together is what is currently done by ECOS, SCS, SeDuMi, CDCS in their wrappers, there is plan to make a utility for that, see jump-dev/MathOptInterface.jl#24 (comment)
from cosmo.jl.
Related Issues (20)
- Custom convex set vs convex cones? HOT 1
- ERROR: MethodError: no method matching setindex!(::Set{Int64}, ::Vector{Int64}, ::Colon) HOT 7
- SVM example in documentation throws many warnings in output HOT 3
- Possible bug in KKT equilibration
- Model question HOT 1
- Usage of `SecondOrderCone`: Supply value of t HOT 1
- MKLPardisoKKTSolver not correctly exported in namespace HOT 2
- can't install COSMO & Clarabel.jl together HOT 3
- MKLPardisoKKTSolver have inconsistent behavior vs default KKTSolver HOT 2
- Error 'Unsupported constraints' appears when using MOI to load and solve CBF files HOT 1
- Passing attributes error in JuMP/MOI wrapper HOT 2
- a minor bug HOT 1
- Support for compute_conflict!(model) HOT 1
- COSMO & conflicting hard constraints? HOT 5
- Test failure on 1.9 due to upstream bug HOT 1
- Error in indirect KKT solver: `tol` keyword in IterativeSolvers.jl deprecated HOT 6
- Error in sparsity pattern analysis HOT 7
- Outdated note in the docs about JuMP not supporting arbitrary precision HOT 2
- Arbitrary precision when COSMO is used with JuMP
- Arbitary precision for PSD Cone
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cosmo.jl.