Dynamic-Calibration/utils/YALMIP-master/solvers/yalmip2osqp.m

25 lines
615 B
Mathematica
Raw Permalink Normal View History

2019-12-18 11:25:45 +00:00
function model = yalmip2osqp(interfacedata);
% Construct equalities and inequalities
K = interfacedata.K;
F_struc = interfacedata.F_struc;
if ~isempty(F_struc)
Aeq = -F_struc(1:1:K.f,2:end);
beq = F_struc(1:1:K.f,1);
A =-F_struc(K.f+1:end,2:end);
b = F_struc(K.f+1:end,1);
else
A = [];
b = [];
Aeq = [];
beq = [];
end
model.options = interfacedata.options.osqp;
model.P = 2*interfacedata.Q;
model.q = interfacedata.c;
eye_n = speye(length(model.q));
model.A = [Aeq; A; eye_n];
model.l = full([beq; -inf(length(b),1); interfacedata.lb]);
model.u = full([beq; b; interfacedata.ub]);