|
|
@ -84,6 +84,7 @@ public class PrismSettings implements Observer |
|
|
public static final String PRISM_COMPACT = "prism.compact"; |
|
|
public static final String PRISM_COMPACT = "prism.compact"; |
|
|
public static final String PRISM_LIN_EQ_METHOD = "prism.linEqMethod";//"prism.iterativeMethod"; |
|
|
public static final String PRISM_LIN_EQ_METHOD = "prism.linEqMethod";//"prism.iterativeMethod"; |
|
|
public static final String PRISM_LIN_EQ_METHOD_PARAM = "prism.linEqMethodParam";//"prism.overRelaxation"; |
|
|
public static final String PRISM_LIN_EQ_METHOD_PARAM = "prism.linEqMethodParam";//"prism.overRelaxation"; |
|
|
|
|
|
public static final String PRISM_TOPOLOGICAL_VI = "prism.topologicalVI"; |
|
|
public static final String PRISM_PMAX_QUOTIENT = "prism.pmaxQuotient"; |
|
|
public static final String PRISM_PMAX_QUOTIENT = "prism.pmaxQuotient"; |
|
|
public static final String PRISM_MDP_SOLN_METHOD = "prism.mdpSolnMethod"; |
|
|
public static final String PRISM_MDP_SOLN_METHOD = "prism.mdpSolnMethod"; |
|
|
public static final String PRISM_MDP_MULTI_SOLN_METHOD = "prism.mdpMultiSolnMethod"; |
|
|
public static final String PRISM_MDP_MULTI_SOLN_METHOD = "prism.mdpMultiSolnMethod"; |
|
|
@ -242,6 +243,8 @@ public class PrismSettings implements Observer |
|
|
"Which iterative method to use when solving linear equation systems." }, |
|
|
"Which iterative method to use when solving linear equation systems." }, |
|
|
{ DOUBLE_TYPE, PRISM_LIN_EQ_METHOD_PARAM, "Over-relaxation parameter", "2.1", new Double(0.9), "", |
|
|
{ DOUBLE_TYPE, PRISM_LIN_EQ_METHOD_PARAM, "Over-relaxation parameter", "2.1", new Double(0.9), "", |
|
|
"Over-relaxation parameter for iterative numerical methods such as JOR/SOR." }, |
|
|
"Over-relaxation parameter for iterative numerical methods such as JOR/SOR." }, |
|
|
|
|
|
{ BOOLEAN_TYPE, PRISM_TOPOLOGICAL_VI, "Use topological value iteration", "4.3.1", false, "", |
|
|
|
|
|
"Use topological value iteration in iterative numerical methods."}, |
|
|
{ BOOLEAN_TYPE, PRISM_PMAX_QUOTIENT, "For Pmax computations, compute in the MEC quotient", "4.3.1", false, "", |
|
|
{ BOOLEAN_TYPE, PRISM_PMAX_QUOTIENT, "For Pmax computations, compute in the MEC quotient", "4.3.1", false, "", |
|
|
"For Pmax computations, compute in the MEC quotient."}, |
|
|
"For Pmax computations, compute in the MEC quotient."}, |
|
|
{ CHOICE_TYPE, PRISM_MDP_SOLN_METHOD, "MDP solution method", "4.0", "Value iteration", "Value iteration,Gauss-Seidel,Policy iteration,Modified policy iteration,Linear programming", |
|
|
{ CHOICE_TYPE, PRISM_MDP_SOLN_METHOD, "MDP solution method", "4.0", "Value iteration", "Value iteration,Gauss-Seidel,Policy iteration,Modified policy iteration,Linear programming", |
|
|
@ -995,6 +998,11 @@ public class PrismSettings implements Observer |
|
|
set(PRISM_PMAX_QUOTIENT, true); |
|
|
set(PRISM_PMAX_QUOTIENT, true); |
|
|
} |
|
|
} |
|
|
|
|
|
|
|
|
|
|
|
// Topological VI |
|
|
|
|
|
else if (sw.equals("topological")) { |
|
|
|
|
|
set(PRISM_TOPOLOGICAL_VI, true); |
|
|
|
|
|
} |
|
|
|
|
|
|
|
|
// Linear equation solver over-relaxation parameter |
|
|
// Linear equation solver over-relaxation parameter |
|
|
else if (sw.equals("omega")) { |
|
|
else if (sw.equals("omega")) { |
|
|
if (i < args.length - 1) { |
|
|
if (i < args.length - 1) { |
|
|
@ -1663,6 +1671,7 @@ public class PrismSettings implements Observer |
|
|
mainLog.println("-absolute (or -abs) ............ Use absolute error for detecting convergence"); |
|
|
mainLog.println("-absolute (or -abs) ............ Use absolute error for detecting convergence"); |
|
|
mainLog.println("-epsilon <x> (or -e <x>) ....... Set value of epsilon (for convergence check) [default: 1e-6]"); |
|
|
mainLog.println("-epsilon <x> (or -e <x>) ....... Set value of epsilon (for convergence check) [default: 1e-6]"); |
|
|
mainLog.println("-maxiters <n> .................. Set max number of iterations [default: 10000]"); |
|
|
mainLog.println("-maxiters <n> .................. Set max number of iterations [default: 10000]"); |
|
|
|
|
|
mainLog.println("-topological ................... Perform topological iterations (only explicit engine"); |
|
|
mainLog.println(); |
|
|
mainLog.println(); |
|
|
mainLog.println("MODEL CHECKING OPTIONS:"); |
|
|
mainLog.println("MODEL CHECKING OPTIONS:"); |
|
|
mainLog.println("-nopre ......................... Skip precomputation algorithms (where optional)"); |
|
|
mainLog.println("-nopre ......................... Skip precomputation algorithms (where optional)"); |
|
|
|