# How can I solve a nonlinear optimization problem where constraint contains exponential term?

I have the optimization problem as below:

\begin{align} &\text{maximize } \sum_{k=1}^{M} \alpha_k {R}_k\\ &\text{subject to: } \exp \left[ - (2^{{R}_k } -1) \left(\frac{\tilde{Z} g_{k} p_{\max} + \sigma^2}{g_{pu} p_{pu}} \right) \right] \leq q \end{align}

$\alpha_k$ is the weight factor associated to the $R_k$.

This is a nonlinear optimization. But I am completely new to optimization. So any help is highly appreciated.

• Welcome to SciComp! I don't understand your notation with the colons. – Geoff Oxberry Aug 14 '15 at 8:35
• The only variables are the $R_{k}$, right? Is the constant factor within the exponential positive, negative, or could it be of either sign? – Brian Borchers Aug 14 '15 at 12:52
• Cross-posted verbatim and answered at Math.StackExchnage.com. Please don't cross post. – horchler Aug 14 '15 at 15:52
• @BrianBorchers,, yap $R_k$ is the variable and rest of the notations are positives. – jhon_wick Aug 14 '15 at 16:45
• Presuming all the terms are positive enough, take the natural log then the log base 2? – Bill Barth Aug 15 '15 at 0:23

## 1 Answer

If the $R_k$ are your only optimization variables, then the constraint $$\exp \left[ - (2^{{R}_k } -1) \left(\frac{\tilde{Z} g_{k} p_{\max} + \sigma^2}{g_{pu} p_{pu}} \right) \right] \leq q$$ is equivalent to $$- (2^{{R}_k } -1) \left(\frac{\tilde{Z} g_{k} p_{\max} + \sigma^2}{g_{pu} p_{pu}} \right) \leq \ln q$$ which is equivalent to $$(2^{{R}_k } -1) \leq -(\ln q) \left(\frac{g_{pu} p_{pu}}{\tilde{Z} g_{k} p_{\max} + \sigma^2} \right)$$ which is equivalent to $$2^{{R}_k } \leq -(\ln q) \left(\frac{g_{pu} p_{pu}}{\tilde{Z} g_{k} p_{\max} + \sigma^2} \right)+1$$ which is equivalent to $${R}_k \leq \log_2 \left\{ -(\ln q) \left(\frac{g_{pu} p_{pu}}{\tilde{Z} g_{k} p_{\max} + \sigma^2} \right)+1\right\}.$$ This is a linear constraint, and your objective function is already linear. So you ended with a standard linear program, for which there is plenty of software (and if you don't want to use any of that, plenty of simple to implement methods).

The transformation above shows an important principle: one can often transform complicated-looking problems into much simpler problems if one just looks at them closely enough.