Geometric programming: Difference between revisions

Content deleted Content added
Akshayka (talk | contribs)
Fix incorrect notation in Convex Form section, and add an inline citation.
Citation bot (talk | contribs)
Added bibcode. Removed URL that duplicated identifier. | Use this bot. Report bugs. | Suggested by Headbomb | Linked from Wikipedia:WikiProject_Academic_Journals/Journals_cited_by_Wikipedia/Sandbox | #UCB_webform_linked 38/990
 
(15 intermediate revisions by 9 users not shown)
Line 1:
{{More footnotes|date=October 2011}}
 
A '''geometric program''' ('''GP''') is an [[optimization (mathematics)|optimization]] problem of the form
:<math>
Line 13 ⟶ 11:
:<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>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.</refname="duffin">{{cite book
| 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. ''[https://web.stanford.edu/~boyd/papers/gp_tutorial.html A Tutorial on Geometric Programming].'' Retrieved 20 October 2019.</ref>
 
Geometric programming is
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> and parameter estimation via [[logistic regression]] in [[statistics]]. The [[maximum likelihood]] estimator in logistic regression is a GP.
closely related to [[convex optimization]]: any GP can be made convex by means of a change of variables.<ref name="tutorial"/> GPs have numerous applications, including component sizing in [[Integrated circuit|IC]] design,<ref>M. Hershenson, S. Boyd, and T. Lee. ''[https://web.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. ''[https://web.stanford.edu/~boyd/papers/gp_digital_ckt.html Digital Circuit Optimization via Geometric Programming].'' Retrieved 20 October 2019.</ref> aircraft design,<ref>W. Hoburg and P. Abbeel. ''[https://people.eecs.berkeley.edu/~pabbeel/papers/2014-AIAA-GP-aircraft-design.pdf Geometric programming for aircraft design optimization].'' AIAA Journal 52.11 (2014): 2414-2426.</ref> [[maximum likelihood estimation]] for [[logistic regression]] in [[statistics]], and parameter tuning of positive [[Linear dynamical system|linear systems]] in [[control theory]].<ref>{{Cite journal|last1=Ogura|first1=Masaki|last2=Kishida|first2=Masako|last3=Lam|first3=James|date=2020|title=Geometric Programming for Optimal Positive Linear Systems|journal=IEEE Transactions on Automatic Control|volume=65|issue=11|pages=4648–4663|doi=10.1109/TAC.2019.2960697|issn=0018-9286|arxiv=1904.12976|bibcode=2020ITAC...65.4648O |s2cid=140222942 }}</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 [[LogSumExp|log-sum-exp]] functions, which are convex, and the functions <math>g_i</math>, i.e., the monomials, become [[affine transformation|affine]]. Hence, this transformation transforms every GP into an equivalent convex program. <ref name="tutorial"/>S. BoydIn fact, Sthis 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.<ref Jname="dgp">A. KimAgrawal, LS. VandenbergheDiamond, and AS. HassibiBoyd. ''[httphttps://wwwarxiv.stanford.eduorg/~boydabs/gp_tutorial1812.html04074 A Tutorial onDisciplined Geometric Programming.].'' Retrieved 8 January 2019.</ref>
 
==Software==
Line 26 ⟶ 33:
* [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 programsLLCPs. <ref>A. Agrawal, S. Diamond, and S. Boyd. ''[https:name="dgp"//arxiv.org/abs/1812.04074 Disciplined Geometric Programming.]'' Retrieved 8 January 2019.</ref>
 
==See also==
Line 35 ⟶ 42:
{{reflist}}
 
[[Category:Convex optimization]]
==Further Reading==
*{{cite book
| 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]]