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, after performing the change of variables y_i = \log(x_i) and taking the log of the objective and constraint functions, the functions f_i, i.e., the posynomials, are transformed into
log-sum-exp functions, which are convex, and the functions g_i, i.e., the monomials, become
affine. Hence, this transformation transforms every GP into an equivalent convex program. ==Software==