23 lines
847 B
Matlab
Executable File
23 lines
847 B
Matlab
Executable File
function [Constraints,Objective] = callsievesdp(Constraints,Objective,options)
|
|
|
|
% Export in mosek format and reduce model
|
|
[model,recovery,diagnostics,internal] = export(Constraints, Objective, sdpsettings('solver','mosek'));
|
|
y_original = recover(recovery.used_variables);
|
|
probOriginal = model.prob;
|
|
[probReduced,info] = SieveSDP(probOriginal);
|
|
|
|
% Now go back to YALMIP model and solve the problem with the solver
|
|
% specified (quick hack, will be done in purely numerical format in real
|
|
% release)
|
|
[A, b, c, K] = convert_mosek2sedumi(probReduced);
|
|
[Constraint_r, Objective_r, y_reduced] = sedumi2yalmip(A,b,c,K);
|
|
|
|
if nargin < 3
|
|
options = [];
|
|
end
|
|
optimize(Constraint_r,Objective_r,options);
|
|
|
|
% Problem: How do we go back from the variables in the reduced model to the
|
|
% variables in the original
|
|
%assign(y_original, something value(y_reduced))
|