Detecting a small subset of infeasible linear inequalities
m = 150;
n = 10;
seed = 0;
randn('state',seed);
A = randn(m,n);
b = randn(m,1);
fprintf(1, ['Starting with an infeasible set of %d inequalities ' ...
'in %d variables.\n'],m,n);
cvx_begin
variables lambda(m)
minimize( sum( lambda ) )
subject to
A'*lambda == 0;
b'*lambda == -1;
lambda >= 0;
cvx_end
infeas_set = find( lambda > 0 );
disp(' ');
fprintf(1,'Found a smaller set of %d mutually inconsistent inequalities.\n',...
length(infeas_set));
disp(' ');
disp('A smaller set of mutually inconsistent inequalities are the ones');
disp('with row indices:'), infeas_set'
Starting with an infeasible set of 150 inequalities in 10 variables.
Calling SeDuMi: 150 variables (0 free), 11 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
eqs m = 11, order n = 151, dim = 151, blocks = 1
nnz(A) = 1650 + 0, nnz(ADA) = 121, nnz(L) = 66
it : b*y gap delta rate t/tP* t/tD* feas cg cg prec
0 : 2.27E+002 0.000
1 : 1.27E-002 7.71E+000 0.000 0.0339 0.9900 0.9900 2.93 1 1 1.7E+000
2 : 4.31E-001 2.34E+000 0.000 0.3028 0.9000 0.9000 0.88 1 1 8.0E-001
3 : 5.11E-001 1.16E+000 0.000 0.4971 0.9000 0.9000 0.88 1 1 5.3E-001
4 : 5.53E-001 4.79E-001 0.000 0.4126 0.9000 0.9000 0.95 1 1 2.9E-001
5 : 5.86E-001 1.85E-001 0.000 0.3860 0.9000 0.9000 0.95 1 1 1.4E-001
6 : 5.96E-001 7.30E-002 0.000 0.3946 0.9000 0.9125 0.99 1 1 6.2E-002
7 : 5.99E-001 2.74E-002 0.000 0.3748 0.9000 0.9202 1.00 1 1 2.6E-002
8 : 6.01E-001 7.80E-003 0.000 0.2850 0.9105 0.9000 1.00 1 1 7.4E-003
9 : 6.01E-001 4.39E-004 0.000 0.0563 0.9902 0.9900 1.00 1 1 4.2E-004
10 : 6.01E-001 5.09E-007 0.000 0.0012 0.9990 0.9990 1.00 1 1
iter seconds digits c*x b*y
10 0.1 Inf 6.0131198034e-001 6.0131198034e-001
|Ax-b| = 2.8e-016, [Ay-c]_+ = 2.7E-016, |x|= 2.8e-001, |y|= 8.1e-001
Detailed timing (sec)
Pre IPM Post
0.000E+000 5.007E-002 0.000E+000
Max-norms: ||b||=1, ||c|| = 1,
Cholesky |add|=0, |skip| = 0, ||L.L|| = 9.91492.
------------------------------------------------------------------------
Status: Solved
Optimal value (cvx_optval): +0.601312
Found a smaller set of 11 mutually inconsistent inequalities.
A smaller set of mutually inconsistent inequalities are the ones
with row indices:
ans =
1 22 33 54 59 73 79 94 115 136 149