CVX has a log_sum_exp function

help log_sum_exp

log_sum_exp log(sum(exp(x))).

log_sum_exp(X) = LOG(SUM(EXP(X)).

```
When used in a CVX model, log_sum_exp(X) causes CVX's successive
approximation method to be invoked, producing results exact to within
the tolerance of the solver. This is in contrast to LOGSUMEXP_SDP,
which uses a single SDP-representable global approximation.
If X is a matrix, LOGSUMEXP_SDP(X) will perform its computations
along each column of X. If X is an N-D array, LOGSUMEXP_SDP(X)
will perform its computations along the first dimension of size
other than 1. LOGSUMEXP_SDP(X,DIM) will perform its computations
along dimension DIM.
Disciplined convex programming information:
log_sum_exp(X) is convex and nondecreasing in X; therefore, X
must be convex (or affine).
Overloaded methods:
cvx/log_sum_exp
```

So your difficulty will be dealing with the 2nd term of LHS. The proof provided for convexity of that term doesn’t immediately suggest to me a formulation which could be entered into CVX.

Perhaps one of the smarter forum readers will come along and suggest a formulation which couldl work, presuming that such a formulation exists (but you might have to wait a few days, since some of the cleverest readers don;t visit the forum every day)… Note that not all convex models can be entered into CVX, but an awful lot can, if the modeler is clever enough.