LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Toggle main menu visibility
Loading...
Searching...
No Matches
pfqn_mvajd.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_MVAJD_H
6
#define LINE_API_PFQN_MVAJD_H
7
8
/**
9
* @file
10
* @ingroup api_pfqn
11
* Joint-dependent name of pfqn_mvaoi: the mean-value analysis of a closed
12
* network whose station rates read the whole per-class occupancy vector.
13
*
14
* The two names denote the SAME routine because the recursion evaluates the rate
15
* callable at a full occupancy vector, mu_i(s_i + e_r) with s_i the shift (the
16
* occupancy already committed at the bottom of station i), and never inspects
17
* the structure of mu_i. That is the "third form" of the Conditional MVA of
18
* Casale (QUESTA 2009), a rate depending on the full per-class occupancy vector,
19
* so any joint-dependent scaling eta_i(n) (sn.jdscaling) is admissible.
20
*
21
* Unlike the AMVA joint-dependence route, which evaluates eta at the MEAN
22
* arrival-instant vector 1 + E[Q] and therefore collapses a support indicator to
23
* 1, this routine evaluates the rate at exact integer occupancies and is exact
24
* for the balanced-fair station, at the cost of walking
25
* prod_r C(N_r+K+1,K+1) states with K joint-dependent stations.
26
*/
27
28
#include <functional>
29
#include <vector>
30
31
#include "
line/api/pfqn/pfqn_mvaoi.h
"
32
33
namespace
line
{
34
namespace
pfqn
{
35
36
/** @see pfqn_mvaoi */
37
template
<
class
T>
38
MvaoiResult<T>
pfqn_mvajd
(
const
std::vector<T>& Z,
const
std::vector<int>& N,
39
const
std::vector<std::function<T(
const
std::vector<int>&)>>& mu,
40
const
Matrix<T>
& Dli,
const
Matrix<T>
& visits,
bool
want_soi) {
41
return
pfqn_mvaoi
(Z, N, mu, Dli, visits, want_soi);
42
}
43
44
/** @see pfqn_mvaoi */
45
template
<
class
T>
46
MvaoiResult<T>
pfqn_mvajd
(
const
std::vector<T>& Z,
const
std::vector<int>& N,
47
const
std::vector<std::function<T(
const
std::vector<int>&)>>& mu,
48
const
Matrix<T>
& Dli,
const
Matrix<T>
& visits) {
49
return
pfqn_mvaoi
(Z, N, mu, Dli, visits);
50
}
51
52
/** @see pfqn_mvaoi */
53
template
<
class
T>
54
MvaoiResult<T>
pfqn_mvajd
(
const
std::vector<T>& Z,
const
std::vector<int>& N,
55
const
std::vector<std::function<T(
const
std::vector<int>&)>>& mu,
56
const
Matrix<T>
& Dli,
bool
want_soi) {
57
return
pfqn_mvaoi
(Z, N, mu, Dli, want_soi);
58
}
59
60
/** @see pfqn_mvaoi */
61
template
<
class
T>
62
MvaoiResult<T>
pfqn_mvajd
(
const
std::vector<T>& Z,
const
std::vector<int>& N,
63
const
std::vector<std::function<T(
const
std::vector<int>&)>>& mu,
64
const
Matrix<T>
& Dli) {
65
return
pfqn_mvaoi
(Z, N, mu, Dli);
66
}
67
68
}
// namespace pfqn
69
}
// namespace line
70
71
#endif
// LINE_API_PFQN_MVAJD_H
line::Matrix
Definition
matrix.h:56
line::pfqn
Definition
cd_peak_scaling.h:43
line::pfqn::pfqn_mvaoi
MvaoiResult< T > pfqn_mvaoi(const std::vector< T > &Z, const std::vector< int > &N, const std::vector< std::function< T(const std::vector< int > &)> > &mu, const Matrix< T > &Dli, const Matrix< T > &visits, bool want_soi)
Mean-value analysis of a closed network with order-independent (OI) stations, the composition-depende...
Definition
pfqn_mvaoi.h:122
line::pfqn::pfqn_mvajd
MvaoiResult< T > pfqn_mvajd(const std::vector< T > &Z, const std::vector< int > &N, const std::vector< std::function< T(const std::vector< int > &)> > &mu, const Matrix< T > &Dli, const Matrix< T > &visits, bool want_soi)
Definition
pfqn_mvajd.h:38
line
Definition
aoi_dist2ph.h:52
pfqn_mvaoi.h
Mean-value analysis of a closed network with order-independent (OI) stations, the composition-depende...
line::pfqn::MvaoiResult
Return value of pfqn_mvaoi, mirroring [X, Qoi, Qli, Qdelay, Soi].
Definition
pfqn_mvaoi.h:82
include
line
api
pfqn
pfqn_mvajd.h
Generated by
1.18.0