Моделирование многоканальных систем массового обслуживания
Автор: valeria0209 • Апрель 16, 2020 • Лабораторная работа • 1,516 Слов (7 Страниц) • 493 Просмотры
[pic 1] КАЗАНСКИЙ ГОСУДАРСТВЕННЫЙ
ЭНЕРЕГТИЧЕСКИЙ УНИВЕРСИТЕТ[pic 2]
Кафедра ИК
Дисциплина:
«Теория массового обслуживания»
Лабораторная работа № 6
«Моделирование многоканальных систем массового обслуживания»
Выполнила: студентка гр. ПМ-1-16
Розенфельд В.Н.
Казань, 2019
Цель работы: практически освоить моделирование систем массового обслуживания в программной среде Matlabпри пуассоновском входном потоке требований, экспоненциальном обслуживании и возможном уходе из очереди также по экспоненциальному закону. Цель моделирования – получение операционных характеристик.
Моделирования системы типа M/M/m/K.
Алгоритм моделирования системы типа M/M/m/K:
- Для начала изобразим размеченный граф состояний заданной системы, где λ - интенсивность входного потока требований, μ - интенсивность обслуживания одном прибором.
[pic 3]
- Составить дифференциальные уравнения (уравнения Колмогорова) относительно вероятностей состояний. Производная вероятности любого состояния равна сумме потоков вероятности, переводящих систему в это состояние, минус сумма всех потоков вероятности, выводящих систему из этого состояния
[pic 4]
- Для решения систем дифференциальных уравнений данного типа обычно задают естественные начальные условия: P0(0)=1, Pi(0)=0.
- Далее приравнять производные к нулю и получить соотношения для расчета стационарных вероятностей состояний системы. При этом используется нормировочное условие для n=5.
Пример моделирования системы типа M/M/m/Kв Matlab.
functionMMmK;
clc,close
L = 3.52;
M = 0.678;
m = 4;
K = 7;
global A
A = [-L,M,0,0,0,0,0,0;
L,-(L+M),2*M,0,0,0,0,0;
0,L,-(L+2*M),3*M,0,0,0,0;
0,0,L,-(L+3*M),4*M,0,0,0;
0,0,0,L,-(L+4*M),4*M,0,0;
0,0,0,0,L,-(L+4*M),4*M,0;
0,0,0,0,0,L,-(L+4*M),4*M;
0,0,0,0,0,0,L,-4*M];
%% численное интегрирование дифф. уравнений
P0 = [1;zeros(length(A)-1,1)];
T = [0,20];
[t,P] = ode23(@cmo, T, P0);
%% построение диаграммы вероятностей состояний
%% line(t,P,'linew',2) %% с различными цветами
line(t,P(:,1),'linew',2, 'color','r') %% Po
line(t,P(:,2), 'linew',2,'lines','--') %% P1
line(t,P(:,3), 'linew',2,'lines','-.') %% P2
line(t,P(:,4), 'linew',2,'lines',':') %% P3
line(t,P(:,5), 'marker','o', 'color', 'm') %% P4
line(t,P(:,6), 'marker','h', 'color','k') %% P5
line(t,P(:,7), 'marker','p','color','r') %% P6
line(t,P(:,8), 'marker','>') %% P7
gridon
N = length(A)-1;
arr = [0:N]';
str = num2str(arr);
legend(strcat('\bf\itP\rm\bf_', str, '(\itt\rm\bf)'));
title(sprintf('%s Вероятностисостоянийсистемы M/M/%d/%d', '\bf\fontsize{12}',m, K));
xlabel('\bf\it\fontsize{12} - - - - - - - - t - - - - - - - -')
ylabel('\bf\fontsize{12}\itP\rm\bf(\itt\rm\bf)');
set(gca, 'fontweight','bold', 'fontsize',10)
fprintf('\n Стационарные вероятности:\n');
for J = 1 : length(A)
fprintf('\tP%d = %f\n', J-1, P(end,J));
end
fprintf('\n\t ОПЕРАЦИОННЫЕ ХАРАКТЕРИСТИКИ:\n');
Pnot = P(end,end);
fprintf(' ВероятностьотказаPnot = %f\n', P(end,end));
Q = 1 - Pnot;
fprintf(' Относительная пропускная способность Q = %f\n', Q);
...