I am trying to solve the following optimisation problem in MATLAB CVX. I think it is Convex but I can’t think of a way to implement it.
min {x_i} -{\sum_{i=1}^{N} \log(1+h_i x_i)} - \frac{K}{\sum_{i=1}^{N}x_i^{-1}}
s.t. \sum_{i=1}^{N} x_i =< P
x_i>0, for all i in {1,…,N}
So far I had implemented the above expression in terms of diagonal matrices where the second term of the obj. function was represented with the harmonic mean function as follows:
K = constant;
A_diag is positive-real diagonal matrix
cvx_begin
variable x_diag(N,1)
min {x_diag} -log_det (I_N + A_diag diag(x_diag)) - K*harm_mean(x_diag)
s.t. \sum x_diag =< P
x_diag > 0, for all i in {1,…,N}
cvx_end
The two terms in the above implementation seem disjoint. Any suggestions on implementing this in the first format?