# Is there a CVX formulation for x+1/y?

I am trying to maximize x+1/y (x \in [0,1] and y\in [1, 6]. Is there a simple formulation to handle this expression?

I also analyzed the Dinkelbach formulation and arrived to an equivalent problem: max xy+1-2ry where r is a convenient parameter updated externally. I tried various manipulations such as (x-2r)y+1 and then use the geometric term for the former term. However, x>2r, and this might not happen. If anybody has ideas I will be glad to consider them.
Cheers

x + inv_pos(y) is convex, so can be minimized in CVX, but not maximized.

As to Dinkelbach formulations?

I presume there are other unstated constraints; otherwise, the optimal solution is trivial by inspection (x at upper bound, y at lower bound).

Dear both,
Thank you.
Indeed that is the simple version. In the “real” problem the decision variable is a SD positive matrix (M), x is the maximizer of a concave function of M, say det_rootn(M), and y is the minimizer of a convex function, say trace_inv(M). The goal is finding M that maximizes the combination of both. Graphically, I have evidences that 1/trace_inv(M) is concave, so is the sum of det_rootn(M)+1/trace_inv(M). However, I must say I was not able to prove the generalized concavity of 1/trace_inv(M).
Am I asking too much from CVX? Do you see a way to circumvent the problem? I must say I tried to generate a new function called sym_trace_inv to represent 1/ trace_inv(M) from trace_inv(M) but without success.

If 1/trace_inv(psd matrix) is concave, maybe it’s similar in some sense to harmonic mean.Section 3.2.7 of Mosek Modeling Cookbook

Thank you. That’s a nice idea to exploit. The problem could be finding all the eigenvalues of M (say the vector D below) within the function:

maximize( 2*z1-sum(quad_over_lin( repmat(z1, 1, n), real( D’ ), 0) ) );

In case you know a strategy let me know.

Perhaps one of the Mosek conic reformulation wizards will weigh in tomorrow. Otherwise, you’re probably out of luck.