Browse Source

Added valiter switch (for use by MDP explicit engine).

git-svn-id: https://www.prismmodelchecker.org/svn/prism/prism/trunk@4758 bbc10eb1-c90d-0410-af57-cb519fbb1720
master
Dave Parker 14 years ago
parent
commit
ab3d3773a0
  1. 10
      prism/src/explicit/ProbModelChecker.java
  2. 4
      prism/src/prism/PrismSettings.java

10
prism/src/explicit/ProbModelChecker.java

@ -165,15 +165,15 @@ public class ProbModelChecker extends StateModelChecker
// PRISM_MDP_SOLN_METHOD // PRISM_MDP_SOLN_METHOD
s = settings.getString(PrismSettings.PRISM_MDP_SOLN_METHOD); s = settings.getString(PrismSettings.PRISM_MDP_SOLN_METHOD);
if (s.equals("Value iteration")) { if (s.equals("Value iteration")) {
setSolnMethod(SolnMethod.VALUE_ITERATION);
setMDPSolnMethod(MDPSolnMethod.VALUE_ITERATION);
} else if (s.equals("Gauss-Seidel")) { } else if (s.equals("Gauss-Seidel")) {
setSolnMethod(SolnMethod.GAUSS_SEIDEL);
setMDPSolnMethod(MDPSolnMethod.GAUSS_SEIDEL);
} else if (s.equals("Policy iteration")) { } else if (s.equals("Policy iteration")) {
setSolnMethod(SolnMethod.POLICY_ITERATION);
setMDPSolnMethod(MDPSolnMethod.POLICY_ITERATION);
} else if (s.equals("Modified policy iteration")) { } else if (s.equals("Modified policy iteration")) {
setSolnMethod(SolnMethod.MODIFIED_POLICY_ITERATION);
setMDPSolnMethod(MDPSolnMethod.MODIFIED_POLICY_ITERATION);
} else if (s.equals("Linear programming")) { } else if (s.equals("Linear programming")) {
setSolnMethod(SolnMethod.LINEAR_PROGRAMMING);
setMDPSolnMethod(MDPSolnMethod.LINEAR_PROGRAMMING);
} else { } else {
throw new PrismException("Explicit engine does not support MDP solution method \"" + s + "\""); throw new PrismException("Explicit engine does not support MDP solution method \"" + s + "\"");
} }

4
prism/src/prism/PrismSettings.java

@ -763,7 +763,7 @@ public class PrismSettings implements Observer
// NUMERICAL SOLUTION OPTIONS: // NUMERICAL SOLUTION OPTIONS:
// Linear equation solver method
// Linear equation solver + MDP soln method
else if (sw.equals("power") || sw.equals("pow") || sw.equals("pwr")) { else if (sw.equals("power") || sw.equals("pow") || sw.equals("pwr")) {
set(PRISM_LIN_EQ_METHOD, "Power"); set(PRISM_LIN_EQ_METHOD, "Power");
} else if (sw.equals("jacobi") || sw.equals("jac")) { } else if (sw.equals("jacobi") || sw.equals("jac")) {
@ -787,6 +787,8 @@ public class PrismSettings implements Observer
set(PRISM_LIN_EQ_METHOD, "Pseudo-SOR"); set(PRISM_LIN_EQ_METHOD, "Pseudo-SOR");
} else if (sw.equals("bpsor")) { } else if (sw.equals("bpsor")) {
set(PRISM_LIN_EQ_METHOD, "Backwards Pseudo-SOR"); set(PRISM_LIN_EQ_METHOD, "Backwards Pseudo-SOR");
} else if (sw.equals("valiter")) {
set(PRISM_MDP_SOLN_METHOD, "Value iteration");
} }
// Linear equation solver over-relaxation parameter // Linear equation solver over-relaxation parameter
else if (sw.equals("omega")) { else if (sw.equals("omega")) {

Loading…
Cancel
Save