現在、私は MATLAB を使用して、私が扱ってきた問題を解決しています。私の MATLAB コードでは、CPlex または GUROBI ソルバーを呼び出して、大規模な線形計画問題を解決しています。MATLAB コードの各呼び出しで、CPlex または GUROBI が 10^5 回以上呼び出されます。これにより、計算負荷が高くなり、より大きな問題を解決するには時間がかかりすぎます。ただし、別のプログラミング言語に切り替えたいのですが、
- これらのいずれか (CPlex または GUROBI ) を呼び出すことができる、
- これらのソルバー (CPlex または GUROBI ) の 1 つ (CPlex または GUROBI ) を何度も (たとえば 10^6 回) 呼び出すことができ、各呼び出しでパフォーマンスを大幅に低下させず、実行時間を大幅に増加させることもありません。
- 動的配列を使用できます (つまり、コードを実行すると、いくつかのユーザー パラメーターが取得され、実行ごとに異なるサイズの行列が定義されます)。
- 配列の配列ではなく、多次元配列を定義できます。
この時点で、私は3つのオプションを見つけました
Fortran: まったく問題ないように見えますが、ソルバーを何度も効率的に呼び出すことができるかどうか、いくつか懸念があります。CplexでFortranしか使えないようです。私は Fortran+GUROBI をググったが、結果は心強いものではなかった。
Visual Basic .NET : Visual Basic では Cplex と GUROBI の両方を呼び出すことができるようですが、パフォーマンスについてはわかりません。
Python: CPlex および GUROBI と統合可能。
結論として、前進するためにあなたの提案をお願いします。私の好みは、GUROBI と CPlex の両方を使用できるプログラミング言語から始めることです。