Geometric programming
This article includes a list of references, but its sources remain unclear because it has insufficient inline citations. (October 2011) (Learn how and when to remove this template message)

A geometric program (GP) is an optimization problem of the form
 Minimize subject to
 where are posynomials and are monomials.
In the context of geometric programming (unlike all other disciplines), a monomial is a function defined as
where and .
GPs have numerous applications, such as component sizing in IC design^{[1]} and parameter estimation via logistic regression in statistics. The maximum likelihood estimator in logistic regression is a GP.
Convex form
Geometric programs are not (in general) convex optimization problems, but they can be transformed to convex problems by a change of variables and a transformation of the objective and constraint functions. In particular, defining , the monomial , where . Similarly, if is the posynomial
then , where and . After the change of variables, a posynomial becomes a sum of exponentials of affine functions.
Software
Several software packages and libraries exist to assist with formulating and solving geometric programs.
 MOSEK is a commercial solver capable of solving geometric programs as well as other nonlinear optimization problems.
 CVXOPT is an opensource solver for convex optimization problems.
 GPkit is a Python package for cleanly defining and manipulating geometric programming models. There are a number of example GP models written with this package here.
See also
Footnotes
 ^ http://www.stanford.edu/~boyd/papers/opamp.html
References
 Richard J. Duffin; Elmor L. Peterson; Clarence Zener (1967). Geometric Programming. John Wiley and Sons. p. 278. ISBN 0471223700.
External links
 S. Boyd, S. J. Kim, L. Vandenberghe, and A. Hassibi, A Tutorial on Geometric Programming
 S. Boyd, S. J. Kim, D. Patil, and M. Horowitz Digital Circuit Optimization via Geometric Programming