PyEPO: A PyTorch-based End-to-End Predict-then-Optimize Library for Linear and Integer Programming

要約

【タイトル】
PyEPO: 線形プログラミングおよび整数プログラミングのためのPyTorchベースのエンド・トゥ・エンド予測-最適化ライブラリ

【要約】
– 決定論的最適化においては、すべての問題パラメーターが固定かつ既知であると通常想定される。
– 実際には、いくつかのパラメータは事前に不明であるが、履歴データから推定することができる。
– 典型的な予測-最適化アプローチは、予測と最適化を2つの段階に分ける。
– 最近では、エンド・トゥ・エンド予測-最適化が魅力的な代替手段となっている。
– 本研究では、PyTorchベースのエンド・トゥ・エンド予測-最適化ライブラリ「PyEPO」をPythonで提供する。
– PyEPOは線形および整数プログラミングのための予測された目的関数係数を持つ最初の一般的なツールである。
– PyEPOには、ElmachtoubとGrigas(16)による画期的な凸型サロゲート損失関数、Pogancicら(35)による微分可能なブラックボックスソルバーアプローチ、およびBerthetら(6)による2つの微分可能な摂動ベースの方法の4つの基本アルゴリズムが提供される。
– PyEPOには、新しい最適化問題の定義、最新の予測-最適化トレーニングアルゴリズムの実装、カスタムニューラルネットワークアーキテクチャの使用、エンド・トゥ・エンドアプローチと2つの段階アプローチとの比較のための簡単なインターフェースがある。
– PyEPOを使用することで、Shortest Path、Multiple Knapsack、Traveling Salesperson Problemなどの問題について、予測精度、意思決定品質、実行時間などの軸で、エンド・トゥ・エンドアプローチと2つの段階アプローチを比較するための包括的な一連の実験を実施することができる。
– これらの実験から得られたいくつかの経験的な知見が、今後の研究を指導することができる。
– PyEPOおよびそのドキュメントは、https://github.com/khalil-research/PyEPO で利用可能である。

要約(オリジナル)

In deterministic optimization, it is typically assumed that all problem parameters are fixed and known. In practice, however, some parameters may be a priori unknown but can be estimated from historical data. A typical predict-then-optimize approach separates predictions and optimization into two stages. Recently, end-to-end predict-then-optimize has become an attractive alternative. In this work, we present the PyEPO package, a PyTorchbased end-to-end predict-then-optimize library in Python. To the best of our knowledge, PyEPO (pronounced like pineapple with a silent ‘n’) is the first such generic tool for linear and integer programming with predicted objective function coefficients. It provides four base algorithms: a convex surrogate loss function from the seminal work of Elmachtoub and Grigas [16], a differentiable black-box solver approach of Pogancic et al. [35], and two differentiable perturbation-based methods from Berthet et al. [6]. PyEPO provides a simple interface for the definition of new optimization problems, the implementation of state-of-the-art predict-then-optimize training algorithms, the use of custom neural network architectures, and the comparison of end-to-end approaches with the two-stage approach. PyEPO enables us to conduct a comprehensive set of experiments comparing a number of end-to-end and two-stage approaches along axes such as prediction accuracy, decision quality, and running time on problems such as Shortest Path, Multiple Knapsack, and the Traveling Salesperson Problem. We discuss some empirical insights from these experiments, which could guide future research. PyEPO and its documentation are available at https://github.com/khalil-research/PyEPO.

arxiv情報

著者 Bo Tang,Elias B. Khalil
発行日 2023-04-14 14:21:42+00:00
arxivサイト arxiv_id(pdf)

提供元, 利用サービス

arxiv.jp, OpenAI

カテゴリー: cs.LG, math.OC パーマリンク