A geometric program (GP) is an
optimization
Mathematical optimization (alternatively spelled ''optimisation'') or mathematical programming is the selection of a best element, with regard to some criterion, from some set of available alternatives. It is generally divided into two subfi ...
problem of the form
:
where
are
posynomials A posynomial, also known as a posinomial in some literature, is a function of the form
: f(x_1, x_2, \dots, x_n) = \sum_^K c_k x_1^ \cdots x_n^
where all the coordinates x_i and coefficients c_k are positive real numbers, and the exponents a_ are ...
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.
[S. Boyd, S. J. Kim, L. Vandenberghe, and A. Hassibi. ]
A Tutorial on Geometric Programming
'' Retrieved 20 October 2019.
Geometric programming is
closely related to
convex optimization
Convex optimization is a subfield of mathematical optimization that studies the problem of minimizing convex functions over convex sets (or, equivalently, maximizing concave functions over convex sets). Many classes of convex optimization pr ...
: any GP can be made convex by means of a change of variables.
GPs have numerous applications, including component sizing in
IC design, aircraft design,
maximum likelihood estimation
In statistics, maximum likelihood estimation (MLE) is a method of estimating the parameters of an assumed probability distribution, given some observed data. This is achieved by maximizing a likelihood function so that, under the assumed stati ...
for
logistic regression
In statistics, the logistic model (or logit model) is a statistical model that models the probability of an event taking place by having the log-odds for the event be a linear combination of one or more independent variables. In regression an ...
in
statistics
Statistics (from German: '' Statistik'', "description of a state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of data. In applying statistics to a scientific, indust ...
, and parameter tuning of positive
linear systems in
control theory
Control theory is a field of mathematics that deals with the control system, control of dynamical systems in engineered processes and machines. The objective is to develop a model or algorithm governing the application of system inputs to drive ...
.
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.
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.
[A. Agrawal, S. Diamond, and S. Boyd. ]
Disciplined Geometric Programming.
' Retrieved 8 January 2019.
Software
Several software packages exist to assist with formulating and solving geometric programs.
MOSEKis a commercial solver capable of solving geometric programs as well as other non-linear optimization problems.
CVXOPTis an open-source solver for convex optimization problems.
GPkitis a Python package for cleanly defining and manipulating geometric programming models. There are a number of example GP models written with this packag
hereGGPLABis a MATLAB toolbox for specifying and solving geometric programs (GPs) and generalized geometric programs (GGPs).
is a Python-embedded modeling language for specifying and solving convex optimization problems, including GPs, GGPs, and LLCPs.
See also
*
Signomial A signomial is an algebraic function of one or more independent variables. It is perhaps most easily thought of as an algebraic extension of multivariable polynomials—an extension that permits exponents to be arbitrary real numbers (rather than j ...
*
Clarence Zener
References
{{reflist
Convex optimization