![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The assembled matrix-form drift and the maps that read metrics off it. More...
#include <line/solvers/fluid/fluid_matrix.h>
Public Attributes | |
| Matrix< double > | W |
| (n x n) drift generator | |
| std::vector< double > | alambda |
| (n) external arrivals per state | |
| std::vector< double > | x0 |
| (n) initial state | |
| std::vector< std::size_t > | qa |
| (n) 0-based station of each state | |
| std::vector< double > | sa |
| (n) server count of that station | |
| std::vector< bool > | is_source |
| (n) state belongs to an EXT station | |
| std::vector< bool > | is_inf |
| (n) state belongs to an INF station | |
| Matrix< double > | sqc |
| Matrix< double > | suc |
| Matrix< double > | stc |
| (M*K x n) queue, utilization, throughput maps | |
| Matrix< double > | src_arrival |
| (M x K) per-class arrival rate of each EXT station | |
| std::size_t | nstates = 0 |
| double | min_rate = 1.0 |
| smallest nonzero |W|, sets the horizon | |
| double | pstar = 0.0 |
| >0 selects the p-norm smoothing | |
| bool | var_closure = false |
| When true, min(E[n], c) is replaced by E[min(n, c)] under the station's equilibrium geometric marginal. | |
The assembled matrix-form drift and the maps that read metrics off it.
Definition at line 67 of file fluid_matrix.h.
| std::vector<double> line::fluid::FluidMatrixSystem::alambda |
(n) external arrivals per state
Definition at line 69 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_drift(), line::fluid::fluid_matrix_system(), and line::fluid::fluid_symodes().
| std::vector<bool> line::fluid::FluidMatrixSystem::is_inf |
(n) state belongs to an INF station
Definition at line 74 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_degenerate(), line::fluid::fluid_matrix_system(), and line::fluid::fluid_symodes().
| std::vector<bool> line::fluid::FluidMatrixSystem::is_source |
(n) state belongs to an EXT station
Definition at line 73 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_degenerate(), line::fluid::fluid_matrix_system(), and line::fluid::fluid_symodes().
| double line::fluid::FluidMatrixSystem::min_rate = 1.0 |
smallest nonzero |W|, sets the horizon
Definition at line 78 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_system().
| std::size_t line::fluid::FluidMatrixSystem::nstates = 0 |
Definition at line 77 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_degenerate(), line::fluid::fluid_matrix_drift(), line::fluid::fluid_matrix_system(), and line::fluid::fluid_symodes().
| double line::fluid::FluidMatrixSystem::pstar = 0.0 |
>0 selects the p-norm smoothing
Definition at line 79 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_system().
| std::vector<std::size_t> line::fluid::FluidMatrixSystem::qa |
(n) 0-based station of each state
Definition at line 71 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_system().
| std::vector<double> line::fluid::FluidMatrixSystem::sa |
(n) server count of that station
Definition at line 72 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_system().
| Matrix<double> line::fluid::FluidMatrixSystem::sqc |
Definition at line 75 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_degenerate(), and line::fluid::fluid_matrix_system().
| Matrix<double> line::fluid::FluidMatrixSystem::src_arrival |
(M x K) per-class arrival rate of each EXT station
Definition at line 76 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_system().
| Matrix<double> line::fluid::FluidMatrixSystem::stc |
(M*K x n) queue, utilization, throughput maps
Definition at line 75 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_system().
| Matrix<double> line::fluid::FluidMatrixSystem::suc |
Definition at line 75 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_system().
| bool line::fluid::FluidMatrixSystem::var_closure = false |
When true, min(E[n], c) is replaced by E[min(n, c)] under the station's equilibrium geometric marginal.
Set ONLY by the degeneracy repair in solver_fluid: min() is FLAT above the server count, so a network of saturated stations has a CONTINUUM of fixed points and the integrator returns whichever one it stopped at. See BUGS.md, _kb/06-solver-catalog.md.
Definition at line 87 of file fluid_matrix.h.
| Matrix<double> line::fluid::FluidMatrixSystem::W |
(n x n) drift generator
Definition at line 68 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_degenerate(), line::fluid::fluid_matrix_drift(), line::fluid::fluid_matrix_system(), and line::fluid::fluid_symodes().
| std::vector<double> line::fluid::FluidMatrixSystem::x0 |
(n) initial state
Definition at line 70 of file fluid_matrix.h.
Referenced by line::fluid::fluid_matrix_system(), and line::fluid::fluid_symodes().