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

Harrison-Zertal approximation of the maximum of general variables. More...

#include <cstddef>
#include <functional>
#include <vector>
#include "line/api/fj/fj_types.h"
#include "line/num/number.h"
#include "line/util/error.h"
Include dependency graph for fj_xmax_hz_het.h:

Go to the source code of this file.

Namespaces

namespace  line
namespace  line::fj

Functions

template<class T>
line::fj::fj_xmax_hz_het (const std::vector< T > &m1, const std::vector< T > &m2, const std::vector< std::function< T(const T &)> > &cdf, const T &tol=num_traits< T >::from_double(1e-10), unsigned npanels=2000)
 Harrison-Zertal approximation of the maximum of general variables.

Detailed Description

Harrison-Zertal approximation of the maximum of general variables.

Templated port of matlab/src/api/fj/fj_xmax_hz_het.m.

I(S) = (1/|S|) sum_{i in S} [ I(S \ i) + (m2_i/(2 m1_i)) L*_{S\i}(alpha_i) ]

anchored at I({i}) = m1_i, with alpha_i = 1/m1_i. The transform of the maximum over a sub-collection is recovered from the distribution functions,

L*_T(s) = s integral_0^inf exp(-s t) prod_{j in T} F_j(t) dt,

by composite Simpson quadrature on a horizon widened until the product of the distribution functions is within TOL of one. For identical branches the recurrence collapses onto fj_xmax_hz, and for identical exponential branches it is exact at H_K/lambda.

Definition in file fj_xmax_hz_het.h.