# $p1+\frac1{s1}$

(P1)\ \ \ \ \ \ \ \ \max_{s1,s2,t}
\ \ \ \ \ \ \ \ \ \ st. \ \ln( 1+ \frac{p0}{p1+\frac1{s1}}) - \ln( 1+ \frac{p0}{p2+\frac1{s2}}) \geq t

Hello, everyone!
I have a problem P1 which contains a constraint , I deal with p1+\frac1{s1} and p2+\frac1{s2} as P(2),P(3), I want to know which is right or they are both right?

(P2)\ \ \ \ \ \ \ \ \max_{\ \ s1,s2,t}
\ \ \ \ \ \ \ \ \ \ st. \ \ln( 1+ \frac{p0}{z1}) - \ln( 1+ \frac{p0}{z2}) \geq t
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ where,\ z1=p1+\frac1{s1}, \ \ \ z2=p2+\frac1{s2}

(P3)\ \ \ \ \ \ \ \ \max_{s1,s2,t}
\ \ \ \ \ \ \ \ \ \ st. \ \ln( 1+ \frac{p0}{z1}) - \ln( 1+ \frac{p0}{z2}) \geq t
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ z1\leq p1+\frac1{s1},
\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ z2\geq p1+\frac1{s2},

And I will do the First Taylor Expansion for \ln( 1+\frac{p0}{z1}) in the next step.

The second tern in the first logarithm can be reformulated to match How to make the following concave function to fit cvx? - #2 by Mark_L_Stone , which allows that first log to be entered in CVX. The 2nd log term is convex due to the minus sign in front of the log; therefore, that would be the term which you would have to handle in some other way, such as by linearizing.

As for linearizing:
Unsafeguarded (no line search or trust region)Successive Convex Approximation (SCA) is unreliable. It might not descend (for minimization problem), i.e., iterates could get worse. It might not converge to anything; and if it does converge, it might not be to a local optimum of the original problem, let alone a global optimum. The solution of successive iterations, and therefore subproblem inputs, can become wilder and wilder, until at some point the solver fails, or makes erroneous determination of infeasibility or unboundedness.

Don’t apply crude, unsafeguarded (no Trust Region or Line Search) Successive Convex Approximation (SCA) to a new problem … unless your name happens to be Stephen Boyd.

There’s a reason high quality non-convex nonlinear optimization solvers are more than 10 lines long.

Sorry, I have not depicted it clearly. I have derived the first logarithm, but p1 \geq 0 ,and p0>0,p2>0.
As for the 2nd log term, can you give more specific illustrations for the way to handle it. The way I have thought just is that introducing a slack variable.
I use the SCA method dealing with it now.

log(1+p0/(p1+1/s1)) = log(1+p0/p1*s1/(1/p1+s1)), the right-hand side of which matches the form in the link in my previous post.

As we known, 1/0 is insensitive, How about P1=0?

My reformulation assumes p1 > 0.

If p1 is 0, then log(1+p0/(p1+1/s1)) can be entered in CVX directly as log(1+p0*s1)

Thank you very much! I have read the link in the first time.

If I can choose the term of P1=0, and reformulated it as log(1+p0/(p1+1/s1 = log(1+p0/p1*s1/(1/p1+s1)))) = log(1+p0/p1 - p0/p1*(p1*s1+1))

In your link,the author seems not solve the problem, I do two steps to deal with the log

1. \ \ \ln(1 + \frac{p0}{p1} - \frac{\frac{p0}{p1}}{p1s1+1}) \geq \eta
2. \ \ 1 + \frac{p0}{p1} - \frac{\frac{p0}{p1}}{p1s1+1} \geq e^{\eta}, and modify the constraint \eta - \ln(1+\frac{p0}{p2+1/s2})

As for P1=0, I use log(1+p0*s1) directly

What are you doing? Where is inv_pos which is in the reformulation I linked to?

I do it by following you, \ln(1+\frac{p0}{p1}-\frac{p0}{p1}* inv_pos (p1*s1+1))
And, \ \ \ \ln(1+\frac{p0}{p1}-\frac{p0}{p1}* inv_pos (p1*s1+1))\geq\eta
\ \ \ \ \ \ \ \ \ \ 1+\frac{p0}{p1}-\frac{p0}{p1}* inv_pos (p1*s1+1)\geq e^{\eta}

Because I don’t know how to express log(1 + \frac{p0}{p1} - \frac{p0}{p1}* inv_pos (p1*s1+1)) in CVX expression? So I introduce the slack variable \eta

Check your work, because you did not correctly implement the formula I provided
aa = p0/p1 and bb = 1/p1.

The formulation I provided involving inv_pos is in a form accepted by CVX. which is why I put it in that form. The argument of log is concave, which CVX allows. Slack variables are not required.

Yes, you are right. i will check it latter.