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

Fit a MAP(2) to three moments and an asymptotic index of dispersion. More...

Include dependency graph for map2_fit_idc.h:

Go to the source code of this file.

Classes

struct  line::mam::Map2FitIdcResult< T >
 The fitted process and which of the reference's five outcomes produced it. More...

Namespaces

namespace  line
namespace  line::mam

Functions

template<class T>
Map2FitIdcResult< T > line::mam::map2_fit_idc (const T &e1, const T &e2, const T &e3, const T &I)
 Fit a MAP(2) to three moments and an asymptotic index of dispersion.

Detailed Description

Fit a MAP(2) to three moments and an asymptotic index of dispersion.

Templated port of matlab/src/api/mam/map2_fit_idc.m, mirrored by the JAR and native Python.

A MAP(2) has a geometrically decaying autocorrelation, so its index of dispersion obeys

I = SCV + (SCV - 1) g2 / (1 - g2),

as reported in Section 5.2.2 of Casale, Mi, Cherkasova and Smirni, IEEE Trans. Soft. Eng. 37(5), 2011. Inverting it in closed form gives g2 = (I - SCV)/(I - 1), and that decay rate is handed to map2_fit, the explicit inverse characterization of Heindl, Horvath and Gross. A third moment outside the feasible region is replaced by its lower limit (3/2) e2^2 / e1, the largest heavy-tail decay a MAP(2) admits.

THE EXPONENTIAL FALLBACK IS NOT MERELY A FEASIBILITY GUARD, and must not be relaxed. When SCV <= 1 or I < SCV the reference returns an exponential, because a flow-equivalent server whose service is exponential and load dependent is EXACT for a product-form subnetwork by Norton's theorem, whereas any MAP(2) fitted to the marginal inter-departure statistics is not: the departure stream of a subnetwork is not independent of the rest of the model. Fitting the sub-exponential SCV of a non-bursty aggregate was measured to cost up to 2.2% of throughput on a three-station exponential network that the exponential fallback reproduces exactly.

ARITHMETIC: transcendental, inherited from map2_fit.

Definition in file map2_fit_idc.h.