LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::ctmc::NetworkStruct< T >::Region Struct Reference

FINITE CAPACITY REGIONS, MATLAB's refreshRegions output. More...

#include <line/lang/qn/network_struct.h>

Collaboration diagram for line::ctmc::NetworkStruct< T >::Region:

Public Attributes

std::string name
 The region's declared name, as the wire carries it; a generated one otherwise.
std::vector< std::vector< double > > cap
 (nstations x nclasses+1), -1 = unbounded
std::vector< double > maxmem
 per member station, -1 = unbounded
std::vector< bool > members
 membership, independent of the caps
std::vector< DropStrategyrule
 per class
std::vector< T > weight
std::vector< T > size
 per class; size is the memory footprint
Matrix< T > lincon_A
 optional linear constraint A n <= b
std::vector< T > lincon_b

Detailed Description

template<class T>
struct line::ctmc::NetworkStruct< T >::Region

FINITE CAPACITY REGIONS, MATLAB's refreshRegions output.

A region caps the jobs (and the memory) held ACROSS a set of stations, which no per-station capacity can express: three stations each able to hold 5 jobs but at most 6 between them is a region, not three caps.

cap(i,r) is the class-r bound at station i, cap(i,K) the station's global bound, and -1 means unbounded – the reference's sentinel, kept rather than translated to infinity because it is compared with ~= -1 to test MEMBERSHIP as well as boundedness.

rule(r) decides what an arrival that would violate the region does: DROP loses it, WAITQ parks it outside every station's own queue, which is why the CTMC needs a separate waiting-room state per region and not just a filter on the enumerated space.

Definition at line 1022 of file network_struct.h.

Member Data Documentation

◆ cap

template<class T>
std::vector<std::vector<double> > line::qn::NetworkStruct< T >::Region::cap

(nstations x nclasses+1), -1 = unbounded

Definition at line 1025 of file network_struct.h.

Referenced by line::ctmc::ctmc_region_admissible().

◆ lincon_A

template<class T>
Matrix<T> line::qn::NetworkStruct< T >::Region::lincon_A

optional linear constraint A n <= b

Definition at line 1030 of file network_struct.h.

Referenced by line::ctmc::ctmc_region_admissible().

◆ lincon_b

template<class T>
std::vector<T> line::qn::NetworkStruct< T >::Region::lincon_b

Definition at line 1031 of file network_struct.h.

Referenced by line::ctmc::ctmc_region_admissible().

◆ maxmem

template<class T>
std::vector<double> line::qn::NetworkStruct< T >::Region::maxmem

per member station, -1 = unbounded

Definition at line 1026 of file network_struct.h.

Referenced by line::ctmc::ctmc_region_admissible().

◆ members

template<class T>
std::vector<bool> line::qn::NetworkStruct< T >::Region::members

membership, independent of the caps

Definition at line 1027 of file network_struct.h.

Referenced by line::ctmc::ctmc_region_admissible().

◆ name

template<class T>
std::string line::qn::NetworkStruct< T >::Region::name

The region's declared name, as the wire carries it; a generated one otherwise.

Definition at line 1024 of file network_struct.h.

◆ rule

template<class T>
std::vector<DropStrategy> line::qn::NetworkStruct< T >::Region::rule

per class

Definition at line 1028 of file network_struct.h.

◆ size

template<class T>
std::vector<T> line::qn::NetworkStruct< T >::Region::size

per class; size is the memory footprint

Definition at line 1029 of file network_struct.h.

Referenced by line::ctmc::ctmc_region_admissible().

◆ weight

template<class T>
std::vector<T> line::qn::NetworkStruct< T >::Region::weight

Definition at line 1029 of file network_struct.h.


The documentation for this struct was generated from the following file: