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

The closures, the closed enabling term, the rate vector and the drift Jacobian of a stochastic Petri net's fluid limit. More...

#include <algorithm>
#include <cmath>
#include <cstddef>
#include <map>
#include <vector>
#include "line/solvers/fluid/fluid_petri_terms.h"
#include "line/util/error.h"
#include "line/util/linalg.h"
#include "line/util/matrix.h"
Include dependency graph for fluid_petri_system.h:

Go to the source code of this file.

Classes

struct  line::fluid::petri::MinMulti
 The result of the many-argument closure. More...
struct  line::fluid::petri::PetriTheta
 The closed enabling term of every mode and its derivative. More...

Namespaces

namespace  line
namespace  line::fluid
namespace  line::fluid::petri

Functions

double line::fluid::petri::norm_cdf (double z)
 The standard normal CDF, without a statistics dependency.
double line::fluid::petri::norm_pdf (double z)
 The standard normal density.
std::pair< double, double > line::fluid::petri::min_closure (double n, double c, double s2, double vc, double cov)
 E[min(X,Y)] and dE/dE[X] for jointly normal X, Y.
MinMulti line::fluid::petri::minmulti_closure (const std::vector< double > &mu, const Matrix< double > &S, double c)
 Min-normal closure of E[min(X_1,...,X_A,c)] by Clark's (1961) recursion.
PetriTheta line::fluid::petri::petri_theta (const PetriTerms &t, const std::vector< double > &x, const std::vector< double > &s2_in)
 The closed enabling term of every mode, and its derivative.
std::vector< double > line::fluid::petri::petri_rates (const PetriTerms &t, const std::vector< double > &x, const std::vector< double > &phi, const std::vector< double > &mu, const PetriTheta &th)
 The rate of every event column.
Matrix< double > line::fluid::petri::petri_jacobian (const PetriTerms &t, const PetriTheta &th)
 Drift Jacobian A = D * dR/dX.

Detailed Description

The closures, the closed enabling term, the rate vector and the drift Jacobian of a stochastic Petri net's fluid limit.

Port of matlab/src/solvers/FLD/fluid_petri_theta.m, fluid_petri_rates.m and fluid_petri_jacobian.m, cross-checked against jar/src/main/java/jline/solvers/fluid/petri/PetriSystem.java and PetriClosures.java.

Definition in file fluid_petri_system.h.