4 % @brief PANACEA (PAth-based Normal Approximation
for Closed networks Estimation Algorithm).
10 % @brief PANACEA (PAth-based Normal Approximation
for Closed networks Estimation Algorithm).
11 % @fn pfqn_panacea(L, N, Z)
12 % @param L Service demand matrix.
13 % @param N Population vector.
14 % @param Z Think time vector.
15 % @
return Gn Normalizing constant.
16 % @
return lGn Logarithm of normalizing constant.
19function [Gn,lGn]=pfqn_panacea(L,N,Z)
20% [GN,LGN]=PFQN_PANACEA(L,N,Z)
22% K = population vector
24if nargin==2 || isempty(Z)
27if isempty(L) | sum(L,1)==zeros(1,p)
28 lGn = - sum(factln(N)) + sum(N.*log(sum(Z,1)));
37gammatilde = gamma ./ repmat(alpha',1,p);
39 % line_warning(mfilename,
'Model is not in normal usage');
48 m = zeros(1,p); m(j)=2;
49 A1 = A1 -beta(j) * pfqn_ca(gammatilde,m);
54 m = zeros(1,p); m(j)=3;
55 A2 = A2 + 2 * beta(j) * pfqn_ca(gammatilde,m);
56 m = zeros(1,p); m(j)=4;
57 A2 = A2 + 3 * beta(j)^2 * pfqn_ca(gammatilde,m);
59 m = zeros(1,p); m(j)=2; m(k)=2;
60 A2 = A2 + 0.5 * beta(j) * beta(k) * pfqn_ca(gammatilde,m);
67% m = zeros(1,p); m(j)=4;
68% A3 = A3 - 6 * beta(j) * pfqn_ca(gammatilde,m);
69% m = zeros(1,p); m(j)=5;
70% A3 = A3 - 20 * beta(j)^2 * pfqn_ca(gammatilde,m);
71% m = zeros(1,p); m(j)=6;
72% A3 = A3 - 15 * beta(j)^3 * pfqn_ca(gammatilde,m);
74% m = zeros(1,p); m(j)=4; m(k)=2;
75% A3 = A3 - 2 * beta(j) * beta(k) * pfqn_ca(gammatilde,m);
76% m = zeros(1,p); m(j)=2; m(k)=3;
77% A3 = A3 - 3 * beta(j)^2 * beta(k) * pfqn_ca(gammatilde,m);
78%
for l=setdiff(1:p,[j,k])
79% m = zeros(1,p); m(j)=2; m(k)=2; m(l)=2;
80% A3 = A3 - (1/6) * beta(j) * beta(k) * beta(l) * pfqn_ca(gammatilde,m);
85I = [A0, A1/Nt, A2/Nt^2];
88lGn = - sum(factln(N)) + sum(N.*log(sum(Z,1))) + log(sum(I)) - sum(log(alpha));