I am a newbie in Optimization. I have this Optimization problem, could anyone help how can I analyze it and solve it?

\begin{align}\label{Problem_formulation} \mathbb P_1& ~~~~~~\mathop{\max}_{{ \eta, x_0 }} ~~~~{B}\log _2 \left(1+ \frac{{{P_M}\Vert {\textbf g}_d\Vert ^2}{( {\frac{c}{{4\pi {q}}}} )^2 {x_3}^{ - 2}{e^{ - K{x_3}}}}} {{{\sigma_w^2}}}\right)+\sum\nolimits_{f = 1}^{[S/\eta ]} \frac{{{f^{ - \delta }}}}{{\sum\nolimits_{f = 1}^{[S/\eta ]} {{f^{ - \delta }}} }}~~{B}\log _2 \left(1+ \frac{{{P_S}\Vert {\textbf h}_1\Vert ^2}{( {\frac{c}{{4\pi {q}}}} )^2 {x_0}^{ - 2}{e^{ - K{x_0}}}}} {{{\sigma_w^2}}}\right)\nonumber \\ &\mathop{\rm{s.t.}} \;\;~\eta \in [0,1], ~~ \forall f \in F \nonumber\\ &\;\;\qquad \sum\nolimits_{f = 1}^{[S/\eta ]} {b_f} \leq S \end{align}

System parameters

  • System bandwidth $B = 10^{6}$
  • Number of files $F = 10^{4}$
  • SBS cash capacity $S = 100$
  • MBS-user distance $x_{3} = 15$
  • Noise power in Watts $\sigma = 10^{-90/10}$
  • Light speed $c = 3 \cdot 10^{8}$
  • Operating frequency $q = 10^{12}$
  • Molecular absorption coefficient $K = 0.0016$
  • Path loss exponent for NLOS direct link MBS-user $\alpha_{N} = 4$
  • Path loss exponent for LOS link SBS-user $\alpha_{L} = 2$
  • Transmit power MBS in Watts $P_{M} = 10^{30/10}$
  • Transmit power SBS in Watts $P_{S} = 10^{30/10}$
  • Direct link MBS-user gain $G_{gd} = 4$
  • LOS link SBS-user gain $G_{h} = 4$
  • Skewness factor $\delta = 1$

I plot the function to see its curve:

enter image description here

  • 2
    $\begingroup$ You will get better answers at or.stackexchange.com $\endgroup$
    – mhdadk
    Apr 27, 2023 at 23:37
  • $\begingroup$ Please simplify the equation to have numbers and your variables. $\endgroup$
    – Mark
    May 9, 2023 at 7:06

1 Answer 1


This is a highly non linear model.
Fortunately it has low dimension (2) so you probably could get a way with it.

If you have access to a non linear constrained solver (In MATLAB you may look at fmincon()) just use it.

If you're limited to uncosntrained solver (Like MATLAB's fminunc()). The method I'd start with is writing the Lagrangian form of the problem and use the Penalty Method.
Each iteration is a solution to an unconstrained problem of 2 variables. You may use a simple non linear solvers or even a global optimization methods.

Remark: Your problem is not easy to digest, many variables etc... Hence I don't think someone will actually try to solve it. So you'll need to take the guidelines shared and try yourself.

  • $\begingroup$ Thank you Royi, very useful answer. I will try the Lagrangian form and see. $\endgroup$
    – Hadeel
    Apr 29, 2023 at 7:48

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.