A geometric program (GP) is an optimization problem of the form
formula_1
where formula_2 are posynomials and formula_3 are monomials. In the context of geometric programming (unlike standard mathematics), a monomial is a function from formula_4 to formula_5 defined as
formula_6
where formula_7 and formula_8. A posynomial is any sum of monomials.
Geometric programming is
closely related to convex optimization: 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 for logistic regression in statistics, and parameter tuning of positive linear systems in control theory. 
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 formula_9 and taking the log of the objective and constraint functions, the functions formula_10, i.e., the posynomials, are transformed into log-sum-exp functions, which are convex, and the functions formula_11, 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. 
Software.
Several software packages exist to assist with formulating and solving geometric programs.
References.
 ;templatestyles src="Reflist/styles.css" / ;