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

Convenience factory for the single-layer networks the inference estimators fit. More...

#include <cstddef>
#include <limits>
#include <string>
#include <vector>
#include "line/lang/lang_types.h"
#include "line/lang/qn/network_builder.h"
#include "line/num/number.h"
#include "line/util/error.h"
#include "line/util/matrix.h"
Include dependency graph for infer_quick_model.h:

Go to the source code of this file.

Namespaces

namespace  line
 Conservation laws of a layered queueing network, enumerated from its structure.
namespace  line::infer

Functions

template<class T>
qn::Network< T > line::infer::infer_quick_model (bool is_open, const std::vector< lang::SchedStrategy > &stations, const Matrix< T > &demands, const std::vector< double > &servers=std::vector< double >(), const std::vector< double > &jobs=std::vector< double >(), const std::vector< Matrix< T > > &routing=std::vector< Matrix< T > >())
 Build a simple open or closed queueing network.

Detailed Description

Convenience factory for the single-layer networks the inference estimators fit.

Port of matlab/src/api/infer/infer_quick_model.m and python/line_solver/inference/api/infer_quick_model.py.

The model is named quickModel and has one Queue QueueStation<i> per entry of stations, with that discipline, servers[i] servers and infinite capacity, and one class Class<c> per row of demands, served at station i by Exp.fitMean(demands(c,i)).

  • OPEN: a Source mySource and a Sink mySink, every class routed serially Source -> QueueStation1 -> ... -> QueueStationM -> Sink. No arrival process is set, as in both references: the estimators supply it.
  • CLOSED: class c has jobs[c] jobs referenced at QueueStation1 and follows routing[c] (an M x M station-to-station matrix) when given, and the cycle 1 -> 2 -> ... -> M -> 1 otherwise. routing is ignored when open.

The open branch follows the Python reference. The MATLAB open branch stored the Source in node{1} and then overwrote it with the first queue, so the serial path started at a queue and the Source was never routed.

Definition in file infer_quick_model.h.