![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Deterministic subtask delays that minimise mean dispersion. More...
#include <cstddef>#include <vector>#include "line/api/fj/fj_dispersion.h"#include "line/api/fj/fj_types.h"#include "line/num/number.h"#include "line/util/error.h"Go to the source code of this file.
Classes | |
| struct | line::fj::FJDelayOptResult< T > |
| [d, Edisp, Emax] of fj_delay_opt. More... | |
Namespaces | |
| namespace | line |
| namespace | line::fj |
Functions | |
| template<class T> | |
| FJDelayOptResult< T > | line::fj::fj_delay_opt (const std::vector< unsigned > &shape, const std::vector< T > &rate, unsigned maxsweeps=40, const T &dtol=num_traits< T >::from_double(1e-8), unsigned npanels=2000) |
| Deterministic subtask delays that minimise mean dispersion. | |
Deterministic subtask delays that minimise mean dispersion.
Templated port of matlab/src/api/fj/fj_delay_opt.m.
Holding back a fast branch costs little at the last completion and buys a great deal at the first, so the minimiser of the dispersion of fj_dispersion is generally interior and strictly positive on every branch but the slowest.
The objective is minimised by cyclic coordinate descent with a golden section line search on each coordinate: deterministic, derivative-free, and the same sequence of evaluations in all four codebases. Adding a constant to every delay shifts both order statistics equally, so the search returns the representative with min(d) = 0.
Definition in file fj_delay_opt.h.