jmarkov.jmdp.solvers
Class LPBCLAverageSolver<S extends State,A extends Action>
java.lang.Object
jmarkov.jmdp.solvers.Solver<S,A>
jmarkov.jmdp.solvers.AbstractInfiniteSolver<S,A>
jmarkov.jmdp.solvers.AbstractAverageSolver<S,A>
jmarkov.jmdp.solvers.LPBCLAverageSolver<S,A>
- Type Parameters:
S
- States ClassA
- Action class
- All Implemented Interfaces:
- JMarkovElement
public class LPBCLAverageSolver<S extends State,A extends Action>
- extends AbstractAverageSolver<S,A>
This solver solves a average-cost infinite horizon MDP by building
and solving a linear problem using as interface Xpress BCL. It
requires the professional version of XpressMP and the JAVA build
path must include the xprb.jar libray, for running the
applications.
- Author:
- Diego Bello, Germán Riaño - Universidad de Los Andes (C)
2005
Field Summary |
protected long |
lpSolveTime
Used to store the Linear Programming solve time |
Constructor Summary |
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. |
Method Summary |
long |
getBuildTime()
|
long |
getIterations()
|
long |
getLpSolveTime()
|
long |
getProcessTime()
|
long |
getSolBuildTime()
Returns the time needed to build the Solution after the LP was
solved. |
java.lang.String |
label()
The sub classes must return the Solver name. |
Solution<S,A> |
solve()
Linear Programming Average Solver is a tool that builds the
solution based on the MDP's mathematical background given by
Puterman and the software provided by XpressMP (BCL libraries). |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
lpSolveTime
protected long lpSolveTime
- Used to store the Linear Programming solve time
LPBCLAverageSolver
public 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. This solver solves an
average DTMDP.
- Parameters:
problem
- the structure of the problem of type DTMDP
getIterations
public long getIterations()
- Specified by:
getIterations
in class AbstractInfiniteSolver<S extends State,A extends Action>
- Returns:
- Returns the iterations in the last solve.
solve
public Solution<S,A> solve()
throws SolverException
- Linear Programming Average Solver is a tool that builds the
solution based on the MDP's mathematical background given by
Puterman and the software provided by XpressMP (BCL libraries).
Is mandatory for the use to have a Xpress professional version.
- Specified by:
solve
in class Solver<S extends State,A extends Action>
- Returns:
- The solution Object taht contains the plicy and value fuenction.
- Throws:
SolverException
label
public java.lang.String label()
- Description copied from class:
Solver
- The sub classes must return the Solver name.
- Specified by:
label
in interface JMarkovElement
- Specified by:
label
in class Solver<S extends State,A extends Action>
- Returns:
- A String label.
- See Also:
Solver.toString()
getProcessTime
public long getProcessTime()
- Specified by:
getProcessTime
in class Solver<S extends State,A extends Action>
- Returns:
- Returns the processTime.
getBuildTime
public long getBuildTime()
- Returns:
- Returns the build time.
getLpSolveTime
public long getLpSolveTime()
- Returns:
- Returns the Linear Programming Solve Time
getSolBuildTime
public long getSolBuildTime()
- Returns the time needed to build the Solution after the LP was
solved.
- Returns:
- Returns the solBuildTime.