# Difficulties trying to solve a convex program

KE1 is a set and I want to minimize an objective function affecting the elements of this particular set. The function I want to minimize is convex and the constraints are just linear functions. The cvx program I use is:

cvx_begin
variable x(length(KE1))
minimize( sum(zeta(KE1) .* (Overline_El(KE1)-Overline_Ee(KE1)) .* (1-Dmax * x./(alpha * S(KE1)+x .* (Overline_Du(KE1)+Overline_Dd(KE1))))) )
subject to
sum(x) <= fe_KE1;
x >= fe_min(KE1);
x <= fe_max(KE1);
cvx_end

The CVX package provides the error message:

Error using .*
Disciplined convex programming error:
Cannot perform the operation: {real affine} ./ {real affine}

Could you help me in solving this problem?

The objective function is not convex. This is a linear fractional problem, which can be solved in CVX per reformulation in section 4.3.2 Linear-fractional programming of Convex Optimization – Boyd and Vandenberghe if the denominator in the objective function is always of a known sign (always positive, or always negative).

If the denominator is not always of known sign, I am not aware of any reformulation allowing CVX to b e used.

Hi again, Mark. After reading the suggested section, I do agree with you that the minimization of a ratio of affine functions can be reformulated as a linear program. In my case, however, I have a summation of ratios of affine functions and I’m not sure this can be reformulated in the same way.

Any comments on this would be much appreciated.

Best regards

Thank you very much for your reply, Mark. I’ll take a look at the section on linear-fractional programming. In any case, I forgot to specify that the constants fe_KE1, fe_min(KE1), fe_max(KE1), zeta(KE1) .* (Overline_El(KE1)-Overline_Ee(KE1)), Dmax, alpha * S(KE1), and (Overline_Du(KE1)+Overline_Dd(KE1)), are all positive. In this case, the second derivative of the objective function is nonnegative in its entire domain and, hence, I assume that it is convex.

Again, thank you very much for your help. I’ll get back to you in case I’ve any other doubts after reading the suggested section.

Best regards

Read the comments and answers at nonlinear programming - Solving maximization problem with linear-fractional sum - Operations Research Stack Exchange .

Thank you very much, Mark. I’ll take a look at it.

Best regards