Dynamic-Calibration/utils/YALMIP-master/modules/global/presolve_bounds_from_modelb...

22 lines
699 B
Mathematica
Raw Permalink Normal View History

2019-12-18 11:25:45 +00:00
function model = presolve_bounds_from_modelbounds(model,remove);
if ~isempty(model.F_struc)
[L,U,cand_rows_eq,cand_rows_lp] = findulb(model.F_struc,model.K);
model.lb = max([model.lb L],[],2);
model.ub = min([model.ub U],[],2);
model.equalitypresolved = 1;
if nargin > 1
if remove
if ~isempty(cand_rows_lp)
model.F_struc(model.K.f + cand_rows_lp,:) = [];
model.K.l = model.K.l - length(cand_rows_lp);
end
if ~isempty(cand_rows_eq)
model.F_struc(cand_rows_eq,:) = [];
model.K.f = model.K.f - length(cand_rows_eq);
end
end
end
end