Skip to content
Anders Reenberg Andersen edited this page Jun 16, 2024 · 22 revisions


MDPSolver (mdpsolver) is a Python package for large Markov Decision Processes (MDPs) with infinite horizons. This wiki includes details about the documentation of MDPSolver and other information, such as performance tests.

Overview

  • Fast solver: Our C++-based solver is substantially faster than other MDP packages available for Python, depending on the problem size and parameters. See the Performance tests section in this wiki.
  • Available on PyPI.
  • Two optimality criteria: Discounted and Average reward.
  • Three optimization algorithms: Value iteration, Policy iteration, and Modified policy iteration.
  • Three value-update methods: Standard, Gauss–Seidel, and Successive over-relaxation.
  • Uses span norm or supremum norm stopping criterion depending on the selected update method.
  • Supports sparse matrices and parallel computing.
  • Operating systems: Linux and Windows.

How to install

Linux

Install directly from PyPI with:

pip install mdpsolver

MDPSolver works out of the box on Linux.

Windows

Requires Visual Studio 2022 (17.9) with MSVC C++ compiler and libraries installed (see below).

Logo

After installing Visual Studio (incl. MSVC C++ compiler and libraries), install directly from PyPI with:

pip install mdpsolver

How to cite

DOI

Clone this wiki locally