|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjmarkov.jmdp.solvers.Solver<S,A>
jmarkov.jmdp.solvers.AbstractInfiniteSolver<S,A>
jmarkov.jmdp.solvers.AbstractDiscountedSolver<S,A>
jmarkov.jmdp.solvers.LPBCLDiscountedSolver<S,A>
S
- States class.A
- Actions class.public class LPBCLDiscountedSolver<S extends State,A extends Action>
This solver solves a discounted 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.
Field Summary |
---|
Fields inherited from class jmarkov.jmdp.solvers.AbstractDiscountedSolver |
---|
discountFactor |
Fields inherited from class jmarkov.jmdp.solvers.Solver |
---|
policy, printProcessTime, printValueFunction, problem, solved, valueFunction |
Constructor Summary | |
---|---|
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. |
Method Summary | |
---|---|
Solution<S,A> |
buildSolution()
The implementator classes should override this class to build the solution after the model has been solved. |
java.lang.String |
description()
This method return a complete verbal describtion of this element. |
long |
getBuildTime()
Returns the time taken to build and write the MPS file. |
long |
getIterations()
|
long |
getLpSolveTime()
Return the time taken to solve the LP model. |
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()
Called to solve the problem. |
void |
solveLP()
The implementator classes should override this class to solve the problem using the mpsFile that has been created. |
Methods inherited from class jmarkov.jmdp.solvers.AbstractDiscountedSolver |
---|
future, future, getInterestRate, setDiscountFactor, setInterestRate |
Methods inherited from class jmarkov.jmdp.solvers.AbstractInfiniteSolver |
---|
getDiscreteProblem, getProblem, printSolution |
Methods inherited from class jmarkov.jmdp.solvers.Solver |
---|
getOptimalPolicy, getOptimalValueFunction, getValueFunction, isSolved, printSolution, setPrintProcessTime, setPrintValueFunction, toString |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface jmarkov.basic.JMarkovElement |
---|
equals |
Constructor Detail |
---|
public LPBCLDiscountedSolver(DTMDP<S,A> problem, double interestRate)
problem
- the structure of the problem of type infinite
DTMDP.interestRate
- A rate which is paid for the use of a
resource.Method Detail |
---|
public long getIterations()
getIterations
in class AbstractInfiniteSolver<S extends State,A extends Action>
public Solution<S,A> solve() throws SolverException
Solver
solve
in class Solver<S extends State,A extends Action>
SolverException
- This exception is thrown if the solver cannot find a solution
for some reason.public java.lang.String label()
Solver
label
in interface JMarkovElement
label
in class Solver<S extends State,A extends Action>
Solver.toString()
public java.lang.String description()
JMarkovElement
description
in interface JMarkovElement
description
in class Solver<S extends State,A extends Action>
JMarkovElement.label()
public long getProcessTime()
getProcessTime
in class Solver<S extends State,A extends Action>
System.currentTimeMillis()
to get the current
time.public long getBuildTime()
LPSolver
getBuildTime
in interface LPSolver
public long getLpSolveTime()
LPSolver
getLpSolveTime
in interface LPSolver
public long getSolBuildTime()
getSolBuildTime
in interface LPSolver
public void solveLP() throws SolverException
LPSolver
solveLP
in interface LPSolver
SolverException
LPSolver.solveLP()
public Solution<S,A> buildSolution() throws SolverException
LPSolver
buildSolution
in interface LPSolver
SolverException
LPSolver.buildSolution()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |