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

Sample-path Lindley recursion along a tandem of single-server FCFS queues. More...

#include <cstddef>
#include <limits>
#include <string>
#include <vector>
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
Include dependency graph for qsys_tandem_lindley.h:

Go to the source code of this file.

Classes

struct  line::qsys::TandemLindleyResult< T >
 Mirrors the struct MATLAB returns from qsys_tandem_lindley. More...

Namespaces

namespace  line
namespace  line::qsys

Functions

template<class T>
TandemLindleyResult< T > line::qsys::qsys_tandem_lindley (const std::vector< T > &A, const Matrix< T > &S, const std::vector< T > &W0=std::vector< T >())
 Sample-path Lindley recursion along a tandem of single-server FCFS queues.

Detailed Description

Sample-path Lindley recursion along a tandem of single-server FCFS queues.

Templated port of matlab/src/api/qsys/qsys_tandem_lindley.m. No JAR counterpart. Given the interarrival times A of N customers at the first station and the (N x K) service times S, it replays

W(n+1,k) = max(W(n,k) + S(n,k) - G(n,k), 0)

where G(n,k) is the interarrival gap SEEN AT STATION k. The coupling that makes this a tandem rather than K independent queues is the gap update

G(n,k+1) = max(G(n,k) - W(n,k) - S(n,k), 0) + S(n+1,k),

the interdeparture time of station k: customer n+1 either catches up with customer n, in which case the gap collapses to the service time of n+1 at station k, or it does not, and the residual gap survives. Nothing here is distributional, so the recursion holds for arbitrary service laws and is the reference any conditional-moment approximation is checked against.

The last customer has no successor, so its row of G stays unset; MATLAB leaves it NaN and the port does the same rather than filling it with a value that has no meaning.

Reference: S. Palomo, J. Pender, "Learning the Tandem Network Lindley Recursion", Proc. Winter Simulation Conference, 2021. Registered in .citations() as 'tandemlindley'.

ARITHMETIC: additions, subtractions and comparisons only, so the exact instantiation replays the same sample path with no rounding at all.

Definition in file qsys_tandem_lindley.h.