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

Port of solver_mam_dt.m: discrete-time (slotted) analysis of an open network whose interarrival and service laws all live on the slot lattice. More...

#include <algorithm>
#include <cmath>
#include <cstddef>
#include <string>
#include <vector>
#include "line/api/mam/dtime.h"
#include "line/api/sn/sn_is_discrete_time.h"
#include "line/api/sn/sn_predicates.h"
#include "line/lang/lang_types.h"
#include "line/lang/qn/network_struct.h"
#include "line/solvers/mam/mam_types.h"
#include "line/util/error.h"
Include dependency graph for solver_mam_dt.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::mam

Functions

template<class T>
MamSolution< T > line::mam::solver_mam_dt (const qn::NetworkStruct< T > &sn, const MamOptions &opt, double slot_length)
 Discrete-time analysis of sn, returning the same metric tuple as every other MAM analyzer.

Detailed Description

Port of solver_mam_dt.m: discrete-time (slotted) analysis of an open network whose interarrival and service laws all live on the slot lattice.

A single queueing station is solved EXACTLY by the Q-MAM discrete-time queues, q_dt_ph_ph_1 when both laws are renewal discrete phase-type and q_dt_map_map_1 when either side is a D-MAP. Several stations are solved by a discrete-time parametric decomposition, which is an approximation: the departure process is truncated at a finite level and compressed back to a bounded phase dimension, and correlations between the streams entering a station are not preserved.

Time is measured in slots internally and converted back on exit, so Q and U are dimensionless, T is per time unit and R is in time units.

Convention: late arrival system with delayed access (LAS-DA), matching the Q-MAM discrete-time queues and the LDES slotted engine. A_1 = kron(C1,D0) is the claim that a job arriving at the end of a slot is not served in it.

ARITHMETIC: field with transcendentals. The queue solve iterates to a tolerance, so the analyzer stands down under exact arithmetic exactly as the MAP/MAP/1 fast path does.

Definition in file solver_mam_dt.h.