Class Solver_ctmc_cftp_analyzer

java.lang.Object
jline.solvers.ctmc.analyzers.Solver_ctmc_cftp_analyzer

public class Solver_ctmc_cftp_analyzer extends Object
Perfect-sampling steady-state analysis of closed single-class product-form networks, the sampling alternative to CTMC state-space enumeration.

States are drawn iid from the exact stationary distribution by monotone Coupling From The Past (Pfqn_cftp), so the estimator carries Monte Carlo error O(samples^(-1/2)) but never enumerates the state space.

Reference: S. Kijima and T. Matsui, "Approximate/Perfect Samplers for Closed Jackson Networks", Proc. Winter Simulation Conference, 2005.

  • Method Details

    • sampler

      public static String sampler(String method)
      Maps the solver method string onto the Pfqn_cftp sampler name.
    • solver_ctmc_cftp

      public static Solver_ctmc_cftp_analyzer.CftpResult solver_ctmc_cftp(NetworkStruct sn, SolverOptions options)
      Steady-state metrics of a closed single-class product-form network from iid perfect samples of its stationary distribution.
      Parameters:
      sn - network structure
      options - solver options carrying method, samples and timespan
      Returns:
      the metrics together with the sampled states
    • supportsReason

      public static String supportsReason(NetworkStruct sn, SolverOptions options)
      Can the cftp perfect sampler be asked for this model?

      The model-class gate asked as a predicate rather than thrown. assertSupported(jline.lang.NetworkStruct, jline.solvers.SolverOptions) refuses with it, and SolverCTMC.supportsModelMethod asks the very same call so that a caller (model.help, findSolver, SolverAUTO) sees the verdict before paying for a run. A second copy of the rules is how the report and the run drift into two different answers.

      The sampler is exact only on the closed single-class product form its balance function encodes; anything else must be refused, not approximated. What the feature registry CAN name is also declared in SolverCTMC.getMethodFeatureSet; this predicate is what carries the structural rules the registry has no name for -- the class count, the station count, the phase count and the steady-state restriction.

      Parameters:
      sn - the network structure
      options - solver options, read for the timespan
      Returns:
      empty string when the sampler may run, else the refusal