Section 4.5.4: Minimization of Peron-Frobenius norm (GP)
c_nom = [1 1]';
b_nom = [2 3 2 1]';
alpha = [1 1 1 1]'; beta = [1 1 1 1]';
s_nom = [1 1 3]';
gamma = [1 1 1]'; delta = [1 1 1]';
cvx_begin gp
variables lambda b(4) s(3) v(4) c(2)
minimize( lambda )
subject to
b'*v <= lambda*v(1);
s(1)*v(1) <= lambda*v(2);
s(2)*v(2) <= lambda*v(3);
s(3)*v(3) <= lambda*v(4);
[0.5; 0.5] <= c; c <= [2; 2];
b == b_nom.*((ones(4,1)*(c(1)/c_nom(1))).^alpha).*...
((ones(4,1)*(c(2)/c_nom(2))).^beta);
s == s_nom.*((ones(3,1)*(c(1)/c_nom(1))).^gamma).*...
((ones(3,1)*(c(2)/c_nom(2))).^delta);
cvx_end
disp(' ')
if lambda < 1
fprintf(1,'The fastest decay rate of the bacteria population is %3.2f.\n', lambda);
else
fprintf(1,'The slowest gr0wth rate of the bacteria population is %3.2f.\n', lambda);
end
disp(' ')
fprintf(1,'The concentration of chemical 1 achieving this result is %3.2f.\n', c(1));
fprintf(1,'The concentration of chemical 2 achieving this result is %3.2f.\n', c(2));
disp(' ')
A = zeros(4,4);
A(1,:) = b';
A(2,1) = s(1);
A(3,2) = s(2);
A(4,3) = s(3);
disp('Eigenvalues of matrix A are: ')
eigA = eig(A)
Calling SeDuMi: 165 variables (6 free), 103 equality constraints
------------------------------------------------------------------------
SeDuMi 1.1 by AdvOL, 2005 and Jos F. Sturm, 1998, 2001-2003.
Alg = 2: xz-corrector, Adaptive Step-Differentiation, theta = 0.250, beta = 0.500
Split 6 free variables
eqs m = 103, order n = 60, dim = 284, blocks = 5
nnz(A) = 305 + 0, nnz(ADA) = 2373, nnz(L) = 1252
it : b*y gap delta rate t/tP* t/tD* feas cg cg prec
0 : 7.81E-001 0.000
1 : -2.32E+000 2.64E-001 0.000 0.3378 0.9000 0.9000 1.75 1 1 2.7E+000
2 : 5.98E-001 8.41E-002 0.000 0.3188 0.9000 0.9000 2.58 1 1 4.3E-001
3 : -1.43E-001 2.24E-002 0.000 0.2661 0.9000 0.9000 1.31 1 1 3.8E-001
4 : -1.86E-001 8.18E-003 0.000 0.3658 0.9000 0.9000 1.15 1 1 1.1E-001
5 : -1.89E-001 3.38E-003 0.000 0.4128 0.9000 0.9000 1.10 1 1 4.4E-002
6 : -2.09E-001 7.95E-004 0.000 0.2355 0.9000 0.9000 1.11 1 1 9.1E-003
7 : -2.16E-001 1.73E-004 0.000 0.2173 0.9000 0.9000 1.09 1 1 1.9E-003
8 : -2.18E-001 9.83E-006 0.000 0.0569 0.9900 0.9900 1.04 1 1 1.0E-004
9 : -2.18E-001 8.02E-008 0.000 0.0082 0.9901 0.9900 1.00 1 1 1.0E-006
10 : -2.18E-001 6.75E-010 0.302 0.0084 0.9900 0.9413 1.00 2 3 4.4E-008
11 : -2.18E-001 2.43E-011 0.000 0.0360 0.9902 0.9900 1.01 5 5 1.5E-009
iter seconds digits c*x b*y
11 0.3 Inf -2.1807011411e-001 -2.1807010471e-001
|Ax-b| = 1.0e-008, [Ay-c]_+ = 6.6E-010, |x|= 2.8e+001, |y|= 4.7e+000
Detailed timing (sec)
Pre IPM Post
1.001E-002 3.305E-001 1.001E-002
Max-norms: ||b||=1.479659e+001, ||c|| = 1,
Cholesky |add|=0, |skip| = 0, ||L.L|| = 141.66.
------------------------------------------------------------------------
Status: Solved
Optimal value (cvx_optval): +0.804069
The fastest decay rate of the bacteria population is 0.80.
The concentration of chemical 1 achieving this result is 0.50.
The concentration of chemical 2 achieving this result is 0.50.
Eigenvalues of matrix A are:
eigA =
0.8041
-0.2841
-0.0100 + 0.2263i
-0.0100 - 0.2263i