![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Functions | |
| template<class T> | |
| const char * | image_kind (const io::Map2RenvInfo< T > &info) |
| mapImageKind: an MMPP image preserves the modulating chain exactly; a general MAP image aggregates the event-epoch phase jumps into the phase generator, and the correlation between the jumps and the event stream is lost. | |
| template<class T> | |
| double | max_hold_time (const env::Environment< T > &e) |
| Longest mean stage sojourn of the environment, the mean-field horizon's scale. | |
| template<class T> | |
| std::string | select_env_limit (const qn::NetworkStruct< T > &sn, const env::Environment< T > &e) |
| selectEnvLimit: the timescale test between the two closed-form limits. | |
| template<class T> | |
| void | assert_stage_correspondence (const qn::NetworkStruct< T > &sn, const env::Environment< T > &e) |
| The base-to-stage index correspondence map_env_approx relies on, asserted rather than assumed. | |
| void line::solvers::map_env_detail::assert_stage_correspondence | ( | const qn::NetworkStruct< T > & | sn, |
| const env::Environment< T > & | e ) |
The base-to-stage index correspondence map_env_approx relies on, asserted rather than assumed.
map2renv copies the struct and rewrites only service entries, so station, class and node indices are identical between the base and every stage. Every column of the blend is read at the base's index, so a later change there would shift each one SILENTLY; this is what makes the correspondence an invariant rather than a coincidence.
Definition at line 146 of file map_env.h.
References assert_stage_correspondence(), line::InputError::InputError(), line::qn::NetworkStruct< T >::nclasses, line::qn::NetworkStruct< T >::nodes, line::env::Environment< T >::nstages(), line::qn::NetworkStruct< T >::nstations, and line::env::Environment< T >::stage().
Referenced by assert_stage_correspondence(), and line::solvers::map_env_approx().
| const char * line::solvers::map_env_detail::image_kind | ( | const io::Map2RenvInfo< T > & | info | ) |
mapImageKind: an MMPP image preserves the modulating chain exactly; a general MAP image aggregates the event-epoch phase jumps into the phase generator, and the correlation between the jumps and the event stream is lost.
Definition at line 67 of file map_env.h.
References image_kind(), and line::io::Map2RenvInfo< T >::is_mmpp.
Referenced by image_kind(), and line::solvers::map_env_approx().
| double line::solvers::map_env_detail::max_hold_time | ( | const env::Environment< T > & | e | ) |
Longest mean stage sojourn of the environment, the mean-field horizon's scale.
Definition at line 73 of file map_env.h.
References line::env::Environment< T >::hold_time, line::InputError::InputError(), line::mam::map_mean(), max_hold_time(), and line::env::Environment< T >::nstages().
Referenced by line::solvers::map_env_approx(), and max_hold_time().
| std::string line::solvers::map_env_detail::select_env_limit | ( | const qn::NetworkStruct< T > & | sn, |
| const env::Environment< T > & | e ) |
selectEnvLimit: the timescale test between the two closed-form limits.
Compare the mean stage holding time of the environment with the relaxation time of the model, taken as the time the slowest station needs to clear the jobs it can hold. A stage that OUTLIVES the relaxation time lets each stage reach its own steady state, which is the quasi-stationary regime (dec); a stage that expires first leaves the model responding to the mean rate only, which is the rate-averaged regime (avg). The closed population enters the relaxation time because a closed queue drains in N services, so a populous model relaxes far more slowly than one service time.
Definition at line 97 of file map_env.h.
References line::env::Environment< T >::arc(), line::env::EnvArc< T >::dist, line::env::EnvArc< T >::enabled, line::env::Environment< T >::nstages(), and select_env_limit().
Referenced by line::solvers::map_env_approx(), and select_env_limit().