![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Level blocks of a BMAP/MAP/1 queue: batch Markovian arrivals against a single-departure MAP service process. More...
#include <cstddef>#include <vector>#include "line/api/mam/map_moment.h"#include "line/api/mam/mmap_lambda.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/linalg.h"#include "line/util/matrix.h"Go to the source code of this file.
Classes | |
| struct | line::mam::QbdBmapBmap1Blocks< T > |
| The level blocks assembled by qbd_bmapbmap1. More... | |
Namespaces | |
| namespace | line |
| namespace | line::mam |
Functions | |
| template<class T> | |
| QbdBmapBmap1Blocks< T > | line::mam::qbd_bmapbmap1 (const Map< T > &arrival, const std::vector< T > &pbatch, const Map< T > &service) |
| Level blocks of a BMAP/MAP/1 queue. | |
Level blocks of a BMAP/MAP/1 queue: batch Markovian arrivals against a single-departure MAP service process.
Templated port of matlab/src/api/mam/qbd_bmapbmap1.m. The level is the number in system and the phase is the pair (arrival phase, service phase) with the arrival phase major, the same layout as qbd_mapmap1. A batch of size b raises the level by b, so the process is an M/G/1-type chain rather than a QBD, with one up-block per batch size:
A1[b] = (D1^a p_b) (x) I_ns an arrival batch of size b, level up by b A0 = D0^a (+) D0^s no event A_1 = I_na (x) D1^s a service completion, level down by one A0bar = D0^a (x) I_ns level zero, no server busy B0 = D0^a (+) I_ns level-zero local block B1[b] = A1[b] level-zero up-blocks
REFERENCE DEFECT. The MATLAB function declares NO output argument and assembles the blocks into local variables that are discarded on return; the commented-out tail of the file shows the intended Q matrix. Calling it therefore computes the blocks and throws them away, and in a context that expects a value MATLAB raises "Output argument not assigned". The port returns the blocks in a struct, which is the only content the function actually has; nothing else can be inferred from it, in particular no solution of the chain, because none is written.
Two further observations on the reference, reproduced rather than repaired:
ARITHMETIC. Kronecker products and sums only, so exact at Rational.
Definition in file qbd_bmapbmap1.h.