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

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"
Include dependency graph for snc_thetaopt.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.

Detailed Description

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.