LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::env::EnvOptions Struct Reference

Options of SolverENV. More...

#include <line/solvers/env/solver_env.h>

Collaboration diagram for line::env::EnvOptions:

Public Attributes

int iter_max = 100
double iter_tol = 1e-4
std::string stage_solver = "fluid"
 Which solver runs each FLAT stage: the fluid transient or the enumerated CTMC.
std::string method = "meanfield"
 The inter-stage coupling: meanfield is the reference's default.
std::string sojourn = "stochastic"
 options.sojourn: stochastic (default) or deterministic.
fluid::FluidOptions stage
 Options handed to each stage solver.
double stage_cutoff = -1.0
 options.cutoff of a CTMC stage, read only when stage_solver is ctmc.
double timespan_end = 100.0
 options.timespan(2) of the inner solver: the transient horizon.
std::size_t tran_points = 1001
 Points on a UNIFORM transient grid, used only where stage_grid declines to build one (a stage whose holding time is the disabled 1 x 1 zero pair).
ln::LnOptions lqn = env_default_lqn_options()
 Options of the SolverLN that runs a LAYERED stage.

Detailed Description

Options of SolverENV.

Defaults are Solver.defaultOptions.

Definition at line 110 of file solver_env.h.

Member Data Documentation

◆ iter_max

int line::env::EnvOptions::iter_max = 100

Definition at line 111 of file solver_env.h.

◆ iter_tol

double line::env::EnvOptions::iter_tol = 1e-4

Definition at line 112 of file solver_env.h.

◆ lqn

ln::LnOptions line::env::EnvOptions::lqn = env_default_lqn_options()

Options of the SolverLN that runs a LAYERED stage.

The reference names the stage solver by handing SolverENV a FACTORY – ENV(env, @(m) LN(m, @(mm) FLD(mm), 'timespan', [0 T])) – and this field is that factory's argument list, because a C++ template cannot take a MATLAB function handle. timespan_end, tran_points and tran_grid are OVERWRITTEN by the environment for every stage: the horizon and the grid the exit average is summed on belong to the coupling, not to a stage.

layer_solver defaults to fluid here where LnOptions alone defaults to mva, and the difference is not a preference: the coupling carries queue lengths across a switch and therefore needs each stage's TRANSIENT, which only the fluid layer engine produces. A caller who names another engine is refused by init, not quietly served the fluid one.

Definition at line 163 of file solver_env.h.

◆ method

std::string line::env::EnvOptions::method = "meanfield"

The inter-stage coupling: meanfield is the reference's default.

Definition at line 122 of file solver_env.h.

Referenced by line::env::solver_env(), and line::env::solver_env().

◆ sojourn

std::string line::env::EnvOptions::sojourn = "stochastic"

options.sojourn: stochastic (default) or deterministic.

Definition at line 124 of file solver_env.h.

◆ stage

fluid::FluidOptions line::env::EnvOptions::stage

Options handed to each stage solver.

Definition at line 126 of file solver_env.h.

◆ stage_cutoff

double line::env::EnvOptions::stage_cutoff = -1.0

options.cutoff of a CTMC stage, read only when stage_solver is ctmc.

An open stage needs one; a closed one enumerates its own population.

Definition at line 131 of file solver_env.h.

◆ stage_solver

std::string line::env::EnvOptions::stage_solver = "fluid"

Which solver runs each FLAT stage: the fluid transient or the enumerated CTMC.

A LAYERED stage is run by SolverLN whatever this says, and its own layer engine is named by lqn.layer_solver; asking for ctmc alongside a layered stage is refused rather than reinterpreted, since an LQN has no single generator to enumerate.

Definition at line 120 of file solver_env.h.

◆ timespan_end

double line::env::EnvOptions::timespan_end = 100.0

options.timespan(2) of the inner solver: the transient horizon.

Definition at line 133 of file solver_env.h.

◆ tran_points

std::size_t line::env::EnvOptions::tran_points = 1001

Points on a UNIFORM transient grid, used only where stage_grid declines to build one (a stage whose holding time is the disabled 1 x 1 zero pair).

It used to be the accuracy knob of the whole method, because the exit metrics are a Riemann-Stieltjes sum over whatever grid the stage was integrated on and a uniform grid resolves the HORIZON rather than the sojourn. Since 2026-08-11 each stage is integrated on the grid the sojourn asks for – 90% of the points under 5*E[S] – so the answer no longer moves with this: on renv_node_breakdown the horizon may be 100 or 1000 and Server QLen is 0.458854 or 0.459191.

Definition at line 146 of file solver_env.h.


The documentation for this struct was generated from the following file: