LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Toggle main menu visibility
Loading...
Searching...
No Matches
method_registry.h
Go to the documentation of this file.
1
#pragma once
2
/**
3
* @file method_registry.h
4
* The method names of each solver, in listing order.
5
*
6
* method_registry::methods("MVA") is every method a solver can be asked for in
7
* C++, in the order its list_valid_methods lists them; that function filters the
8
* row to the model in hand. The rows are shared with MATLAB, the JAR and Python.
9
*
10
* GENERATED by doc/generate-method-registry.py from doc/line-methods.json. Do not edit.
11
*/
12
13
#include <map>
14
#include <stdexcept>
15
#include <string>
16
#include <vector>
17
18
namespace
line
{
19
namespace
method_registry
{
20
21
inline
const
std::map<std::string, std::vector<std::string>>&
table
() {
22
static
const
std::map<std::string, std::vector<std::string>> t = {
23
{
"AG"
, {
"default"
,
"inap"
,
"inaprc"
,
"inapinf"
,
"exact"
}},
24
{
"BA"
, {
"default"
,
"auto.upper"
,
"auto.lower"
,
"aba.upper"
,
"aba.lower"
,
"bjb.upper"
,
"bjb.lower"
,
"pb.upper"
,
"pb.lower"
,
"gb.upper"
,
"gb.lower"
,
"sb.upper"
,
"sb.lower"
,
"harel.upper"
,
"harel.lower"
,
"mw.upper"
,
"mw.lower"
,
"pbh.upper"
,
"pbh.lower"
,
"bjbh.upper"
,
"bjbh.lower"
,
"cbh.upper"
,
"cbh.lower"
,
"ssd.upper"
,
"ssd.lower"
,
"cub.upper"
,
"mbjb.lower"
,
"looping.upper"
,
"looping.lower"
,
"sib.upper"
,
"sib.lower"
,
"scb.upper"
,
"scb.lower"
,
"ldac.lower"
,
"bpt.lower"
,
"bgt.upper"
,
"snc.upper"
,
"qr"
,
"lr"
,
"lr.upper"
,
"lr.lower"
,
"mapamva.upper"
,
"mapamva.lower"
,
"qrf.mmi"
,
"qrf.mem"
,
"qrf.bethe"
,
"qrf.mmi.ld"
,
"qrf.mmi.linear"
,
"qrf.bas.mmi"
,
"qrf.bas.mem"
,
"qrf.bas.bethe"
,
"qrf.bas"
,
"qrf.rsrd"
,
"spnlp2.upper"
,
"spnlp2.lower"
,
"spnlp1.upper"
,
"spnlp1.lower"
}},
25
{
"CTMC"
, {
"default"
,
"exact"
,
"mdd"
}},
26
{
"ENV"
, {
"default"
,
"meanfield"
,
"mean"
,
"meancov"
,
"blend"
,
"blending"
,
"smp"
,
"statedep"
,
"statevec"
,
"avg"
,
"dec"
,
"occupation"
}},
27
{
"FLD"
, {
"default"
,
"matrix"
,
"fld.matrix"
,
"pnorm"
,
"fld.pnorm"
,
"softmin"
,
"fld.softmin"
,
"statedep"
,
"fld.statedep"
,
"closing"
,
"fld.closing"
,
"minnormal"
,
"fld.minnormal"
,
"refined"
,
"fld.refined"
,
"tbi"
,
"fld.tbi"
,
"diffusion"
,
"fld.diffusion"
,
"mfq"
,
"fld.mfq"
,
"rmf"
,
"fld.rmf"
,
"aoi"
,
"fld.aoi"
,
"kp"
,
"fld.kp"
,
"dae"
,
"fld.dae"
,
"mtginf"
,
"fld.mtginf"
,
"mol"
,
"fld.mol"
,
"ggisgi"
,
"fld.ggisgi"
,
"ggingi"
,
"fld.ggingi"
,
"tvms"
,
"fld.tvms"
}},
28
{
"JMT"
, {
"default"
,
"jsim"
,
"jmva"
,
"jmva.amva"
,
"jmva.mva"
,
"jmva.recal"
,
"jmva.comom"
,
"jmva.chow"
,
"jmva.bs"
,
"jmva.aql"
,
"jmva.lin"
,
"jmva.dmlin"
}},
29
{
"LDES"
, {
"default"
,
"para"
,
"parallel"
}},
30
{
"LN"
, {
"srvn"
,
"srvn.ph"
,
"srvn.cs"
,
"flat"
,
"flat.cs"
,
"flat.ph"
,
"moment3"
,
"nlp"
,
"default"
}},
31
{
"LQNS"
, {
"default"
,
"lqns"
,
"srvn"
,
"exactmva"
,
"srvn.exactmva"
,
"sim"
,
"lqsim"
,
"lqns.default"
,
"qns"
,
"qns.conway"
,
"qns.rolia"
,
"qns.zhou"
,
"qns.suri"
,
"qns.reiser"
,
"qns.schmidt"
}},
32
{
"MAM"
, {
"default"
,
"dec.source"
,
"dec.mmap"
,
"dec.poisson"
,
"mna"
,
"ldqbd"
,
"dec.source.mmap"
,
"bgchain"
,
"retrial"
,
"sync.faster"
,
"sync.slower"
}},
33
{
"MVA"
, {
"default"
,
"mva"
,
"exact"
,
"amva"
,
"qna"
,
"rqna"
,
"rqt"
,
"sum"
,
"esum"
,
"qdlin"
,
"amva.qdlin"
,
"bs"
,
"amva.bs"
,
"aql"
,
"amva.aql"
,
"qsa"
,
"amva.qsa"
,
"sqni"
,
"qd"
,
"amva.qd"
,
"qli"
,
"amva.qli"
,
"fli"
,
"amva.fli"
,
"ab"
,
"amva.ab"
,
"schmidt"
,
"amva.schmidt"
,
"schmidt-ext"
,
"amva.schmidt-ext"
,
"tay"
,
"amva.tay"
,
"scat"
,
"amva.scat"
,
"lcp"
,
"amva.lcp"
,
"chow"
,
"amva.chow"
,
"pamb"
,
"amva.pamb"
,
"pami"
,
"amva.pami"
,
"pamt"
,
"amva.pamt"
,
"clust"
,
"amva.clust"
,
"dmlin"
,
"amva.dmlin"
,
"sqd"
,
"mvablo"
,
"mvac"
,
"sjn.mva"
,
"sjn.amva"
,
"marie"
,
"amva.marie"
,
"amva.mapqn"
,
"priomva"
,
"amva.priomva"
,
"lin"
,
"egflin"
,
"gflin"
,
"amva.lin"
,
"mm1"
,
"mmk"
,
"mg1"
,
"mgi1"
,
"gm1"
,
"gig1"
,
"gim1"
,
"gig1.kingman"
,
"gigk"
,
"gigk.kingman_approx"
,
"gig1.gelenbe"
,
"gig1.heyman"
,
"gig1.kimura"
,
"gig1.allen"
,
"gig1.kobayashi"
,
"gig1.klb"
,
"gig1.marchal"
,
"gigk.whitt"
,
"qed"
,
"gig1.extremal"
,
"gigk.diffusion"
,
"erlanga"
,
"mgisrgi"
}},
34
{
"NC"
, {
"default"
,
"exact"
,
"divdiff"
,
"rayint"
,
"spm"
,
"ms"
,
"erlangfp"
,
"mci"
,
"imci"
,
"ls"
,
"le"
,
"ble"
,
"aghq"
,
"mmint2"
,
"gleint"
,
"pana"
,
"panald"
,
"ca"
,
"clw"
,
"kt"
,
"bkt"
,
"lekt"
,
"bk"
,
"bkue"
,
"lc"
,
"lc.ue"
,
"sampling"
,
"is"
,
"mcmc"
,
"propfair"
,
"comom"
,
"comomld"
,
"cub"
,
"rgf"
,
"ger"
,
"rd"
,
"nrp"
,
"nrl"
,
"nre"
,
"gm"
,
"mem"
,
"sdr"
,
"sdr.mva"
,
"morrison"
,
"rec"
,
"cftp"
,
"cftp.approx"
}},
35
{
"SSA"
, {
"default"
,
"ssa"
,
"serial"
,
"para"
,
"pana"
,
"parallel"
,
"nrm"
,
"mlmc"
}},
36
{
"UQ"
, {
"default"
,
"dd"
,
"quad"
,
"mc"
}},
37
};
38
return
t;
39
}
40
41
/// Every method name the solver can be asked for, in listing order.
42
inline
std::vector<std::string>
methods
(
const
std::string& solver) {
43
const
std::string key = solver.rfind(
"Solver"
, 0) == 0 ? solver.substr(6) : solver;
44
const
auto
it =
table
().find(key);
45
if
(it ==
table
().end()) {
46
throw
std::invalid_argument(
"No method registry row for solver "
+ solver);
47
}
48
return
it->second;
49
}
50
51
}
// namespace method_registry
52
}
// namespace line
line::method_registry
Definition
method_registry.h:19
line::method_registry::table
const std::map< std::string, std::vector< std::string > > & table()
Definition
method_registry.h:21
line::method_registry::methods
std::vector< std::string > methods(const std::string &solver)
Every method name the solver can be asked for, in listing order.
Definition
method_registry.h:42
line
Conservation laws of a layered queueing network, enumerated from its structure.
Definition
aoi_dist2ph.h:52
include
line
solvers
method_registry.h
Generated by
1.18.0