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

NNPP: a nonstationary non-Poisson arrival process, generated by thinning a majorizing stream (Lewis and Shedler 1979) whose epochs come from a Weibull equilibrium renewal process inverted through the majorizing mean-value function (SCIATA, Liu, Kuhl, Liu and Wilson, WSC 2015). More...

#include <algorithm>
#include <cmath>
#include <cstddef>
#include <cstdint>
#include <iostream>
#include <limits>
#include <random>
#include <string>
#include <vector>
#include "line/solvers/ldes/ldes_ssj_variates.h"
#include "line/util/error.h"
#include "line/util/line_console.h"
Include dependency graph for nnpp.h:

Go to the source code of this file.

Classes

class  line::lang::Nnpp
struct  line::lang::Nnpp::Stream
 One arrival path: renewal epoch in majorizer space, first-gap flag, last arrival. More...

Namespaces

namespace  line
 Conservation laws of a layered queueing network, enumerated from its structure.
namespace  line::lang

Detailed Description

NNPP: a nonstationary non-Poisson arrival process, generated by thinning a majorizing stream (Lewis and Shedler 1979) whose epochs come from a Weibull equilibrium renewal process inverted through the majorizing mean-value function (SCIATA, Liu, Kuhl, Liu and Wilson, WSC 2015).

The rate function lambda(t) lives on [0, S] and is either an EPTMP (exponential of a polynomial plus sines) or a piecewise-linear interpolation of knots. With dispersion C = 1 the renewal gaps are Exp(1) and the method IS Lewis-Shedler thinning of an NHPP; with C != 1 the Weibull shape is chosen so the renewal gaps have mean 1 and SCV C, which is what gives the arrival counts their dispersion ratio.

EVERY DETERMINISTIC QUANTITY HERE IS PINNED ACROSS THE FOUR CODEBASES at 1e-12 relative: the majorizer (golden section with a safety max, or the exact knot maximum), the target mean value mu(t) (exact trapezoid, or composite Simpson with a fixed panel rule), and the Weibull shape/scale (exactly 200 bisection steps in log-shape). The operation order follows the shared specification, so do not "simplify" an expression here without changing the other three.

The sampler is stochastic and only statistically comparable across languages. One Stream per arrival path carries the last renewal epoch in majorizer space, the first-gap flag and the last accepted arrival.

Definition in file nnpp.h.