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\]


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 01 Sep '17, 06:14

dip's gravatar image

accept rate: 0%

edited 01 Sep '17, 19:57


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.

(01 Sep '17, 11:22) Mark L Stone

@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.

(01 Sep '17, 19:56) dip

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.

(02 Sep '17, 10:50) Mark L Stone

@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?

(03 Sep '17, 09:19) dip

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.

(03 Sep '17, 10:07) Mark L Stone
Be the first one to answer this question!
toggle preview

Follow this question

By Email:

Once you sign in you will be able to subscribe for any updates here



Answers and Comments

Markdown Basics

  • *italic* or _italic_
  • **bold** or __bold__
  • link:[text](http://url.com/ "Title")
  • image?![alt text](/path/img.jpg "Title")
  • numbered list: 1. Foo 2. Bar
  • to add a line break simply add two spaces to where you would like the new line to be.
  • basic HTML tags are also supported



Asked: 01 Sep '17, 06:14

Seen: 418 times

Last updated: 03 Sep '17, 10:07

OR-Exchange! Your site for questions, answers, and announcements about operations research.