Expressing the objective funtion with vectors


(Vannel) #1

Hello:

My objective function is |a|^2*y/x, where a ,x, y are all variables, but a is a vector with two elements.

It can be proven to be convex. But I’m having trouble with expressing it in CVX. Can anyone help me?

Thanks a lot.


(Mark L. Stone) #2

If there is a constraint x > 0, you can handle this using Linear-fractional programming in section 4.3.2 of “Convex Optimization”, by Boyd and Vandenberghe http://web.stanford.edu/~boyd/cvxbook/

If there is not a constraint that x > 0, the objective is non-convex. Because you have not stated that there is a constraint x > 0, I will mark this as non-convex, unless you tell us that x > 0 is a constraint.


(Vannel) #3

Yes, there is a constraint x>0.
My code is:
minimize ((quad_over_lin(a,x))*y)

But CVX in the matlab doesnot regard this as convex. Can you give me some suggestions on writting code?
Thanks a lot.


(Mark L. Stone) #4

In my previous post, I advised (given the constraint x > 0), that you can handle your problem using the approach in section 4.3.2 of “Convex Optimization”, by Boyd and Vandenberghe ,as linked above.