LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
line::fluid::FluidDaeConstraints Struct Reference

Finite capacity regions as linear admission constraints on the fluid state. More...

#include <line/solvers/fluid/fluid_dae.h>

Collaboration diagram for line::fluid::FluidDaeConstraints:

Public Member Functions

bool empty () const

Static Public Member Functions

static std::size_t none ()

Public Attributes

Matrix< double > A
 (ncon x nstate)
Matrix< double > As
 (ncon x nstaging), see fluid_dae_extend
std::vector< double > b
std::vector< std::size_t > region
 which region, npos for a station cap
std::vector< std::size_t > station
 which station, npos for a region cap
std::vector< std::size_t > klass_row
 which class, npos when several
std::vector< bool > staged
 true where the job waits in a room
std::vector< std::string > label
std::vector< std::vector< bool > > member
 (nregions x nstate)
std::vector< std::size_t > coord_class
std::size_t nregions = 0

Detailed Description

Finite capacity regions as linear admission constraints on the fluid state.

EVERY FORM THE REGION CAN TAKE IS ONE FAMILY. A region carries a global job cap, per-class caps, a memory budget with per-class sizes, and an optional linear pair (A,b); all four are the same object once written against the state, Arow x <= b with Arow the per-class weight on the region's coordinates. Collapsing them here means the solver carries one mechanism rather than four.

ONLY WAITQ IS A CONSTRAINT ON THIS DRIFT. Under a waiting queue a blocked job waits outside the region and is admitted later, so the population is conserved and only the admission FLOW is throttled. DROP destroys the job, BAS/BBS/RSRD hold a server upstream, and the retrial rules move it to an orbit: each changes the event set itself, so each needs a different drift rather than a constraint on this one.

Definition at line 111 of file fluid_dae.h.

Member Function Documentation

◆ empty()

bool line::fluid::FluidDaeConstraints::empty ( ) const
inline

◆ none()

std::size_t line::fluid::FluidDaeConstraints::none ( )
inlinestatic

Definition at line 124 of file fluid_dae.h.

Referenced by line::fluid::fluid_dae_constraints().

Member Data Documentation

◆ A

◆ As

Matrix<double> line::fluid::FluidDaeConstraints::As

◆ b

◆ coord_class

std::vector<std::size_t> line::fluid::FluidDaeConstraints::coord_class

◆ klass_row

std::vector<std::size_t> line::fluid::FluidDaeConstraints::klass_row

which class, npos when several

Definition at line 117 of file fluid_dae.h.

Referenced by line::fluid::fluid_dae_constraints().

◆ label

std::vector<std::string> line::fluid::FluidDaeConstraints::label

◆ member

std::vector<std::vector<bool> > line::fluid::FluidDaeConstraints::member

◆ nregions

std::size_t line::fluid::FluidDaeConstraints::nregions = 0

◆ region

std::vector<std::size_t> line::fluid::FluidDaeConstraints::region

which region, npos for a station cap

Definition at line 115 of file fluid_dae.h.

Referenced by line::fluid::fluid_dae_constraints(), and line::fluid::fluid_dae_staging().

◆ staged

◆ station

std::vector<std::size_t> line::fluid::FluidDaeConstraints::station

which station, npos for a region cap

Definition at line 116 of file fluid_dae.h.

Referenced by line::fluid::fluid_dae_constraints().


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