function BL = get_BL(s,n);
% Funktion ermittelt die Blockierwahrscheinlichkeit für ein System mit N
% Servern und dem mittleren Bestand im System a
%Erlangen B
global a1
global a2
global j
global s
global g
global i
global B1
global B2
global Pe
global k
global ME
global x

s = [6 4 6]                                                                                         %Aufteilung der Mitarbeiter auf die Gruppen
                                                                                                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Initialisierung %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
lambda = [1.5 2];                                                                                   %Angaben der prognostizierten Arbeitsauslastung
mu = [0.18 0.6 ; 0.16 0.5];                                                                         %Angaben der unterscheidlichen Bearbeitungsraten in Abhängigkeit von Skill und Gruppe
i=1;                                                                                                %Betrachtung der ersten Mitarbeitergruppe
j=1;                                                                                                %Betrachtung für den ersten Skill
E=2;                                                                                                %Anzahl Skills

                                                                                                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% if-Schleife %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
if s(3)> 0                                                                                          %Falls die Mitarbeiteranzahl der Generalistengruppe größer als 0 ist führe folgendes aus: 

                                                                                                     %%%%%%%%%%%%%%%%%%%%%%%%%%%%% while-Schleife %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    while j<=E                                                                                      %Solange j kleiner ist als die Anzahl der Skills E führe folgendes durch:
        a(j) = lambda(j)/mu(1,j);                                                                   %Berechne den mittleren Bestand im System auf der ersten Ebene
       syms k;
            m(j) = a(j)*(a(j)^s(i))/factorial(s(i))/symsum ((a(j)^k)/factorial(k), k, 0, s(i));  %Berechne den mittleren Überflussverkehr des jeweiligen Gruppe
            Z(j) = 1 - m(j) + (a(j)/(s(i)+1 + m(j) - a(j)));                                      %Berechne die Peakedness Z für die jeweilige Gruppe
            v(j) = m(j) * Z(j);                                                                     %Berechne die Varianz des Überflussverkehrs für die jeweilige Gruppe
    j = j+1;                                                                                        %Erhöhe j um 1, um den nächsten Skill zu betrachten
    i=i*1;                                                                                          %Erhöhe i um 1, um die Gruppe zu betrachten, die sich mit Skill j+1 beschäftigt
    end                                                                                             %Beendung der while-Schleife
                                                                                                                     %%%%%%%%%%%%%%%%%%%%%%%% Ende while-Schleife %%%%%%%%%%%%%%%%%%%%%%%%%
    
ME = sum (m);                                                                                       %Berechne die Summe des mittleren Überflussverkehr über alle Gruppen     
V = sum(v);                                                                                         %Berechne die Summe der Varainzen über alle Gruppen
Z = V/ME;                                                                                           %Berechne die Peakedness Z für die Generalistengruppe

%Die Generalistengruppe wird nun in Z Subgruppen unterteilt 

N_h= s(3)/Z                                                                                         %Berechne die Anzahl der Server für jede Subgruppe
a_h= ME/Z                                                                                           %Berechne den mittleren Verkehr für jede Subgruppe
syms x;
f = @(x) ((x^N_h) *exp(-x))                                                                         %Integralrechnung vorbereitung (Funktion des Integrals angeben)
E_B= a_h^(N_h) * exp(-(a_h)) /(integral(f,4,Inf))                                                   %Berechne die Erlang B-Formel für nicht ganzzahlige Zahlen mit den vorher berechneten Angaben
                                                         
BL = 1-E_B;                                                                                         %Berechnung der Blockierwahrscheinlichkeit durch die Gegenwahrscheinlichkeit 
                                                                                                    %der in Erang B berechneten Wahrscheinlchkeit

else                                                                                                %Falls die Bedingung der if-Schleife nicht erfüllt (s(3)=0) ist führe folgendes durch:                                                 
    i=1;                                                                                            %Betrachtung der ersten Mitarbeitergruppe
    j=1;                                                                                            %Betrachtung für den ersten Skill
    syms k;
    G1_B = a1*(a1(j)^s(i))/factorial(s(i))/symsum ((a1(j)^k)/factorial(k), k, 0, s(i));             %Berechnung der Erlang B-Formel für den ersten Skill
    
    i=2;                                                                                            %Betrachtung der zweiten Mitarbeitergruppe
    j=2;                                                                                            %Betrachtung für den zweiten Skill
    syms k;
    G2_B = a1*(a1(j)^s(i))/factorial(s(i))/symsum ((a1(j)^k)/factorial(k), k, 0, s(i));             %Berechnung der Erlang B-Formel für den zweiten Skill
    
    BB= 1 - (G1_B + G2_B)                                                                           %Berechne die Blockierwahrscheinlichkeit des Systems

end                                                                                                 %Beendung der if-Schleife
                                                                                                    %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  Ende if-Schleife %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%