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

The MMAP assembly primitives solver_mam_basic.m builds its per-station arrival stream from: mmap_exponential, the probabilistic mmap_mark, the per-class mmap_scale, and mmap_super_safe. More...

#include <algorithm>
#include <cmath>
#include <cstddef>
#include <limits>
#include <numeric>
#include <string>
#include <vector>
#include "line/api/mam/map_moment.h"
#include "line/api/mam/mmap_lambda.h"
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/linalg.h"
#include "line/util/matrix.h"
Include dependency graph for mmap_assemble.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::mam

Functions

template<class T>
Mmap< T > line::mam::mmap_exponential_vec (const std::vector< T > &lambda, std::size_t n=1)
 Order-n MMAP with the given per-class arrival rates (mmap_exponential.m).
template<class T>
Mmap< T > line::mam::mmap_mark_probs (const Mmap< T > &in, const Matrix< T > &prob)
 Re-mark an MMAP by a (K x R) probability matrix (mmap_mark.m): a type-k arrival is reported as class r with probability prob(k,r).
template<class T>
Mmap< T > line::mam::mmap_scale_perclass (const Mmap< T > &in, const std::vector< T > &M)
 Retarget the per-class MEAN inter-arrival times (mmap_scale.m, vector form).
template<class T>
Mmap< T > line::mam::mmap_super_safe (const std::vector< Mmap< T > > &in, std::size_t maxorder)
 Order-bounded superposition of several MMAPs (mmap_super_safe.m).

Detailed Description

The MMAP assembly primitives solver_mam_basic.m builds its per-station arrival stream from: mmap_exponential, the probabilistic mmap_mark, the per-class mmap_scale, and mmap_super_safe.

They are separate from mmap_lambda.h because each of them is a DIFFERENT function from the same-named one already there: mmap_lambda.h's mmap_mark splits a MAP by per-PHASE weights and its mmap_scale takes a single target mean, which are the M3A signatures; the MAM solver calls the kpctoolbox ones, which split an MMAP by per-CLASS probabilities and target one mean per class. Naming them apart is deliberate: two functions with one name and two meanings is exactly the failure mode the parity notes record for map_normalize.

Definition in file mmap_assemble.h.