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

Port of matlab/src/solvers/FLD/solver_fluid_qsys_analyzer.m: the single-station fluid limits. More...

#include <algorithm>
#include <cmath>
#include <cstddef>
#include <functional>
#include <limits>
#include <string>
#include <vector>
#include "line/api/mam/map_cdf.h"
#include "line/api/qsys/qsys_ggingi_tga.h"
#include "line/api/qsys/qsys_ggisgi_fluid.h"
#include "line/api/qsys/qsys_gtmtst_fluid.h"
#include "line/api/qsys/qsys_mtginf.h"
#include "line/api/qsys/qsys_mtgs0_mol.h"
#include "line/api/sn/sn_arrival_rate_fun.h"
#include "line/api/sn/sn_patience_handles.h"
#include "line/lang/qn/network_struct.h"
#include "line/num/number.h"
#include "line/solvers/fluid/solver_fluid.h"
Include dependency graph for fluid_qsys.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::fluid

Functions

bool line::fluid::fluid_is_time_varying_limit (const std::string &m)
 The three single-station limits that report a TRAJECTORY rather than a stationary point, and so need a finite horizon; ggisgi and tga are stationary and are not among them.
std::string line::fluid::fluid_qsys_horizon_supports (const std::string &method, const FluidOptions &opt)
 The horizon rule the time-varying limits impose, as a public predicate a REPORT can ask: empty when method may be asked for with these options.
template<class T>
FluidSolution line::fluid::solver_fluid_qsys (const qn::NetworkStruct< T > &sn, const FluidOptions &opt, std::vector< FluidTranPoint > *traj=nullptr)
 Solve a single-station model with one of the closed-form fluid limits.

Detailed Description

Port of matlab/src/solvers/FLD/solver_fluid_qsys_analyzer.m: the single-station fluid limits.

A Source -> Queue -> Sink model with one class, answered by a closed-form fluid or Gaussian limit rather than by integrating the network drift.

WHY THESE ARE FLUID METHODS AND NOT MVA ONES. Each depends on the service or patience law BEYOND ITS MEAN – the stationary point of the Liu-Whitt model is where the patience ccdf crosses 1/rho, the Mt/G/inf mean is a convolution with the service ccdf – and each is the limit of a sequence of systems, not an approximation to a fixed one. That is the fluid solver's contract.

METHODS ggisgi.fluid stationary point of the G/GI/s+GI fluid model (Liu and Whitt, Operations Research 60(5), 2012) ggingi.tga truncated Gaussian approximation, the O(sqrt(n)) fluctuation around that point (Liu, Whitt and Yu, NRL 63(3), 2016) tvms the Gt/Mt/st+GI many-server fluid queue at CONSTANT staffing (Liu and Whitt, INFORMS J. Computing 26(1), 2014) mtginf the exact Mt/G/inf mean (Eick, Massey and Whitt, Management Science 39(2), 1993) mol the modified-offered-load approximation for a finite server count (Massey and Whitt, Ann. Appl. Prob. 4(4), 1994)

ARITHMETIC: transcendental. Every one of them integrates or bisects.

Definition in file fluid_qsys.h.