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

The rate side of the decision-diagram domain: local matrices, events, the Kronecker descriptor, and the options/result of the level aggregation. More...

#include <cstddef>
#include <functional>
#include <map>
#include <vector>
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
Include dependency graph for mdd_types.h:

Go to the source code of this file.

Classes

struct  line::mdd::MddLocalMatrix< T >
 A local rate matrix W_k^e of the Kronecker descriptor, held row-compressed. More...
class  line::mdd::MddLocalMatrix< T >::Builder
 Incremental triplet builder; duplicate entries are accumulated. More...
struct  line::mdd::MddEvent< T >
 One event of the Kronecker rate descriptor. More...
struct  line::mdd::MddServiceLaw< T >
 Phase-type service law of one station, as a Markovian (D0,D1) pair. More...
struct  line::mdd::MddDescriptor< T >
 Kronecker rate descriptor of a structured model, the input of mdd_mcd. More...
struct  line::mdd::MddMcdOptions
 Knobs of the level iteration in mdd_mcd. More...
struct  line::mdd::MddMcdResult< T >
 Result of the Miner-Ciardo-Donatelli level aggregation. More...

Namespaces

namespace  line
namespace  line::mdd

Typedefs

typedef std::function< std::vector< std::vector< int > >(const std::vector< int > &)> line::mdd::MddNextState
 Successor function over local indices, for mdd_reachset.

Functions

template<class T>
std::vector< T > line::mdd::mdd_entry_law (const std::vector< T > &given, const Matrix< T > &D1, std::size_t h, std::size_t i, const std::string &caller)
 Entry law of a phase-type station, taken as given or derived from D1.

Detailed Description

The rate side of the decision-diagram domain: local matrices, events, the Kronecker descriptor, and the options/result of the level aggregation.

Port of the JAR classes MddLocalMatrix, MddEvent, MddServiceLaw, MddDescriptor, MddMcdOptions and MddMcdResult, which the MATLAB and python twins carry as struct fields of the same names.

The rate matrix of a structured model is R = sum_e (kron_k W_k^e) restricted to the reachable set, with W_k^e[i,j] = lambda_k^e[i] * Prob_k^e(i,j) (Eq. 1 of Miner-Ciardo-Donatelli, SIGMETRICS 2000). An event touches only the levels it names; every other level carries the identity, which mdd_mcd supplies rather than storing.

Definition in file mdd_types.h.