Universal Generating Function
Introduction
An universal generating function (abbr: ugf) approach approach enables the combination of components and sources to evaluate their performance with respect to a network's users.
An universal generator function $ω_x(z)$ of a component/source $x$ combines the probabilities p
and associated values v
of a specific measure m
in one polynomial expression:
\[ ω_{x}(z) = \sum_{o \in \mathcal{O}} p_o \cdot z^{v_o}\]
where $𝓞$ is the reduced state-space which only contains unique values for a specific measure.
MultiStateSystems.UGF
— TypeUGF
An ugf is a struct containing: a measure msr
, corresponding values val
and associated probabilities prb
, with default constructor:
UGF(msr::Symbol, val::Vector, prb::Vector; red::Bool=true)
A UGF constructor for a specific measure msr
based on a given value vector val
and associated probability vector prb
.
This function automatically reduces the state-space to where only unique values and associated probabilites remain. This behavior is circumvented by passing the optional argument rdc=false
.
Example
julia> ugfᵍᵉⁿ = UGF(:power, [0.0u"MW",0.0u"MW",2.0u"MW"], [0.1,0.2,0.7])
julia> isequal(ugfᵍᵉⁿ.val, [0.0u"MW",2.0u"MW"])
true
julia> ugfᵍᵉⁿ = UGF(:power, [0.0u"MW",0.0u"MW",2.0u"MW"], [0.1,0.2,0.7], rdc=false)
julia> isequal(ugfᵍᵉⁿ.val, [0.0u"MW",0.0u"MW",2.0u"MW"])
true
Alternatively, an ugf may be constructed based on a solved state-transition diagram:
MultiStateSystems.UGF
— MethodUGF(msr::Symbol, std::MultiStateSystems.AbstractSTD)
A UGF constructor for a specific measure msr
based on a given state-transition diagram std
.
This function automatically reduces the state-space to where only unique values and associated probabilites remain.
Example
julia> stdᵍᵉⁿ = solvedSTD(prob = [0.1,0.2,0.7],
power = [0.0u"MW",0.0u"MW",2.0u"MW"])
julia> ugfᵍᵉⁿ = UGF(:power, stdᵍᵉⁿ)
julia> isequal(ugfᵍᵉⁿ.val,[0.0u"MW",2.0u"MW"])
true