AIToolbox
A library that offers tools for AI problem solving.
AIToolbox::MDP::LinearProgramming Class Reference

This class solves an MDP using Linear Programming. More...

#include <AIToolbox/MDP/Algorithms/LinearProgramming.hpp>

Public Member Functions

template<IsModel M>
std::tuple< double, ValueFunction, QFunctionoperator() (const M &m)
 This function solves the input MDP using linear programming. More...
 

Detailed Description

This class solves an MDP using Linear Programming.

This class is a very simple wrapper for solving an MDP using linear programming. The solution can only be computed for infinite horizons, and the precision is the ones used by the underlying LP library.

It creates a set of |S| variables and |S|*|A| constraints, which when solved obtain the optimal ValueFunction values.

From there we compute the optimal QFunction, and we return them.

Member Function Documentation

◆ operator()()

template<IsModel M>
std::tuple< double, ValueFunction, QFunction > AIToolbox::MDP::LinearProgramming::operator() ( const M &  m)

This function solves the input MDP using linear programming.

Template Parameters
MThe type of the solvable MDP.
Parameters
mThe MDP that needs to be solved.
Returns
A tuple containing the maximum variation for the ValueFunction, the ValueFunction and the QFunction for the Model.

The documentation for this class was generated from the following file: