大規模最適化問題、グラフ探索、機械学習やデジタルツインなど

旧名:最適化問題に対する超高速&安定計算

MATLAB の自動実行

SeDuMi の自動実行用のファイルを作ってみた。あとは matlab -r autoSedumi とするだけで良い。

1: install_sedumi2 では fromsdpa 関数への path を通している
2: ./data/bench 以下に実行ファイル(*.dat-s)がある
3: pars.errors=1 で DIMACS errors を書き込む
4: tic, toc で実行時間(実時間)も書き込む

function autoSedumi
install_sedumi2;
pars.errors=1;

files = dir('./data/bench/*.dat-s');

for file_index = 1:length(files)

tic;
file_name = sprintf('./data/bench/%s', files(file_index).name);
result_name = sprintf('%s.result',file_name);
pars.fid = fopen(result_name,'w');
fprintf('Reading %sn',file_name);
[At,b,c,K] = fromsdpa(file_name);
fprintf('Solving %sn',file_name);
[x,y,info] = sedumi(At,b,c,K,pars);
t = toc;
fprintf(pars.fid, 'Execution time (real) = %fn', t);

end