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

Convolutional Bound Hierarchy (Dowdy, Eager, Gordon and Saxton 1984) on the throughput of a single-class closed product-form network. More...

#include <algorithm>
#include <cstddef>
#include <vector>
#include "line/api/pfqn/pfqn_asympt_common.h"
#include "line/num/number.h"
#include "line/util/error.h"
Include dependency graph for pfqn_cbh.h:

Go to the source code of this file.

Classes

struct  line::pfqn::CbhBounds< T >
 Return value of pfqn_cbh, mirroring [Xlo, Xhi]. More...

Namespaces

namespace  line
namespace  line::pfqn

Functions

template<class T>
CbhBounds< T > line::pfqn::pfqn_cbh (const std::vector< T > &L, int N, const T &Z, int level)
 Convolutional Bound Hierarchy (Dowdy, Eager, Gordon and Saxton 1984) on the throughput of a single-class closed product-form network.
template<class T>
CbhBounds< T > line::pfqn::pfqn_cbh (const std::vector< T > &L, int N, const T &Z)

Detailed Description

Convolutional Bound Hierarchy (Dowdy, Eager, Gordon and Saxton 1984) on the throughput of a single-class closed product-form network.

Templated port of matlab/src/api/pfqn/pfqn_cbh.m. Column c = M - level of Buzen's g array is filled from a Balanced Job Bound estimate of the first c stations (e_0 = 1, e_i = e_{i-1}/B_i), the remaining level stations are convolved exactly, and the infinite-server delay is convolved exactly as well. The BJB upper fill yields the upper bound, the lower fill the lower bound, and both meet the exact solution at level = M.

ARITHMETIC. Every step is an addition, a multiplication or a division of field elements – the balanced fill uses the arithmetic mean and the maximum of the demands, not a root or a logarithm – so the bound is EXACT in rational arithmetic and is deliberately left ungated. The only non-rational ingredient, Z^j/j!, is a rational for rational Z.

Definition in file pfqn_cbh.h.