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

大規模最適化問題、グラフ探索、機械学習やデジタルツインなどの研究のお話が中心

SDPA(SDPARA)での途中の実行中断と再開

2012年01月11日 02時06分38秒 | Weblog
まず普通に SDPARA を実行して問題を解いてみる。全部で 38 反復で pdOPT で終了する。

SDPA start at [Wed Jan 11 01:47:53 2012]
set is DEFAULT
data is /home/fujisawa/data/QAP/DATS2/nug12_r2.dat-s : sparse
out is out1
NumNodes is set as 16
NumThreads is set as 12
Schur computation : DENSE
mu thetaP thetaD objP objD alphaP alphaD beta
0 1.0e+04 1.0e+00 1.0e+00 +0.00e+00 +0.00e+00 2.6e-02 4.9e-02 2.00e-01
1 9.8e+03 9.7e-01 9.5e-01 +3.51e+02 -1.53e+03 2.8e-01 6.1e-01 2.00e-01
2 8.6e+03 7.0e-01 3.7e-01 +5.06e+02 -8.40e+03 7.2e-01 1.0e+00 2.00e-01
3 3.4e+03 2.0e-01 4.6e-14 +3.83e+02 -1.44e+04 7.9e-01 7.9e-01 2.00e-01
4 9.6e+02 4.2e-02 3.6e-13 +1.23e+02 -1.81e+04 7.8e-01 7.8e-01 2.00e-01
5 2.8e+02 9.3e-03 6.2e-13 +3.20e+01 -2.28e+04 7.4e-01 7.4e-01 2.00e-01
6 9.4e+01 2.4e-03 1.2e-12 +9.70e+00 -2.80e+04 6.8e-01 6.8e-01 2.00e-01
7 3.9e+01 7.6e-04 2.7e-12 +4.07e+00 -3.16e+04 5.4e-01 2.4e-01 2.00e-01
8 2.0e+01 3.5e-04 2.9e-12 +2.58e+00 -3.20e+04 7.2e-01 7.5e-01 2.00e-01
9 8.2e+00 9.7e-05 3.9e-12 +1.52e+00 -3.20e+04 6.9e-01 4.1e-01 2.00e-01
10 3.9e+00 3.0e-05 2.4e-12 +1.26e+00 -2.70e+04 4.9e-01 3.4e-01 2.00e-01
11 2.5e+00 1.5e-05 1.4e-12 +1.20e+00 -2.07e+04 4.2e-01 5.5e-01 2.00e-01
12 1.5e+00 9.0e-06 3.3e-12 +1.17e+00 -1.20e+04 6.8e-01 4.9e-01 2.00e-01
13 7.8e-01 2.8e-06 5.6e-12 +1.13e+00 -7.47e+03 7.7e-01 7.8e-01 2.00e-01
14 2.8e-01 6.7e-07 1.8e-12 +1.12e+00 -2.75e+03 8.1e-01 8.6e-01 2.00e-01
15 8.1e-02 1.2e-07 3.8e-12 +1.12e+00 -8.06e+02 8.3e-01 9.0e-01 2.00e-01
16 2.1e-02 2.1e-08 1.5e-11 +1.12e+00 -2.12e+02 8.8e-01 9.2e-01 2.00e-01
17 5.0e-03 2.6e-09 1.1e-10 +1.12e+00 -5.02e+01 9.0e-01 9.6e-01 2.00e-01
18 9.9e-04 2.7e-10 3.7e-09 +1.11e+00 -9.30e+00 2.4e+00 9.0e-01 2.00e-01
19 2.8e-04 2.7e-10 3.5e-07 +1.02e+00 -1.56e+00 6.9e-01 8.8e-01 2.00e-01
20 8.2e-05 2.7e-10 3.0e-07 +9.68e-01 +2.20e-01 2.7e-01 5.1e-01 2.00e-01
21 5.1e-05 2.7e-10 1.5e-07 +9.40e-01 +4.72e-01 3.0e-01 4.7e-01 2.00e-01
22 3.4e-05 2.7e-10 8.7e-08 +9.07e-01 +5.96e-01 3.2e-01 4.2e-01 2.00e-01
23 2.3e-05 2.7e-10 8.1e-08 +8.75e-01 +6.59e-01 3.2e-01 4.4e-01 2.00e-01
24 1.6e-05 2.7e-10 7.0e-08 +8.52e-01 +7.06e-01 3.3e-01 4.2e-01 2.00e-01
25 1.1e-05 2.7e-10 3.7e-08 +8.34e-01 +7.33e-01 3.8e-01 3.8e-01 2.00e-01
26 7.5e-06 2.7e-10 3.7e-08 +8.19e-01 +7.49e-01 4.1e-01 4.2e-01 2.00e-01
27 5.0e-06 2.7e-10 3.1e-08 +8.07e-01 +7.61e-01 4.5e-01 4.0e-01 2.00e-01
28 3.3e-06 2.7e-10 1.8e-08 +7.99e-01 +7.68e-01 4.8e-01 5.0e-01 2.00e-01
29 2.0e-06 2.7e-10 9.2e-09 +7.93e-01 +7.75e-01 6.0e-01 4.6e-01 2.00e-01
30 1.2e-06 2.7e-10 5.6e-09 +7.89e-01 +7.78e-01 5.9e-01 4.9e-01 2.00e-01
31 7.0e-07 2.7e-10 3.0e-09 +7.87e-01 +7.81e-01 6.4e-01 5.0e-01 2.00e-01
32 4.0e-07 2.7e-10 2.0e-09 +7.86e-01 +7.82e-01 6.7e-01 4.7e-01 2.00e-01
33 2.3e-07 2.7e-10 1.2e-09 +7.85e-01 +7.83e-01 6.6e-01 5.3e-01 2.00e-01
34 1.3e-07 2.7e-10 4.8e-10 +7.85e-01 +7.84e-01 5.4e-01 5.0e-01 1.00e-01
35 7.0e-08 2.7e-10 2.8e-10 +7.85e-01 +7.84e-01 6.3e-01 4.5e-01 1.00e-01
36 3.9e-08 2.7e-10 2.1e-10 +7.84e-01 +7.84e-01 6.8e-01 6.9e-01 1.00e-01
37 1.5e-08 2.7e-10 2.7e-10 +7.84e-01 +7.84e-01 5.4e-01 5.1e-01 1.00e-01
38 7.9e-09 2.7e-10 2.0e-10 +7.84e-01 +7.84e-01 5.4e-01 5.1e-01 1.00e-01

phase.value = pdOPT
Iteration = 38
mu = +7.9432643824223709e-09
relative gap = +2.4424906541753444e-15
gap = -2.4424906541753444e-15
digits = +1.4506706825556991e+01
objValPrimal = +7.8440388538101513e-01
objValDual = +7.8440388538101757e-01
p.feas.error = +2.7034319801463384e-08
d.feas.error = +1.9844218601683394e-08
total time = 27.831870
main loop time = 27.681730
total time = 27.831870
file check time = 0.000000
file change time = 0.000120
file read time = 0.150020
SDPA end at [Wed Jan 11 01:48:22 2012]
ALL TIME = 28.915092

次にパラメータファイルを変更して以下のように 10 反復でいったん終了させる。

10 unsigned int maxIteration;
1.0E-7 double 0.0 < epsilonStar;
1.0E2 double 0.0 < lambdaStar;
2.0 double 1.0 < omegaStar;
-1.0E20 double lowerBound;
1.0E20 double upperBound;
0.1 double 0.0 <= betaStar < 1.0;
0.2 double 0.0 <= betaBar < 1.0, betaStar <= betaBar;
0.9 double 0.0 < gammaStar < 1.0;
1.0E-7 double 0.0 < epsilonDash;
%+100.50e char* xPrint (default %+8.3e, NOPRINT skips printout)
%+100.50e char* XPrint (default %+8.3e, NOPRINT skips printout)
%+100.50e char* YPrint (default %+8.3e, NOPRINT skips printout)
%+10.16e char* infPrint (default %+10.16e, NOPRINT skips printout)


SDPA start at [Wed Jan 11 01:51:02 2012]
param is ./param.sdpa.1
data is /home/fujisawa/data/QAP/DATS2/nug12_r2.dat-s : sparse
out is out.nug12_r2
NumNodes is set as 16
NumThreads is set as 12
Schur computation : DENSE
mu thetaP thetaD objP objD alphaP alphaD beta
0 1.0e+04 1.0e+00 1.0e+00 +0.00e+00 +0.00e+00 2.6e-02 4.9e-02 2.00e-01
1 9.8e+03 9.7e-01 9.5e-01 +3.51e+02 -1.53e+03 2.8e-01 6.1e-01 2.00e-01
2 8.6e+03 7.0e-01 3.7e-01 +5.06e+02 -8.40e+03 7.2e-01 1.0e+00 2.00e-01
3 3.4e+03 2.0e-01 4.6e-14 +3.83e+02 -1.44e+04 7.9e-01 7.9e-01 2.00e-01
4 9.6e+02 4.2e-02 3.6e-13 +1.23e+02 -1.81e+04 7.8e-01 7.8e-01 2.00e-01
5 2.8e+02 9.3e-03 6.2e-13 +3.20e+01 -2.28e+04 7.4e-01 7.4e-01 2.00e-01
6 9.4e+01 2.4e-03 1.2e-12 +9.70e+00 -2.80e+04 6.8e-01 6.8e-01 2.00e-01
7 3.9e+01 7.6e-04 2.7e-12 +4.07e+00 -3.16e+04 5.4e-01 2.4e-01 2.00e-01
8 2.0e+01 3.5e-04 2.9e-12 +2.58e+00 -3.20e+04 7.2e-01 7.5e-01 2.00e-01
9 8.2e+00 9.7e-05 3.9e-12 +1.52e+00 -3.20e+04 6.9e-01 4.1e-01 2.00e-01
10 3.9e+00 3.0e-05 2.4e-12 +1.26e+00 -2.70e+04 6.9e-01 4.1e-01 2.00e-01

phase.value = dFEAS
Iteration = 10
mu = +3.8953688310808947e+00
relative gap = +2.0000000000000000e+00
gap = +2.6977491072986457e+04
digits = -3.0102999566398120e-01
objValPrimal = +1.2604629416889095e+00
objValDual = -2.6976230610044768e+04
p.feas.error = +3.0251962350217824e-03
d.feas.error = +2.3544544092146680e-10
total time = 7.623765
main loop time = 7.475629
total time = 7.623765
file check time = 0.000000
file change time = 0.000128
file read time = 0.148008
SDPA end at [Wed Jan 11 01:51:11 2012]
ALL TIME = 8.810443

出力ファイル out.nug12_r2 の後半の変数行列とベクトルの部分だけを次の実行の初期点として再利用する。2回目の実行は 28 反復なので、結局合計の反復数は 38 で一緒になる。このように実行を行っていくと全体の反復の実行を二回に分けて実行したり、1反復ずつ実行したり、あるいは実行毎に計算資源の量を変更することも可能である。

SDPA start at [Wed Jan 11 01:58:27 2012]
set is DEFAULT
data is /home/fujisawa/data/QAP/DATS2/nug12_r2.dat-s : sparse
init is out11 : dense
out is out.nug12_r2
NumNodes is set as 16
NumThreads is set as 12
Schur computation : DENSE
mu thetaP thetaD objP objD alphaP alphaD beta
0 3.9e+00 1.0e+00 0.0e+00 +1.26e+00 -2.70e+04 4.9e-01 3.4e-01 2.00e-01
1 2.5e+00 5.1e-01 0.0e+00 +1.20e+00 -2.07e+04 4.2e-01 5.5e-01 2.00e-01
2 1.5e+00 3.0e-01 0.0e+00 +1.17e+00 -1.20e+04 6.8e-01 4.9e-01 2.00e-01
3 7.8e-01 9.5e-02 0.0e+00 +1.13e+00 -7.47e+03 7.7e-01 7.8e-01 2.00e-01
4 2.8e-01 2.2e-02 0.0e+00 +1.12e+00 -2.75e+03 8.1e-01 8.6e-01 2.00e-01
5 8.1e-02 4.2e-03 0.0e+00 +1.12e+00 -8.06e+02 8.3e-01 9.0e-01 2.00e-01
6 2.1e-02 7.1e-04 0.0e+00 +1.12e+00 -2.12e+02 8.8e-01 9.2e-01 2.00e-01
7 5.0e-03 8.8e-05 0.0e+00 +1.12e+00 -5.02e+01 9.0e-01 9.6e-01 2.00e-01
8 9.9e-04 8.9e-06 0.0e+00 +1.11e+00 -9.30e+00 2.4e+00 9.0e-01 2.00e-01
9 2.8e-04 8.9e-06 0.0e+00 +1.02e+00 -1.56e+00 6.9e-01 8.8e-01 2.00e-01
10 8.2e-05 8.9e-06 0.0e+00 +9.68e-01 +2.20e-01 2.7e-01 5.1e-01 2.00e-01
11 5.1e-05 8.9e-06 0.0e+00 +9.40e-01 +4.72e-01 3.0e-01 4.7e-01 2.00e-01
12 3.4e-05 8.9e-06 0.0e+00 +9.07e-01 +5.96e-01 3.2e-01 4.2e-01 2.00e-01
13 2.3e-05 8.9e-06 0.0e+00 +8.75e-01 +6.59e-01 3.2e-01 4.4e-01 2.00e-01
14 1.6e-05 8.9e-06 0.0e+00 +8.52e-01 +7.06e-01 3.3e-01 4.2e-01 2.00e-01
15 1.1e-05 8.9e-06 0.0e+00 +8.34e-01 +7.33e-01 3.8e-01 3.8e-01 2.00e-01
16 7.5e-06 8.9e-06 0.0e+00 +8.19e-01 +7.49e-01 4.1e-01 4.2e-01 2.00e-01
17 5.0e-06 8.9e-06 0.0e+00 +8.07e-01 +7.61e-01 4.5e-01 4.0e-01 2.00e-01
18 3.3e-06 8.9e-06 0.0e+00 +7.99e-01 +7.68e-01 4.8e-01 5.0e-01 2.00e-01
19 2.0e-06 8.9e-06 0.0e+00 +7.93e-01 +7.75e-01 6.0e-01 4.6e-01 2.00e-01
20 1.2e-06 8.9e-06 0.0e+00 +7.89e-01 +7.78e-01 5.9e-01 4.9e-01 2.00e-01
21 7.0e-07 8.9e-06 0.0e+00 +7.87e-01 +7.81e-01 6.4e-01 5.0e-01 2.00e-01
22 4.0e-07 8.9e-06 0.0e+00 +7.86e-01 +7.82e-01 6.7e-01 4.7e-01 2.00e-01
23 2.3e-07 8.9e-06 0.0e+00 +7.85e-01 +7.83e-01 6.6e-01 5.3e-01 2.00e-01
24 1.3e-07 8.9e-06 0.0e+00 +7.85e-01 +7.84e-01 5.4e-01 5.0e-01 1.00e-01
25 7.0e-08 8.9e-06 0.0e+00 +7.85e-01 +7.84e-01 6.3e-01 4.5e-01 1.00e-01
26 3.9e-08 8.9e-06 0.0e+00 +7.84e-01 +7.84e-01 6.8e-01 6.9e-01 1.00e-01
27 1.5e-08 8.9e-06 0.0e+00 +7.84e-01 +7.84e-01 5.4e-01 5.1e-01 1.00e-01
28 7.9e-09 8.9e-06 0.0e+00 +7.84e-01 +7.84e-01 5.4e-01 5.1e-01 1.00e-01

phase.value = pdOPT
Iteration = 28
mu = +7.9432643824223709e-09
relative gap = +2.4424906541753444e-15
gap = -2.4424906541753444e-15
digits = +1.4506706825556991e+01
objValPrimal = +7.8440388538101513e-01
objValDual = +7.8440388538101757e-01
p.feas.error = +2.7034319801463384e-08
d.feas.error = +1.9844218601683394e-08
total time = 20.901938
main loop time = 20.681880
total time = 20.901938
file check time = 0.000000
file change time = 0.000289
file read time = 0.219769
SDPA end at [Wed Jan 11 01:58:49 2012]
ALL TIME = 21.748369
コメント    この記事についてブログを書く
  • X
  • Facebookでシェアする
  • はてなブックマークに追加する
  • LINEでシェアする
« SDP Handbook と応用 | トップ | CREST研究員&研究補助員募集中 »
最新の画像もっと見る

コメントを投稿

ブログ作成者から承認されるまでコメントは反映されません。

Weblog」カテゴリの最新記事