![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
FINITE CAPACITY REGIONS, MATLAB's refreshRegions output. More...
#include <line/lang/qn/network_struct.h>
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< DropStrategy > | rule |
| 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 |
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.
| 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().
| 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().
| 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().
| 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().
| 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().
| 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.
| std::vector<DropStrategy> line::qn::NetworkStruct< T >::Region::rule |
per class
Definition at line 1028 of file network_struct.h.
| 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().
| std::vector<T> line::qn::NetworkStruct< T >::Region::weight |
Definition at line 1029 of file network_struct.h.