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

Robust Queueing Network Analyzer (RQNA) of Robust Queueing Theory, a port of matlab/src/solvers/MVA/solver_rqt.m, cross-checked against jar/src/main/java/jline/solvers/mva/handlers/Solver_rqt.java. More...

#include <cmath>
#include <cstddef>
#include <vector>
#include "line/api/mam/map_moment.h"
#include "line/api/npfqn/npfqn_traffic_rqt.h"
#include "line/api/qsys/qsys_gigk_rqt.h"
#include "line/api/qsys/qsys_gigk_rqt_gamma.h"
#include "line/lang/distribution.h"
#include "line/lang/qn/network_struct.h"
#include "line/solvers/mva/mva_types.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
Include dependency graph for solver_rqt.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::mva

Functions

template<class T>
MvaSolution< T > line::mva::solver_rqt (const qn::NetworkStruct< T > &L, const MvaOptions &opt)

Detailed Description

Robust Queueing Network Analyzer (RQNA) of Robust Queueing Theory, a port of matlab/src/solvers/MVA/solver_rqt.m, cross-checked against jar/src/main/java/jline/solvers/mva/handlers/Solver_rqt.java.

Single-class open network of FCFS queues with Markovian routing. The stochastic primitives are replaced by polyhedral uncertainty sets and each node is analysed in isolation under a worst case. The algorithm is Section 7.2 of the reference: the external streams get Gamma_a = sigma_a, the effective arrival process at each node follows from the network characterization of Theorem 10 (npfqn_traffic_rqt), the service variability parameter from the adaptation of Section 7.1 (qsys_gigk_rqt_gamma), and the system time at each node is the worst-case bound of Theorem 3 (qsys_gigk_rqt). The published step 3, path enumeration, is not needed here: LINE aggregates per-node system times into per-class response times through the visit ratios.

The adaptation is regressed against simulation in heavy traffic, so accuracy degrades at low utilization: on M/M/1 the error is about 5% at rho=0.9 but over 50% at rho=0.5.

REFERENCE INDEXING, REPRODUCED. Like solver_qna and solver_rqna, the reference indexes the stateful-indexed sn.rt with STATION indices, which is exact only when every stateful node is a station; that precondition is asserted.

ARITHMETIC: transcendental (real exponents), so under Rational the body is discarded and RQT is refused by name, matching solver_qna and solver_rqna.

Reference: C. Bandi, D. Bertsimas, N. Youssef (2015). Robust Queueing Theory. Operations Research 63(3), 676-700.

Definition in file solver_rqt.h.