Для найпростіших однорідних експоненціальних мереж стаціонарні ймовірності станів мережі мають мультиплікативну форму
Цей факт є основою для подальших аналітичних досліджень та розробки ефективних алгоритмів розрахунку більш загальних мереж. Нормалізуюча константа
Для розімкнених мереж МО вона має відносно простий вигляд, а для замкнених є сумою добутків
Прямий розрахунок нормалізуючої константи є досить трудомісткою процедурою. Основою багатьох алгоритмів розрахунку стаціонарних ймовірностей мережі є рекурентний метод Бузена. Відповідно до нього алгоритм розрахунку нормалізуючої константи зводиться до простої ітеративної процедури. При початкових умовах
дозволяє рекурентно обчислити
При дослідженні мереж МО точними методами накладається обмеження, що час обслуговування у центрах мережі має експоненціальний розподіл. Причина використання наближених методів полягає в необхідності дослідження мереж МО з довільними функціями розподілу тривалості обслуговування в центрах мережі і рекурентним вхідним потоком.
Найбільш простим наближеним методом аналізу мереж МО є метод поліноміальної апроксимації. Для замкнутої однорідної мережі МО, яка складається з M центрів, та у якій циркулює N повідомлень відповідно до маршрутної матриці, функція розподілу часу обслуговування в і-му центрі є довільною з першими двома моментами:
Нехай
відносно змінної X0(N), де
де позначено
Відомим наближеним методом є метод декомпозиційної апроксимації. Мережа МО з довільними функціями розподілу часу обслуговування замінюється еквівалентною мережею з експоненціальними обслуговуючими центрами. Декомпозиція замкнутої мережі з М центрами обслуговування за теоремою Нортона зводиться до еквівалентної мережі з двома центрами. При цьому перший центр двохвузлової мережі співпадає з і-м центром початкової мережі, а 2-й (композиційний), який є еквівалентом іншої частини мережі, має експоненціальний час розподілу обслуговування з параметром
Розглянемо модель замкненої ієрархічної мережі МО, схема якої зображена на рисунку 7.1. У цій мережі циркулює N=30 заявок, у відповідності з маршрутною матрицею. Якщо у момент надходження повідомлення у один із центрів він зайнятий, то повідомлення займає місце у буфері, у якому очікує звільнення приладу. Буфер з необмеженим числом місць дожидання. Обслуговуючі центри – з експоненцільно розподіленим часом обслуговування заявок. Середній час обслуговування у центрах заданий. Застосувавши розглянутий метод Бузена, знаходимо нормалізуючу константу, та обчислюємо такі показники функціонування мережі, як середня довжина черги у центрах, інтенсивність вихідного потоку та середній час перебування повідомлення у кожному центрі.
ПЕРЕЛІК ВИКОРИСТАНОЇ ЛІТЕРАТУРИ
1. Томашевський В.М. Моделювання систем. – К.: Видавнича група ВН, 2005. – 352 с.
2. Жожикашвили В.А., Вишневский В.М. Сети массового обслуживания. Теория и применение к сетям ЭВМ. – М.: Радио и связь, 1988. -192 с.
3. Кузин Л.Т. Основы кибернетики: В2-х тт. Т. 2. Основы кибернетических моделей. Учеб. Пособие для вузов. – М.: Энергия,1979. – 584 с.
4. Беляков В.Г., Митрофанов Ю.И. к исследованию замкнутых сетей массового обслуживания большой размерности//Автоматика и телемеханика. – 1981. - №7. – С.61-69.
5. Вишневский В.М., Герасимов А.И. Исследование потоков в замкнутых экспоненциальных сетях массового обслуживания//Проблемы управления и теории информации. – 1983. Т. 12, №6.
6. Яшков С.Ф. Анализ очередей в ЭВМ. – М.:Радио и связь, 1989, 216с.
7. Шварц М. Сети ЭВМ. Анализ и проектирование. – М.: Радио и свіязь, 1981. – 336 с.
ДОДАТОК
Програма розрахунку показників функціонування мережі
#include<iostream.h>
#include<conio.h>
#include<iomanip.h>
#include<math.h>
#include<stdlib.h>
int main(){
int i,j,p;
double g[31][20],x[20],e[20],mu[20],L[20],lam[20],T[20];
e[0]=1;
e[1]=0.1;
e[2]=0.05;
e[3]=0.15;
e[4]=0.1;
e[5]=0.05;
e[6]=0.1;
e[7]=0.05;
e[8]=0.15;
e[9]=0.2;
e[10]=0.05;
e[11]=0.05;
e[12]=0.15;
e[13]=0.16;
e[14]=0.14;
e[15]=0.17;
e[16]=0.15;
e[17]=0.17;
e[18]=0.52;
e[19]=0.48;
mu[0]=1;
mu[1]=0.12;
mu[2]=0.125;
mu[3]=0.5;
mu[4]=0.21;
mu[5]=0.56;
mu[6]=0.25;
mu[7]=0.65;
mu[8]=0.27;
mu[9]=0.27;
mu[10]=0.15;
mu[11]=0.21;
mu[12]=0.19;
mu[13]=0.15;
mu[14]=0.12;
mu[15]=0.17;
mu[16]=0.25;
mu[17]=0.3;
mu[18]=0.54;
mu[19]=0.63;
for(i=0;i<20;i++) x[i]=e[i]/mu[i];
for(i=0;i<31;i++) g[i][0]=pow(x[0],i);
for(j=0;j<20;j++) g[0][j]=1;
for(j=1;j<20;j++){
for(i=1;i<31;i++) g[i][j]=x[j]*g[i-1][j]+g[i][j-1];}
cout<<"Normalizujucha constanta GM(N):"<<g[30][19]<<endl;
for(i=0;i<20;i++){
cout<<"x["<<i<<"]="<<x[i]<<" "<<endl;}
cout<<"serednja dovzhina chergi v i-mu centri"<<endl;
for(i=0;i<20;i++){
for(p=0;p<31;p++){L[i]+=pow(x[i],p)*g[30-p][19]/g[30][19];}}
for(i=0;i<20;i++) cout<<"L["<<i<<"]="<<L[i]<<" "<<endl;
cout<<"Serednja intensivnist vyhidnogo potoku povidomlen z i-go centru"<<endl;
for(i=0;i<20;i++){ lam[i]=e[i]*g[29][i]/g[30][i];}
for(i=0;i<20;i++){
cout<<"lam["<<i<<"]="<<lam[i]<<" "<<endl;}
cout<<"Serednij chas perebuvannja povidomlennjya v i-mu centri"<<endl;
for(i=0;i<20;i++){ T[i]=L[i]/lam[i];}
for(i=0;i<20;i++){
cout<<"T["<<i<<"]="<<T[i]<<" "<<endl;}
getch();
}