We defined monomials and posynomials and geometric programs. A GP is min f(x) s.t. g_i(x) \leq 0 \forall i h_j(x) = 0 \forall j where f,g_i are posynomials while h_j are monomials. This program is not convex however: log(g_i(e^y)) is a convex function log(h_j(e^y)) is affine function Therefore, using this substitution and taking the log, yields a convex program. See e.g. A Tutorial on Geometric Programming.