[Math] Solving non-linear optimization using generalized reduced gradient (GRG) method

nonlinear optimizationoptimization

Consider the following elementary maximization problem:
\begin{align}
f{=}\mathrm{argmax}_{y_{l,c}, p_{l,c}}~\sum_{l=1}^{L}\sum_{c=1}^{C} y_{l,c}\text{log}_2\left(1+\frac{p_{l,c}}{I_{l,c}}\right)
\end{align}
s.t.,
\begin{align}
\sum_{l=1}^{L}y_{l,c}\leq 1
\end{align}

\begin{align}
\sum_{c=1}^{C}p_{l,c}\leq P_{max} \qquad \forall l
\end{align}

\begin{align}
\sum_{l=1}^{L}\sum_{c=1}^{C} \text{log}_2\left(1+\frac{I_{l,c}}{p_{l,c}}\right) \geq R_c
\end{align}

where, $l=1,2, \ldots L$, and $c=1, 2, \ldots C$

My questions are as follows:

  1. Can I solve this problem as non-linear optimization?

  2. I want to use generalized reduced gradient (GRG) method. Is it the correct approach? Can I transform this problem to minimization objective function?

  3. Can any other optimization method be followed? Some suggestion.

Best Answer

To your first question: It seems there are some implicit restrictions that should be made explicit. Are there nonnegativity constraints on the variables $y_{l,c}$? In order to guarantee a solution, you must have positive lower bounds on $p_{l,c}$, as otherwise the logarithm blows up. (Constraints of the form $p_{l,c} > 0$ are frowned upon in optimization; $p_{l,c} \ge \epsilon$ is usually preferred.)

Assuming reasonable assumptions as outlined above ($I_{l,c} > 0$), your problem is a convex optimization problem. (The objective function is concave, but the corresponding minimization problem $\min (-f)$ --- see your second question --- is convex.)

I am not sure why you want to use a particular algorithm. GRG is probably not too bad, but there are other algorithms out there. Are you planning to implement this yourself? (That would be an entirely different question.) The best approach is likely to depend on $L$ and $C$. For a start I would recommend either just a simplistic approach like the built-in Excel solver or perhaps the Frontline solver or OpenSolver add-ins for Excel, or an open-source package such as Ipopt.