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
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
Maximizing log(log(1+exp(x))) is equivalent to maximizing log(1+exp(x)) because the log function is monotone.
Maximizing log(1+exp(x)) is equivalent to maximizing 1+exp(x) since log is monotone.
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.
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.