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

Port of solver_ctmc_transient_analyzer.m: the time-dependent counterpart of solver_ctmc_analyzer, integrating dpi/dt = pi Q from a point mass on the initial state instead of solving pi Q = 0. More...

#include <algorithm>
#include <cmath>
#include <cstddef>
#include <vector>
#include "line/api/mc/ctmc_fau.h"
#include "line/api/mc/ctmc_transient.h"
#include "line/lang/qn/network_struct.h"
#include "line/solvers/ctmc/solver_ctmc_analyzer.h"
#include "line/solvers/tr/fj_tag_transform.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
Include dependency graph for solver_ctmc_transient.h:

Go to the source code of this file.

Classes

struct  line::ctmc::CtmcTransient< T >
 What one transient CTMC solve produces. More...

Namespaces

namespace  line
namespace  line::ctmc

Functions

template<class T>
CtmcTransient< T > line::ctmc::solver_ctmc_transient_analyzer (const NetworkStruct< T > &sn, const CtmcOptions &opt, const T &t0, const T &t1, const std::vector< T > &grid=std::vector< T >())
 Port of solver_ctmc_transient_analyzer.m.

Detailed Description

Port of solver_ctmc_transient_analyzer.m: the time-dependent counterpart of solver_ctmc_analyzer, integrating dpi/dt = pi Q from a point mass on the initial state instead of solving pi Q = 0.

WHAT IS AND IS NOT A TIME AVERAGE. The reference deliberately reports the INSTANTANEOUS occupancy pi(t), not its running mean – the commented-out cumsum(...)/t lines in the reference are the time-average it decided against. Q(t) and U(t) are therefore the state of the chain at t, and their limits as t grows are the stationary values, not their averages over [0,t].

THE UTILIZATION SWITCH IS NOT THE STATIONARY ONE. In steady state the carried rate is available and T*E[S]/c is used; here there is no stationary throughput, so utilization is read off the occupancy directly as min(n_k, c)/c, and the PS and DPS families take their capacity share. The reference WARNS for every other discipline and returns the FCFS form as an approximation, which this port reproduces rather than silently improving: a caller comparing against MATLAB must get MATLAB's number.

Definition in file solver_ctmc_transient.h.