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
    int
    CTMC time-varying transient: number of points of the uniform time grid over which the non-homogeneous generator is propagated (one matrix exponential per interval, multiplier frozen at the interval midpoint).
    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
    boolean
    Resume the fork-join (MMT) fixed point from the iterate retained by the previous runAnalyzer call on the same solver, instead of restarting from GlobalConstants.FineTol.
    Fork-join handling strategy
    int
    Krylov subspace dimension between restarts for the GMRES path in ctmc_solve.
    boolean
    Hide immediate transitions from analysis
    High-variance class handling strategy
    boolean
    Enable interlocking optimization
    SolverLN layer initialization strategy.
    SolverLN transient coupling mode: "coupled" (default) runs the waveform-relaxation coupled layered transient, "decoupled" freezes the inter-layer demands at the converged fixed point.
    SolverLN coupled transient: which inter-layer coupling channels are injected, "both" (default), "thinkt" (client-delay only) or "callservt" (synchronous-call service only).
    int
    SolverLN coupled transient: maximum number of waveform-relaxation iterations.
    double
    SolverLN coupled transient: sup-norm tolerance on the queue-length trajectory change between relaxation iterations.
    State merging strategy
    Multi-server scheduling strategy
    Fluid closing ODE: non-homogeneous Poisson (NHPP) source intensities to track over the transient, one entry per (station, class).
    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
    Fluid closing ODE: explicit per-(station,class) rate trajectories.
    Fluid closing ODE: event rate multiplier matrix of the caller-supplied trajectory, of size numEvents x numel(rate_traj_tgrid).
    double[]
    Fluid closing ODE: time grid of the caller-supplied event rate multiplier trajectory.
    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).
    RQNA alpha correction terms toggle (eq.
    RQNA beta correction terms toggle (eqs.
    RQNA (Robust Queueing Network Analyzer) near-immediate feedback elimination toggle.
    int
    Maximum state space size
    State space generation strategy
    Stochastic iteration mode for SolverLN when one or more layer solvers return noisy estimates (simulation or Monte Carlo).
    double
    Robbins-Monro initial step a0 applied after burn-in.
    double
    Robbins-Monro step decay exponent alpha in (0.5,1].
    int
    Picard burn-in iterations before the Robbins-Monro step decay starts.
    int
    Consecutive sub-tolerance iterations of the averaged-iterate drift required to stop.
    List<int[]>
    Trajectory-based iteration (TBI) fluid method: explicit station partition.
    int
    Trajectory-based iteration (TBI) fluid method: target number of stations per cell used by the greedy agglomerative partition when tbi_cells is not provided.
    int
    Trajectory-based iteration (TBI) fluid method: maximum number of waveform relaxation sweeps per time segment.
    double
    Trajectory-based iteration (TBI) fluid method: absolute sup-norm tolerance on the state trajectory used to stop the Jacobi waveform relaxation sweeps within a time segment.
    Variance reduction technique for LDES simulation.
    SSA warmup discard fraction.
  • 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
    • warmupfrac

      public Double warmupfrac
      SSA warmup discard fraction. When set and positive the serial SSA engine discards this fraction of the collected trajectory from the mean estimates (mirroring MATLAB solver_ssa.m) and the batch-means confidence intervals use it as their transient discard; null or 0 disables the mean discard and the CI falls back to its legacy 10%.
    • 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
    • rqna_feedback_elim

      public Boolean rqna_feedback_elim
      RQNA (Robust Queueing Network Analyzer) near-immediate feedback elimination toggle. Null (default) applies elimination (Whitt-You Algorithm 2 / Section 4.2); set FALSE for plain RQNA (Algorithm 1).
    • rqna_alpha

      public Boolean rqna_alpha
      RQNA alpha correction terms toggle (eq. 34). Null (default) = enabled.
    • rqna_beta

      public Boolean rqna_beta
      RQNA beta correction terms toggle (eqs. 38-39). Null (default) = enabled.
    • 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
    • fj_warmstart

      public boolean fj_warmstart
      Resume the fork-join (MMT) fixed point from the iterate retained by the previous runAnalyzer call on the same solver, instead of restarting from GlobalConstants.FineTol. Only has an effect under an outer iteration such as SolverLN, which re-solves each layer once per outer iteration.
    • 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"

    • layer_init

      public String layer_init
      SolverLN layer initialization strategy. "bound" initializes the layer throughputs from the Majumdar-Woodside robust box bounds before the first solve; null/"none" uses the default (zero) initialization.
    • 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

    • stochiter

      public String stochiter
      Stochastic iteration mode for SolverLN when one or more layer solvers return noisy estimates (simulation or Monte Carlo).

      Available options:

      • "auto": enable Robbins-Monro mode when a stochastic layer solver is detected (default)
      • "rm": Robbins-Monro step decay with Polyak-Ruppert averaging
      • "crn": common random numbers (pinned per-layer seeds), standard convergence test
      • "off": deterministic Picard iteration
    • stochiter_alpha

      public double stochiter_alpha
      Robbins-Monro step decay exponent alpha in (0.5,1].

      Default: 0.6

    • stochiter_a0

      public double stochiter_a0
      Robbins-Monro initial step a0 applied after burn-in.

      Default: 1.0

    • stochiter_burnin

      public int stochiter_burnin
      Picard burn-in iterations before the Robbins-Monro step decay starts.

      Default: 5

    • stochiter_conseq

      public int stochiter_conseq
      Consecutive sub-tolerance iterations of the averaged-iterate drift required to stop.

      Default: 3

    • 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"

    • tbi_tol

      public double tbi_tol
      Trajectory-based iteration (TBI) fluid method: absolute sup-norm tolerance on the state trajectory used to stop the Jacobi waveform relaxation sweeps within a time segment.

      Default: 1e-3

    • tbi_iter_max

      public int tbi_iter_max
      Trajectory-based iteration (TBI) fluid method: maximum number of waveform relaxation sweeps per time segment.

      Default: 50

    • gmres_restart

      public int gmres_restart
      Krylov subspace dimension between restarts for the GMRES path in ctmc_solve. Nonpositive leaves the kernel default of min(n, 50).

      Default: 0

    • tbi_cellsize

      public int tbi_cellsize
      Trajectory-based iteration (TBI) fluid method: target number of stations per cell used by the greedy agglomerative partition when tbi_cells is not provided.

      Default: 5

    • tbi_cells

      public List<int[]> tbi_cells
      Trajectory-based iteration (TBI) fluid method: explicit station partition. Each int[] is a cell of zero-based station indices; the cells must be a disjoint cover of 0..nstations-1. Null (default) triggers the greedy agglomerative partition.
    • rate_traj_tgrid

      public double[] rate_traj_tgrid
      Fluid closing ODE: time grid of the caller-supplied event rate multiplier trajectory. Paired with rate_traj_mmat; both must be set for the channel to be active. Mirrors the MATLAB options.config.rate_traj cell {tgrid, Mmat}.

      Default: null (no time-varying multiplier)

    • rate_traj_mmat

      public Matrix rate_traj_mmat
      Fluid closing ODE: event rate multiplier matrix of the caller-supplied trajectory, of size numEvents x numel(rate_traj_tgrid). Used by the coupled LN layer transient to inject time-varying inter-layer demand.

      Default: null

    • nhpp_sched

      public List<FluidRateMultiplier.NhppEntry> nhpp_sched
      Fluid closing ODE: non-homogeneous Poisson (NHPP) source intensities to track over the transient, one entry per (station, class). Injected by SolverFluid.getTranAvg; steady-state analysis leaves this null, the NHPP steady state being its time average. Mirrors the MATLAB options.config.nhpp_sched.

      Default: null

    • rate_sched

      public List<FluidRateMultiplier.RateEntry> rate_sched
      Fluid closing ODE: explicit per-(station,class) rate trajectories. Mirrors the MATLAB options.config.rate_sched.

      Default: null

    • ctmc_tv_ngrid

      public int ctmc_tv_ngrid
      CTMC time-varying transient: number of points of the uniform time grid over which the non-homogeneous generator is propagated (one matrix exponential per interval, multiplier frozen at the interval midpoint). Only read when rate_sched is set. Mirrors the MATLAB options.config.ctmc_tv_ngrid.

      Default: 100

    • ln_transient

      public String ln_transient
      SolverLN transient coupling mode: "coupled" (default) runs the waveform-relaxation coupled layered transient, "decoupled" freezes the inter-layer demands at the converged fixed point. Mirrors the MATLAB options.config.ln_transient.
    • ln_transient_channels

      public String ln_transient_channels
      SolverLN coupled transient: which inter-layer coupling channels are injected, "both" (default), "thinkt" (client-delay only) or "callservt" (synchronous-call service only). Mirrors the MATLAB options.config.ln_transient_channels.
    • ln_transient_iter_max

      public int ln_transient_iter_max
      SolverLN coupled transient: maximum number of waveform-relaxation iterations. Mirrors options.config.ln_transient_iter_max.

      Default: 20

    • ln_transient_tol

      public double ln_transient_tol
      SolverLN coupled transient: sup-norm tolerance on the queue-length trajectory change between relaxation iterations. Mirrors options.config.ln_transient_tol.

      Default: 1e-2

  • 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