Learning to Optimize by Differentiable Programming
Liping Tao, Xindi Tong, Chee Wei Tan
TL;DR
The paper addresses the challenge of solving massive-scale optimization problems by combining differentiable programming with duality theory and first-order methods. It articulates how to design trainable optimization blocks within differentiable frameworks, leveraging Fenchel and Lagrangian duality to obtain dual certificates and guide learning. The work surveys theoretical foundations, software tools, and concrete strategies for embedding cone-programming solvers (via penalty, transformation, or dual reformulations) into differentiable pipelines, with PyTorch implementations for NNLS and large-scale distributed settings. Through case studies on LP, OPF, Laplacian regularization, and neural network verification, it demonstrates end-to-end differentiable optimization that yields scalable, robust, and certifiable solutions. The results highlight a practical pathway to integrate optimization layers into learning systems, enabling adaptive, efficient, and verifiable performance on complex, high-dimensional problems.
Abstract
Solving massive-scale optimization problems requires scalable first-order methods with low per-iteration cost. This tutorial highlights a shift in optimization: using differentiable programming not only to execute algorithms but to learn how to design them. Modern frameworks such as PyTorch, TensorFlow, and JAX enable this paradigm through efficient automatic differentiation. Embedding first-order methods within these systems allows end-to-end training that improves convergence and solution quality. Guided by Fenchel-Rockafellar duality, the tutorial demonstrates how duality-informed iterative schemes such as ADMM and PDHG can be learned and adapted. Case studies across LP, OPF, Laplacian regularization, and neural network verification illustrate these gains.
