![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Cumulative incidence functions of one semi-Markov stage. More...
#include <algorithm>#include <cstddef>#include <vector>#include "line/lang/distribution.h"#include "line/lang/lang_types.h"#include "line/util/error.h"#include "line/util/matrix.h"Go to the source code of this file.
Classes | |
| struct | line::mc::SmpStageCif |
| What smp_stage_cif returns: C(h, j) = CIF_h(t_j) and Fhold[j]. More... | |
Namespaces | |
| namespace | line |
| Conservation laws of a layered queueing network, enumerated from its structure. | |
| namespace | line::mc |
| namespace | line::mc::smp_detail |
Functions | |
| std::vector< double > | line::mc::smp_detail::linspace (double a, double b, std::size_t n) |
| linspace(a, b, n), with the last point exactly b. | |
| template<class T> | |
| std::vector< double > | line::mc::smp_detail::cdf_row (const lang::Distrib< T > &d, const std::vector< double > &t) |
| The CDF of d at every instant of t, clamped to [0, 1] (cdfRow). | |
| template<class T> | |
| SmpStageCif | line::mc::smp_stage_cif (const std::vector< lang::Distrib< T > > &arcs, const std::vector< double > &probs, const std::vector< double > &t) |
| CIF and holding-time CDF of a stage at the ascending instants t. | |
Cumulative incidence functions of one semi-Markov stage.
Port of matlab/src/api/mc/smp_stage_cif.m. A stage left by E possible transitions is described in one of two ways, which are the two parameterizations of a semi-Markov kernel compared by Asanjarani, Liquet and Nazarathy (arXiv:2005.14462, 2020):
COMPETING arcs (transition intensities, probs empty): every arc h is a latent clock with CDF F_h started on entry, the first to ring picks the destination, and CIF_h(t) = int_0^t prod_{k!=h} (1 - F_k(s)) dF_h(s), Fhold(t) = 1 - prod_k (1 - F_k(t)).
KERNEL arcs (sojourn times, probs the jump probabilities): the destination is drawn on entry and the sojourn then has the law F_h, so CIF_h(t) = p_h F_h(t), Fhold(t) = sum_h p_h F_h(t).
The competing integral is the Riemann-Stieltjes sum on the grid t with the other clocks' survival read at the interval midpoints, which needs no density and so admits a deterministic clock. When t(1) > 0 the sum starts at zero on 200 uniform intervals below t(1), whose values are dropped. Every CDF is clamped to [0, 1] before use.
Definition in file smp_stage_cif.h.