先日、Microsoftのデベロッパー部門のシニアバイスプレジデントであるS. Somasegar氏は、数理計画法、モデリング、最適化のための.NETライブラリであるSolver FoundationをDevLabsに含めると発表した。
Solver Foundationは、シンプルな単位で構成される宣言型プログラミングモデルを使用しており、オペレーションズ・リサーチ、メタヒューリスティクス、組み合わせ最適化のテクニックを用いるソルバーに適用できる。Solver Foundationでモデルを構築することは簡単である。特定の決定を下したり、制約を尊重したり、解決方法を求めるために目標を用いたり、過去または予測用のパラメータデータをモデルによって処理させたりすることと同様に簡単である。これによって、ソルバー技術や探索方式の詳細について悩まずに、.NET言語から使用することができる。
Solver Foundationの特徴:
- 制約、目標、データの利用によるモデリングと解決のシナリオ
- 最適化モデル言語(OML)、命令型のC#、関数型のF#といった、あらゆる.NET言語に対応するプログラミング
- 一般的なモデルタイプのためのビルトインソルバー
- Gurobi、 Ziena Knitro、Frontline Solver Platform SDK™、Mosek™、FICO™ Xpress、LINDO、lp_solveといった一般的なソルバーとのインテグレーション
- Microsoft Office ExcelやSharePointのような、モデルの構築・解決に適した使いやすいインターフェース
このライブラリの特徴は、様々なサードパーティのソルバーにプラグインして利用できる機能拡張APIといえる。表計算データをC#へエクスポートできるExcelアドインも存在する。
MSDN内に、以下のSolver Foundationの見本アプリケーションがある。
- リアルタイムなサプライチェーンの最適化
- データセンターにおけるエネルギー統計データ管理
- オンライン広告収入の最大化
- 大規模なカンファレンススケジュールの計画
- 投資ポートフォリオのリスク分析
- グラフィックスとマシンの学習
- オペレーションズ・リサーチ
- ビジネスプランニング
- リスクモデリング
- 意思決定
Solver Foundationにはさまざまなエディションが用意されている。ExpressエディションとStandardエディションはモデル数が制限される。Expressエディションは無償で利用できるが、StandardエディションとEnterpriseエディションは有償である。