Disciplined geometric programming

  • Akshay AgrawalEmail author
  • Steven Diamond
  • Stephen Boyd
Original Paper


We introduce log-log convex programs, which are optimization problems with positive variables that become convex when the variables, objective functions, and constraint functions are replaced with their logs, which we refer to as a log-log transformation. This class of problems generalizes traditional geometric programming and generalized geometric programming, and it includes interesting problems involving nonnegative matrices. We give examples of log-log convex functions, some well-known and some less so, and we develop an analog of disciplined convex programming, which we call disciplined geometric programming. Disciplined geometric programming is a subclass of log-log convex programming generated by a composition rule and a set of functions with known curvature under the log-log transformation. Finally, we describe an implementation of disciplined geometric programming as a reduction in CVXPY 1.0.


Geometric programming Convex optimization Domain-specific languages 



A. Agrawal was supported by an Electrical Engineering Departmental Stanford Fellowship while this research was conducted.

Compliance with ethical standards

Conflict of interest

The authors have no conflict of interest to disclose.


  1. 1.
    Agrawal, A., Verschueren, R., Diamond, S., Boyd, S.: A rewriting system for convex optimization problems. J. Control Decis. 5(1), 42–60 (2018)MathSciNetCrossRefGoogle Scholar
  2. 2.
    Bagnoli, M., Bergstrom, T.: Log-concave probability and its applications. Econ. Theory 26(2), 445–469 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  3. 3.
    Baricz, Á.: Geometrically concave univariate distributions. J. Math. Anal. Appl. 363(1), 182–196 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  4. 4.
    Boyd, S., Kim, S.J., Patil, D., Horowitz, M.: Digital circuit optimization via geometric programming. Op. Res. 53(6), 899–932 (2005)MathSciNetCrossRefzbMATHGoogle Scholar
  5. 5.
    Boyd, S., Kim, S.J., Vandenberghe, L., Hassibi, A.: A tutorial on geometric programming. Optim. Eng. 8(1), 67 (2007)MathSciNetCrossRefzbMATHGoogle Scholar
  6. 6.
    Boyd, S., Parikh, N., Chu, E., Peleato, B., Eckstein, J.: Distributed optimization and statistical learning via the alternating direction method of multipliers. Found. Trends Mach. learn. 3(1), 1–122 (2011)CrossRefzbMATHGoogle Scholar
  7. 7.
    Boyd, S., Vandenberghe, L.: Convex Optim. Cambridge University Press, New York (2004)CrossRefzbMATHGoogle Scholar
  8. 8.
    Brown, A., Harris, W.: A vehicle design and optimization model for on-demand aviation. In: AIAA/ASCE/AHS/ASC Structures, Structural Dynamics, and Materials Conference (2018)Google Scholar
  9. 9.
    Burnell, E., Hoburg, W.: GPkit software for geometric programming. (2018). Version 0.7.0
  10. 10.
    Calafiore, G., Gaubert, S., Possieri, C.: Log-sum-exp neural networks and posynomial models for convex and log-log-convex data. arXiv (2018)Google Scholar
  11. 11.
    Chiang, M.: Geometric programming for communication systems. Commun. Inf. Theory 2(1/2), 1–154 (2005)zbMATHGoogle Scholar
  12. 12.
    Chiang, M., Tan, C.W., Palomar, D., O’neill, D., Julian, D.: Power control by geometric programming. IEEE Trans. Wirel. Commun. 6(7), 2640–2651 (2007)CrossRefGoogle Scholar
  13. 13.
    Clasen, R.: The solution of the chemical equilibrium programming problem with generalized benders decomposition. Op. Res. 32(1), 70–79 (1984)CrossRefzbMATHGoogle Scholar
  14. 14.
    Diamond, S., Boyd, S.: CVXPY: a python-embedded modeling language for convex optimization. J. Mach. Learn. Res. 17(83), 1–5 (2016)MathSciNetzbMATHGoogle Scholar
  15. 15.
    Doyle, P., Reeds, J.: The knee-jerk mapping. arXiv (2006)Google Scholar
  16. 16.
    Duffin, R., Peterson, E., Zener, C.: Geometric Programming—Theory and Application. Wiley, Hoboken (1967)zbMATHGoogle Scholar
  17. 17.
    Förster, K.H., Nagy, B.: Spectral properties of operator polynomials with nonnegative coefficients. In: Berlin, B.B. (ed.) Operator Theory and Indefinite Inner Product Spaces, pp. 147–162. Springer, Berlin (2005)Google Scholar
  18. 18.
    Fu, A., Narasimhan, B., Boyd, S.: CVXR: An R package for disciplined convex optimization. arXiv (2017)Google Scholar
  19. 19.
    Grant, M., Boyd, S.: Graph implementations for nonsmooth convex programs. In: Blondel, V., Boyd, S., Kimura, H. (eds.) Recent Advances in Learning and Control Lecture Notes in Control and Information Sciences, pp. 95–110. Springer, Berlin (2008)Google Scholar
  20. 20.
    Grant, M., Boyd, S.: CVX: Matlab software for disciplined convex programming, version 2.1. (2014)
  21. 21.
    Grant, M., Boyd, S., Ye, Y.: Disciplined convex programming. In: Grant, M. (ed.) Global Optimization, pp. 155–210. Springer, Berlin (2006)CrossRefGoogle Scholar
  22. 22.
    Greenberg, H.: Mathematical programming models for environmental quality control. Op. Res. 43(4), 578–622 (1995)CrossRefzbMATHGoogle Scholar
  23. 23.
    Hershenson, M., Boyd, S., Lee, T.: Optimal design of a CMOS op-amp via geometric programming. IEEE Trans. Comput. Aided Design Integr. Circuits Syst. 20(1), 1–21 (2001)CrossRefGoogle Scholar
  24. 24.
    Hoburg, W., Abbeel, P.: Geometric programming for aircraft design optimization. AIAA J. 52(11), 2414–2426 (2014)CrossRefGoogle Scholar
  25. 25.
    Hoburg, W., Kirschen, P., Abbeel, P.: Data fitting with geometric-programming-compatible softmax functions. Optim. Eng. 17(4), 897–918 (2016)MathSciNetCrossRefzbMATHGoogle Scholar
  26. 26.
    Jabr, R.A.: Application of geometric programming to transformer design. IEEE Trans. Magn. 41(11), 4261–4269 (2005)CrossRefGoogle Scholar
  27. 27.
    Jarczyk, W., Matkowski, J.: On Mulholland’s inequality. Proc. Am. Math. Soc. 130(11), 3243–3247 (2002)MathSciNetCrossRefzbMATHGoogle Scholar
  28. 28.
    Kandukuri, S., Boyd, S.: Optimal power control in interference-limited fading wireless channels with outage-probability specifications. Trans. Wirel. Commun. 1(1), 46–55 (2002)CrossRefGoogle Scholar
  29. 29.
    Kingman, J.: A convexity property of positive matrices. Q. J. Math. 12(1), 283–284 (1961)MathSciNetCrossRefzbMATHGoogle Scholar
  30. 30.
    Li, X., Gopalakrishnan, P., Xu, Y., Pileggi, L.: Robust analog/RF circuit design with projection-based posynomial modeling. In: Proceedings of the 2004 IEEE/ACM International Conference on Computer-aided Design, ICCAD ’04, pp. 855–862. IEEE Computer Society, Washington, DC (2004)Google Scholar
  31. 31.
    Löfberg, J.: YALMIP: A toolbox for modeling and optimization in MATLAB. In: Proceedings of the CACSD Conference. Taipei, Taiwan (2004)Google Scholar
  32. 32.
    Marin-Sanguino, A., Voit, E., Gonzalez-Alcon, C., Torres, N.: Optimization of biotechnological systems through geometric programming. Theor. Biol. Med. Model. 4(1), 38 (2007)CrossRefGoogle Scholar
  33. 33.
    Misra, S., Fisher, M., Backhaus, S., Bent, R., Chertkov, M., Pan, F.: Optimal compression in natural gas networks: a geometric programming approach. IEEE Trans. Control Netw. Syst. 2(1), 47–56 (2015)MathSciNetCrossRefzbMATHGoogle Scholar
  34. 34.
    Montel, P.: Sur les fonctions convexes et les fonctions sousharmoniques. J. Math. Pures Appl. 9(7), 29–60 (1928)zbMATHGoogle Scholar
  35. 35.
    Mutapcic, A., Koh, K., Kim, S., Boyd, S.: GGPLAB: a matlab toolbox for geometric programming. Available from (2006)
  36. 36.
    Nesterov, Y., Nemirovski, A.: Interior-point Polynomial Algorithms in Convex Programming. Society for Industrial and Applied Mathematics (1994)Google Scholar
  37. 37.
    Niculescu, C.: Convexity according to the geometric mean. Math. Inequal. Appl. 3(2), 155–167 (2000)MathSciNetzbMATHGoogle Scholar
  38. 38.
    Nussbaum, R.: Convexity and log convexity for the spectral radius. Linear Algebra Appl. 73, 59–122 (1986)MathSciNetCrossRefzbMATHGoogle Scholar
  39. 39.
    Özdemir, M.E., Yildiz, Ç., Gürbüz, M.: A note on geometrically convex functions. J. Inequal. Appl. 2014(1), 180 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  40. 40.
    Perelman, L.S., Amin, S.: Control of tree water networks: a geometric programming approach. Water Resour. Res. 51(10), 8409–8430 (2015)CrossRefGoogle Scholar
  41. 41.
    Preciado, V., Zargham, M., Enyioha, C., Jadbabaie, A., Pappas, G.: Optimal resource allocation for network protection: a geometric programming approach. IEEE Trans. Control Netw. Syst. 1(1), 99–108 (2014)MathSciNetCrossRefzbMATHGoogle Scholar
  42. 42.
    Saab, A., Burnell, E., Hoburg, W.: Robust designs via geometric programming. arXiv (2018)Google Scholar
  43. 43.
    Tan, C.W.: Wireless network optimization by Perron–Frobenius theory. Found. Trends Netw. 9(2–3), 107–218 (2015)CrossRefzbMATHGoogle Scholar
  44. 44.
    Udell, M., Mohan, K., Zeng, D., Hong, J., Diamond, S., Boyd, S.: Convex optimization in Julia. In: SC14 Workshop on High Performance Technical Computing in Dynamic Languages (2014)Google Scholar
  45. 45.
    Vera, J., González-Alcón, C., Marín-Sanguino, A., Torres, N.: Optimization of biochemical systems through mathematical programming: methods and applications. Comput. Op. Res. 37(8), 1427–1438 (2010)MathSciNetCrossRefzbMATHGoogle Scholar
  46. 46.
    Xu, Y., Pileggi, L., Boyd, S.: ORACLE: optimization with recourse of analog circuits including layout extraction. In: Proceedings of the 41st Annual Design Automation Conference, DAC ’04, pp. 151–154. ACM, New York, USA (2004)Google Scholar

Copyright information

© Springer-Verlag GmbH Germany, part of Springer Nature 2019

Authors and Affiliations

  1. 1.Department of Electrical EngineeringStanford UniversityStanfordUSA
  2. 2.Department of Computer ScienceStanford UniversityStanfordUSA

Personalised recommendations