-
Notifications
You must be signed in to change notification settings - Fork 87
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
Tuple function for epigraph formulations #1624
Comments
The Can't FrankWolfe.jl look at the incoming function and decide to internally represent it as a compact set, but then tell MOI that it's a cone? |
FrankWolfe has two cases with MOI: using MOI for an underlying generic solver, this part is fine because we just pass the solver a VectorAffineFunction-in-Set with a constant first term. This issue comes with the motivation of building an MOI Optimizer on top of FW. This would mean pretending to support VAF-in-Cone, checking the first term, and then throw an error whenever it is not a real. What part of introducing a new function are you most reluctant on, is it committing to keeping it as-is, building the bridges or supporting it in the solvers? Two possible solutions:
|
The issue of defining new functions is that you need to define |
one way to solve the |
Yes. Similar to what we do for non-convex quadratics. |
Just bumping this because ball projections would be very useful and simpler to handle than cones |
So coming back to this, isn't the solution for |
The classic case would be So |
yes that works, that's the way I ended up implementing a workaround in MathOptSetDistances |
So is there still appetite for this in MOI, or can this issue be closed? The few-functions many-sets abstraction is working quite well, so I'm hesitant to add more functions. |
Closing because I don't think we want to add this to MOI. The solution is to create a new set. |
Problem
MOI favoured conic formulations for many constraints, lots of which are of the form:
Some solvers support compact constraints instead of conic ones, L2-norm ball instead of SOC, bound on the sum of absolute values instead of L1-norm constraint, etc. FrankWolfe.jl falls in that category, there might be others I'm not aware of.
Proposal
If
TT
is aVariableIndex
or scalar affine term, this is equivalent to what we currently do with VectorAffineFunction. This can be bridged easily from the type of the TupleFunction.If
TT
is aReal
andx
is a vector of variables or vector affine function, then we create a compact set instead of a cone.The text was updated successfully, but these errors were encountered: