Marmote’s documentation

Marmote

Marmote is a programming platform for building and solving Markov models with discrete state spaces.

Description

Marmote (MARkovian MOdelling Tools and Environements) integrates a Markov chain solver, a Markov Decision Process solver and consists in a library of objects:

  • allowing to construct custom Markov Chain models, analyze their structure and solve them

  • allowing to construct custom Markov Decision Process models, solve them and analyze the solution

  • representing well-known Markovian models from the literature.

This library comes with two API: one for C++ development, one for Python development (that encapsulates C++ objects).

With this website you can learn how to

  • build a consistent development environment for contributing to marmote, using conda

  • program your models with the C++ API

  • program your models with the Python API

Features

  • Predefined Spaces (Interval, Box, Composite Set, Simplex, Binary Sequence)

  • Easy handling of Transition Structures

  • Support sparse matrices

Markov Chain Features

  • Graph Analysis of transitions

  • Discrete and Continuous Time Chains

  • Predefined Chains (Birth and Death, Random Walk, Poisson Process, MMPP)

  • Usual solving methods (Power Method)

  • Advanced solving methods (RLGL)

Markov Decision Process Features

  • Criteria implemented are: infinite horizon discounted, infinite horizon average, infinite horizon total, finite horizon discounted

  • Solving Methods are Value Iteration and Policy Iteration Modified

  • Structural properties analysis

For more details about features, you have access to the c++ Documentation including the user/reference manual and the Python Documentation with the detailed API documentations.

Latest Versions

  • Version 1.3.0 released on 2025-07-17

  • Version 1.2.0 released on 2024-05-31

  • Version 1.1.1 released on 2024-05-21 (deprecated)

  • Version 0.3.0 released on 2023-10-12 (deprecated)

Licence

This software is distributed under the terms of the GNU General Public License (GPL) version 3. By using, modifying or distributing this software, you agree to the terms and conditions of the GPL.

Documentation creation date: November 06 2025 at 10:02 +0100