![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
The LD-QBD blocks and parameters, the reference's optional eighth output. More...
#include <line/solvers/mam/solver_mam_ldqbd.h>
Public Attributes | |
| std::vector< Matrix< T > > | Q0 |
| std::vector< Matrix< T > > | Q1 |
| std::vector< Matrix< T > > | Q2 |
| std::size_t | Nlev = 0 |
| std::size_t | nPhases = 1 |
| bool | isPH = false |
| bool | isOpen = false |
| std::size_t | queueIdx = 0 |
| std::size_t | refIdx = 0 |
| std::size_t | M = 0 |
| double | nServers = 1.0 |
| T | mean_service = num_traits<T>::from_int(0) |
| bool | hasLLD = false |
| std::vector< T > | sf |
| Per-level service factor sf(n), with sf[0] unused so it lines up by level. | |
| double | utilPeak = 1.0 |
| The capacity that normalizes the utilization: max(c, max(alpha)), the LARGEST factor the load-dependence table declares rather than the saturated one, since a non-monotone alpha peaks in the middle. | |
| T | lambda_eff = num_traits<T>::from_int(0) |
| T | delayRate = num_traits<T>::from_int(0) |
| double | N = 0.0 |
| bool | hasSetup = false |
| The station alternates OFF -> setup -> busy -> delay-off around the service, so the chain carries phases the block builder has no place for. | |
| T | alpharate = num_traits<T>::from_int(0) |
| T | alphascv = num_traits<T>::from_int(1) |
| T | betarate = num_traits<T>::from_int(0) |
| T | betascv = num_traits<T>::from_int(1) |
The LD-QBD blocks and parameters, the reference's optional eighth output.
Built unconditionally here rather than behind a nargout test: C++ has no such thing, the cost is a few pointers, and the SolverENV state-vector analyzer is the consumer the reference built it for.
Definition at line 70 of file solver_mam_ldqbd.h.
| T line::mam::LdqbdBlocks< T >::alpharate = num_traits<T>::from_int(0) |
Definition at line 100 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| T line::mam::LdqbdBlocks< T >::alphascv = num_traits<T>::from_int(1) |
Definition at line 100 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| T line::mam::LdqbdBlocks< T >::betarate = num_traits<T>::from_int(0) |
Definition at line 101 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| T line::mam::LdqbdBlocks< T >::betascv = num_traits<T>::from_int(1) |
Definition at line 101 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| T line::mam::LdqbdBlocks< T >::delayRate = num_traits<T>::from_int(0) |
Definition at line 90 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_avg().
| bool line::mam::LdqbdBlocks< T >::hasLLD = false |
Definition at line 79 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| bool line::mam::LdqbdBlocks< T >::hasSetup = false |
The station alternates OFF -> setup -> busy -> delay-off around the service, so the chain carries phases the block builder has no place for.
When this is set the blocks above describe a server that is ALWAYS warm and must not be used: the closed regime hands the whole chain to qbd_setupdelayoff_closed instead.
Definition at line 99 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| bool line::mam::LdqbdBlocks< T >::isOpen = false |
Definition at line 75 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_avg().
| bool line::mam::LdqbdBlocks< T >::isPH = false |
Definition at line 74 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| T line::mam::LdqbdBlocks< T >::lambda_eff = num_traits<T>::from_int(0) |
Definition at line 89 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_avg().
| std::size_t line::mam::LdqbdBlocks< T >::M = 0 |
Definition at line 76 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_avg().
| T line::mam::LdqbdBlocks< T >::mean_service = num_traits<T>::from_int(0) |
Definition at line 78 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| double line::mam::LdqbdBlocks< T >::N = 0.0 |
Definition at line 91 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_avg().
| std::size_t line::mam::LdqbdBlocks< T >::Nlev = 0 |
Definition at line 72 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), line::mam::solver_mam_ldqbd_avg(), and line::mam::solver_mam_ldqbd_flatten().
| std::size_t line::mam::LdqbdBlocks< T >::nPhases = 1 |
Definition at line 73 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| double line::mam::LdqbdBlocks< T >::nServers = 1.0 |
Definition at line 77 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd().
| std::vector<Matrix<T> > line::mam::LdqbdBlocks< T >::Q0 |
Definition at line 71 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_flatten().
| std::vector<Matrix<T> > line::mam::LdqbdBlocks< T >::Q1 |
Definition at line 71 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_flatten().
| std::vector<Matrix<T> > line::mam::LdqbdBlocks< T >::Q2 |
Definition at line 71 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_flatten().
| std::size_t line::mam::LdqbdBlocks< T >::queueIdx = 0 |
Definition at line 76 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_avg().
| std::size_t line::mam::LdqbdBlocks< T >::refIdx = 0 |
Definition at line 76 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_avg().
| std::vector<T> line::mam::LdqbdBlocks< T >::sf |
Per-level service factor sf(n), with sf[0] unused so it lines up by level.
Definition at line 81 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_avg().
| double line::mam::LdqbdBlocks< T >::utilPeak = 1.0 |
The capacity that normalizes the utilization: max(c, max(alpha)), the LARGEST factor the load-dependence table declares rather than the saturated one, since a non-monotone alpha peaks in the middle.
Same rule as CTMC's ceff, which is what makes the two report the same number.
Definition at line 88 of file solver_mam_ldqbd.h.
Referenced by line::mam::solver_mam_ldqbd(), and line::mam::solver_mam_ldqbd_avg().