![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Port of solver_mam_ldqbd_transient.m: transient queue length, utilization and throughput of a single-class OPEN queue, and the fast path behind getTranAvg. More...
#include <algorithm>#include <cmath>#include <cstddef>#include <string>#include <vector>#include "line/api/mam/libqbd_taylor.h"#include "line/api/mam/map_moment.h"#include "line/lang/distribution.h"#include "line/lang/qn/network_struct.h"#include "line/solvers/mam/mam_types.h"#include "line/util/error.h"#include "line/util/expm.h"#include "line/util/linalg.h"#include "line/util/matrix.h"Go to the source code of this file.
Classes | |
| struct | line::mam::TranCurve< T > |
| One station-class transient curve, the reference's [metric, time] pair. More... | |
| struct | line::mam::TranResult< T > |
| What getTranAvg returns: queue length, utilization and throughput curves. More... | |
Namespaces | |
| namespace | line |
| namespace | line::mam |
Functions | |
| template<class T> | |
| bool | line::mam::mam_transient_qbd_applicable (const qn::NetworkStruct< T > &L) |
| Port of mam_transient_qbd_applicable.m: true when the Laplace-domain transient QBD should run instead of this fast path. | |
| template<class T> | |
| TranResult< T > | line::mam::solver_mam_ldqbd_transient (const qn::NetworkStruct< T > &L, const MamOptions &opt) |
| Port of solver_mam_ldqbd_transient.m. | |
Port of solver_mam_ldqbd_transient.m: transient queue length, utilization and throughput of a single-class OPEN queue, and the fast path behind getTranAvg.
TWO ENGINES, chosen by the buffer, and the split is forced rather than stylistic:
WHAT THE PORT DOES NOT DO. The reference's time grid in the finite branch is min(101, max(11, round(10 T))) points, which is reproduced exactly, because a transient result read off a different grid cannot be compared point for point with the reference at all.
PH SERVICE IS SINGLE-SERVER ONLY, in both branches, and the reference says so (Transient QBD with PH service supports single-server only): the level phase would have to carry the multiset of in-service phases. Refused by name.
Definition in file solver_mam_ldqbd_transient.h.