Число клиентов, которые могут поступать в такие системы, равно конечному числу . В символике Кендалла это обозначается как
. Обозначим
. Число клиентов в этой системе
в момент времени
есть марковский случайный процесс рождения и гибели с множеством возможных состояний
и интенсивностями рождения
и интенсивностями гибели
и
Стационарный режим СМО ,
и
существует при любых
и
. Стационарный режим СМО
существует при условии
Основными характеристиками СМО являются следующие:
– загрузка системы;
– загрузка СМО, приходящаяся на один прибор;
1. – вероятность того, что в системе нет требований (простой системы);
2. – вероятности стационарных состояний;
3. – вероятность потери требования;
4. – вероятность того, что требование будет обслужено после некоторого ожидания;
5. – вероятность того, что поступившее требование будет обслужено без ожидания;
6. – среднее число требований, находящихся в СМО;
7. – среднее число требований, находящихся в очереди;
8. – среднее число занятых приборов;
9. – среднее время ожидания начала обслуживания;
10. – среднее время пребывания требования в СМО;
11. – функция распределения времени ожидания;
12. – функция распределения времени пребывания в СМО.
Отчет по лабораторной работе должен содержать:
1. Титульный лист.
2. Задание.
3. Тексты программ для открытых и замкнутых СМО.
4. Результаты работы программ.
5. Выводы.
Примеры выполнения задания
1. Пример моделирования открытой СМО
Система с параметрами
,
,
,
представляет собой компьютерный интернет сервис с пятью линиями связи и с возможностью держать восемь заявок в очереди. На сервер поступает простейший поток заявок с интенсивностью 14.5 вызовов в минуту. Время обслуживания распределено по показательному закону с параметром
заявки в минуту.
Оценить основные характеристики данной системы.
Программа для моделирования открытой СМО и оценки основных характеристик данной системы в Scilab приведена ниже.
// Открытая СМО М/М/m/n// Ввод исходных данных lambda=14.5; mu=6.4;m=5; n=8;N=m+n+1; // число возможных состояний системы// Определение вспомогательных переменных Num= input ('Число изменений состояния системы за время моделирования ');s=1; // индекс текущего состояния системы T=zeros(1,Num); // вектор моментов изменений состояний Qt=zeros(1,Num); // состояния процесса Q(t) в моменты// изменений состояний системы Time=zeros(1,N); // вектор, в котором накапливаются// суммарные времена пребывания системыв состояниях 0, 1,..., m+n Inf=9999; // большое число for i=2:Num,select Qt(i-1)case 0v=Inf; u=-log(rand())/lambda;case m+nu=Inf; v=-log(rand())/(m*mu);elseu=-log(rand())/lambda;qs=min(m,Qt(i-1)); // число работающих приборов v=-log(rand())/(qs*mu);end;delta_time=min(u,v);T(i)=T(i-1)+delta_time;Time(s)=Time(s)+delta_time;if u<vQt(i)=Qt(i-1)+1;elseQt(i)=Qt(i-1)-1;end;s=Qt(i)+1; // индекс текущего состояния end;z=zeros(1,Num);mvect=ones(1,Num)*m;qt=max(z,Qt-mvect); // очередь за время моделирования// Построение графика состояний системы figure; title ('Состояние системы'); xlabel ('T'); ylabel ('Qt'); plot (T,Qt); // Построение графика числа клиентов в очереди figure; title ('Число клиентов в очереди'); xlabel ('T'); ylabel ('qt'); plot (T,qt);disp('Оценки характеристик системы M/M/5/8, ');disp('полученные на основе моделирования');Psost=Time/T(Num);disp('Вероятность простоя'); disp(Psost(1));disp('Вероятности состояний 1,..., m+n');disp(Psost(2:N));disp('Вероятность ожидания'); Pw=1-sum(Psost(1:m)); disp(Pw);disp('Вероятность отказа'); PL=Psost(N); disp(PL);disp('Среднее число заявок в системе');k=0:(N-1); Qsr=k*Psost'; disp(Qsr);disp('Среднее число заявок в очереди');z=zeros(1,N); qsr=max(z,k-m)*Psost'; disp(qsr);
Результаты работы программы Scilab показаны на рисунках 1-3.
Рисунок 1 – Командное окно Scilab с результатами
Рисунок 2 – График состояния системы
Рисунок 3 – График числа клиентов в очереди
2. Пример моделирования открытой СМО
Система с параметрами
,
,
представляет собой транспортную компанию с пятью сотрудниками, которая принимает заявки на перевозки. В компанию поступает простейший поток заявок с интенсивностью 10.5 вызовов в час. Время обслуживания распределено по показательному закону с параметром
заявки в час.
Оценить основные характеристики данной системы
Программа для моделирования открытой СМО и оценки основных характеристик данной системы в Scilab приведена ниже.
// Открытая СМО М/М/m/Б// Ввод исходных данных lambda=10.5; mu=2.5;m=5; // Определение вспомогательных переменных Num= input ('Число изменений состояния системы за время моделирования ');s=1; // индекс текущего состояния системы T=zeros(1,Num); // вектор моментов изменений состояний Qt=zeros(1,Num); // состояния процесса Q(t) в моменты// изменений состояний системы Time=zeros(1,Num); // вектор, в котором накапливаются// суммарные времена пребывания системы в состояниях 0,1,..., Num Inf=9999; // большое чи слоfor i=2:Num,if Qt(i-1)==0v=Inf; u=-log(rand())/lambda;elseu=-log(rand())/lambda;qs=min(m,Qt(i-1)); // число работающих приборов v=-log(rand())/(qs*mu);end;delta_time=min(u,v);T(i)=T(i-1)+delta_time;Time(s)=Time(s)+delta_time;if u<vQt(i)=Qt(i-1)+1;else Qt(i)=Qt(i-1)-1;end;s=Qt(i)+1; // индекс текущего состояния end;z=zeros(1,Num);mvect=ones(1,Num)*m;qt=max(z,Qt-mvect); // очередь за время моделирования // Построение графика состояний системы figure; title ('Состояние системы'); xlabel ('T'); ylabel ('Qt'); plot (T,Qt); // Построение графика числа клиентов в очереди figure; title ('Число клиентов в очереди'); xlabel ('T'); ylabel ('qt'); plot (T,qt); disp('Оценки характеристик системы М/М/m/Б с ожиданием,');disp('полученных на основе моделирования');Psost=Time/T(Num);disp('Вероятность простоя'); disp(Psost(1));N= input ('Количество вероятностей, которые необходимо вывести на экран ');disp('Вероятности состояний 1,...,N'); disp(Psost(2:N+1));disp('Вероятность ожидания'); Pw=1-sum(Psost(1:m)); disp(Pw);disp('Среднее число заявок в системе');k=0:(Num-1); Qsr=k*Psost'; disp(Qsr);disp('Среднее число заявок в очереди');z=zeros(1,1); qsr=max(z,k-m)*Psost'; disp(qsr);
Результаты работы программы Scilab показаны на рисунках 4-6.
Рисунок 4 – Командное окно Scilab с результатами
Рисунок 5 – График состояния системы
Рисунок 6 – График числа клиентов в очереди
3. Пример моделирования открытой СМО
Система с параметрами
,
представляет собой водохранилище с неограниченным запасом воды, куда поступает простейший поток заявок на потребление воды с интенсивностью 7.7 вызовов в минуту. Отпуск воды начинается в момент прихода заявки и длится случайное время, распределенное по показательному закону с параметром
заявки в минуту.
Оценить основные характеристики данной системы.
Программа для моделирования открытой СМО и оценки основных характеристик данной системы в Scilab приведена ниже.
// Открытая СМО М/М/Б/Б// Ввод исходных данных lambda=7.7; mu=1.5; // Определение вспомогательных переменных Num= input ('Число изменений состояния системы за время моделирования ');s=1; // индекс текущего состояния системы T=zeros(1,Num); // вектор моментов изменений состояний Qt=zeros(1,Num); // состояния процесса Q(t) в моменты// изменений состояний системы Time=zeros(1,Num); // вектор, в котором накапливаются// суммарные времена пребывания системы в состояниях 0, 1,..., Num Inf=9999; // большое число for i=2:Num,if Qt(i-1)==0v=Inf; u=-log(rand())/lambda;elseu=-log(rand())/lambda;v=-log(rand())/(Qt(i-1)*mu);end;delta_time=min(u,v);T(i)=T(i-1)+delta_time;Time(s)=Time(s)+delta_time;if u<vQt(i)=Qt(i-1)+1;elseQt(i)=Qt(i-1)-1;end;s=Qt(i)+1; // индекс текущего состояния end; // Построение графика состояний системы figure; title ('Состояние системы'); xlabel ('T'); ylabel ('Qt'); plot (T,Qt);disp('Оценки характеристик системы М/M/Б/Б,');disp('полученные на основе моделирования');Psost=Time/T(Num);disp('Вероятность простоя'); disp(Psost(1));N= input ('Количество вероятностей, которые необходимо вывести на экран ');disp('Вероятности состояний 1,..., N'); disp(Psost(2:N+1));disp('Среднее число заявок в системе');k=0:(Num-1); Qsr=k*Psost'; disp(Qsr);
Результаты работы программы Scilab показаны на рисунках 7-8.
Рисунок 7 – Командное окно Scilab с результатами
Рисунок 8 – График состояния системы
4. Пример моделирования замкнутой СМО
В депо ремонтных бригад обслуживает
локомотивов в режиме работы системы
с параметрами
,
,
,
,
. Процесс
обозначает число неисправных локомотивов в момент времени t.
Оценить основные характеристики данной системы.
Программа для моделирования открытой СМО и оценки основных характеристик данной системы в Scilab приведена ниже.
Результаты работы программы Scilab показаны на рисунках 9-11.
Рисунок 9 – Командное окно Scilab с результатами
Рисунок 10 – График состояния системы
Рисунок 11 – График числа клиентов в очереди