Exponential transformation: Difference between revisions

From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Jump to navigation Jump to search
(Update for TA comments)
No edit summary
Line 3: Line 3:
== Introduction ==
== Introduction ==


Exponential transformations are simple algebraic transformations of monomial functions through a variable substitution with an exponential variable. In computational optimization, exponential transformations are used for convexification of geometric programming constraints nonconvex optimization problems. The constraints for geometric programs are posynomial functions which are characterized by being positive polynomials.  
Exponential transformations are simple algebraic transformations of monomial functions through a variable substitution with an exponential variable. In computational optimization, exponential transformations are used for convexification of geometric programming constraints in nonconvex optimization problems.


Exponential transformation creates a convex function without changing the decision space of the problem. <ref name =":0"> D. Li and M. P. Biswal, [https://doi.org/10.1023/A:1021708412776 "Exponential Transformation in Convexifying a Noninferior Frontier and Exponential Generating Method]," ''Journal of Optimization Theory and Applications'', vol. 99, pp. 183–199, 1998.</ref> This is done through a simple substitution of continuous variables with a natural exponent and simplifying binary variables by removing the exponents due to the binary nature of the variable. The transformation can then be verified using the Hessian positive definite test to confirm that it is now a convex function.  
Exponential transformation creates a convex function without changing the decision space of the problem. <ref name =":0"> D. Li and M. P. Biswal, [https://doi.org/10.1023/A:1021708412776 "Exponential Transformation in Convexifying a Noninferior Frontier and Exponential Generating Method]," ''Journal of Optimization Theory and Applications'', vol. 99, pp. 183–199, 1998.</ref> This is done through a simple substitution of continuous variables with a natural exponent and simplification of binary variables through removal of the exponent. The transformation is verified to be convex if the Hessian, denoted by <math>H(x)</math>, is proven to be positive-definite.


Using exponential transformations, the overall time to solve a Nonlinear Programming (NLP) or a Mixed Integer Nonlinear Programming (MINLP) problem is reduced and simplifies the solution space enough to utilize conventional NLP/MINLP solvers. This can be seen used in various real world optimization problem applications to simplify the solution space as real world applications have extensive quantities of constraints and variables.  
By using exponential transformations, not only is the overall time to solve a Nonlinear Programming (NLP) or a Mixed Integer Nonlinear Programming (MINLP) problem reduced, but we can also simplify the solution space enough to utilize conventional NLP/MINLP solvers. Various real world optimization problems apply this transformation to simplify the solution space consisting of extensive quantities of constraints and variables.  


== Theory & Methodology ==
== Theory, Methodology, and Algorithmic Discussions ==
Exponential transformation is an algebraic transformation applied to geometric programs.
=== Theory ===
Exponential transformations are most commonly applied to geometric programs. A '''geometric program''' is a mathematical optimization problem where the objective function is a posynomial being minimized. '''Posynomial''' functions are defined as positive polynomials. <ref name =":1"> S. Boyd, S. J. Kim, and L. Vandenberghe ''et al.'', [https://doi.org/10.1007/s11081-007-9001-7, "A tutorial on geometric programming]," ''Optimization and Engineering'', vol. 8, article 67, 2007.</ref> 


In non linear programming an exponential transformation are used for geometric programs which are composed of posynomial functions in the optimization function and constraints.
The standard form of a geometric program is represented by:


A posynomial function which can also be referred to as a posynomial is defined as a positive polynomial function. <ref name =":1"> S. Boyd, S. J. Kim, and L. Vandenberghe ''et al.'', [https://doi.org/10.1007/s11081-007-9001-7, "A tutorial on geometric programming]," ''Optimization and Engineering'', vol. 8, article 67, 2007.</ref>
<math>\begin{align}
\min & \quad f_0(x) \\
s.t. & \quad f_i(x) \leq 1 \quad  i = 1,....,m  \\
& \quad g_i(x) = 1  \quad i = 1,....,p
\end{align}</math>
 
Where <math> f_0(x) </math> is a posynomial function, <math> f_i(x) </math>  is a posynomial function and <math> g_i(x) </math> is a monomial function.


Exponential transformation begins with a posynomial (Positive and Polynomial) noncovex function of the form <ref name =":1"> S. Boyd, S. J. Kim, and L. Vandenberghe ''et al.'', [https://doi.org/10.1007/s11081-007-9001-7, "A tutorial on geometric programming]," ''Optimization and Engineering'', vol. 8, article 67, 2007.</ref>  
To verify a geometric program is represented in its standard form, the following conditions must be true:
# Objective function <math>f_0(x)</math> is a posynomial.
# Inequality constraints <math>f_i(x)</math> must be posynomials less than or equal to 1.  
# Equality constraints <math>g_i(x)</math> must be monomials equal to 1.


A posynomial begins with <math> x_1,...,x_n </math> where <math> x_n
In this definition, monomials differ from the usual algebraic definition where the exponents must be nonnegative integers. For this application, exponents can be any positive number inclusive of fractions and negative exponents. <ref name =":1"></ref>
</math> are real non negative variables. 


variables.
=== Methodology ===
 
Exponential transformation begins with a posynomial noncovex function as depicted below. <ref name =":1"></ref> A posynomial begins with <math> x_1,...,x_n </math> where <math>x_n</math> are real non-negative variables.


<math> f(x) = \sum_{k=1}^N c_k{x_1}^{a_{1k}}{x_2}^{a_{2k}}....{x_n}^{a_{nk}} </math>
<math> f(x) = \sum_{k=1}^N c_k{x_1}^{a_{1k}}{x_2}^{a_{2k}}....{x_n}^{a_{nk}} </math>


where <math> c_k \geq 0 </math> and <math> x_n \geq0 </math>
Where <math> c_k \geq 0 </math> and <math> x_n \geq0 </math>


A transformation where <math> x_n </math> is replaced with the natural logarithm base exponential <math> e^{u_n} </math> <ref> I. E. Grossmann, [https://doi.org/10.1023/A:1021039126272, "Review of Nonlinear Mixed-Integer and Disjunctive Programming Techniques]," ''Optimization and Engineering'', vol. 3, pp. 227–252, 2002. </ref>
A transformation is applied in which <math> x_n </math> is replaced with the natural logarithm base exponential <math> e^{u_n} </math>. <ref> I. E. Grossmann, [https://doi.org/10.1023/A:1021039126272, "Review of Nonlinear Mixed-Integer and Disjunctive Programming Techniques]," ''Optimization and Engineering'', vol. 3, pp. 227–252, 2002. </ref> The transformed function after substitution is presented as:
 
The transformed function after substitution is presented as:


<math> f(u) = \sum_{k=1}^N c_k{{e}^{{u_1}{a_{1k}}}{e}^{{u_2}{a_{2k}}}....{e}^{{u_n}{a_{nk}}}} </math>
<math> f(u) = \sum_{k=1}^N c_k{{e}^{{u_1}{a_{1k}}}{e}^{{u_2}{a_{2k}}}....{e}^{{u_n}{a_{nk}}}} </math>


Properties of exponent can be used to further simplify the transformation above resulting in the sum of the exponents with a natural logarithm base.  
Properties of the exponent can be used to further simplify the transformation above, resulting in the sum of the exponents with a natural logarithm base.  


<math> f(u) = \sum_{k=1}^N c_k{{e}^{{{u_1}{a_{1k}}}+{{u_2}{a_{2k}}}....+{{u_n}{a_{nk}}}}} </math>
<math> f(u) = \sum_{k=1}^N c_k{{e}^{{{u_1}{a_{1k}}}+{{u_2}{a_{2k}}}....+{{u_n}{a_{nk}}}}} </math>


This simplification can be applied in any instance where the product of logarithms with the same base is present to simplify the transformed function.  
This simplification can be applied in any instance where the product of logarithms with the same base is present to simplify the transformed function.  
Exponential transformation can be applied to geometric programs. A geometric program is a mathematical optimization problem where the objective function is a posynomial which is minimized. For Geometric programs in standard form the objective must be a posynomial and the constraints must be posynomials <math> \leq 1 </math> or monomials equal to 1.
Geometric Programs in standard form is represented by:
<math>\begin{align}
\min & \quad f_0(x) \\
s.t. & \quad f_i(x) \leq 1 \quad  i = 1,....,m  \\
& \quad g_i(x) = 1  \quad i = 1,....,p
\end{align}</math>
Where <math> f_0(x) </math> is a posynomial function, <math> f_i(x) </math>  is a posynomial function and <math> g_i(x) </math> is a monomial function.
In this definition monomials differ from the usual algebraic definition where the exponents must be nonnegative integers. For this application exponents can be any positive number inclusive of fractions and negative exponents. <ref name =":1"> S. Boyd, S. J. Kim, and L. Vandenberghe ''et al.'', [https://doi.org/10.1007/s11081-007-9001-7, "A tutorial on geometric programming]," ''Optimization and Engineering'', vol. 8, article 67, 2007.</ref>


===Exponential Transformation in Computational Optimization===
===Exponential Transformation in Computational Optimization===
Line 178: Line 173:


==Conclusion==
==Conclusion==
Exponential transformation is a useful method to convexify Geometric MINLP and obtain a global solution to the problem. Exponential transformation does not alter the bounds of the problem and allows for a convex objective function and constraints given that the conditions described within [[#Theory & Methodology|Theory & Methodology]] are satisfied. Geometric Programming transformation can be further explored through logarithmic transformation to address convexification.
Exponential transformation is a useful method to convexify geometric MINLP and obtain a global solution to the problem. Exponential transformation does not alter the bounds of the problem and allows for a convex objective function and constraints given that the prerequisite conditions described are satisfied. Geometric programming transformation can be further explored through logarithmic transformation to address convexification.


==References==
==References==
<references />
<references />

Revision as of 21:03, 14 December 2021

Author: Daphne Duvivier, Daniela Gil, Jacqueline Jackson, Sinclaire Mills, Vanessa Nobre (SYSEN 5800, Fall 2021)

Introduction

Exponential transformations are simple algebraic transformations of monomial functions through a variable substitution with an exponential variable. In computational optimization, exponential transformations are used for convexification of geometric programming constraints in nonconvex optimization problems.

Exponential transformation creates a convex function without changing the decision space of the problem. [1] This is done through a simple substitution of continuous variables with a natural exponent and simplification of binary variables through removal of the exponent. The transformation is verified to be convex if the Hessian, denoted by , is proven to be positive-definite.

By using exponential transformations, not only is the overall time to solve a Nonlinear Programming (NLP) or a Mixed Integer Nonlinear Programming (MINLP) problem reduced, but we can also simplify the solution space enough to utilize conventional NLP/MINLP solvers. Various real world optimization problems apply this transformation to simplify the solution space consisting of extensive quantities of constraints and variables.

Theory, Methodology, and Algorithmic Discussions

Theory

Exponential transformations are most commonly applied to geometric programs. A geometric program is a mathematical optimization problem where the objective function is a posynomial being minimized. Posynomial functions are defined as positive polynomials. [2]

The standard form of a geometric program is represented by:

Where is a posynomial function, is a posynomial function and is a monomial function.

To verify a geometric program is represented in its standard form, the following conditions must be true:

  1. Objective function is a posynomial.
  2. Inequality constraints must be posynomials less than or equal to 1.
  3. Equality constraints must be monomials equal to 1.

In this definition, monomials differ from the usual algebraic definition where the exponents must be nonnegative integers. For this application, exponents can be any positive number inclusive of fractions and negative exponents. [2]

Methodology

Exponential transformation begins with a posynomial noncovex function as depicted below. [2] A posynomial begins with where  are real non-negative variables.

Where and

A transformation is applied in which is replaced with the natural logarithm base exponential . [3] The transformed function after substitution is presented as:

Properties of the exponent can be used to further simplify the transformation above, resulting in the sum of the exponents with a natural logarithm base.

This simplification can be applied in any instance where the product of logarithms with the same base is present to simplify the transformed function.

Exponential Transformation in Computational Optimization

Exponential transformation can be used for convexification of any Geometric MINLP that meets the criteria for a geometric program. In a geometric program the approach to solving efficiently is taken by transforming the optimization problem into a convex nonlinear problem. This is done by turning the problem into a nonlinear convex optimization problem through exponential transformation. Using the exponential substitution detailed above, all continuous variables in the function are transformed while binary variables are not transformed. Through exponential transformation the constraints of a geometric program are also convex.

In a special case binary exponential transformation can also be applied where binary variables are linearized since their possible allocation is 0 or 1. Binary exponential transformation can be done by using the following replacement is substituted by y.

Additionally, as presented in Theorem 1 and accompanying proof in "Global optimization of signomial geometric programming using linear relaxation" by P. Shen, K. Zhang, given that a function is being minimized, it shows that after transformation all points on the transformed function are feasible in the original function and all objective values in the transformed function are the same or less than the original function. [2] this creates a convex under estimator approach to the problem.

Also as presented by Li and Biswal, the bounds of the problem are not altered through exponential transformation. [1]

Numerical Example

Reformulating to exponents

Substituting

Simplifying by exponent properties and combining the exponents with like bases as a sum:

Example of Convexification Application in MINLP

The following MINLP problem can take a convexification approach using exponential transformation:

Using the exponential transformation to continuous variables by substituting and described the problem becomes the following:

With additional simplification through properties of exponents and combining the products of exponential terms as the sum of exponents with the same base:

Where is unbounded due to logarithmic of 0 being indefinite.

Additionally simplifying further for binary variables by substituting since is either 0 or 1 and any exponents on the variable will not change the solution space:

The transformed objective function can be shown to be convex through the positive-definite test of the Hessian. In order to prove the convexity of the transformed functions, the positive definite test of Hessian is used as defined in Optimization of Chemical Processes [4]. This tests the Hessian defined as:

to test that

where

for all

For the example above, the Hessian is as follows [5]:

In the example above, the Hessian is defined as:

Therefore, H(x) is positive-definite and strictly convex.

Applications

Currently, various applications of exponential transformation can be seen in published journal articles and industry practices. Many of these applications use exponential transformation to convexify their problem space. Due to the closeness with logarithmic transformation, usually a combination of the approaches is used in practical solutions.

Mechanical Engineering Applications

In the paper “Global optimization of heat exchanger network synthesis problems with and without the isothermal mixing assumption” a global optimization approach is explored for the synthesis of heat exchanger networks. As seen in eq(34) and (35) of the work by Björk and Westerlund, they employ an exponential transformation to convexify their optimization problem to employ a global optimization approach. [6]

Electrical Engineering Application:

Applications for VLSI circuit performance optimization. In this application a special geometric program defined as unary geometric programs is presented. The unary geometric program is a posynomial as defined in the Theory & Methodology section. The unary geometric program is derived through a greedy algorithm which implements a logarithmic transformation within lemma 5. [7] While this is not a specific exponential transformation example logarithmic transformations are within the same family and can also be used to convexify geometric programs.

Machining Economics:

Applications in economics can be seen through geometric programming approaches. Examples and applications include to analyze the life of cutting tools in machining. In this approach they use exponential transformations to convexify the problem. [8]

Overall exponential transformations can be applied anywhere a geometric programming approach is taken to optimize the solution space. Some Applications may perform a logarithmic transformation instead of an exponential transformation.

Conclusion

Exponential transformation is a useful method to convexify geometric MINLP and obtain a global solution to the problem. Exponential transformation does not alter the bounds of the problem and allows for a convex objective function and constraints given that the prerequisite conditions described are satisfied. Geometric programming transformation can be further explored through logarithmic transformation to address convexification.

References

  1. 1.0 1.1 D. Li and M. P. Biswal, "Exponential Transformation in Convexifying a Noninferior Frontier and Exponential Generating Method," Journal of Optimization Theory and Applications, vol. 99, pp. 183–199, 1998.
  2. 2.0 2.1 2.2 2.3 S. Boyd, S. J. Kim, and L. Vandenberghe et al., "A tutorial on geometric programming," Optimization and Engineering, vol. 8, article 67, 2007.
  3. I. E. Grossmann, "Review of Nonlinear Mixed-Integer and Disjunctive Programming Techniques," Optimization and Engineering, vol. 3, pp. 227–252, 2002.
  4. T. F. Edgar, D. M. Himmelblau, and L. S. Lasdon, Optimization of Chemical Processes, McGraw-Hill, 2001.
  5. M. Chiang, "Geometric Programming for Communication Systems," 2005.
  6. K. J. Björk and T. Westerlund, "Global optimization of heat exchanger network synthesis problems with and without the isothermal mixing assumption," Computers & Chemical Engineering, vol. 26, issue 11, pp. 1581-1593, 2002.
  7. http://home.eng.iastate.edu/~cnchu/pubs/j08.pdf
  8. https://link.springer.com/content/pdf/10.1007/BF02591746.pdf