HOME

TheInfoList



OR:

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 criteria, from some set of available alternatives. It is generally divided into two subfiel ...
problem of the form : \begin \mbox & f_0(x) \\ \mbox & f_i(x) \leq 1, \quad i=1, \ldots, m\\ & g_i(x) = 1, \quad i=1, \ldots, p, \end where f_0,\dots,f_m are posynomials and g_1,\dots,g_p are monomials. In the context of geometric programming (unlike standard mathematics), a monomial is a function from \mathbb_^n to \mathbb defined as :x \mapsto c x_1^ x_2^ \cdots x_n^ where c > 0 \ and a_i \in \mathbb . 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 problems ...
: 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 estimation theory, estimating the Statistical parameter, parameters of an assumed probability distribution, given some observed data. This is achieved by Mathematical optimization, ...
for
logistic regression In statistics, a logistic model (or logit model) is a statistical model that models the logit, log-odds of an event as a linear function (calculus), linear combination of one or more independent variables. In regression analysis, logistic regres ...
in
statistics Statistics (from German language, German: ', "description of a State (polity), state, a country") is the discipline that concerns the collection, organization, analysis, interpretation, and presentation of data. In applying statistics to a s ...
, and parameter tuning of positive linear systems in
control theory Control theory is a field of control engineering and applied 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 applic ...
.


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 y_i = \log(x_i) and taking the log of the objective and constraint functions, the functions f_i, i.e., the posynomials, are transformed into log-sum-exp functions, which are convex, and the functions g_i, i.e., the monomials, become
affine Affine may describe any of various topics concerned with connections or affinities. It may refer to: * Affine, a Affinity_(law)#Terminology, relative by marriage in law and anthropology * Affine cipher, a special case of the more general substi ...
. 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.
MOSEK
is a commercial solver capable of solving geometric programs as well as other non-linear optimization problems.
CVXOPT
is an open-source 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 packag
here

GGPLAB
is 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 * Clarence Zener


References

{{reflist Convex optimization