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
    options.config.aghq_nodes: nodes per simplex direction of the adaptive Gauss-Hermite rule.
    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).
    int
    Fluid 'dae' transient: largest covariance dimension integrated ALONGSIDE the mean.
    int
    Fluid 'dae': largest phase-resolved state the SIMULTANEOUS closure solve is attempted on.
    Alpha parameter for Env solver Courtois decomposition (default: 0.015) Controls the coupling threshold for environment state grouping
    boolean
    Enable event caching for SSA
    double
    CTMC transient by "fau": occupancy below which a state is dropped from the support.
    double
    CTMC transient by "fau": total probability mass the whole horizon may discard.
    int
    CTMC transient by "fau": number of points of the uniform output grid, used when options.timestep is unset.
    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.
    Fluid: stop the ODE window loop once the geometric tail of the iteration says the state is at a fixed point, instead of always running iter_max windows.
    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
    Fluid 'kp': initial covariance Sigma(0), dim-by-dim in the same layout as kp_init_sol.
    Interlock matrix of Franks (1999), Eq.
    The same matrix aggregated to the chain basis, set by the AMVA handler for the iteration it is about to run.
    boolean
    Enable interlocking optimization
    double[]
    Fluid 'kp': initial state vector in the KO-PENDER layout -- one offset counter walking the stations in order, an arrival-phase block at each EXT station-class and a service-phase block at every other, with no mass returning to the source.
    SolverLN layer initialization strategy.
    SolverLN layering 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.
    Random-environment fallback for MAP/MMPP/MMAP models on solvers that cannot consume a non-renewal process: "auto" approximates the model through its environment image, "off" rejects it as before.
    int
    Cap on the number of environment stages, i.e.
    Environment recombination used by that fallback: "auto", "meanfield" (transient-capable stage solvers only), "dec" (slow-environment limit) or "avg" (fast-environment limit).
     
    Warm-up fraction the MCMC estimator discards before it starts accumulating; null keeps 0.1.
    Maximum sweeps of the MDD level iteration; null keeps the Mdd_mcd default of 500.
    Convergence tolerance of the MDD level iteration (SolverCTMC method 'mdd'); null keeps the Mdd_mcd default of 1e-12.
    State merging strategy
    Fluid moment closure: per-station coordinate covariance blocks closing the capacity-share RATIO of the PS/FCFS/DPS/GPS branches, which is a separate closure from the min().
    int
    Fluid moment closure: largest phase-resolved state the covariance (Lyapunov) equation is attempted on.
    double[]
    Fluid moment closure: per-station population variance closing the E[min(X,c)] term of the closing drift.
    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.
    int
    Fixed orbit truncation level for the matrix-analytic retrial solver.
    double
    Relative orbit-truncation error target of the adaptive refinement in the matrix-analytic retrial solver.
    SolverCTMC.getCdfFirstPassT: "expm" (default) or "lt", selecting the dense matrix-exponential route or the Laplace-transform inversion of ctmc_passage_time.
    Family used when a concrete distribution is replaced by a Markovian surrogate: "cme" fits a concentrated matrix exponential plus an exponential tail, "ph" keeps the Erlang/Bernstein phase-type.
    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.
    RQT tail coefficient in (1,2] of the external arrival processes.
    RQT tail coefficient in (1,2] of the service processes.
    RQT toggle replacing the closed-form bound of Theorem 3 by the exact worst case over the uncertainty sets.
    RQT (Robust Queueing Theory) service adaptation regime of Table 1: "independent" (default, service distribution unknown), "normal" or "pareto".
    `options.config.runLengthPlan`: ask a simulation solver how long its run SHOULD have been for a target relative precision.
    Lattice size above which the shortest-job-next dispatch prefers the Schweitzer fixed point over the population recursion, under method 'default'.
    Grid extent at a shortest-job-next station, in units of the largest mean service time.
    Number of grid subdivisions of the job size axis at a shortest-job-next station, even.
    Utilization cap at a shortest-job-next station, strictly below one.
    Slot length in model time units, used when slotted is true; null keeps unit slots.
    boolean
    Run the solver on a discrete time scale (slot lattice) rather than on the continuous time axis.
    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.
    Computer algebra backend for symbolic analysis: "auto" searches for a line-sage-rest service and starts one from a local image if needed, "none" disables it, and any other value is either a service URL or a Docker image name.
    int
    Per-request timeout of the symbolic backend, in seconds.
    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.
    CTMC transient method: "ode" (default) integrates the forward equation, "fau" marches fast adaptive uniformization (Ctmc_fau) over the output grid.
    Variance reduction technique for LDES simulation.
    Warmup length as an ABSOLUTE number of samples to discard; null leaves the transient filter on warmupfrac.
    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

    • slotted

      public boolean slotted
      Run the solver on a discrete time scale (slot lattice) rather than on the continuous time axis. SolverLDES simulates the lattice directly; SolverNC routes to the discrete-time product-form analyzer (Solver_nc_dt_analyzer) and refuses a model outside it, rather than falling back to a continuous-time approximation. Default: false.
    • slotlength

      public Double slotlength
      Slot length in model time units, used when slotted is true; null keeps unit slots. Metrics are computed per slot and rescaled by this factor, so the caller reads back the units it built the model in.
    • highvar

      public String highvar
      High-variance class handling strategy
    • passage_method

      public String passage_method
      SolverCTMC.getCdfFirstPassT: "expm" (default) or "lt", selecting the dense matrix-exponential route or the Laplace-transform inversion of ctmc_passage_time. Null means the default.
    • fluid_earlystop

      public Boolean fluid_earlystop
      Fluid: stop the ODE window loop once the geometric tail of the iteration says the state is at a fixed point, instead of always running iter_max windows. Null means the default, which is on.
    • 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%.
    • warmup

      public Double warmup
      Warmup length as an ABSOLUTE number of samples to discard; null leaves the transient filter on warmupfrac.

      The simulators only take a FRACTION of the run, so a count is meaningful only against options.samples and is converted to warmupfrac = warmup / samples when the run is configured, not when it is parsed: the two may be given in either order. A count at or beyond the sample budget would discard the whole run and is refused rather than clamped.

    • mdd_tol

      public Double mdd_tol
      Convergence tolerance of the MDD level iteration (SolverCTMC method 'mdd'); null keeps the Mdd_mcd default of 1e-12.

      Kept separate from iter_tol on purpose: that is the solver-level fixed-point tolerance, sized for AMVA outer loops, while the level iteration is an inner numerical solve whose result is checked against the population invariant at 1e-6. Feeding iter_tol here stops the iteration short of the fixed point and trips that guard.

    • mdd_maxiter

      public Integer mdd_maxiter
      Maximum sweeps of the MDD level iteration; null keeps the Mdd_mcd default of 500.
    • aghq_nodes

      public Integer aghq_nodes
      options.config.aghq_nodes: nodes per simplex direction of the adaptive Gauss-Hermite rule. q = 1 reproduces pfqn_le; the rule costs q^(M-1) evaluations, so the default stays small.
    • mcmc_batches

      public Integer mcmc_batches
    • mcmc_burnin

      public Double mcmc_burnin
      Warm-up fraction the MCMC estimator discards before it starts accumulating; null keeps 0.1. The paper discards none and ignores the initialization bias.
    • 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.
    • rqt_regime

      public String rqt_regime
      RQT (Robust Queueing Theory) service adaptation regime of Table 1: "independent" (default, service distribution unknown), "normal" or "pareto".
    • rqt_exact

      public Boolean rqt_exact
      RQT toggle replacing the closed-form bound of Theorem 3 by the exact worst case over the uncertainty sets. Null (default) = closed form.
    • rqt_alpha_a

      public Double rqt_alpha_a
      RQT tail coefficient in (1,2] of the external arrival processes. Null (default) = 2, the finite-variance regime.
    • rqt_alpha_s

      public Double rqt_alpha_s
      RQT tail coefficient in (1,2] of the service processes. Null (default) = 2, the finite-variance regime.
    • 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
    • sjn_lattice_max

      public Double sjn_lattice_max
      Lattice size above which the shortest-job-next dispatch prefers the Schweitzer fixed point over the population recursion, under method 'default'. Null keeps the built-in threshold. Mirrors MATLAB/Python options.config.sjn_lattice_max.
    • sjn_ns

      public Integer sjn_ns
      Number of grid subdivisions of the job size axis at a shortest-job-next station, even. Null keeps the built-in value. Mirrors MATLAB/Python options.config.sjn_ns.
    • sjn_lfactor

      public Double sjn_lfactor
      Grid extent at a shortest-job-next station, in units of the largest mean service time. Null keeps the built-in value. Mirrors MATLAB/Python options.config.sjn_lfactor.
    • sjn_umax

      public Double sjn_umax
      Utilization cap at a shortest-job-next station, strictly below one. Null keeps the built-in value. Mirrors MATLAB/Python options.config.sjn_umax.
    • 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.
    • map_env

      public String map_env
      Random-environment fallback for MAP/MMPP/MMAP models on solvers that cannot consume a non-renewal process: "auto" approximates the model through its environment image, "off" rejects it as before.
    • map_env_method

      public String map_env_method
      Environment recombination used by that fallback: "auto", "meanfield" (transient-capable stage solvers only), "dec" (slow-environment limit) or "avg" (fast-environment limit).
    • map_env_maxstages

      public int map_env_maxstages
      Cap on the number of environment stages, i.e. the product of the phase orders.
    • 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
    • interlock

      public Matrix interlock
      Interlock matrix of Franks (1999), Eq. (4.7), CLASS-indexed: interlock(r,s) is the share of the class-s queue that a class-r arrival must not see, because that work was itself caused by the class-r request. Null for every model but the layers of SolverLN.
    • interlock_chain

      public Matrix interlock_chain
      The same matrix aggregated to the chain basis, set by the AMVA handler for the iteration it is about to run. Never set from outside the MVA solvers.
    • 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

    • phfit

      public String phfit
      Family used when a concrete distribution is replaced by a Markovian surrogate: "cme" fits a concentrated matrix exponential plus an exponential tail, "ph" keeps the Erlang/Bernstein phase-type. At a budget of nonmkvorder phases the ME reaches an SCV of O(1/n^2) where the Erlang stops at 1/n, and it matches the first two moments exactly. SSA, Fluid and JMT must use "ph".
    • runLengthPlan

      public Object runLengthPlan
      `options.config.runLengthPlan`: ask a simulation solver how long its run SHOULD have been for a target relative precision. Null leaves the plan uncomputed. A Double is the target relative precision at the run's own confidence level; a Map<String,Double> with keys relprecision and confidence sets both. The plan lands in result.runLengthPlan and is computed by SimRunlength.sim_runlength_plan(jline.util.matrix.Matrix, jline.util.matrix.Matrix, double, double, double).
    • 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.
    • layering

      public String layering
      SolverLN layering strategy. "srvn" (default) builds one submodel per server; "flat"/"squashed" builds a single submodel holding every processor and task. See _kb/06-solver-catalog.md (LN section).
    • 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"

    • symbolic

      public String symbolic
      Computer algebra backend for symbolic analysis: "auto" searches for a line-sage-rest service and starts one from a local image if needed, "none" disables it, and any other value is either a service URL or a Docker image name. See SymEngines.

      Default: "auto"

    • symbolic_timeout

      public int symbolic_timeout
      Per-request timeout of the symbolic backend, in seconds. Symbolic solves grow superpolynomially in the number of states, so this bounds both the client wait and the server side computation.

      Default: 300

    • 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

    • kp_init_sol

      public double[] kp_init_sol
      Fluid 'kp': initial state vector in the KO-PENDER layout -- one offset counter walking the stations in order, an arrival-phase block at each EXT station-class and a service-phase block at every other, with no mass returning to the source. Mirrors the MATLAB options.config.kp_init_sol.

      NOT SolverOptions.init_sol: that one is laid out for the CLOSING state vector, and consuming it here silently zeroes the source phase mass and with it the whole network. A wrong-sized seed is refused rather than ignored.

      Default: null

    • init_cov

      public Matrix init_cov
      Fluid 'kp': initial covariance Sigma(0), dim-by-dim in the same layout as kp_init_sol. A caller that carries a DISTRIBUTION across a handoff supplies the second moment beside the mean, so the next stage does not restart from a point mass it never had. Null keeps the default diag(theta) - theta theta' of the initial arrival phase.

      Default: null

    • moment_sigma2

      public double[] moment_sigma2
      Fluid moment closure: per-station population variance closing the E[min(X,c)] term of the closing drift. Null or all-zero selects the first-order closure, which is what every method other than minnormal uses, so the legacy code path stays bit-identical. Set by the outer fixed point of the moment-closure driver.

      Default: null

    • moment_cov

      public Matrix[] moment_cov
      Fluid moment closure: per-station coordinate covariance blocks closing the capacity-share RATIO of the PS/FCFS/DPS/GPS branches, which is a separate closure from the min(). One entry per station, null where the station needs none. Paired with moment_sigma2.

      Default: null

    • moment_maxstate

      public int moment_maxstate
      Fluid moment closure: largest phase-resolved state the covariance (Lyapunov) equation is attempted on. The solve is cubic in this dimension and the covariance is dense, so the driver refuses rather than silently crawling above it.

      Default: 200

    • dae_maxstate

      public int dae_maxstate
      Fluid 'dae': largest phase-resolved state the SIMULTANEOUS closure solve is attempted on. Lower than moment_maxstate because this route takes a finite-difference Jacobian over the unknowns rather than solving one Lyapunov equation, so its cost is quartic and not cubic. Above it the driver refuses and names options.method='minnormal', which computes the same closure by successive substitution.

      Default: 100

    • dae_maxcov

      public int dae_maxcov
      Fluid 'dae' transient: largest covariance dimension integrated ALONGSIDE the mean. The covariance adds nc^2 differential states and the Jacobian is formed by finite differences over all of them, so the cost grows as nc^4. Above this the mean is still integrated as a DAE -- population conservation stays an algebraic equation -- but the variance is held at its stationary value, which is what 'minnormal' does for the whole of its transient anyway.

      Default: 25

    • 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

    • transient_method

      public String transient_method
      CTMC transient method: "ode" (default) integrates the forward equation, "fau" marches fast adaptive uniformization (Ctmc_fau) over the output grid. It is a config key rather than a method name because it changes no stationary answer, and because a new entry in the solver's valid-method list is enumerated by the sanity harness, which then wants a baseline per method. Mirrors the MATLAB options.config.transient_method.

      Default: "ode"

    • fau_epsilon

      public double fau_epsilon
      CTMC transient by "fau": total probability mass the whole horizon may discard. It is divided by the number of grid steps, each step removing mass and none putting any back, so the accumulated defect stays below this. Mirrors options.config.fau_epsilon.

      Default: 1e-6

    • fau_delta

      public double fau_delta
      CTMC transient by "fau": occupancy below which a state is dropped from the support. Mirrors options.config.fau_delta.

      Default: 1e-12

    • fau_ngrid

      public int fau_ngrid
      CTMC transient by "fau": number of points of the uniform output grid, used when options.timestep is unset. Mirrors options.config.fau_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

    • orbit_maxlevel

      public int orbit_maxlevel
      Fixed orbit truncation level for the matrix-analytic retrial solver. Non-positive (default) selects the adaptive, residual-driven level.

      Default: 0

    • orbit_tailtol

      public double orbit_tailtol
      Relative orbit-truncation error target of the adaptive refinement in the matrix-analytic retrial solver.

      Default: 1e-6

  • 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