GLPKの最新バージョンは 4.25 になっている。ここ半年ぐらいで頻繁にバージョンアップを繰り返していた。このような数理計画ソフトが GNU ライセンスで使用できるのは非常に好ましい。
半年ぐらい前の GLPK 4.16 と GLPK 4.25 を比較してみる。ついでに gcc 32bit, gcc 64bit, Intel C/C++ 64bit の三つを用いてみよう。問題は MIPLIB から数十秒ぐらいで解ける問題を選ぶことにする。実行環境は CPU Intel E5345 2.33GHz; CentOS Ver.5。
1: メモリ使用量は予想通り 64bit の方が多い。コンパイラは gcc でも Intel でもメモリ使用量は同じ。
2: 基本的には 4.25 の方が速そうだが、stein45 の場合は 4.25 の方が遅すぎる。この問題でいろいろ変えてみれば、さらなる改善方法も見つかるような気もする。
○MIPLIB : stein45
glpk 4.16(gcc 4.2.2 : 32bit)
Time used: 54.0 secs
Memory used: 4.5M
glpk 4.16(gcc 4.2.2 : 64bit)
Time used: 45.0 secs
Memory used: 6.3M
glpk 4.16(Intel C/C++ 10.0 : 64bit)
Time used: 43.0 secs
Memory used: 6.3M
glpk 4.25(gcc 4.2.2 : 32bit)
Time used: 397.0 secs
Memory used: 40.7 Mb (42680023 bytes)
glpk 4.25(gcc 4.2.2 : 64bit)
Time used: 420.0 secs
Memory used: 44.5 Mb (46671599 bytes)
glpk 4.25(Intel C/C++ 10.0 : 64bit)
Time used: 406.0 secs
Memory used: 44.5 Mb (46631479 bytes)
○MIPLIB : air06
glpk 4.16(gcc 4.2.2 : 32bit)
Time used: 20.0 secs
Memory used: 11.4M
glpk 4.16(gcc 4.2.2 : 64bit)
Time used: 21.0 secs
Memory used: 16.5M
glpk 4.16(Intel C/C++ 10.0 : 64bit)
Time used: 17.0 secs
Memory used: 16.5M
glpk 4.25(gcc 4.2.2 : 32bit)
Time used: 10.0 secs
Memory used: 10.0 Mb (10510600 bytes)
glpk 4.25(gcc 4.2.2 : 64bit)
Time used: 10.0 secs
Memory used: 16.0 Mb (16772220 bytes)
glpk 4.25(Intel C/C++ 10.0 : 64bit)
Time used: 14.0 secs
Memory used: 16.0 Mb (16772220 bytes)
半年ぐらい前の GLPK 4.16 と GLPK 4.25 を比較してみる。ついでに gcc 32bit, gcc 64bit, Intel C/C++ 64bit の三つを用いてみよう。問題は MIPLIB から数十秒ぐらいで解ける問題を選ぶことにする。実行環境は CPU Intel E5345 2.33GHz; CentOS Ver.5。
1: メモリ使用量は予想通り 64bit の方が多い。コンパイラは gcc でも Intel でもメモリ使用量は同じ。
2: 基本的には 4.25 の方が速そうだが、stein45 の場合は 4.25 の方が遅すぎる。この問題でいろいろ変えてみれば、さらなる改善方法も見つかるような気もする。
○MIPLIB : stein45
glpk 4.16(gcc 4.2.2 : 32bit)
Time used: 54.0 secs
Memory used: 4.5M
glpk 4.16(gcc 4.2.2 : 64bit)
Time used: 45.0 secs
Memory used: 6.3M
glpk 4.16(Intel C/C++ 10.0 : 64bit)
Time used: 43.0 secs
Memory used: 6.3M
glpk 4.25(gcc 4.2.2 : 32bit)
Time used: 397.0 secs
Memory used: 40.7 Mb (42680023 bytes)
glpk 4.25(gcc 4.2.2 : 64bit)
Time used: 420.0 secs
Memory used: 44.5 Mb (46671599 bytes)
glpk 4.25(Intel C/C++ 10.0 : 64bit)
Time used: 406.0 secs
Memory used: 44.5 Mb (46631479 bytes)
○MIPLIB : air06
glpk 4.16(gcc 4.2.2 : 32bit)
Time used: 20.0 secs
Memory used: 11.4M
glpk 4.16(gcc 4.2.2 : 64bit)
Time used: 21.0 secs
Memory used: 16.5M
glpk 4.16(Intel C/C++ 10.0 : 64bit)
Time used: 17.0 secs
Memory used: 16.5M
glpk 4.25(gcc 4.2.2 : 32bit)
Time used: 10.0 secs
Memory used: 10.0 Mb (10510600 bytes)
glpk 4.25(gcc 4.2.2 : 64bit)
Time used: 10.0 secs
Memory used: 16.0 Mb (16772220 bytes)
glpk 4.25(Intel C/C++ 10.0 : 64bit)
Time used: 14.0 secs
Memory used: 16.0 Mb (16772220 bytes)