Girish Mahajan (Editor)

Geometric programming

Updated on
Edit
Like
Comment
Share on FacebookTweet on TwitterShare on LinkedInShare on Reddit

A geometric program (GP) is an optimization problem of the form

Minimize   f 0 ( x )   subject to f i ( x ) 1 , i = 1 , , m h i ( x ) = 1 , i = 1 , , p where f 0 , , f m are posynomials and h 1 , , h p are monomials.

In the context of geometric programming (unlike all other disciplines), a monomial is defined as a function h : R + + n R defined as

h ( x ) = c x 1 a 1 x 2 a 2 x n a n

where c > 0   and a i R .

GPs have numerous application, such as components sizing in IC design and parameter estimation via logistic regression in statistics. The maximum likelihood estimator in logistic regression is a GP.

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, defining y i = log ( x i ) , the monomial f ( x ) = c x 1 a 1 x n a n e a T y + b , where b = log ( c ) . Similarly, if f is the posynomial

f ( x ) = k = 1 K c k x 1 a 1 k x n a n k

then f ( x ) = k = 1 K e a k T y + b k , where a k = ( a 1 k , , a n k ) and b k = log ( c k ) . After the change of variables, a posynomial becomes a sum of exponentials of affine functions.

References

Geometric programming Wikipedia