Dynamic-Calibration/utils/YALMIP-master/modules/parametric/mpt_detect_and_improve_boun...

18 lines
647 B
Matlab
Executable File

function [lb,ub,redundant] = detect_and_improve_bounds(Matrices,lb,ub,binary_var_index,options);
A = [ Matrices.G -Matrices.E];
b = [ Matrices.W ];
[global_lower,global_upper,bound_rows] = find_variable_bounds(A,b,[Matrices.Aeq Matrices.Beq],Matrices.beq);
global_lower(binary_var_index) = max(global_lower(binary_var_index),0);
global_upper(binary_var_index) = min(global_upper(binary_var_index),1);
if ~isempty(lb)
global_lower = max([global_lower lb],[],2);
end
if ~isempty(ub)
global_upper = min([global_upper ub],[],2);
end
[lb,ub,redundant,psstruct,infeasible] = tightenbounds(A,b,global_lower,global_upper,[],binary_var_index);