PyTorch-based End-to-End Predict-then-Optimize Tool
PyEPO
(PyTorch-based End-to-End Predict-then-Optimize Tool) is a Python-based,
open-source software that supports modeling and solving predict-then-optimize problems
with the linear objective function. The core capability of PyEPO
is to build optimization
models with GurobiPy, Pyomo, or any other
solvers and algorithms, then embed the optimization model into an artificial neural network
for the end-to-end training. For this purpose, PyEPO
implements various methods as
PyTorch autograd modules.