Package jline.solvers

Class SolverOptions.Config

java.lang.Object
jline.solvers.SolverOptions.Config
Enclosing class:
SolverOptions

public static class SolverOptions.Config extends Object
Advanced configuration options for specialized solver features. These options control solver-specific behavior and may not be applicable to all solver types.
  • Field Summary

    Fields
    Modifier and Type
    Field
    Description
    double
    AoI preemption/replacement probability override for Age of Information analysis.
    State space compression method
    CTMC decomposition/aggregation method for Env solver.
    int
    Number of iterations for iterative decomposition/aggregation methods (kms, takahashi).
    Alpha parameter for Env solver Courtois decomposition (default: 0.015) Controls the coupling threshold for environment state grouping
    boolean
    Enable event caching for SSA
    Fork-join handling strategy
    boolean
    Hide immediate transitions from analysis
    High-variance class handling strategy
    boolean
    Enable interlocking optimization
    State merging strategy
    double
    Host layer convergence tolerance (utilization delta).
    int
    Minimum outer iterations before checking host convergence.
    int
    Maximum task inner iterations per host outer iteration.
    double
    Task layer convergence tolerance (utilization delta).
    Multi-server scheduling strategy
    Method for non-Markovian distribution conversion.
    int
    Order (number of phases) for non-Markovian distribution approximation.
    Non-preemptive priority handling
    int
    Number of points for CDF (Cumulative Distribution Function) computation.
    boolean
    Whether to preserve deterministic distributions during non-Markovian approximation (true keeps Det, false approximates with PH).
    P-norm smoothing parameters for fluid solvers
    Under-relaxation mode for SolverLN convergence improvement.
    double
    Relaxation factor (omega) when relaxation is enabled.
    int
    Error history window size for adaptive relaxation mode.
    double
    Minimum relaxation factor for adaptive mode.
    boolean
    Enable remote execution via REST API (LQNS-specific).
    URL of lqns-rest server for remote execution (LQNS-specific).
    int
    Maximum state space size
    State space generation strategy
    Variance reduction technique for LDES simulation.
  • Constructor Summary

    Constructors
    Constructor
    Description
     
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    Check if a configuration parameter exists
    get(String key)
    Retrieve a configuration parameter
    void
    put(String key, Object value)
    Store a configuration parameter

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • highvar

      public String highvar
      High-variance class handling strategy
    • multiserver

      public String multiserver
      Multi-server scheduling strategy
    • np_priority

      public String np_priority
      Non-preemptive priority handling
    • pstar

      public List<Double> pstar
      P-norm smoothing parameters for fluid solvers
    • variates

      public String variates
      Variance reduction technique for LDES simulation.

      Available options:

      • "none": No variance reduction (standard simulation)
      • "antithetic": Antithetic variates using synchronized 1-U method. Generates paired samples with negative correlation by using antithetic variates to reduce variance through negative correlation.
      • "control": Control variates using mean-based correction. Applies post-hoc corrections based on deviation of sampled means from known theoretical means (E[arrival]=1/λ, E[service]=1/μ).
      • "both": Combined antithetic and control variates

      Default: "none"

    • env_alpha

      public Double env_alpha
      Alpha parameter for Env solver Courtois decomposition (default: 0.015) Controls the coupling threshold for environment state grouping
    • fork_join

      public String fork_join
      Fork-join handling strategy
    • merge

      public String merge
      State merging strategy
    • compress

      public String compress
      State space compression method
    • space_max

      public int space_max
      Maximum state space size
    • interlocking

      public boolean interlocking
      Enable interlocking optimization
    • eventcache

      public boolean eventcache
      Enable event caching for SSA
    • hide_immediate

      public boolean hide_immediate
      Hide immediate transitions from analysis
    • state_space_gen

      public String state_space_gen
      State space generation strategy
    • nonmkv

      public String nonmkv
      Method for non-Markovian distribution conversion.

      Available options:

      • "none": No conversion, keep distributions as-is
      • "bernstein": Convert using Bernstein polynomial approximation to phase-type

      Default: "bernstein"

    • nonmkvorder

      public int nonmkvorder
      Order (number of phases) for non-Markovian distribution approximation. Higher values provide more accurate approximations but increase computational cost.

      Default: 20

    • preserveDet

      public boolean preserveDet
      Whether to preserve deterministic distributions during non-Markovian approximation (true keeps Det, false approximates with PH).
    • da

      public String da
      CTMC decomposition/aggregation method for Env solver.

      Available options:

      • "courtois": Courtois decomposition (default)
      • "kms": Koury-McAllister-Stewart method
      • "takahashi": Takahashi's method
      • "multi": Multigrid method

      Default: "courtois"

    • da_iter

      public int da_iter
      Number of iterations for iterative decomposition/aggregation methods (kms, takahashi).

      Default: 10

    • relax

      public String relax
      Under-relaxation mode for SolverLN convergence improvement.

      Available options:

      • "auto": Start without relaxation, enable when oscillation detected (default)
      • "fixed": Always use relax_factor
      • "adaptive": Adjust omega based on error trajectory
      • "none": Disable relaxation

      Default: "auto"

    • relax_factor

      public double relax_factor
      Relaxation factor (omega) when relaxation is enabled. Value should be between 0 and 1, where lower values provide more damping.

      Default: 0.1

    • relax_min

      public double relax_min
      Minimum relaxation factor for adaptive mode.

      Default: 0.1

    • relax_history

      public int relax_history
      Error history window size for adaptive relaxation mode.

      Default: 5

    • mol_task_inner_max

      public int mol_task_inner_max
      Maximum task inner iterations per host outer iteration.

      Default: 50

    • mol_task_inner_tol

      public double mol_task_inner_tol
      Task layer convergence tolerance (utilization delta).

      Default: 1e-4

    • mol_host_outer_tol

      public double mol_host_outer_tol
      Host layer convergence tolerance (utilization delta).

      Default: 1e-4

    • mol_min_steps

      public int mol_min_steps
      Minimum outer iterations before checking host convergence.

      Default: 2

    • num_cdf_pts

      public int num_cdf_pts
      Number of points for CDF (Cumulative Distribution Function) computation. Used by SolverFluid and SolverMAM for response time distribution analysis.

      Default: 200 (100 for MAM solver)

    • aoi_preemption

      public double aoi_preemption
      AoI preemption/replacement probability override for Age of Information analysis. Set to a value between 0 and 1 to override automatic detection. NaN means auto-detect from scheduling strategy.

      Default: NaN (auto-detect)

    • remote

      public boolean remote
      Enable remote execution via REST API (LQNS-specific). When true, solver uses HTTP to communicate with lqns-rest server.

      Default: false

    • remote_url

      public String remote_url
      URL of lqns-rest server for remote execution (LQNS-specific).

      Default: "http://localhost:8080"

  • Constructor Details

    • Config

      public Config()
  • Method Details

    • put

      public void put(String key, Object value)
      Store a configuration parameter
    • get

      public Object get(String key)
      Retrieve a configuration parameter
    • containsKey

      public boolean containsKey(String key)
      Check if a configuration parameter exists