![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Integrand-evaluation count of pfqn_cub, and the budget pfqn_nc prices it against. More...
#include <cstddef>#include "line/num/number.h"#include "line/util/error.h"#include "line/util/population.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::pfqn |
Functions | |
| double | line::pfqn::pfqn_cub_evals (int M, int order, double Zsum) |
| Integrand-evaluation count of pfqn_cub, and the budget pfqn_nc prices it against. | |
| double | line::pfqn::pfqn_cub_evals (int M, int order) |
| Zero think time, i.e. | |
Variables | |
| constexpr long | line::pfqn::CUB_V_STEPS = 10000 |
| The v-quadrature grid size of pfqn_cub; must match steps in pfqn_cub.h. | |
| constexpr double | line::pfqn::CUB_MAX_EVALS = 1e7 |
| GlobalConstants.CubMaxEvals: the integrand-evaluation budget above which pfqn_nc lowers the cubature order (and, at order 0, prefers le over cub). | |
Integrand-evaluation count of pfqn_cub, and the budget pfqn_nc prices it against.
Port of matlab/src/api/pfqn/pfqn_cub_evals.m.
The Grundmann-Moeller rule of degree order on the (M-1)-simplex evaluates sum_{d = 0..order} C(M-1+2d, M-1) points, and a non-zero think time makes pfqn_cub repeat the whole rule at each of its v-quadrature steps (a uniform grid of CUB_V_STEPS points, which must match the outer McKenna-Mitra integral in pfqn_cub.h).
NOTE the two DIFFERENT binomials in play. The cost model pfqn_nc uses to RAISE the order counts C(M + 2d, M-1); the count here, which pfqn_nc then uses to LOWER it again, counts C(M-1+2d, M-1). Both are reproduced as in the reference: they are not the same expression and folding one into the other would change the selected order.
Arithmetic: this is a cost model, not a numerical result. It is a plain double count and carries no number type.
Definition in file pfqn_cub_evals.h.