809
Views
3
CrossRef citations to date
0
Altmetric
Original Articles

A rewriting system for convex optimization problems

, , &
Pages 42-60 | Received 09 Sep 2017, Accepted 23 Oct 2017, Published online: 19 Jan 2018

References

  • Aho, A., Lam, M., Sethi, R., & Ullman, J. (2006). Compilers: Principles, techniques, and tools (2nd ed.). Boston, MA: Addison-Wesley Longman.
  • Alizadeh, F., & Goldfarb, D. (2001). Second-order cone programming. Mathematical Programming, 95, 3–51.
  • Andersen, E., & Andersen, K. (1995). Presolving in linear programming. Mathematical Programming, 71(2), 221–245.
  • Anjos, M., & Burer, S. (2008). On handling free variables in interior-point methods for conic linear optimization. SIAM Journal on Optimization, 18(4), 1310–1325.
  • Arora, S., & Barak, B. (2009). Computational complexity: A modern approach (1st ed.). New York, NY: Cambridge University Press.
  • Banjac, G., Goulart, P., Stellato, B., & Boyd, S. (2017). Infeasibility detection in the alternating direction method of multipliers for convex optimization. Optimization Online. Retrieved from http://www.optimization-online.org/DB\_HTML/2017/06/6058.html
  • Bertsekas, D. (1991). Linear network optimization: Algorithms and codes. Cambridge, MA: MIT Press.
  • Boyd, S., El Ghaoui, L., Feron, E., & Balakrishnan, V. (1994). Linear matrix inequalities in system and control theory. Society for Industrial and Applied Mathematics.
  • Boyd, S., Kim, S.-J., Vandenberghe, L., & Hassibi, A. (2007). A tutorial on geometric programming. Optimization and Engineering, 8(1), 67.
  • Boyd, S., & Vandenberghe, L. (2004). Convex optimization. New York, NY: Cambridge University Press.
  • Bradley, A. M. (2010). Algorithms for the equilibration of matrices and their application to limited-memory quasi-Newton methods (Unpublished doctoral dissertation). Stanford University.
  • Bradley, G., Brown, G., & Graves, G. (1983). Structural redundancy in large-scale optimization models. In Redundancy in mathematical programming: A state-of-the-art survey (pp. 145–169). Berlin: Springer.
  • Brearley, A., Mitra, G., & Williams, H. (1975). Analysis of mathematical programming problems prior to applying the simplex algorithm. Mathematical Programming, 8(1), 54–83.
  • Brook, A., Kendrick, D., & Meeraus, A. (1988). GAMS, a user’s guide. SIGNUM Newsletter, 23(3–4), 10–11.
  • Chu, E., Parikh, N., Domahidi, A., & Boyd, S. (2013). Code generation for embedded second-order cone programming. In Proceedings of the European Control Conference (pp. 1547–1552).
  • Dantzig, G. (1963). Linear programming and extensions (Technical Report R-366-PR). Santa Monica, CA: RAND Corporation.
  • Dantzig, G., & Thapa, M. (1997). Linear programming 1: Introduction. Secaucus, NJ: Springer-Verlag New York Inc.
  • Diamond, S., & Boyd, S. (2016a). CVXPY: A Python-embedded modeling language for convex optimization. Journal of Machine Learning Research, 17(83), 1–5.
  • Diamond, S., & Boyd, S. (2016b). Matrix-free convex optimization modeling. In B. Goldengorin (Ed.), Optimization and its applications in control and data sciences (Vol. 115, pp. 221–264). Springer.
  • Diamond, S., & Boyd, S. (2016c). Stochastic matrix-free equilibration. Journal of Optimization Theory and Applications, 172(2), 436–454.
  • Domahidi, A., Chu, E., & Boyd, S. (2013). ECOS: An SOCP solver for embedded systems. In Proceedings of the European Control Conference (pp. 3071–3076).
  • Dunning, I., Huchette, J., & Lubin, M. (2017). JuMP: A modeling language for mathematical optimization. SIAM Review, 59(2), 295–320.
  • Ferreau, H., Kirches, C., Potschka, A., Bock, H., & Diehl, M. (2014). qpOASES: A parametric active-set algorithm for quadratic programming. Mathematical Programming Computation, 6(4), 327–363.
  • Forrest, J., & Lougee-Heimer, R. (2005). CBC user guide. In Emerging theory, methods, and applications (pp. 257–277). INFORMS.
  • Fougner, C., & Boyd, S. (2015). Parameter selection and pre-conditioning for a graph form solver. arXiv preprint arXiv:1503.08366.
  • Fourer, R., Gay, D., & Kernighan, B. (1990). A modeling language for mathematical programming. Management Science, 36(5), 519–554.
  • Fukuda, M., Kojima, M., Murota, K., & Nakata, K. (2001). Exploiting sparsity in semidefinite programming via matrix completion i: General framework. SIAM Journal on Optimization, 11(3), 647–674.
  • Gauss, C. (1995). Theory of the combination of observations least subject to errors. Society for Industrial and Applied Mathematics. Translated from original 1820 manuscript by G. W. Stewart).
  • Goemans, M., & Williamson, D. (1995). Improved approximation algorithms for maximum cut and satisfiability problems using semidefinite programming. Journal of the ACM, 42(6), 1115–1145.
  • Goemans, M., & Williamson, D. (2004). Approximation algorithms for MAX-3-CUT and other problems via complex semidefinite programming. Journal of Computer System Sciences, 68(2), 442–470.
  • Grant, M. (2004). Disciplined convex programming (Unpublished doctoral dissertation). Stanford University.
  • Grant, M., & Boyd, S. (2008). Graph implementations for nonsmooth convex programs. In V. Blondel, S. Boyd, & H. Kimura (Eds.), Recent advances in learning and control (pp. 95–110). Springer.
  • Grant, M., & Boyd, S. (2014). CVX: Matlab software for disciplined convex programming version 2.1. Retrieved from http://cvxr.com/cvx
  • Gurobi optimizer reference manual. (2017). Retrieved from https://gurobi.com/documentation/7.5/refman.pdf
  • Hastie, T., Tibshirani, R., & Friedman, J. (2009). The elements of statistical learning: Data mining, inference, and prediction. Springer.
  • Hudak, P. (1996). Building domain-specific embedded languages. ACM Computing Surveys, 28(4es).
  • Kelley, C. (1995). Iterative methods for linear and nonlinear equations. Society for Industrial and Applied Mathematics.
  • Kirchner, F., Kosmatov, N., Prevosto, V., Signoles, J., & Yakobowski, B. (2015). Frama-c: A software analysis perspective. Formal Aspects of Computing, 27(3), 573–609.
  • Löfberg, J. (2004). YALMIP: A toolbox for modeling and optimization in MATLAB. In Proceedings of the CACSD Conference. Taipei, Taiwan.
  • Makhorin, A. (2016). GNU Linear Programming Kit v4.60. Retrieved from http://www.gnu.org/software/glpk/
  • Mernik, M., Heering, J., & Sloane, A. M. (2005). When and how to develop domain-specific languages. ACM Computing Surveys, 37(4), 316–344.
  • MOSEK optimization suite. (2017). Retrieved from http://docs.mosek.com/8.0/intro.pdf
  • Nesterov, Y., & Nemirovski, A. (1992). Conic formulation of a convex programming problem and duality. Optimization Methods and Software, 1(2), 95–115.
  • Nesterov, Y., & Nemirovski, A. (1994). Interior-point polynomial algorithms in convex programming. Society for Industrial and Applied Mathematics.
  • O’Donoghue, B., Chu, E., Parikh, N., & Boyd, S. (2016). Conic optimization via operator splitting and homogeneous self-dual embedding. Journal of Optimization Theory and Applications, 169(3), 1042–1068.
  • Papadimitriou, C. (1994). Computational complexity. Reading, MA: Addison-Wesley.
  • Parikh, N., & Boyd, S. (2014). Block splitting for distributed optimization. Mathematical Programming Computation, 6(1), 77–102.
  • Parrilo, P. (2003). Semidefinite programming relaxations for semialgebraic problems. Mathematical Programming, 96(2), 293–320.
  • Pock, T., & Chambolle, A. (2011). Diagonal preconditioning for first order primal-dual algorithms in convex optimization. In Proceedings of the 2011 International Conference on Computer Vision (pp. 1762–1769). Washington, DC: IEEE Computer Society.
  • Sipser, M. (1996). Introduction to the theory of computation (1st ed.). International Thomson Publishing.
  • Sluis, A. (1969). Condition numbers and equilibration of matrices. Numerical Mathematics, 14(1), 14–23.
  • Smith, E. M. d. B. (1996). On the optimal design of continuous processes (Unpublished doctoral dissertation). Imperial College London (University of London).
  • Stallman, R. M., & GCC Developer Community (2017). Using the GNU compiler collection: A GNU manual for GCC Version 7.2.0. Boston, MA: GNU Press.
  • Stigler, S. (1981). Gauss and the invention of least squares. The Annals of Statistics, 9(3), 465–474.
  • Sturm, J. (1999). Using SeDuMi 1.02, a MATLAB toolbox for optimization over symmetric cones. Optimization Methods and Software, 11(1–4), 625–653.
  • Takapoui, R., & Javadi, H. (2016). Preconditioning via diagonal scaling. arXiv preprint arXiv:1610.03871.
  • Tomlin, J. (1975). On scaling linear programming problems. In M. Balinski & E. Hellerman (Eds.), Computational practice in mathematical programming (pp. 146–166). Berlin: Springer.
  • Tomlin, L., & Welch, J. (1986). Finding duplicate rows in a linear programming model. Operations Research Letters, 5(1), 7–11.
  • Udell, M., Mohan, K., Zeng, D., Hong, J., Diamond, S., & Boyd, S. (2014). Convex optimization in Julia. In SC14 Workshop on High Performance Technical Computing in Dynamic Languages.
  • Vandenberghe, L., & Andersen, M. (2015). Chordal graphs and semidefinite optimization. Foundations and Trends in Optimization, 1(4), 241–433.
  • Vandenberghe, L., & Boyd, S. (1996). Semidefinite programming. SIAM Review, 38(1), 49–95.

Reprints and Corporate Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

To request a reprint or corporate permissions for this article, please click on the relevant link below:

Academic Permissions

Please note: Selecting permissions does not provide access to the full text of the article, please see our help page How do I view content?

Obtain permissions instantly via Rightslink by clicking on the button below:

If you are unable to obtain permissions via Rightslink, please complete and submit this Permissions form. For more information, please visit our Permissions help page.