% sdpsol source exp_design -- D-optimal experiment design with 90-10
% constraint
%
% maxdet problem:
%   minimize    - log det \sum_i lambda_i*v_i*v_i^T
%   subject to  lambda > 0
%               sum(lambda) = 1
%               .9 >= floor(.1*M)*t + \sum_i x_i
%               t + x >= lambda
%               x >= 0
%
% WARNING: cannot be run using the stand-alone sdpsol from UNIX, since
%          X=[v_1,...,v_q], C=floor(.1*m) are not defined.

p = rows(X);
M = cols(X);

variable lambda(M,1), x(M,1), t;

lambda .> 0;
sum(lambda) == 1;
.9 > C*t + sum(x);
t + x .> lambda;
x .> 0;

obj_expr = zeros(p,p);
for i=1:M;
  obj_expr = obj_expr + lambda(i,1)*X(:,i)*X(:,i)';
end;

minimize obj = -logdet(obj_expr);