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

Canonical reflected-Brownian-motion correlation weight w*(t) used by the Robust Queueing Network Analyzer (RQNA). More...

#include <vector>
#include "line/api/npfqn/npfqn_types.h"
#include "line/num/number.h"
Include dependency graph for npfqn_rqna_weight.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::npfqn

Functions

template<class T>
line::npfqn::npfqn_rqna_weight (const T &t)
 Canonical reflected-Brownian-motion correlation weight w*(t) used by the Robust Queueing Network Analyzer (RQNA).
template<class T>
std::vector< T > line::npfqn::npfqn_rqna_weight (const std::vector< T > &t)
 Elementwise form, mirroring the MATLAB array argument.

Detailed Description

Canonical reflected-Brownian-motion correlation weight w*(t) used by the Robust Queueing Network Analyzer (RQNA).

Templated port of matlab/src/api/npfqn/npfqn_rqna_weight.m, cross-checked against jar/src/main/java/jline/api/npfqn/Npfqn_rqna_weight.java (identical term for term, including both numerical guards).

w*(t) = 1 - (1 - c*(t)) / (2 t) c*(t) = 2 (1 - 2t - t^2) Phi^c(sqrt(t)) + 2 sqrt(t) phi(sqrt(t)) (1 + t)

with Phi^c the standard-normal complementary cdf and phi its density. The weight increases monotonically from w*(0) = 0 to w*(Inf) = 1. Reference: W. Whitt and W. You (2018), "A Robust Queueing Network Analyzer Based on Indices of Dispersion", eqs. (24)-(25).

Arithmetic. Phi^c is an erfc and phi is an exp, neither of which exists in the field of the inputs, so this requires transcendental arithmetic and cannot be instantiated at T = Rational.

Definition in file npfqn_rqna_weight.h.