![]() |
LINE Solver (C++)
Templated C++ port of the LINE queueing solver
|
Classes | |
| struct | SensOptions |
| The name-value contract of getSensitivityTable. More... | |
| struct | SensRow |
| One (station, class) row of the table. More... | |
| struct | SensTable |
| What the table carries, plus the branch that produced it. More... | |
Functions | |
| template<class T> | |
| SensTable< T > | solver_sensitivity_table (qn::NetworkStruct< T > &sn, const SensOptions &opt, bool exact_available, const std::function< mva::MvaSolution< T >()> &solve) |
| Build the sensitivity table of sn under solve. | |
| SensTable< T > line::sens::solver_sensitivity_table | ( | qn::NetworkStruct< T > & | sn, |
| const SensOptions & | opt, | ||
| bool | exact_available, | ||
| const std::function< mva::MvaSolution< T >()> & | solve ) |
Build the sensitivity table of sn under solve.
exact_available is the reference's supportsExactSensitivity(): true for the engines that evaluate the product-form recursion this branch differentiates (MVA and NC), false for every other. Asking for exact where it is false is an error rather than a silent downgrade, exactly as in the reference, because the two branches answer to different precision.
solve is called with sn already carrying whatever perturbation this code has written, and must report the metrics of that struct.
Definition at line 160 of file solver_sens_table.h.
References line::nc::PfParams< T >::D, line::lang::dist_scale_rate(), line::pfqn::SensResult< T >::dQ, line::pfqn::SensResult< T >::dX, line::sens::SensTable< T >::has_jacobian, line::InputError::InputError(), line::sens::SensTable< T >::jacobian, line::nc::PfParams< T >::lambda, line::sens::SensTable< T >::method, line::nc::PfParams< T >::N, line::pfqn::pfqn_sens(), line::mva::MvaSolution< T >::Q, line::pfqn::SensResult< T >::QN, line::nc::PfParams< T >::queue_stations, line::mva::MvaSolution< T >::R, line::sens::SensTable< T >::rows, line::nc::sn_get_product_form_params(), line::solve(), solver_sensitivity_table(), line::mva::MvaSolution< T >::Tp, line::mva::MvaSolution< T >::U, line::UnsupportedError::UnsupportedError(), line::pfqn::SensResult< T >::XN, and line::nc::PfParams< T >::Z.
Referenced by line::ln::SolverLN< T >::get_sensitivity_table(), and solver_sensitivity_table().