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.
LP
GP LLCPFigure 1: Hierarchy of optimization problems. algorithm for convex optimization, such as interior-point methods [NN94] or first-order methods [BPC + 11]. When all f i are monomials, the problem (2) reduces to a general linear program (LP), so GP is a generalization of LP. Since its introduction four decades ago [DPZ67], geometric programming has found application in chemical engineering [Cla84], environment quality control [Gre95], digital circuit design [BKP + 05], analog and RF circuit design [HBL01; LGX + 04; XPB04], transformer design [Jab05], communication systems [KB02; Chi05; CTP + 07], biotechnology [MSVGA + 07; VGAMS + 10], epidemiology [PZE + 14], optimal gas flow [MFB + 15], tree-water-network control [PA15], and aircraft design [HA14; BH18a; SBH18]. This list is far from exhaustive; for many other examples, see §10.3 of [BKV + 07].Evidently monomials and posynomials are closed under various operations. For example, monomials are closed under multiplication, division, and taking powers, while posynomials are closed under addition, multiplication, and division by monomials. A generalized posynomial is defined as a function formed from monomials using the operations addition, multiplication, positive power, and maximum. Generalized posynomials, which include posynomials, are also convex under a logarithmic change of variable, after taking the log of the function. It follows that a generalized geometric program (GGP), i.e., a problem of the form (1), with f i generalized posynomials and g i monomials, transforms to a convex problem in (2) [BKV + 07, §5], and therefore is tractable.