constraints = [];
objective = 0;
for i=1:N
% calculate objective
objective = objective + epsX{i}'*SC*epsX{i}; % if lots of "infeas. or unbound" message reduce SC!!!
% set up constraints:
% - state update equations
constraints = [constraints, x{i+1} == x{i} + 3600*1e-6*q_temp{i}];
constraints = [constraints, implies(d{i}, q_temp{i} == -10*(x{i}-25)), implies(false(d{i}), q_temp{i} == 0)];
constraints = [constraints, -1e5 <= q_temp{i} <= 1e5];
% - soft constraints on states 1:5, hard constr. on states 6:8
constraints = [constraints, -epsX{i}+24 <= x{i} <= 21+epsX{i}];
% constraints = [constraints, -10+xRoomNomH <= x{i} <= xRoomNomC+10]; % hard constraints version
constraints = [constraints, epsX{i} >= 0];
end
.
-epsX{i}+21 <= x{i} <= 24+epsX{i}
. constraints = [constraints, -epsX{i}+21 <= x{i} <= 24+epsX{i}];
constraints = [constraints, 0 <= x{i} <= 50];