Content deleted Content added
m Remove duplicate reference. |
Add inline citations. |
||
Line 13:
:<math>x \mapsto c x_1^{a_1} x_2^{a_2} \cdots x_n^{a_n} </math>
where <math> c > 0 \ </math> and <math>a_i \in \mathbb{R} </math>. A posynomial is any sum of monomials. <ref name="
| author = Richard J. Duffin▼
|author2=Elmor L. Peterson |author3=Clarence Zener▼
| title = Geometric Programming▼
| publisher = John Wiley and Sons▼
| year = 1967▼
| pages = 278▼
| isbn = 0-471-22370-0▼
}}</ref><ref name="tutorial">S. Boyd, S. J. Kim, L. Vandenberghe, and A. Hassibi. ''[http://www.stanford.edu/~boyd/gp_tutorial.html A Tutorial on Geometric Programming].'' Retrieved 8 January 2019.</ref>
GPs have numerous applications, such as component sizing in [[Integrated circuit|IC]] design<ref>M. Hershenson, S. Boyd, and T. Lee. ''[http://www.stanford.edu/~boyd/papers/opamp.html Optimal Design of a CMOS Op-amp via Geometric Programming].'' Retrieved 8 January 2019.</ref><ref> S. Boyd, S. J. Kim, D. Patil, and M. Horowitz. ''[http://www.stanford.edu/~boyd/gp_digital_ckt.html Digital Circuit Optimization via Geometric Programming].'' Retrieved 8 January 2019.</ref>,
==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 <math>y_i = \log(x_i)</math> and taking the log of the objective and constraint functions, the functions <math>f_i</math>, i.e., the posynomials, are transformed into log-sum-exp functions, which are convex, and the functions <math>g_i</math>, i.e., the monomials, become affine. Hence, this transformation transforms every GP into an equivalent convex program. <ref name="tutorial"/> In fact, this log-log transformation can be used to convert a larger class of problems, known as log-log convex programs, into an equivalent convex form. <ref name="dgp">A. Agrawal, S. Diamond, and S. Boyd. ''[https://arxiv.org/abs/1812.04074 Disciplined Geometric Programming.]'' Retrieved 8 January 2019.</ref>
==Software==
Line 26 ⟶ 34:
* [https://github.com/convexengineering/gpkit 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 [https://github.com/convexengineering/gplibrary here].
*[https://web.stanford.edu/~boyd/ggplab/ GGPLAB] is a MATLAB toolbox for specifying and solving geometric programs (GPs) and generalized geometric programs (GGPs).
* [https://www.cvxpy.org/tutorial/dgp/index.html CVXPY] is a Python-embedded modeling language for specifying and solving convex optimization problems, including GPs, GGPs, and log-log convex programs. <ref
==See also==
Line 34 ⟶ 42:
==References==
{{reflist}}
▲ | author = Richard J. Duffin
▲ |author2=Elmor L. Peterson |author3=Clarence Zener
▲ | title = Geometric Programming
▲ | publisher = John Wiley and Sons
▲ | year = 1967
▲ | pages = 278
▲ | isbn = 0-471-22370-0
[[Category:Optimization algorithms and methods]]
|