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

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"
Include dependency graph for sn_zero_capacity.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)

Detailed Description

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.