LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
solver_mam_mapmap1_exact.h File Reference

Port of solver_mam_mapmap1_exact.m: the exact fast path SolverMAM tries BEFORE anything else, for a single-class open Source -> FCFS Queue -> Sink model whose arrival or service is a genuinely CORRELATED MAP. More...

Include dependency graph for solver_mam_mapmap1_exact.h:

Go to the source code of this file.

Classes

struct  line::mam::MapMap1Exact< T >
 Result of the fast path; ok false means the model is not in its regime. More...

Namespaces

namespace  line
namespace  line::mam

Functions

template<class T>
MapMap1Exact< T > line::mam::solver_mam_mapmap1_exact (const qn::NetworkStruct< T > &L)

Detailed Description

Port of solver_mam_mapmap1_exact.m: the exact fast path SolverMAM tries BEFORE anything else, for a single-class open Source -> FCFS Queue -> Sink model whose arrival or service is a genuinely CORRELATED MAP.

Why it comes first. The decomposition methods approximate exactly this case: dec.source hands the service to MMAPPH1FCFS as a renewal phase type, which keeps the service-time marginal and discards the correlation between consecutive services. When the process is renewal the two agree and the fast path stands down (the is_renewal_map test below); when it is not, the fast path returns the exact matrix-geometric answer instead.

The reference reaches Q_CT_MAP_MAP_1; this port reaches qbd_mapmap1, which solves the same level-independent QBD from the port's own machinery (see api/mam/qbd_mapmap1.h for the measured agreement).

ok = false means "not an exactly-solvable single MAP/MAP/1 queue", and the caller falls through to the decomposition. Every early return in the reference is reproduced, including the stability test lambda < mu: an unstable or degenerate model is left to the fallback rather than answered with a divergent geometric series.

Definition in file solver_mam_mapmap1_exact.h.