Class DiffusionAnalyzer
- All Implemented Interfaces:
FluidAnalyzer
Queue lengths are modelled as continuous variables driven by Brownian noise and integrated with the Euler-Maruyama scheme, which is the stochastic extension of the deterministic fluid limit. Each step takes the flow drift
d(i,r) = sum_(j,s) x(j,s)/mu_inv(j,s) * P[(j,s)->(i,r)] - x(i,r)/mu_inv(i,r)adds sqrt(dt)*N(0,1) per coordinate, reflects at zero and projects each class back onto its own population, which is the closed-network constraint the unconstrained SDE does not preserve.
Supported models: closed multiclass networks, scheduling PS / FCFS / INF / SIRO, single-server or infinite-server stations only.
IT IS A STOCHASTIC METHOD. Like SSA and LDES it draws from a seeded stream,
so a run is reproducible for a fixed options.seed but is NOT expected
to agree digit for digit with MATLAB, whose randn is a different
generator. Everything else -- the drift, the reflection, the projection and
the metric read-back -- is the reference's own.
Port of matlab/src/solvers/FLD/solver_fluid_diffusion.m.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidanalyze(NetworkStruct sn, SolverOptions options, SolverResult result)
-
Constructor Details
-
DiffusionAnalyzer
public DiffusionAnalyzer()
-
-
Method Details
-
analyze
- Specified by:
analyzein interfaceFluidAnalyzer
-
getXVecIt
- Specified by:
getXVecItin interfaceFluidAnalyzer
-