Geometric programming: Difference between revisions
No edit summary |
No edit summary |
||
Line 3: | Line 3: | ||
== Introduction == | == Introduction == | ||
A '''geometric programming (GP)''' is a family of non-linear optimization problems. Geometric programming optimization problems are typically not convex optimization problems. However, geometric programming optimization problems can be transformed from non-convex optimization problems to convex optimization problems given by their special properties. The convexification for geometric programming optimization problems are implemented by a mathematical transformation of the objective function and constraint functions and a change of decision variables. | A '''geometric programming (GP)''' is a family of non-linear optimization problems. Geometric programming optimization problems are typically not convex optimization problems. However, geometric programming optimization problems can be transformed from non-convex optimization problems to convex optimization problems given by their special properties. The convexification for geometric programming optimization problems are implemented by a mathematical transformation of the objective function and constraint functions and a change of decision variables. Though a number of practical problems are not equivalent to geometric programming, geometric programming is generally considered a effective solution for the problem and it is used to well approximate and analyze various large scale applications. Typical applications include but are not limited to optimizing power control in communication systems<ref name=":0">S. Boyd, S. J. Kim, L. Vandenberghe, and A. Hassibi. ''A Tutorial on Geometric Programming.'' Retrieved 20 October 2019.</ref>, optimizing doping profile in semiconductor device engineering<ref name=":0" />, optimizing electronic component sizing in IC design<ref name=":0" />, and optimizing aircraft design in aerospace engineering<ref>W. Hoburg and P. Abbeel. ''Geometric programming for aircraft design optimization.'' AIAA Journal 52.11 (2014): 2414-2426.</ref>. | ||
== Theory/Methodology == | == Theory/Methodology == | ||
Line 32: | Line 32: | ||
=== Solve a Geometric Programming problem in standard form === | === Solve a Geometric Programming problem in standard form === | ||
The non-standard form GP is as follows: | |||
'''Minimize''' <math>f_0(x,y) = x^2y^3 + 3x + 2xy </math> | '''Minimize''' <math>f_0(x,y) = x^2y^3 + 3x + 2xy </math> | ||
Line 58: | Line 60: | ||
<math>y > 0 </math> | <math>y > 0 </math> | ||
=== Transform Non-convex Optimization Problems to Convex Optimization problem === | === Transform Non-convex Optimization Problems to Convex Optimization problem === | ||
''' | The non-convex mixed integer non-linear programming (MINLP) is as follows: | ||
'''Minimize''' <math>f_0(x_1,x_2,x_3) = 16(x_1)^2(x_2)^2 + 3(x_2)^3(x_3)^4 </math> | |||
'''Subject to:''' <math>x^5+2y^6+1\leqslant1 </math>, | |||
<math>x+2y\leqslant1 </math>, | |||
<math>xy = 1 </math>, | |||
<math>x > 0 </math>, | |||
<math>y > 0 </math> | |||
The reformulation of the MINLP above, from non-convex optimization problem to convex optimization problem, is as follows: | |||
'''Minimize''' <math>f_0(x_1,x_2,x_3) = 16(x_1)^2(x_2)^2 + 3(x_2)^3(x_3)^4 </math> | '''Minimize''' <math>f_0(x_1,x_2,x_3) = 16(x_1)^2(x_2)^2 + 3(x_2)^3(x_3)^4 </math> |
Revision as of 13:44, 20 November 2021
Authors: Wenjun Zhu(wz274), Sam Olsen(sgo23) (SYSEN5800, FALL 2021)
Introduction
A geometric programming (GP) is a family of non-linear optimization problems. Geometric programming optimization problems are typically not convex optimization problems. However, geometric programming optimization problems can be transformed from non-convex optimization problems to convex optimization problems given by their special properties. The convexification for geometric programming optimization problems are implemented by a mathematical transformation of the objective function and constraint functions and a change of decision variables. Though a number of practical problems are not equivalent to geometric programming, geometric programming is generally considered a effective solution for the problem and it is used to well approximate and analyze various large scale applications. Typical applications include but are not limited to optimizing power control in communication systems[1], optimizing doping profile in semiconductor device engineering[1], optimizing electronic component sizing in IC design[1], and optimizing aircraft design in aerospace engineering[2].
Theory/Methodology
Monomial function
A monomial function, or a monomial, is defined as: = ...
The exponents of a monomial can be any real numbers, including fractional or negative, but the coefficient can only be positive.
Posynomial function
A posynomial function, or a posynomial, is defined as: =
This is a function of sum of monomial functions defined in the above section.
Definition
The standard form of Geometric Programming optimization is to minimize the objective function which must be posynomial. The inequality constraints can only have the form of a posynomial less than or equal to one, and the equality constraints can only have the form of a monomial equal to one.
Standard Form
Minimize
Subject to: , = 1,...,m,
, = 1,...,p,
, = 1,...,q,
where are posynomial functions, are monomials, and are the optimization variables.
Numerical Examples
Solve a Geometric Programming problem in standard form
The non-standard form GP is as follows:
Minimize
Subject to: ,
,
,
,
The equivalent standard form GP is as follows:
Minimize
Subject to: ,
,
,
,
Transform Non-convex Optimization Problems to Convex Optimization problem
The non-convex mixed integer non-linear programming (MINLP) is as follows:
Minimize
Subject to: ,
,
,
,
The reformulation of the MINLP above, from non-convex optimization problem to convex optimization problem, is as follows:
Minimize
Subject to: ,
,
,
,
Applications
Conclusion
In general, geometric programming is a simple but powerful family of non-linear optimization problems. Though geometric programming optimization problems are typically not convex optimization problems, they can be transformed to convex optimization problems by multiple convexification techniques. This makes the optimization problems more tractable. Because of this special property, geometric programming is one of the best way to solve and analyze various large scale applications.