Download as pdf or txt
Download as pdf or txt
You are on page 1of 2

Geometric programming

A geometric program (GP) is an optimization problem of the form

where are posynomials and are monomials. In the context of geometric programming
(unlike standard mathematics), a monomial is a function from to defined as

where and . A posynomial is any sum of monomials.[1][2]

Geometric programming is closely related to convex optimization: any GP can be made convex by means of a
change of variables.[2] GPs have numerous applications, including component sizing in IC design,[3][4] aircraft
design,[5] maximum likelihood estimation for logistic regression in statistics, and parameter tuning of positive
linear systems in control theory.[6]

Contents
Convex form
Software
See also
References

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,
after performing the change of variables and taking the log of the objective and constraint
functions, the functions , i.e., the posynomials, are transformed into log-sum-exp functions, which are
convex, and the functions , i.e., the monomials, become affine. Hence, this transformation transforms every
GP into an equivalent convex program.[2] In fact, this log-log transformation can be used to convert a larger
class of problems, known as log-log convex programming (LLCP), into an equivalent convex form.[7]

Software
Several software packages exist to assist with formulating and solving geometric programs.

MOSEK (https://www.mosek.com/) is a commercial solver capable of solving geometric


programs as well as other non-linear optimization problems.
CVXOPT (http://cvxopt.org/) is an open-source solver for convex optimization problems.
GPkit (https://github.com/convexengineering/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 (https://github.com/convexengineering/gplibrary).
GGPLAB (https://web.stanford.edu/~boyd/ggplab/) is a MATLAB toolbox for specifying and
solving geometric programs (GPs) and generalized geometric programs (GGPs).
CVXPY (https://www.cvxpy.org/tutorial/dgp/index.html) is a Python-embedded modeling
language for specifying and solving convex optimization problems, including GPs, GGPs, and
LLCPs. [7]

See also
Signomial
Clarence Zener

References
1. Richard J. Duffin; Elmor L. Peterson; Clarence Zener (1967). Geometric Programming. John
Wiley and Sons. p. 278. ISBN 0-471-22370-0.
2. S. Boyd, S. J. Kim, L. Vandenberghe, and A. Hassibi. A Tutorial on Geometric Programming (htt
ps://web.stanford.edu/~boyd/papers/gp_tutorial.html). Retrieved 20 October 2019.
3. M. Hershenson, S. Boyd, and T. Lee. Optimal Design of a CMOS Op-amp via Geometric
Programming (https://web.stanford.edu/~boyd/papers/opamp.html). Retrieved 8 January 2019.
4. S. Boyd, S. J. Kim, D. Patil, and M. Horowitz. Digital Circuit Optimization via Geometric
Programming (https://web.stanford.edu/~boyd/papers/gp_digital_ckt.html). Retrieved 20
October 2019.
5. W. Hoburg and P. Abbeel. Geometric programming for aircraft design optimization (https://peopl
e.eecs.berkeley.edu/~pabbeel/papers/2014-AIAA-GP-aircraft-design.pdf). AIAA Journal 52.11
(2014): 2414-2426.
6. Ogura, Masaki; Kishida, Masako; Lam, James (2020). "Geometric Programming for Optimal
Positive Linear Systems" (https://ieeexplore.ieee.org/document/8936427/). IEEE Transactions
on Automatic Control. 65 (11): 4648–4663. arXiv:1904.12976
(https://arxiv.org/abs/1904.12976). doi:10.1109/TAC.2019.2960697 (https://doi.org/10.1109%2F
TAC.2019.2960697). ISSN 0018-9286 (https://www.worldcat.org/issn/0018-9286).
7. A. Agrawal, S. Diamond, and S. Boyd. Disciplined Geometric Programming. (https://arxiv.org/ab
s/1812.04074) Retrieved 8 January 2019.

Retrieved from "https://en.wikipedia.org/w/index.php?title=Geometric_programming&oldid=997475835"

This page was last edited on 31 December 2020, at 18:05 (UTC).

Text is available under the Creative Commons Attribution-ShareAlike License; additional terms may apply. By using this
site, you agree to the Terms of Use and Privacy Policy. Wikipedia® is a registered trademark of the Wikimedia
Foundation, Inc., a non-profit organization.

You might also like