以下は使用メモリを減らす方法についての紹介です。
- 連続最適化モデル(LP,QP,SOCP)の場合、シンプレックス法(Method=0 or 1)を利用します。内点法(Barrier アルゴリズム)や並列実行よりも要求メモリ量が少なくて済みます。
- 多くのノードを必要とするMIPモデルの場合には、ノード情報を書き出すことのできるノードファイルを利用できます。ノードファイルを利用するには NodeFileStart パラメータを例えば0.5などに設定します。これにより分枝限定法のノード情報が圧縮されてディスク上に書き出されるようになります。
*NodeFileStartは連続最適化モデルや、MIPモデルのルートノード付近では効果がありません。 - Gurobiはデフォルトではすべてのコアを利用しようとします。 Threads パラメータを減らすことでメモリ消費量を減らすことができる場合があります。
- PreSparsify パラメータを利用することにより、前処理後のモデルが持つ非ゼロ要素を減らすことができます。
- Compute ServerまたはGurobi Cloudを利用すると、より多くのメモリを持つ計算機に計算を任せることができます。
理想的な解決策としては、単純に十分なメモリを搭載することです。メモリは比較的安価であり、RAM上にメモリをロードして解くことができるように、十分なメモリを搭載することを推奨します。
コメント
0件のコメント
記事コメントは受け付けていません。