![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Quadratic-reduction bound for a MAP queueing network with a delay (think time) station. More...
#include "line/api/mapqn/mapqn_params.h"#include "line/api/mapqn/mapqn_qr_common.h"#include "line/num/number.h"#include "line/util/error.h"#include "line/util/simplex.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::mapqn |
Functions | |
| template<class T> | |
| MapqnQrResult< T > | line::mapqn::mapqn_bnd_qr_delay (const MapqnParams< T > &p, int objective_queue, int objective_phase, int objective_n, MapqnSense sense=MapqnSense::Max) |
| Bound P(queue objective_queue holds objective_n jobs in phase
objective_phase) for a network with a delay station at queue M. | |
Quadratic-reduction bound for a MAP queueing network with a delay (think time) station.
Templated port of matlab/lib/qrf/mapqn_bnd_qr_delay.m (ground truth) and of jar/src/main/java/jline/api/mapqn/Mapqn_bnd_qr_delay.java.
The polytope is exactly the load-dependent one of mapqn_bnd_qr_ld plus the XZ family: sum_{n>=1,k} n p2(M,n,k,M,n,k) = (Z/D1) sum_{k,n>=1} p2(1,n,k,1,n,k) which is Little's law across the think time: the mean population at the delay station (queue M) is Z times the throughput of queue 1, whose service demand is D1. The delay station is made infinite-server by the caller through the load-dependent scalings, alpha(M,n) = n; nothing in the assembly special-cases it.
Everything the mapqn_bnd_qr_ld header says about exactness, bound handling and cost applies here unchanged. On the ordering of families: the MATLAB delay file emits PC2 before THM1 and the ld file emits it after. Row order has no effect on the optimum – it is the same polytope either way – so the shared assembly here uses one order. The families themselves are identical: despite what a summary of this domain might suggest, the MATLAB delay reference does NOT drop THM1 or THM1c, it keeps both and adds XZ.
Definition in file mapqn_bnd_qr_delay.h.