Lately I have been switching back between CVXPY and JuMP.jl a lot (mainly for work).
One of the many nice features CVXPY has, is that it can automatically reformulate problems which are DCP-compliant through reductions. DCP is also used to verify convexity of a program. DCP itself can also be interesting and useful outside of optimization. For example, in machine learning, control, and as a general tool in the symbolics toolbox.
I noticed that for this last application, SciML is developing: GitHub - SciML/SymbolicAnalysis.jl: Symbolics-based function property propagation for optimization (in stealth?). While at the same time, we already have Convex.jl which also has an implementation of DCP and can even be used as an ‘experimental’ JuMP solver.
So I guess I can summarize by asking a few questions:
- What are the goals of SymbolicAnalysis.jl?
- Are there any plans to make it available as a JuMP solver like Convex.jl can be?
- Will Convex.jl ever leave ‘experimental’ status as a JuMP solver and match CVXPY?