# Difference between revisions of "Exponential transformation"

(→Applications) |
|||

(49 intermediate revisions by one user not shown) | |||

Line 1: | Line 1: | ||

− | Author: Daniel Garcia | + | Author: Daniel Garcia (ChBE 345) |

Stewards: Dajun Yue and Prof. Fengqi You | Stewards: Dajun Yue and Prof. Fengqi You | ||

Line 5: | Line 5: | ||

Date presented: May 25, 2014 | Date presented: May 25, 2014 | ||

− | This article concerns the exponential transformation method for globally solving posynomial optimization problems with nonconvex objective functions or constraints. A discussion of the method's development | + | This article concerns the exponential transformation method for globally solving posynomial (or general geometric/signomial) optimization problems with nonconvex objective functions or constraints. A discussion of the method's development and use will be presented. |

− | == | + | ==Background== |

− | + | Before discussing methods to solve posynomial optimization problems, a brief review of posynomials is of use. A posynomial, as defined by Duffin, Peterson, and Zener (1967) as a function of the form | |

− | === | + | |

− | + | <math> f(x_1,x_2,...,x_n)=\sum_{k=1}^K c_kx_1^{a_{1k}}...x_n^{a_{nk}} </math> | |

− | === | + | |

− | + | where the variables <math> x_i </math> and the coefficients <math> c_k </math> are positive, real numbers, and all of the exponents <math> a_{ik} </math> are real numbers. For example, | |

− | == | + | |

− | + | <math> f(x_1,x_2)=14x_1^{3.2}x_2^{4}+x_1^2x_2^7 </math> | |

− | == | + | |

− | + | is a posynomial in two variables, and | |

+ | |||

+ | <math> f(x_1)=1500x_1^{3/5} </math> | ||

+ | |||

+ | is a posynomial with one variable. | ||

+ | |||

+ | The process of formulating a problem as a geometric program (named after the geometric-arithmetic mean inequality) is called ''GP modeling'', and has been gaining traction as a means to solve a variety of problems. A geometric program may be represented as follows: | ||

+ | |||

+ | :<math> \min ~f_0(x)</math> | ||

+ | :<math>s.t. ~~ f_i(x) \le 1, i = 1,...,m </math> | ||

+ | :::<math>h_i(x)=1, i=1,...,p</math> | ||

+ | |||

+ | Where <math> f_0,...,f_m</math> are posynomials and <math> h_1,...,h_p</math> are monomials, and the variables are all positive. | ||

+ | |||

+ | Note that this formulation is more restrictive than a typical nonlinear program (NLP). Specifically, the GP formulation is more constrained in the form of the objective function and the constraints. This represents a potential payoff - while it is more difficult to formulate a problem as a GP due to these constraints, if a problem can be formulated as a GP, highly efficient, global solving methods can be employed. In the NLP case, one may have to settle for a local solution, if a solution ca be found at all. Of course, GP's have their own set of solving challenges. | ||

+ | |||

+ | For example, it is not difficult to imagine a posynomial that is nonconvex, such as the examples above. Unfortunately, this can cause some problems when attempting to find a globally optimal solution of a posynomial program, as it is known that only convex problems ''guarantee'' a globally optimal solution. | ||

+ | |||

+ | Posynomial or geometric programming has been applied to solve problems in varied fields, such as signal circuit design, engineering design, project management, and inventory management, just to name a few. Clearly, the solution of such problems are important to the chemical engineer, and being able to globally solve such problems will equip the engineer with a powerful tool to solve a myriad of problems. | ||

+ | |||

+ | ===Example=== | ||

+ | |||

+ | A variety of problems can be algebraically reformulated into GP's. As an example, consider the optimization of a box with height ''h'', width ''w'', and depth ''d''. As constraints, the total area of the walls, ''2(hw+hd)'', is limited to some <math>A_{wall}</math>, the floor area ''wd'' is limited to some <math>A_{floor}</math>, and there are upper and lower constraints on the ratios ''h/w'' and ''w/d''. The volume of the box, ''hwd'' is to be optimized: | ||

+ | |||

+ | :<math> \max ~hwd</math> | ||

+ | :<math> s.t. ~~2(hw+hd) \le A_{wall}</math> | ||

+ | :::<math> ~wd \le A_{floor} </math> | ||

+ | :::<math> ~\alpha \le h/w \le \beta </math> | ||

+ | :::<math> ~\gamma \le d/w \le \delta </math> | ||

+ | |||

+ | While this problem is not in the standard GP form shown above, minor algebraic manipulations allow for the rearranging of the constraints and objective into a standard GP: | ||

+ | |||

+ | :<math>\min ~h^{-1}w^{-1}d^{-1}</math> | ||

+ | :<math> s.t. ~~(2/A_{wall})hw+(2/A_{wall})hd \le 1</math> | ||

+ | :::<math> (1/A_{floor})wd \le 1</math> | ||

+ | :::<math> \alpha h^{-1}w \le 1</math> | ||

+ | :::<math> (1/\beta )hw^{-1} \le 1</math> | ||

+ | :::<math> \gamma wd^{-1} \le 1 </math> | ||

+ | :::<math> (1/\delta )w^{-1}d \le 1</math> | ||

+ | |||

+ | |||

+ | ===Development=== | ||

+ | Many researchers attempted to solve such problems starting in the 1960's and 1970's. Methods used in the day aimed to find only locally optimal solutions, and employed methods such as successive approximation of posynomials (called "condensation"), so-called "psuedo-duality" methods which use a weaker form of duality, and adapted nonlinear programming methods. While locally optimal solutions are certainly better than no solution at all, the desire to find a globally optimal solution was strong enough to spur the development of other methods for posynomial programs in the 1990's. Such methods included global optimization algorithms based on exponential variable transformations of the original posynomial program, convex relaxation of the original problem, and branch-and-bound-type methods. | ||

+ | |||

+ | The exponential transformation method was introduced by Costas Maranas and Christodoulos Floudas in 1997, and, under certain circumstances, provides a method to globally optimize certain posynomial programming problems - a review of the basics of formulation and theory is presented in the next section. | ||

+ | |||

+ | ==Formulation== | ||

+ | |||

+ | Geometric programs with posynomials should be transformed to a convex problem for quick solving times. This can be achieved with an exponential transformation, as described and formulated in this section. | ||

+ | |||

+ | A posynomial program may be written as a generalized geometric problem (GGP) as so: | ||

+ | |||

+ | |||

+ | :<math> \min ~G_0(t)=G_0^+(t)-G_0^-(t) </math> | ||

+ | |||

+ | :<math> s.t. ~~G_j(t)=G_j^+(t)-G_j^-(t) \le 0, j=1,...,M </math> | ||

+ | |||

+ | :::<math> t_i \ge 0, i=1,...,N </math> | ||

+ | |||

+ | |||

+ | Where: | ||

+ | |||

+ | |||

+ | <math> G_j^+(t)=\sum_{k \in K_j^+} c_{jk} \prod_{i=1}^N t_i^{\alpha_{ijk}}, j=0,...,M </math> | ||

+ | |||

+ | <math> G_j^-(t)=\sum_{k \in K_j^-} c_{jk} \prod_{i=1}^N t_i^{\alpha_{ijk}}, j=0,...,M </math> | ||

+ | |||

+ | where <math> t=(t_1,...,t_N) </math> is the positive variable vector; <math> G_j^+, G_j^-, j=0,...,M </math> are positive posynomial functions in t; <math> \alpha_{ijk} </math> are arbitrary real constant exponents; and, finally, <math> c_{jk} </math> are strictly positive coefficients. Sets <math> K_j^+, K_j^- </math> keep track of how many positively or negatively signed monomials form posynomials <math> G_j^+, G_j^- </math>, respectively. This formulation is constructed by grouping together monomials with identical signs. | ||

+ | |||

+ | One can simply apply the transformation <math> t_i=e^{z_i}, i=1,...,N </math> to obtain the transformed optimization problem: | ||

+ | |||

+ | |||

+ | |||

+ | :<math> \min ~G_0(z)=G_0^+(z)-G_0^-(z) </math> | ||

+ | |||

+ | :<math> s.t. ~~G_j(z)=G_j^+(z)-G_j^-(z) \le 0, j=1, ...,M </math> | ||

+ | |||

+ | :::<math> z_i^L \le z_i \le z_i^U, i=1,...,N </math> | ||

+ | |||

+ | |||

+ | Where: | ||

+ | |||

+ | |||

+ | <math> G_j^+(z)=\sum_{k \in K_j^+} c_{jk}e^ \left ( \sum_{i=1}^N \alpha_{ijk}z_i \right ) , j=0,...,M </math> | ||

+ | |||

+ | <math> G_j^-(z)=\sum_{k \in K_j^-} c_{jk}e^ \left ( \sum_{i=1}^N \alpha_{ijk}z_i \right ) , j=0,...,M </math> | ||

+ | |||

+ | |||

+ | Note that this reformulation results in the difference between two convex functions. Thus, the reformulation has, in theory, "convexified" the original nonconvex problem. However, since <math> z_i^L= \ln t_i^L </math>, it is necessary that the lower bound <math> t_i^L </math> be strictly positive for this reformulation to exist. Maranas and Floudas help circumvent this issue by essentially pre-scaling the original variables to ensure that their lower bounds will be positive. Thus, make sure that for each t_i: | ||

+ | |||

+ | |||

+ | <math> t_i^'=t_i+\max \left ( 0, -t_i^L+\epsilon \right ) , \epsilon > 0. </math> | ||

+ | |||

+ | |||

+ | With this pre-scaling in place, it is evident that the reformulated problem is a convex programming problem, and a global solution can be found. A full algorithm and theoretical proofs can be found in the 1997 Maranas and Floudas paper. The reader is directed to the paper for a more rigorous and comprehensive interrogation into the theory behind the problem; this wiki article is simply meant to introduce the curious reader to the topic at large. | ||

+ | |||

+ | ===Feasibility Analysis=== | ||

+ | |||

+ | Of course, it is important to determine that the solution to the exponentially transformed convex is feasible to the original geometric program. | ||

+ | |||

+ | It is immediately apparent that if the transformed problem is infeasible, then the original problem must also be infeasible, as the constraints are identical in both programs. Thus, infeasibility in this case means the original constraints are too "tight" or do not allow for a feasible solution anyway, regardless of the exponential transformation. | ||

+ | |||

+ | One common method to determine feasibility between the transformed problem and the original geometric program is to find a point that is, albeit, still infeasible to the original problem, but not far from feasibility. One way to do this might be to set up the following geometric program: | ||

+ | |||

+ | :<math> \min ~s </math> | ||

+ | :<math>s.t. ~~f_i(x) \le s, i = 1,...,m</math> | ||

+ | :::<math>g_i(x)=1, i=1,...,p</math> | ||

+ | :::<math>s \ge 1</math> | ||

+ | |||

+ | |||

+ | Thus, as s nears a value of 1, the original problem nears feasibility. For example, if the optimal s = 1.1, then the optimal x is, theoretically, only 10% infeasible for the original problem. Thus, the goal of method is to find a solution such that s = 1, and x is feasible to the original geometric program. | ||

+ | |||

+ | ==Applications== | ||

+ | |||

+ | Exponential transformation to convexify an objective function or constraints can be used on any geometric program that meets the criteria discussed above. As noted above, geometric programs can arise in a number of different fields and applications. | ||

+ | |||

+ | Ron Dembo a geometric optimization problem concerning optimal reactor design. His system has eight nonconvex terms, and can be transformed with the exponential transformation method. Thus, chemical systems such as reactors, kinetics, and mass balance equations can be solved with exponential transformations: consider the following law of mass-action for any generic reaction: | ||

+ | |||

+ | <math> rate=kC_A^{0.5}C_B^{0.44} </math> | ||

+ | |||

+ | This equation is nonconvex as it stands, but makes a good candidate for exponential transformation. | ||

+ | |||

+ | |||

+ | Posynomial expressions also develop in the field of electrical engineering. In 2001, Hershenson et al formulated a geometric optimization problem for the optimal construction, layout, and connections within CMOS operational amplifiers. Key trade-offs they looked to optimize included power dissipation, unity-gain bandwidth, and open-loop gain. An example of a nonconvex posynomial constraint that arose in their analysis involves the voltage constraints upon a sample transistor in the network, for example: | ||

+ | |||

+ | <math> \sqrt{\frac{I_7L_7}{\mu_pC_{ox}/2W_7} } \le V_{dd}-V_{out,max} </math> | ||

+ | |||

+ | The square root of the variables (current, inductance) results in a nonconvex term that can be transformed with the exponential transformation. In the same vein, many other problems exist in electrical engineering that can also benefit from the exponential transformation. | ||

+ | |||

+ | |||

+ | Additional applications can be in the field of finance, supply chain, and project management. See the tutorial under "External Links and References" for an excellent resource recapping the theory of this article on geometric programming as well as a plethora of other applications and examples. | ||

+ | |||

+ | Examples under the External Links and References section include applications concerning: | ||

+ | |||

+ | - Power control in communications systems | ||

+ | |||

+ | - Optimal doping profile in semiconductor device engineering | ||

+ | |||

+ | - Floor planning for configuration of potentially furniture, process units, etc. on a floor | ||

+ | |||

+ | - Digital circuit gate sizing | ||

+ | |||

+ | - The optimal design of a mechanical truss system | ||

+ | |||

+ | - Wire segment sizing within an integrated circuit | ||

+ | |||

+ | An illustrative example involving digital circuit optimization via geometric programming is given by Boyd, Kim, Patil, and Horowitz in the references section. | ||

+ | |||

+ | ==Examples== | ||

+ | |||

+ | Convexification of a few objective functions and constraints are provided in this section as illustrative examples. The resulting reformulations can be tested in GAMS using appropriate solvers to verify that there is indeed a globally optimal solution. | ||

+ | |||

+ | '''Example 1''' | ||

+ | |||

+ | Original problem: | ||

+ | :<math> \min ~f(t_1,t_2)=14t_1^{3.2}t_2^{4}+t_1^2t_2^7 </math> | ||

+ | :<math>s.t. ~~ t_1 \ge 0 </math> | ||

+ | :::<math> t_2 \ge 0 </math> | ||

+ | |||

+ | |||

+ | After exponential transformation, this problem becomes: | ||

+ | :<math> \min ~f(z_1, z_2)=14e^ \left (3.2z_1+4z_2 \right ) + e^ \left ( 2z_1+7z_2 \right ) </math> | ||

+ | :<math>s.t. ~~e^ \left ( z_1 \right ) \ge 0 </math> | ||

+ | :::<math> e^ \left ( z_2 \right ) \ge 0 </math> | ||

+ | |||

+ | |||

+ | |||

+ | '''Example 2''' | ||

+ | |||

+ | Original problem: | ||

+ | :<math> \min ~f(t_1, t_2)=t_1^{3/5}t_2^2 </math> | ||

+ | :<math>s.t. ~~ \frac{t_1}{t_2} \le t_1^{0.7} </math> | ||

+ | |||

+ | |||

+ | becomes: | ||

+ | |||

+ | :<math> \min ~f(z_1, z_2)=e^ \left ( 0.6z_1+2z_2 \right ) </math> | ||

+ | :<math>s.t. ~~ z_1-z_2 \le 0.7z_1 </math> | ||

+ | |||

+ | |||

+ | Note that in this case, the reformulated constraint is linear and, thus, convex. | ||

+ | |||

+ | There are a multitude of cases where this reformulation can be applied. As long as the coefficients of the original posynomial are strictly positive. | ||

+ | |||

+ | ==References== | ||

+ | 1. R.J. Duffin, E.L. Peterson, C. Zener, ''Geometric Programming'', John Wiley and Sons, 1967. | ||

+ | |||

+ | 2. T.F. Edgar, D.M. Himmelblau, L.S. Lasdon, ''Optimization of Chemical Processes'', McGraw-Hill, 2001. | ||

+ | |||

+ | 3. J. Nocedal, S.J. Wright, ''Numerical Optimization'', Springer, 2006. | ||

+ | |||

+ | 4. J.F. Tsai, M.H. Lin, ''An Efficient Global Approach for Posynomial Geometric Programming Problems'', INFORMS Journal on Computing, 23 (3) pp. 483-492, 2011. | ||

+ | |||

+ | 5. C.D. Maranas, C.A. Floudas, ''Global Optimization in Generalized Geometric Programming'', Computers & Chemical Engineering, 21 (4) pp. 351-369, 1997. | ||

+ | |||

+ | 6. R. Dembo, ''A set of geometric programming test problems and their solutions'', Mathematical Programming, 10 (1) pp. 192-213, 1976. | ||

+ | |||

+ | 7. M.D.M. Hershenson, S.P. Boyd, ''Optimal Design of a CMOS Op-Amp via Geometric Programming'', IEEE Transactions of Computer-Aided Design of Integrated Circuits and Systems, 20 (1) pp.1-21, 2001. | ||

+ | |||

+ | 8. B.M. Worrall, M.A. Hall, ''The analysis of an inventory control model using psynomial geometric programming'', International Journal of Production Research 20 (5) pp. 657-667, 1982. | ||

+ | |||

+ | 9. S. Boyd, S. J. Kim, L. Vandenberghe, and A. Hassibi, A Tutorial on Geometric Programming | ||

+ | |||

+ | 10. S. Boyd, S. J. Kim, D. Patil, and M. Horowitz Digital Circuit Optimization via Geometric Programming |

## Latest revision as of 20:36, 8 June 2014

Author: Daniel Garcia (ChBE 345)

Stewards: Dajun Yue and Prof. Fengqi You

Date presented: May 25, 2014

This article concerns the exponential transformation method for globally solving posynomial (or general geometric/signomial) optimization problems with nonconvex objective functions or constraints. A discussion of the method's development and use will be presented.

## Contents |

## Background

Before discussing methods to solve posynomial optimization problems, a brief review of posynomials is of use. A posynomial, as defined by Duffin, Peterson, and Zener (1967) as a function of the form

where the variables and the coefficients are positive, real numbers, and all of the exponents are real numbers. For example,

is a posynomial in two variables, and

is a posynomial with one variable.

The process of formulating a problem as a geometric program (named after the geometric-arithmetic mean inequality) is called *GP modeling*, and has been gaining traction as a means to solve a variety of problems. A geometric program may be represented as follows:

Where are posynomials and are monomials, and the variables are all positive.

Note that this formulation is more restrictive than a typical nonlinear program (NLP). Specifically, the GP formulation is more constrained in the form of the objective function and the constraints. This represents a potential payoff - while it is more difficult to formulate a problem as a GP due to these constraints, if a problem can be formulated as a GP, highly efficient, global solving methods can be employed. In the NLP case, one may have to settle for a local solution, if a solution ca be found at all. Of course, GP's have their own set of solving challenges.

For example, it is not difficult to imagine a posynomial that is nonconvex, such as the examples above. Unfortunately, this can cause some problems when attempting to find a globally optimal solution of a posynomial program, as it is known that only convex problems *guarantee* a globally optimal solution.

Posynomial or geometric programming has been applied to solve problems in varied fields, such as signal circuit design, engineering design, project management, and inventory management, just to name a few. Clearly, the solution of such problems are important to the chemical engineer, and being able to globally solve such problems will equip the engineer with a powerful tool to solve a myriad of problems.

### Example

A variety of problems can be algebraically reformulated into GP's. As an example, consider the optimization of a box with height *h*, width *w*, and depth *d*. As constraints, the total area of the walls, *2(hw+hd)*, is limited to some , the floor area *wd* is limited to some , and there are upper and lower constraints on the ratios *h/w* and *w/d*. The volume of the box, *hwd* is to be optimized:

While this problem is not in the standard GP form shown above, minor algebraic manipulations allow for the rearranging of the constraints and objective into a standard GP:

### Development

Many researchers attempted to solve such problems starting in the 1960's and 1970's. Methods used in the day aimed to find only locally optimal solutions, and employed methods such as successive approximation of posynomials (called "condensation"), so-called "psuedo-duality" methods which use a weaker form of duality, and adapted nonlinear programming methods. While locally optimal solutions are certainly better than no solution at all, the desire to find a globally optimal solution was strong enough to spur the development of other methods for posynomial programs in the 1990's. Such methods included global optimization algorithms based on exponential variable transformations of the original posynomial program, convex relaxation of the original problem, and branch-and-bound-type methods.

The exponential transformation method was introduced by Costas Maranas and Christodoulos Floudas in 1997, and, under certain circumstances, provides a method to globally optimize certain posynomial programming problems - a review of the basics of formulation and theory is presented in the next section.

## Formulation

Geometric programs with posynomials should be transformed to a convex problem for quick solving times. This can be achieved with an exponential transformation, as described and formulated in this section.

A posynomial program may be written as a generalized geometric problem (GGP) as so:

Where:

where is the positive variable vector; are positive posynomial functions in t; are arbitrary real constant exponents; and, finally, are strictly positive coefficients. Sets keep track of how many positively or negatively signed monomials form posynomials , respectively. This formulation is constructed by grouping together monomials with identical signs.

One can simply apply the transformation to obtain the transformed optimization problem:

Where:

Note that this reformulation results in the difference between two convex functions. Thus, the reformulation has, in theory, "convexified" the original nonconvex problem. However, since , it is necessary that the lower bound be strictly positive for this reformulation to exist. Maranas and Floudas help circumvent this issue by essentially pre-scaling the original variables to ensure that their lower bounds will be positive. Thus, make sure that for each t_i:

With this pre-scaling in place, it is evident that the reformulated problem is a convex programming problem, and a global solution can be found. A full algorithm and theoretical proofs can be found in the 1997 Maranas and Floudas paper. The reader is directed to the paper for a more rigorous and comprehensive interrogation into the theory behind the problem; this wiki article is simply meant to introduce the curious reader to the topic at large.

### Feasibility Analysis

Of course, it is important to determine that the solution to the exponentially transformed convex is feasible to the original geometric program.

It is immediately apparent that if the transformed problem is infeasible, then the original problem must also be infeasible, as the constraints are identical in both programs. Thus, infeasibility in this case means the original constraints are too "tight" or do not allow for a feasible solution anyway, regardless of the exponential transformation.

One common method to determine feasibility between the transformed problem and the original geometric program is to find a point that is, albeit, still infeasible to the original problem, but not far from feasibility. One way to do this might be to set up the following geometric program:

Thus, as s nears a value of 1, the original problem nears feasibility. For example, if the optimal s = 1.1, then the optimal x is, theoretically, only 10% infeasible for the original problem. Thus, the goal of method is to find a solution such that s = 1, and x is feasible to the original geometric program.

## Applications

Exponential transformation to convexify an objective function or constraints can be used on any geometric program that meets the criteria discussed above. As noted above, geometric programs can arise in a number of different fields and applications.

Ron Dembo a geometric optimization problem concerning optimal reactor design. His system has eight nonconvex terms, and can be transformed with the exponential transformation method. Thus, chemical systems such as reactors, kinetics, and mass balance equations can be solved with exponential transformations: consider the following law of mass-action for any generic reaction:

This equation is nonconvex as it stands, but makes a good candidate for exponential transformation.

Posynomial expressions also develop in the field of electrical engineering. In 2001, Hershenson et al formulated a geometric optimization problem for the optimal construction, layout, and connections within CMOS operational amplifiers. Key trade-offs they looked to optimize included power dissipation, unity-gain bandwidth, and open-loop gain. An example of a nonconvex posynomial constraint that arose in their analysis involves the voltage constraints upon a sample transistor in the network, for example:

The square root of the variables (current, inductance) results in a nonconvex term that can be transformed with the exponential transformation. In the same vein, many other problems exist in electrical engineering that can also benefit from the exponential transformation.

Additional applications can be in the field of finance, supply chain, and project management. See the tutorial under "External Links and References" for an excellent resource recapping the theory of this article on geometric programming as well as a plethora of other applications and examples.

Examples under the External Links and References section include applications concerning:

- Power control in communications systems

- Optimal doping profile in semiconductor device engineering

- Floor planning for configuration of potentially furniture, process units, etc. on a floor

- Digital circuit gate sizing

- The optimal design of a mechanical truss system

- Wire segment sizing within an integrated circuit

An illustrative example involving digital circuit optimization via geometric programming is given by Boyd, Kim, Patil, and Horowitz in the references section.

## Examples

Convexification of a few objective functions and constraints are provided in this section as illustrative examples. The resulting reformulations can be tested in GAMS using appropriate solvers to verify that there is indeed a globally optimal solution.

**Example 1**

Original problem:

After exponential transformation, this problem becomes:

**Example 2**

Original problem:

becomes:

Note that in this case, the reformulated constraint is linear and, thus, convex.

There are a multitude of cases where this reformulation can be applied. As long as the coefficients of the original posynomial are strictly positive.

## References

1. R.J. Duffin, E.L. Peterson, C. Zener, *Geometric Programming*, John Wiley and Sons, 1967.

2. T.F. Edgar, D.M. Himmelblau, L.S. Lasdon, *Optimization of Chemical Processes*, McGraw-Hill, 2001.

3. J. Nocedal, S.J. Wright, *Numerical Optimization*, Springer, 2006.

4. J.F. Tsai, M.H. Lin, *An Efficient Global Approach for Posynomial Geometric Programming Problems*, INFORMS Journal on Computing, 23 (3) pp. 483-492, 2011.

5. C.D. Maranas, C.A. Floudas, *Global Optimization in Generalized Geometric Programming*, Computers & Chemical Engineering, 21 (4) pp. 351-369, 1997.

6. R. Dembo, *A set of geometric programming test problems and their solutions*, Mathematical Programming, 10 (1) pp. 192-213, 1976.

7. M.D.M. Hershenson, S.P. Boyd, *Optimal Design of a CMOS Op-Amp via Geometric Programming*, IEEE Transactions of Computer-Aided Design of Integrated Circuits and Systems, 20 (1) pp.1-21, 2001.

8. B.M. Worrall, M.A. Hall, *The analysis of an inventory control model using psynomial geometric programming*, International Journal of Production Research 20 (5) pp. 657-667, 1982.

9. S. Boyd, S. J. Kim, L. Vandenberghe, and A. Hassibi, A Tutorial on Geometric Programming

10. S. Boyd, S. J. Kim, D. Patil, and M. Horowitz Digital Circuit Optimization via Geometric Programming