Hi, I need to formulate and solve this optimization problem. \[\min \sum_{t\in\mathcal{T}}p_t\] s.t. c1: \[\sum_{t\in \mathcal{T}}w_t\log_2\left(1+\frac{h}{w_tn_0}p_t\right)= TR\] c2: \[\alpha\sum_{t\in \mathcal{T}}w_t\log_2\left(1+\frac{h}{w_tn_0}p_t\right)\le D\] c3: \[p_t\ge 0\] Here, The left side of c1 is the total resources assigned and the right side is the desired amount of resources. \(\alpha\) is the price per unit of resources and \(D\) is the maximum amount that can be afforded. My requirement is: if \(D\) is large enough, then c1 is satisfied. If the maximum affordable amount \(D\) is not large enough to buy the desired amount of resources, then the user receives according to the amount it can afford. I am not sure whether my formulation is CORRECT or not. Note that the \(=\) sign can be replaced with \( \le\) if the optimality is not affected. Here, \(p_t\) is the optimization variable. Here, \(\alpha\), \(h\), \(T\), \(R\), \(D\), \( \eta_0\), and \( w_t\) are real and positive. \(\mathcal{T}\) is index set with \(T\) elements, i.e., \(\mathcal{T}=\{1,2,\cdots, T\}\). Some one please help me to solve this.
asked
dip |

All p_i = 0 is globally optimal. Clearly 0 is a lower bound on the objective, and all p_i = 0 is feasible and achieves that lower bound. Therefore it is globally optimal. If this is not your desired solution, then your problem formulation is incorrect. As a side note, you haven't told us anything about w_i and n_0, but that does not affect the validity of my optimal solution.

@Mark L Stone: I hav edited my question and provided more information. Note that the \(=\) sign can be replaced with \( \le\) is the optimality is not affected.

Given the description you have added, I believe you want to change the right-hand side of c1 to min(T*R,D/alpha), and get rid of c2. This leaves you with a non-convex nonlinear constraint. There are a number of global and local nonlinear numerical optimizers which could be used on such a problem. I leave it to you to determine whether your objective function is correct, because I don't understand well enough what you want to do, and therefore don't really know whether my proposed revised c2 really does what you want in the larger scheme of things.

@Mark L Stone, thank you very much. Should I also replace the = sign in c1 with <= so that c1 becomes .....<=min(TR,D/alpha), right? Or is it ....=min(TR,D/alpha).

Furthermore, if I replace the log_2 with ln, does it help to make it convex?

From your description, you want c1 to have =, not <=. But I don't know what you are really trying to do, so perhaps this is not really the right formulation. Replacing log_2 with ln has no effect on convexity. Having the nonlinear equality makes it a non-convex constraint. If it were changed to <=, it would still be a non-convex constraint, because the left-hand side is concave. However, if it were >= (with the right-hand side as I suggested), then it would be a convex constraint; however, >= doesn't seem to make sense per your description.