Log(log(1+exp(x)) objective function


(Amin Ghazanfari) #1

I wonder if there is any way to define Log(log(1+exp(x)) objective function for CVX, the function is concave but CVX does not accept it


(Mark L. Stone) #2

Either @Michal_Adamaszek has a solution for this, or it is a xanddidate for @Erling 's convex modeling challenge.


(Michal Adamaszek) #3

The inverse of this function if log(exp(exp(x))-1). Something along these lines was discussed on the forum before, and I think at Mosek we don’t know how to do it.


(Brian Borchers) #4

If the objective function really is just

f(x)=log(log(1+exp(x)))

then there is a very simple approach that works. Note that

  1. Maximizing log(log(1+exp(x))) is equivalent to maximizing log(1+exp(x)) because the log function is monotone.

  2. Maximizing log(1+exp(x)) is equivalent to maximizing 1+exp(x) since log is monotone.

  3. 1+exp(x) is a convex function, so maximizing it would ordinarily be difficult. However, 1+exp(x) is monotone increasing in x, so maximizing 1+exp(x) is equivalent to maximizing x.

Thus you can solve your original problem by maximizing x subject to whatever additional convex constraints you might have.


(Mark L. Stone) #5

Welcome to the forum @Brian_Borchers . Feel free to answer (and ask) as many questions as you want.


(Amin Ghazanfari) #6

Thanks for the reply. the actual objective function is maximize sum log(log2(1+exp(x_i))).


(Mark L. Stone) #7

It looks like you’re out of luck unless someone else (or @Brian_Borchers) comes along with a solution. log2 presents no extra difficulty vs. log, but having a sum involving a multivariate decision (CVX) variable renders @Brian_Borchers’s simplification inapplicable when the dimension exceeds one.