readsdpt3.m
来自「半定规划」· M 代码 · 共 44 行
M
44 行
%%*******************************************************************%% Convert problem from SDPT3 format to DSDP format%%%% [AC,b] = readsdpt3(blk,A,C,b)%%%% Input: blk, A, C, b = data in SDPT3 format.%%%% %% DSDP: version 5.0%% Copyright (c) 2004 by%% S. Benson Y. Ye%% Last modified: 2 Jan 04%%******************************************************************function [AC,b]=readsdpt3(blk,A,C,b)AC=blk;[p,m]=size(blk);for bb=1:p conetype=blk{bb,1}; if conetype=='s', [pp,mm]=size(A{bb}); scl=ones(pp,1)/sqrt(2.0); dim=blk{bb,2}; k=0;na=0; cc=sparse([]); for blki=1:length(dim) n=dim(blki); nb=na+n; for j=1:n, k=k+j; scl(k)=1.0; end; cc=[cc;dvec(C{bb}(na+1:nb,na+1:nb))]; na=nb; end; scl=spdiags(scl,0,k,k); AC{bb,3}=[scl*A{bb} cc]; AC{bb,1}='SDP'; elseif conetype=='l', AC{bb,3}=[A{bb} C{bb} ]; AC{bb,1}='LP'; elseif conetype=='q', error("Cannot do SOCP Constraints"); endend;
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?