100%(74)74 out of 74 people found this document helpful
This preview shows page 34 - 36 out of 632 pages.
Alternatively, we can rewrite the constraint as(x + y)^4 <= x - y(c) 1/xisn’t convex, unless you restrict the domain toR++. We can write this one asinv_pos(x) + inv_pos(y)Theinv_posfunction has domainR++so the constraintsx >0,y >0 are (implicitly) in-cluded.(d) The problem is thatnorm()can only accept affine argument since it is convex but not increas-ing. One way to correct this is to introduce new variablesuandv:norm([u, v]) <= 3*x + ymax(x,1) <= umax(y,2) <= vDecomposing the objective by introducing new variables works here becausenormis convexand monotonic overR2+, and in particular over [1,∞)×[2,∞).(e)xyisn’t concave, so this isn’t going to work as stated. But we can express the constraint asx >= inv_pos(y). (You can switch aroundxandyhere.) Another solution is to write theconstraint asgeo_mean([x, y]) >= 1. We can also give an LMI representation:[x 1; 1 y] == semidefinite(2)(f) This fails when we attempt to divide a convex function by a concave one. We can write thisasquad_over_lin(x + y, sqrt(y)) <= x - y + 5This works becausequad_over_linis monotone decreasing in the second argument, so it canaccept a concave function here, andsqrtis concave.(g) The functionx3+y3is convex forx≥0,y≥0. Butx3isn’t convex forx <0, so CVX isgoing to reject this statement. One way to rewrite this constraint isquad_pos_over_lin(square(x),x) + quad_pos_over_lin(square(y),y) <= 1This works becausequad_pos_over_linis convex and increasing in its first argument, henceaccepts a convex function in its first argument.(The functionquad_over_lin, however, isnot increasing in its first argument, and so won’t work.)Alternatively, and more simply, we can rewrite the constraint aspow_pos(x,3) + pow_pos(y,3) <= 1(h) The problem here is thatxyisn’t concave, which causes CVX to reject the statement.Tocorrect this, notice thatqxy-z2=qy(x-z2/y),so we can reformulate the constraint asx + z <= 1 + geo_mean([x - quad_over_lin(z,y), y])34
This works, sincegeo_meanis concave and nondecreasing in each argument.It thereforeaccepts a concave function in its first argument.We can check our reformulations by writing the following feasibility problem in CVX (which isobviously infeasible)cvx_beginvariables x y u v zx == 0;y == 0;(x + y)^4 <= x - y;inv_pos(x) + inv_pos(y)<= 1;norm([u; v]) <= 3*x + y;max(x,1) <= u;max(y,2) <= v;x >= inv_pos(y);x >= 0;y >= 0;quad_over_lin(x + y, sqrt(y)) <= x - y + 5;pow_pos(x,3) + pow_pos(y,3) <= 1;x+z <= 1+geo_mean([x-quad_over_lin(z,y), y])cvx_end3.4Optimal activity levels.Solve the optimal activity level problem described in exercise 4.17 inConvexOptimization, for the instance with problem dataA=12010031031121251032,cmax=100100100100100,p=3276,pdisc=2142,q=410510.