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

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

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

1 Like

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.


If the objective function really is just


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.

1 Like

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

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

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.