I am trying to find a DCP formulation for the following convex objective function (using CVXPY):
Let $x$ be the $N$-dimensional vector variable on which we optimize on, $c$ be a known scalar value such that $0 < c \le 1$ and and $L$ be a known $N$-dimensional vector with $L_i > 0 \: \forall i=1,..., N$. The (convex) objective is formulated as:
$$ f(x) = \sum_{i=1}^N\left(c^{\max(x_i,0)/L_i}\cdot L_i - \ln(c)\cdot\max(x_i,0)\right) $$
Single out any $i=1,...,N$, the issue I am facing is that each convex element of the sum above is given by the sum of a nonconvex and a convex function:
$$ c^{\max(x_i,0)/L}\cdot L_i - \ln(c)\cdot\max(x_i,0) $$
The expected behavior of the above sum is to be equal to: \begin{align} c^{\max(x_i,0)/L}\cdot L_i - \ln(c)\cdot\max(x_i,0)=\begin{cases} c^{x_i/L}\cdot L_i - \ln(c)\cdot x&\quad x_i \ge 0 \\ L_i &\quad x_i < 0 \end{cases} \end{align}
But using standard atoms it is not trivial to provide a DCP certificate for the above due to non-convexity of the first term.
Do you have any ideas/suggestions on how one could rewrite the problem and make it DCP compliant?