LGMSOCJun 10, 2022

Flexible Differentiable Optimization via Model Transformations

arXiv:2206.06135v324 citationsh-index: 12
Originality Synthesis-oriented
AI Analysis

This tool facilitates hyperparameter optimization, backpropagation, and sensitivity analysis in differentiable programming, though it is incremental as it builds on known differentiation rules and existing frameworks.

The authors tackled the problem of differentiating through optimization problems by introducing DiffOpt.jl, a Julia library that enables forward and reverse differentiation with respect to parameters in objectives and constraints, leveraging existing solver ecosystems and model transformations for flexibility.

We introduce DiffOpt.jl, a Julia library to differentiate through the solution of optimization problems with respect to arbitrary parameters present in the objective and/or constraints. The library builds upon MathOptInterface, thus leveraging the rich ecosystem of solvers and composing well with modeling languages like JuMP. DiffOpt offers both forward and reverse differentiation modes, enabling multiple use cases from hyperparameter optimization to backpropagation and sensitivity analysis, bridging constrained optimization with end-to-end differentiable programming. DiffOpt is built on two known rules for differentiating quadratic programming and conic programming standard forms. However, thanks ability to differentiate through model transformation, the user is not limited to these forms and can differentiate with respect to the parameters of any model that can be reformulated into these standard forms. This notably includes programs mixing affine conic constraints and convex quadratic constraints or objective function.

Code Implementations1 repo
Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes