paper-with-me

홈 › Papers

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

2022-06-28 · Bo Tang, Elias B. Khalil

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.

📄 PDF Abstract BibTeX arXiv:2206.14234

Code (1)

khalil-research/pyepo 공식 구현 pytorch

Methods 이 논문이 사용한 방법론

Library 설명 없음
BASE 설명 없음

Similar Papers 제목 키워드 기반

iSpLib: A Library for Accelerating Graph Neural Networks using Auto-tuned Sparse Operations

2024-03-21 · Md Saidul Hoque Anik, Pranav Badhe, Rohit Gampa, Ariful Azad

Core computations in Graph Neural Network (GNN) training and inference are often mapped to sparse matrix operations such as sparse-dense matrix multiplication (SpMM). These sparse operations are harder to optimize by man…

CPUGraph Neural Network

MCTensor: A High-Precision Deep Learning Library with Multi-Component Floating-Point

2022-07-18 · Tao Yu, Wentao Guo, Jianan Canal Li, Tiancheng Yuan 외

In this paper, we introduce MCTensor, a library based on PyTorch for providing general-purpose and high-precision arithmetic for DL training. MCTensor is used in the same way as PyTorch Tensor: we implement multiple basi…

McTorch, a manifold optimization library for deep learning

2018-10-03 · Mayank Meghwanshi, Pratik Jawanpuria, Anoop Kunchukuttan, Hiroyuki Kasai 외

In this paper, we introduce McTorch, a manifold optimization library for deep learning that extends PyTorch. It aims to lower the barrier for users wishing to use manifold constraints in deep learning applications, i.e.,…

Deep Learning

PyTorch Hyperparameter Tuning - A Tutorial for spotPython

2023-05-19 · Thomas Bartz-Beielstein

The goal of hyperparameter tuning (or hyperparameter optimization) is to optimize the hyperparameters to improve the performance of the machine or deep learning model. spotPython (``Sequential Parameter Optimization Tool…

Hyperparameter Optimization

PyTorchVideo: A Deep Learning Library for Video Understanding

2021-11-18 · Haoqi Fan, Tullie Murrell, Heng Wang, Kalyan Vasudev Alwala 외

We introduce PyTorchVideo, an open-source deep-learning library that provides a rich set of modular, efficient, and reproducible components for a variety of video understanding tasks, including classification, detection,…

Deep LearningSelf-Supervised LearningVideo Understanding