LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Toggle main menu visibility
Loading...
Searching...
No Matches
pfqn_ncjd.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012-2026, QORE Lab, Imperial College London
3
* All rights reserved.
4
*/
5
#ifndef LINE_API_PFQN_NCJD_H
6
#define LINE_API_PFQN_NCJD_H
7
8
/**
9
* @file
10
* @ingroup api_pfqn
11
* Joint-dependent name of pfqn_ncoi: the balance-function convolution of a
12
* closed network whose station rates read the whole per-class occupancy vector.
13
*
14
* The two names denote the SAME routine because the balanced-fairness recursion
15
* Phi_i(0) = 1, mu_i(n) Phi_i(n) = sum_{r: n_r>0} v_{i,r} Phi_i(n - e_r) never
16
* inspects the structure of mu_i: it evaluates the callable at the full count
17
* vector n. Order independence (mu_i constant on each support) is a modelling
18
* restriction that buys insensitivity and a physical reading of Phi, not
19
* something the convolution uses, so any joint-dependent scaling eta_i(n)
20
* (sn.jdscaling) is admissible, with the proviso that the product form it
21
* induces is the balanced-fair one matched to that rate.
22
*
23
* Use pfqn_ncoi when the model is genuinely order independent and the name
24
* should say so, this one when the rate is a general joint dependence.
25
* pfqn_clwjd is the transform route and is NOT merely a renaming: it needs the
26
* rate to saturate at a finite cutoff.
27
*/
28
29
#include <vector>
30
31
#include "
line/api/pfqn/pfqn_ncoi.h
"
32
33
namespace
line
{
34
namespace
pfqn
{
35
36
/** @see pfqn_ncoi */
37
template
<
class
T>
38
NcResult<T>
pfqn_ncjd
(
const
std::vector<T>& Z,
const
std::vector<int>& N,
39
const
std::vector<
OiRate<T>
>& mu,
const
Matrix<T>
& visits) {
40
return
pfqn_ncoi
(Z, N, mu, visits);
41
}
42
43
/** @see pfqn_ncoi */
44
template
<
class
T>
45
NcResult<T>
pfqn_ncjd
(
const
std::vector<T>& Z,
const
std::vector<int>& N,
46
const
std::vector<
OiRate<T>
>& mu) {
47
return
pfqn_ncoi
(Z, N, mu,
Matrix<T>
());
48
}
49
50
}
// namespace pfqn
51
}
// namespace line
52
53
#endif
// LINE_API_PFQN_NCJD_H
line::Matrix
Definition
matrix.h:56
line::pfqn
Definition
cd_peak_scaling.h:43
line::pfqn::pfqn_ncoi
NcResult< T > pfqn_ncoi(const std::vector< T > &Z, const std::vector< int > &N, const std::vector< OiRate< T > > &mu, const Matrix< T > &visits)
Normalizing constant of a closed network of ORDER-INDEPENDENT (OI) / pass-and-swap stations with empt...
Definition
pfqn_ncoi.h:153
line::pfqn::pfqn_ncjd
NcResult< T > pfqn_ncjd(const std::vector< T > &Z, const std::vector< int > &N, const std::vector< OiRate< T > > &mu, const Matrix< T > &visits)
Definition
pfqn_ncjd.h:38
line::pfqn::OiRate
std::function< T(const std::vector< int > &)> OiRate
An OI station's total service rate as a function of the occupancy vector.
Definition
pfqn_ncoi.h:61
line
Definition
aoi_dist2ph.h:52
pfqn_ncoi.h
Normalizing constant of a closed network of ORDER-INDEPENDENT (OI) / pass-and-swap stations with empt...
line::pfqn::NcResult
Return value of the normalizing-constant family, mirroring Ret.pfqnNc.
Definition
pfqn_ca.h:44
include
line
api
pfqn
pfqn_ncjd.h
Generated by
1.18.0