[論文レビュー] Solving Mixed Integer Programs Using Neural Networks
この論文は Neural Diving と Neural Branching を導入し、MIP ソルバーを強化、グラフニューラルネットワークを用いて primal ヒューリスティクスとブランチ選択方針を学習することで、SCIP に対して大規模な実世界データと MIPLIB データセットで大幅な改善を達成。
Mixed Integer Programming (MIP) solvers rely on an array of sophisticated heuristics developed with decades of research to solve large-scale MIP instances encountered in practice. Machine learning offers to automatically construct better heuristics from data by exploiting shared structure among instances in the data. This paper applies learning to the two key sub-tasks of a MIP solver, generating a high-quality joint variable assignment, and bounding the gap in objective value between that assignment and an optimal one. Our approach constructs two corresponding neural network-based components, Neural Diving and Neural Branching, to use in a base MIP solver such as SCIP. Neural Diving learns a deep neural network to generate multiple partial assignments for its integer variables, and the resulting smaller MIPs for un-assigned variables are solved with SCIP to construct high quality joint assignments. Neural Branching learns a deep neural network to make variable selection decisions in branch-and-bound to bound the objective value gap with a small tree. This is done by imitating a new variant of Full Strong Branching we propose that scales to large instances using GPUs. We evaluate our approach on six diverse real-world datasets, including two Google production datasets and MIPLIB, by training separate neural networks on each. Most instances in all the datasets combined have $10^3-10^6$ variables and constraints after presolve, which is significantly larger than previous learning approaches. Comparing solvers with respect to primal-dual gap averaged over a held-out set of instances, the learning-augmented SCIP is 2x to 10x better on all datasets except one on which it is $10^5$x better, at large time limits. To the best of our knowledge, ours is the first learning approach to demonstrate such large improvements over SCIP on both large-scale real-world application datasets and MIPLIB.
研究の動機と目的
- 大規模 MIP を解くためのヒューリスティクスを自動構築するための機械学習の利用を動機づける。
- Neural Diving と Neural Branching の二つのニューラル部品を開発し、 primal feasibility と branching decisions を改善する。
- 学習したヒューリスティクスを SCIP に統合して dataset 用に特化した Neural Solver を形成。
- 大規模な実世界データと MIPLIB データセットで Tuned SCIP に対する性能向上を示す。
提案手法
- 変数と制約のノード、制約係数でエッジが重み付けされたグラフ二部グラフとして MIPs を表現。
- グラフ畳み込みネットワーク(GCN)を用いてノード埋め込みを生成し、それを両タスクのニューラル予測子に供給。
- Neural Diving は、SCIP によって解かれる小さなサブ MIP を定義する部分的な変数割り当てを生成するように学習し、良質な結合割り当てを得る。
- Neural Branching は、Full Strong Branching を GPU 遂行可能な ADMM ベースのアプローチを用いて近似することにより、ブランチアンドバウンドの変数選択のスケーラブルな模倣ポリシーを学習。
- データセット固有の MIPs 上で Neural Diving と Neural Branching を訓練し、それらを SCIP に統合して Neural Solver を形成。
- primal-dual gap および held-out インスタンス上の survival プロットを複数の大規模 MIP データセットで評価。
実験結果
リサーチクエスチョン
- RQ1学習ベースの部品は、SCIP のような最先端ソルバーに統合したとき、MIP 解法の質と速度を改善できるか。
- RQ2 primal ヒューリスティクス生成とブランチポリシーの二つのニューラル部品は、調整済みベースラインを超える累積的改善をもたらすか。
- RQ3これらのニューラルモデルは、MIPLIB のような大規模な実世界 MIP や異種データセットにどれだけスケールするか。
- RQ4GPU 対応の ADMM による強分岐の模倣が、ブランチ決定の訓練データとしてスケーラブルで効果的か。
- RQ5結合した Neural Solver は、さまざまな応用分野において標準の SCIP と比較して競合的か、またはそれを上回るか。
主な発見
- Neural Solver は、最大の MIP データセットのうち四つで Tuned SCIP より顕著に小さい primal-dual ギャップを達成。
- Neural Branching は、 held-out インスタンスで大きな時間制限下、平均デュアルギャップを 2-20x 改善。
- Neural Diving は、いくつかのデータセットで平均 primal ギャップを約 1% に近づけ、 large インスタンスで Tuned SCIP より 3–10 倍速くなることがある。
- 二つのデータセットで、Neural Diving 単独が head-to-head テストで Gurobi より先に 1% primal gap に達した。
- MIPLIB open インスタンスで、アプローチは三つの新規 best-known の割り当てを発見し、商用ソルバを凌駕。
- 結合した Neural Solver は、最小データセットまたは最も難しい fifth データセットで SCIP に匹敵し、多様なケースで競争力のある性能を示す。
より良い研究を、今すぐ始めましょう
論文設計から論文執筆まで、研究時間を劇的に削減しましょう。
クレジットカード登録不要
このレビューはAIが作成し、人間の編集者が確認しました。