![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Port of matlab/src/api/sn/sn_zero_capacity.m: the closed chains trapped at a zero-capacity station. More...
#include <cmath>#include <cstddef>#include <string>#include <vector>#include "line/lang/qn/network_struct.h"#include "line/num/number.h"Go to the source code of this file.
Classes | |
| struct | line::api::ZeroCapacity |
| What sn_zero_capacity reports. More... | |
Namespaces | |
| namespace | line |
| Conservation laws of a layered queueing network, enumerated from its structure. | |
| namespace | line::api |
Functions | |
| template<class T> | |
| ZeroCapacity | line::api::sn_zero_capacity (const qn::NetworkStruct< T > &sn) |
Port of matlab/src/api/sn/sn_zero_capacity.m: the closed chains trapped at a zero-capacity station.
A station with zero servers never completes a job, nor does one that serves a class at rate zero (an infinite mean service time, which is how a layer above a zero-capacity LQN element sees it). A closed chain that visits one therefore ends, in steady state, with its whole population parked there: zero throughput everywhere, an infinite response time at that station, and no load on any other. The remaining chains are unaffected, since a trapped job holds no other resource, so a model with such chains is solved as the model without them. A rate-zero class at a finite-server station shared with a live chain would hold servers forever, so that case is refused.
RATE ZERO IS READ ON AN ENABLED PAIR ONLY. The reference's sn.rates holds NaN where a class has no service; this port holds 0 there with the parallel disabled flag set, so a bare rates == 0 would read every unvisited pair as stalled. Only a visited pair can trap a chain, so the outcome is the same.
ARITHMETIC: field. Comparisons only.
Definition in file sn_zero_capacity.h.