Learning to optimize: A tutorial for continuous and mixed-integer optimization
Xiaohan Chen, Jialin Liu, Wotao Yin
TL;DR
This tutorial surveys Learning to Optimize (L2O), a framework that combines traditional optimization with data-driven learning to exploit recurring problem structures. It systematically covers three paradigms—accelerating existing optimization, generating direct solutions, and adapting optimization problems themselves (e.g., Plug-and-Play, differentiable layers). Key methods include algorithm unrolling (e.g., LISTA), DNN-assisted Plug-and-Play, end-to-end differentiable optimization, and ML-guided mixed-integer optimization (e.g., learning to branch, learn to search, and learning to configure). The text discusses practical workflows, mathematical foundations (KKT/differentiation through optimization, fixed-point formulations), and extensive applications in imaging, communications, and MILP, along with numerical results illustrating acceleration and improved decision-making. It also outlines training paradigms, data requirements, generalization considerations, and open theoretical questions, highlighting both potential and limitations of ML-based optimization in real-world solvers.
Abstract
Learning to Optimize (L2O) stands at the intersection of traditional optimization and machine learning, utilizing the capabilities of machine learning to enhance conventional optimization techniques. As real-world optimization problems frequently share common structures, L2O provides a tool to exploit these structures for better or faster solutions. This tutorial dives deep into L2O techniques, introducing how to accelerate optimization algorithms, promptly estimate the solutions, or even reshape the optimization problem itself, making it more adaptive to real-world applications. By considering the prerequisites for successful applications of L2O and the structure of the optimization problems at hand, this tutorial provides a comprehensive guide for practitioners and researchers alike.
