LINE Solver (C++)
Templated C++ port of the LINE queueing solver
Toggle main menu visibility
Loading...
Searching...
No Matches
lossn_info.h
Go to the documentation of this file.
1
/*
2
* Copyright (c) 2012-2026, QORE Lab, Imperial College London
3
* All rights reserved.
4
*/
5
#ifndef LINE_SOLVERS_LOSSN_INFO_H
6
#define LINE_SOLVERS_LOSSN_INFO_H
7
8
/**
9
* @file
10
* @ingroup line_solvers
11
* The inputs of a loss network solved by SolverNC, kept beside the result.
12
*
13
* The reference stores them in `self.result.LossN` (struct nu, A, C, links,
14
* method, options) at the end of `solver_nc_lossn_analyzer.m`, so that
15
* `getAvgLinkTable` can report the per-link measures with the same method
16
* without rebuilding the admission constraints. Each row of A n <= C is a
17
* link, named in row order
18
*
19
* GlobalMaxJobs the region's global job cap,
20
* GlobalMaxMemory its memory budget weighted by the class sizes,
21
* ClassMaxJobs:<class> a per-class job cap,
22
* Constraint<k> the k-th linear constraint of setConstraint (1-based).
23
*
24
* EMPTY (valid == false) on every model that is not a loss network. The
25
* values are held at double, the precision the tables report.
26
*/
27
28
#include <cstddef>
29
#include <cstdint>
30
#include <string>
31
#include <vector>
32
33
#include "
line/util/matrix.h
"
34
35
namespace
line
{
36
namespace
solvers
{
37
38
/** `self.result.LossN`. */
39
struct
LossnInfo
{
40
bool
valid
=
false
;
///< false outside a loss network
41
std::vector<double>
nu
;
///< (K) offered load per class
42
Matrix<double>
A
;
///< (J x K) rows of the admission rule
43
std::vector<double>
C
;
///< (J) capacities
44
std::vector<std::string>
links
;
///< (J) link names, in row order
45
std::string
method
;
///< chosen method: exact, rec, erlangfp, asy or mci
46
std::size_t
samples
= 0;
///< mci sample count of the run (0 = not mci)
47
std::uint64_t
seed
= 0;
///< mci seed of the run
48
bool
empty
()
const
{
return
!
valid
; }
49
};
50
51
}
// namespace solvers
52
}
// namespace line
53
54
#endif
// LINE_SOLVERS_LOSSN_INFO_H
line::Matrix
Definition
matrix.h:56
matrix.h
Dense matrix and non-owning view.
line::solvers
Definition
cache_metrics.h:40
line
Conservation laws of a layered queueing network, enumerated from its structure.
Definition
aoi_dist2ph.h:52
line::solvers::LossnInfo
self.result.LossN.
Definition
lossn_info.h:39
line::solvers::LossnInfo::valid
bool valid
false outside a loss network
Definition
lossn_info.h:40
line::solvers::LossnInfo::empty
bool empty() const
Definition
lossn_info.h:48
line::solvers::LossnInfo::method
std::string method
chosen method: exact, rec, erlangfp, asy or mci
Definition
lossn_info.h:45
line::solvers::LossnInfo::seed
std::uint64_t seed
mci seed of the run
Definition
lossn_info.h:47
line::solvers::LossnInfo::links
std::vector< std::string > links
(J) link names, in row order
Definition
lossn_info.h:44
line::solvers::LossnInfo::A
Matrix< double > A
(J x K) rows of the admission rule
Definition
lossn_info.h:42
line::solvers::LossnInfo::C
std::vector< double > C
(J) capacities
Definition
lossn_info.h:43
line::solvers::LossnInfo::samples
std::size_t samples
mci sample count of the run (0 = not mci)
Definition
lossn_info.h:46
line::solvers::LossnInfo::nu
std::vector< double > nu
(K) offered load per class
Definition
lossn_info.h:41
include
line
solvers
lossn_info.h
Generated by
1.18.0