LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Loading...
Searching...
No Matches
polling_qsys_klimited.h File Reference

Approximate mean waiting times of a cyclic k-limited polling system. More...

#include <cstddef>
#include <string>
#include <vector>
#include "line/api/polling/polling_qsys_1limited.h"
#include "line/api/polling/polling_qsys_exhaustive.h"
#include "line/num/number.h"
#include "line/util/error.h"
Include dependency graph for polling_qsys_klimited.h:

Go to the source code of this file.

Namespaces

namespace  line
 Conservation laws of a layered queueing network, enumerated from its structure.
namespace  line::polling

Functions

template<class T>
std::vector< T > line::polling::polling_qsys_klimited (const PollingMoments< T > &m, std::vector< long > K)
template<class T>
std::vector< T > line::polling::polling_qsys_klimited (const PollingMoments< T > &m, long K)
 Scalar-K convenience overload.

Detailed Description

Approximate mean waiting times of a cyclic k-limited polling system.

Templated port of matlab/src/api/polling/polling_qsys_klimited.m. Queue i is served K_i-limited: a visit ends after K_i services or when the queue empties, whichever comes first. The approximation is Fuhrmann's relation for symmetric k-limited systems (Fuhrmann 1985; Haverkort eq. 9.27; Takagi 1988 eq. 27), applied queue by queue:

E[W_i] + b_i = (1-rho) / (1 - rho - lambda_i R/K_i) * (E[W_i^E] + b_i),

with E[W_i^E] the exact exhaustive mean waiting time of the same system and R the mean total switchover time per cycle. In the symmetric case it is exact for K=1 and as K grows to infinity. Stability requires rho + lambda_i R/K_i < 1 at every queue.

Definition in file polling_qsys_klimited.h.