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

AMAP(2) fit of three moments and the autocorrelation decay rate (matlab/lib/m3a/m3a/amap2/amap2_fit_gamma.m). More...

Include dependency graph for amap2_fit_gamma.h:

Go to the source code of this file.

Classes

struct  line::mam::Amap2FitGammaResult< T >
 Result of amap2_fit_gamma. More...

Namespaces

namespace  line
namespace  line::mam

Functions

template<class T>
Amap2FitGammaResult< T > line::mam::amap2_fit_gamma (const T &M1, const T &M2, const T &M3, const T &GAMMA, const T &cvtol)
 Fit an AMAP(2) to (M1, M2, M3, GAMMA).
template<class T>
Amap2FitGammaResult< T > line::mam::amap2_fit_gamma (const T &M1, const T &M2, const T &M3, const T &GAMMA)
 amap2_fit_gamma with the MATLAB default cvtol = 1e-6.

Detailed Description

AMAP(2) fit of three moments and the autocorrelation decay rate (matlab/lib/m3a/m3a/amap2/amap2_fit_gamma.m).

A unit SCV short-circuits to a Poisson process, since the AMAP(2) canonical forms are degenerate there. Otherwise every exact solution is enumerated with amap2_fitall_gamma, normalized, and the first is returned.

Not ported: the reference's approximate branch, which calls amap2_adjust_gamma to relax (M2, M3, GAMMA) into the feasible region. All four of its methods are driven by patternsearch / PSwarm / fmincon, so there is no closed form to port. When no exact solution exists this port takes the same final fallback as the in-tree MATLAB does when adjustment fails: a Poisson process matching the mean, flagged through Amap2FitGammaResult.

Gated on transcendental arithmetic through amap2_fitall_gamma.

Definition in file amap2_fit_gamma.h.