## Uses of Class
jmarkov.jmdp.DTMDP

- Packages that use DTMDP
  Package | Description
  --- | ---
  examples.jmdp |
  jmarkov.jmdp | jMDP is used to solve Markov Decision Processes.
  jmarkov.jmdp.solvers | This package contins the framwork of solvers used by jMDP to solve Markov Decision Processes.

- - ### Uses of DTMDP in examples.jmdp

    Subclasses of DTMDP in examples.jmdp
    Modifier and Type | Class and Description
    --- | ---
    `class` | `AccessControl` The present example describes a two station tandem queuing system, with capacity b1 in the first queue and b2, in the second.
    `class` | `ControlProdNonEvents` The problem is a periodic review, single item, stochastic demand inventory problem.
    `class` | `ControlProduccion` This problem is periodic review, a single item, stochastic demand inventory problem.
    `class` | `InfStochasticDemand` This problem is a single item, periodic review, stochastic demand inventory problem.
    `class` | `LeadTimeStochasticDemand` This file models a multi item inventory problem.
    `class` | `OrderProcessing` A company receives orders at a random rate.
    `class` | `ProbsExample` Basic example to show convergence of probabilities with probability solver.

  - ### Uses of DTMDP in jmarkov.jmdp

    Subclasses of DTMDP in jmarkov.jmdp
    Modifier and Type | Class and Description
    --- | ---
    `class` | `CT2DTConverter<S extends State,A extends Action>` This class formulates a DTMDP equivalent to a CTMDP.
    `class` | `DTMDPEv<S extends State,A extends Action,E extends Event>` This class represents an infinite horizon, discrete time, Markov Decision Process with events.
    `class` | `DTMDPEvA<S extends State,A extends Action,E extends Event>` This class represents an infinite horizon, discrete time, Markov Decision Process with events, where actions depend on events.
    `class` | `StochasticShortestPath<S extends StateC,A extends Action>` This class represents an infinite horizon shortest path problem.

  - ### Uses of DTMDP in jmarkov.jmdp.solvers

    Constructors in jmarkov.jmdp.solvers with parameters of type DTMDP
    Constructor and Description
    `AbstractTotalSolver(DTMDP<S,A> problem)` Creates a solver for a discrete time problem
    `LPBCLAverageSolver(DTMDP<S,A> problem)` The constructor method exclusively receives a problem of the type DTMDP because this solver is only designed to work on infinite discrete horizon problems.
    `LPBCLDiscountedSolver(DTMDP<S,A> problem, double interestRate)` The constructor method receives a problem of the type infinite DTMDP and an interest rate that is modified for being used as discount factor.
    `MpsLpAverageSolver(DTMDP<S,A> problem)` This cosntructor creates a solver for this problem.
    `MpsLpAverageSolver(DTMDP<S,A> problem, java.lang.String workingDir, java.lang.String fileName)` The constructor method receives a problem of the type infinite DTMDP, the working directory where the MPS file will be stored, and the name that the user wants for the MPS File.
    `MpsLpDiscountedSolver(DTMDP<S,A> problem, double interestRate)` This is the default constructor for MpsLpDiscountedSolver class, and defines the label MDP for the MPS File.
    `MpsLpDiscountedSolver(DTMDP<S,A> problem, double interestRate, java.lang.String workingDir, java.lang.String fileName)` The constructor method exclusively receives a problem of the type infinite DTMDP , an interest rate that is modified for being used as discount factor and the name that the user wants for the MPS File.
    `MPSQsOptAverageSolver(DTMDP<S,A> problem)`
    `MPSQsOptAverageSolver(DTMDP<S,A> problem, java.lang.String workingDir, java.lang.String fileName)` Creates a solver for average cost problems.
    `MPSQsOptDiscountedSolver(DTMDP<S,A> problem, double interestRate)`
    `MPSQsOptDiscountedSolver(DTMDP<S,A> problem, double interestRate, boolean isAvg)`
    `MPSQsOptDiscountedSolver(DTMDP<S,A> problem, double interestRate, java.lang.String workingDir, java.lang.String fileName)`
    `MPSQsOptDiscountedSolver(DTMDP<S,A> problem, double interestRate, java.lang.String workingDir, java.lang.String fileName, boolean isAvg)`
    `MPSXpressAverage(DTMDP<S,A> problem)` This is the default constructor for MPSXpressDiscounted class, and defines the path for the working directory equals to the MPS folder tied to the project.
    `MPSXpressAverage(DTMDP<S,A> problem, java.lang.String workingDir, java.lang.String fileName)` The constructor method exclusively receives a problem of the type infinite DTMDP and the name that the user wants as path for MPS Files and solutions from Xpress-Optimizer.
    `MPSXpressDiscounted(DTMDP<S,A> problem, double interestRate)` This is the default constructor for MPSXpressDiscounted class, and defines the path for the working directory equals to the MPS folder tied to the project.
    `MPSXpressDiscounted(DTMDP<S,A> problem, double interestRate, java.lang.String workingDir, java.lang.String fileName)` The constructor method receives a problem of the type infinite DTMDP, an interest rate, and the working directory and file name that the user wants as path for MPS Files and solutions from Xpress-Optimizer.
    `PolicyIterationSolver(DTMDP<S,A> problem, double discountFactor)` The constructor method exclusively receives a problem of the type InfiniteMDP because this solver is only designed to work on infinite horizon problems.
    `PolicyIterationSolver(DTMDP<S,A> problem, double discountFactor, boolean setModifiedPolicy)` The constructor method exclusively receives a problem of the type InfiniteMDP because this solver is only designed to work on infinite horizon problems.
    `PolicyIterationSolverAvg(DTMDP<S,A> problem)` The constructor method exclusively receives a problem of the type InfiniteMDP because this solver is only designed to work on infinite horizon problems.
    `ProbabilitySolver(DTMDP<S,A> problem)` Initializes a new solver for discrete chains and solves the probabilities for the optimal policy.
    `ProbabilitySolver(DTMDP<S,A> problem, DecisionRule<S,A> dr)` Initializes a new solver for discrete chains
    `RelativeValueIterationSolver(DTMDP<S,A> problem)` The constructor method exclusively receives a discrte time infinite horizon problem of the type DTMDP.
    `RelativeValueIterationSolver(DTMDP<S,A> problem, double factor)` Creates a new solver for the given discrete time, infinite horizon problem.
    `ValueIterationSolver(DTMDP<S,A> problem, double interestRate)` Default Constructor for Discrte time problems.