Section 11.8.4: Network rate optimization
rand('state',1)
L = 20;
n = 10;
k = 7;
A = double(rand(L,n) <= k/L);
c = 0.9*rand(L,1)+0.1;
cvx_begin
variable x(n);
maximize(sum(log(x)))
subject to
A*x <= c
cvx_end
primal_obj = cvx_optval;
cvx_begin
variable lambda(L);
minimize(c'*lambda-sum(log(A'*lambda))-n)
subject to
lambda >= 0
cvx_end
dual_obj = cvx_optval;
Successive approximation method to be employed.
SDPT3 will be called several times to refine the solution.
Original size: 50 variables, 20 equality constraints
For improved efficiency, SDPT3 is solving the dual problem.
Approximation size: 131 variables, 70 equality constraints
-----------------------------------------------------------------
Target Conic Solver
Precision Error Status
---------------------------
1.221e-04 2.561e+00 Solved
1.221e-04 9.274e-02 Solved
1.221e-04 1.195e-04 Solved
1.221e-04 0.000e+00 Solved
1.490e-08 2.606e-07 Solved
1.490e-08 0.000e+00 Solved
-----------------------------------------------------------------
Status: Solved
Optimal value (cvx_optval): -31.5685
Successive approximation method to be employed.
SDPT3 will be called several times to refine the solution.
Original size: 50 variables, 20 equality constraints
Approximation size: 131 variables, 70 equality constraints
-----------------------------------------------------------------
Target Conic Solver
Precision Error Status
---------------------------
1.221e-04 1.546e+00 Solved
1.221e-04 3.353e-02 Solved
1.221e-04 2.447e-05 Solved
1.221e-04 0.000e+00 Solved
1.490e-08 5.021e-08 Solved
1.490e-08 0.000e+00 Solved
-----------------------------------------------------------------
Status: Solved
Optimal value (cvx_optval): -31.5685