---
title: "geometric programming"
source: https://www.jemoka.com/posts/kbhgeometric_programming/
---

A geometric program:
\begin{align} \min_{x}\quad &amp; f_{0}\qty(x) \\ \textrm{s.t.} \quad &amp; f_{i}\qty(x) \leq 1, i= 1\dots m \\ &amp; h_{i}\qty(x) = 1, i = 1 \dots p \end{align}
where \(f_{i}\) is posynomial, and \(h_{i}\) monomial. Notice that taking a log of this thing transforms the monomial into an affine function in \(\log \qty(x)\), and into a logsumexp for posynomials. This also implies that solving for optimal \(\log \qty(x)\), which is same as solving for \(x\) for positive \(x\), is convex problem.
monomial function \begin{equation} f\qty(x) = cx_{1}^{a_{1}} x_{2}^{a_{2}} \dots x_{n}^{a_{n}} \end{equation}
with \(c &gt; 0\), exponent \(a_{i}\) is any real. This term is not used in this way when not in the context of geometric programming.
\(\text{dom}\qty(f) = \mathbb{R}_{++}^{n}\).
posynomial function \begin{equation} f\qty(x) = \sum_{k=1}^{k} c_{k}x_{1}^{a_{1k}} x_{2}^{a_{2k}} \dots x_{n}^{a_{nk}} \end{equation}
\(\text{dom}\qty(f) = \mathbb{R}_{++}^{n}\).
