![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Minimizes a Chernoff bound over the free parameter theta. More...
#include <algorithm>#include <cmath>#include <exception>#include <functional>#include <limits>#include <vector>#include "line/api/snc/snc_types.h"#include "line/util/error.h"Go to the source code of this file.
Namespaces | |
| namespace | line |
| namespace | line::snc |
Functions | |
| SncResult | line::snc::snc_thetaopt (const std::function< double(double)> &fun, double thetamax=1e3) |
| Minimizes a Chernoff bound over the free parameter theta. | |
Minimizes a Chernoff bound over the free parameter theta.
Every bound in the snc domain holds for each theta > 0 for which the arrival MGF is finite and the station is stable, so the reported bound is the infimum over theta. The objective is evaluated on a logarithmic grid, non-finite values (a diverging MGF, an unstable leftover rate) are discarded, and the best grid point is refined by golden-section search in log10(theta).
THE TWO-STAGE SEARCH IS NOT A CONVENIENCE: the feasible set is an interval whose endpoints are not known in closed form once envelopes are composed, and an unguarded local search steps into the infeasible region and terminates there.
Port of matlab/src/api/snc/snc_thetaopt.m, whose refinement is fminbnd (golden section plus parabolic interpolation); the plain golden section here reaches the same optimum on these smooth objectives, as the JAR port does.
Definition in file snc_thetaopt.h.