Dynamic-Calibration/utils/YALMIP-master/extras/@optimizer/presolve.m

24 lines
620 B
Matlab
Executable File

function p = presolve(p)
model = p.model;
p.model.Q = p.model.Q*0;
p.model.F_struc(1:p.dimin(1),:)=[];
p.model.K.f = p.model.K.f-p.dimin(1);
redundant = sparse(zeros(p.model.K.l,1));
for i = 1:p.model.K.l
b = p.model.F_struc(p.model.K.f+i,1);
p.model.F_struc(p.model.K.f+i,1) = b+1;
p.model.c = p.model.F_struc(p.model.K.f+i,2:end)';
eval(['output = ' p.model.solver.call '(p.model);']);
if output.problem == 0
if p.model.c'*output.Primal > -b
redundant(i) = 1
end
end
p.model.F_struc(p.model.K.f+i,1) = b;
end
p.model.c = c;
p.model.Q = c;