Many optimization problems involve minimizing a sum of univariate functions, each with a different variable, subject to coupling constraints. We present PiecewiseQuadratics.jl and SeparableOptimization.jl, two Julia packages for solving such problems when these univariate functions in the objective are piecewise-quadratic.
Note: SeparableOptimization.jl was named "LCSO.jl" at the time of the presentation recording.
PiecewiseQuadratics.jl allows for the representation and manipulation of such functions, including the computation of the proximal operator or the convex envelope. SeparableOptimization.jl solves the problem of minimizing a sum of piecewise-quadratic functions subject to affine equality constraints by applying the Alternating Direction Method of Multipliers (ADMM). This allows us to quickly solve problems even when the univariate functions are very complicated. We demonstrate this with a portfolio construction example, in which the univariate functions represent the US tax laws for realized capital gains.