O C ] 5 J un 2 01 9 Differentiating Through a Cone Program

We consider the problem of efficiently computing the derivative of the solution map of a convex cone program, when it exists. We do this by implicitly differentiating the residual map for its homogeneous self-dual embedding, and solving the linear systems of equations required using an iterative method. This allows us to efficiently compute the derivative operator, and its adjoint, evaluated at a vector. These correspond to computing an approximate new solution, given a perturbation to the cone program coefficients (i.e., perturbation analysis), and to computing the gradient of a function of the solution with respect to the coefficients. Our method scales to large problems, with numbers of coefficients in the millions. We present an open-source Python implementation of our method that solves a cone program and returns the derivative and its adjoint as abstract linear maps; our implementation can be easily integrated into software systems for automatic differentiation.

[1]  Stephen P. Boyd,et al.  Dynamic Energy Management , 2019, Springer Optimization and Its Applications.

[2]  Stephen P. Boyd,et al.  Solution refinement at regular points of conic problems , 2018, Computational Optimization and Applications.

[3]  G. Hunanyan,et al.  Portfolio Selection , 2019, Finanzwirtschaft, Banken und Bankmanagement I Finance, Banks and Bank Management.

[4]  Byron Boots,et al.  Differentiable MPC for End-to-end Planning and Control , 2018, NeurIPS.

[5]  Michael Innes,et al.  Don't Unroll Adjoint: Differentiating SSA-Form Programs , 2018, ArXiv.

[6]  J. Zico Kolter,et al.  What game are we playing? End-to-end learning in normal and extensive form games , 2018, IJCAI.

[7]  Joshua B. Tenenbaum,et al.  End-to-End Differentiable Physics for Learning and Control , 2018, NeurIPS.

[8]  Matthew Johnson,et al.  Compiling machine learning programs via high-level tracing , 2018 .

[9]  Stephen P. Boyd,et al.  CVXR: An R Package for Disciplined Convex Optimization , 2017, Journal of Statistical Software.

[10]  Luca Antiga,et al.  Automatic differentiation in PyTorch , 2017 .

[11]  Stephen P. Boyd,et al.  A Rewriting System for Convex Optimization Problems , 2017, J. Control. Decis..

[12]  J. Zico Kolter,et al.  A Semismooth Newton Method for Fast, Generic Convex Programming , 2017, ICML.

[13]  Stephen P. Boyd,et al.  Multi-Period Trading via Convex Optimization , 2017, Found. Trends Optim..

[14]  Priya L. Donti,et al.  Task-based End-to-end Model Learning in Stochastic Optimization , 2017, NIPS.

[15]  J. Zico Kolter,et al.  OptNet: Differentiable Optimization as a Layer in Neural Networks , 2017, ICML.

[16]  Yuan Yu,et al.  TensorFlow: A system for large-scale machine learning , 2016, OSDI.

[17]  Stephen P. Boyd,et al.  CVXPY: A Python-Embedded Modeling Language for Convex Optimization , 2016, J. Mach. Learn. Res..

[18]  Stephen P. Boyd,et al.  Matrix-Free Convex Optimization Modeling , 2015, 1506.00760.

[19]  Stephen P. Boyd,et al.  Conic Optimization via Operator Splitting and Homogeneous Self-Dual Embedding , 2013, Journal of Optimization Theory and Applications.

[20]  Stephen P. Boyd,et al.  Convex Optimization in Julia , 2014, 2014 First Workshop for High Performance Technical Computing in Dynamic Languages.

[21]  P. Cochat,et al.  Et al , 2008, Archives de pediatrie : organe officiel de la Societe francaise de pediatrie.

[22]  Stephen P. Boyd,et al.  Distributed Optimization and Statistical Learning via the Alternating Direction Method of Multipliers , 2011, Found. Trends Mach. Learn..

[23]  Gaël Varoquaux,et al.  The NumPy Array: A Structure for Efficient Numerical Computation , 2011, Computing in Science & Engineering.

[24]  Omar Hernández Rodríguez,et al.  A semiotic reflection on the didactics of the Chain rule , 2010, The Mathematics Enthusiast.

[25]  R. Rockafellar,et al.  Implicit Functions and Solution Mappings , 2009 .

[26]  Stephen P. Boyd,et al.  Convex Optimization , 2004, Algorithms and Theory of Computation Handbook.

[27]  A. Nemirovski Advances in convex optimization : conic programming , 2005 .

[28]  Boaz Golany,et al.  Retailer-Supplier Flexible Commitments Contracts: A Robust Optimization Approach , 2005, Manuf. Serv. Oper. Manag..

[29]  Johan Löfberg,et al.  YALMIP : a toolbox for modeling and optimization in MATLAB , 2004 .

[30]  Dimitris Bertsimas,et al.  A Robust Optimization Approach to Supply Chain Management , 2004, IPCO.

[31]  D. Ruppert The Elements of Statistical Learning: Data Mining, Inference, and Prediction , 2004 .

[32]  J. Frédéric Bonnans,et al.  Perturbation Analysis of Optimization Problems , 2000, Springer Series in Operations Research.

[33]  Andreas Griewank,et al.  Evaluating derivatives - principles and techniques of algorithmic differentiation, Second Edition , 2000, Frontiers in applied mathematics.

[34]  E. Yaz Linear Matrix Inequalities In System And Control Theory , 1998, Proceedings of the IEEE.

[35]  Shinji Mizuno,et al.  An O(√nL)-Iteration Homogeneous and Self-Dual Linear Programming Algorithm , 1994, Math. Oper. Res..

[36]  Yurii Nesterov,et al.  Interior-point polynomial algorithms in convex programming , 1994, Siam studies in applied mathematics.

[37]  Michael I. Jordan,et al.  Advances in Neural Information Processing Systems 30 , 1995 .

[38]  Griewank,et al.  On automatic differentiation , 1988 .

[39]  Aharon Ben-Tal,et al.  Lectures on modern convex optimization , 1987 .

[40]  Geoffrey E. Hinton,et al.  Learning representations by back-propagating errors , 1986, Nature.

[41]  Michael A. Saunders,et al.  LSQR: An Algorithm for Sparse Linear Equations and Sparse Least Squares , 1982, TOMS.

[42]  Stephen M. Robinson,et al.  Strongly Regular Generalized Equations , 1980, Math. Oper. Res..

[43]  B. Speelpenning Compiling Fast Partial Derivatives of Functions Given by Algorithms , 1980 .

[44]  Anthony V. Fiacco,et al.  Nonlinear programming;: Sequential unconstrained minimization techniques , 1968 .

[45]  R. E. Wengert,et al.  A simple automatic derivative evaluation program , 1964, Commun. ACM.