Добавил:
tchernov.kol@yandex.ru Скидываю свои работы с фака 26.04.02 Кораблястроение Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Лабораторная работа (Вариант 20) - Компьютерное моделирование основных процессов и статистическая оценка характеристик СМО

.docx
Скачиваний:
0
Добавлен:
11.06.2025
Размер:
234.8 Кб
Скачать

Петербургский Государственный Университет Путей Сообщения

Лабораторная работа: Компьютерное моделирование основных процессов и статистическая оценка характеристик СМО

Вариант – 20

Выполнил:

Васечкин А.А. ПТМ-014

Проверил:

Санкт-Петербург

2023 г.

Цель работы: Моделирование работы открытой и замкнутой СМО M|M|m|n с параметрами:

  1. λ= 1.25; µ = 0.1; m=3; n=0;

  2. λ= 23.8; µ = 19.2; m=1; n=inf; S=6

Построение получившейся траектории процесса Q(t) и оценка основных характеристик смоделированной системы.

Теоретическая часть

Открытые СМО

Система M|M|m|n имеет m одинаковых параллельно работающих приборов и n мест для ожидания. Входящий поток требований простейший с интенсивностью λ, время обслуживания – показательное с параметром µ. Максимальное число требований, которые могут находиться в системе, равно m + n. Любое поступившее сверх этого числа требование получает отказ и покидает систему без обслуживания. Число требований Q(t), находящихся в системе в момент времени t, является марковским процессом рождения и гибели с множеством состояний {0, 1, . . . , m + n} .

Замкнутые СМО

Код программы для решения задачи

Моделирование открытой СМО

Система M|M|n|m, с параметрами λ= 1.25; µ = 0.1; m=3; n=0

lambda=1.25; mu=0.1;

m=3; n=0;

N=m+n+1;% число возможных состоний системы

% Определение вспомогательных переменных

Num=50;

s=1;% индекс текущего состони системы

T=zeros(1,Num);% вектор моментов изменений состоний

Qt=zeros(1,Num);% состони процесса Q(t) в моменты изменений

% состоний системы

Time=zeros(1,N);% вектор, в котором накапливаютс суммарные

% времена пребывани системы в состоних 0, 1, . . . , m + n

for i=2:Num,

switch Qt(i-1)

case 0

v=Inf;u=-log(rand)/lambda;

case m+n

u=Inf;v=-log(rand)/(m*mu);

otherwise

u=-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<v

Qt(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);

subplot(211);plot(T,Qt);

subplot(212);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);

Числовые характеристики открытой СМО:

lambda=1.25; mu=0.1;

m=3; n=0;

rho=lambda/mu; rho_m=rho/m;

N=m+n;

% Вычисление веротностей p0, p1, . . . , p12

x=1:N;

x1=ones(1,N)*m;

xx=min(x,x1);% вектор длины N, равный (1, 2, . . . , m, . . . , m)

slave1=ones(1,N)*rho;

slave2=slave1./xx;% вектор длины N,

slave=cumprod(slave2);% вектор (ρ,

disp('Веротность просто системы');

P0=1/(1+sum(slave)); disp(P0);

disp('Веротности состоний 1,...,N');

Psost=slave*P0; disp(Psost);

disp('Веротность потери требовани');

Potk=Psost(N); disp(Potk);

disp('Веротность ожидани перед обслуживанием');

Pw=sum(Psost(m:N-1)); disp(Pw);

disp('Веротность обслуживани без ожидани');

Pww=1-Psost(m)*(1-rho_m^(n+1))/(1-rho_m); disp(Pww);

disp('Среднее число завок в системе');

Qsr=(1:N)*Psost'; disp(Qsr);

xx1=x-x1;

disp('Среднее число завок в очереди');

qsr=Psost(m)*rho_m/(1-rho_m)^2; disp(qsr);

disp('Среднее число зантых приборов');

qs=xx*Psost'; disp(qs);

disp('Среднее врем ожидани');

W=m*Psost(m)/mu/(m-rho)^2*(1-(n+1)*rho_m^n+n*rho_m^(n+1));

disp(W);

disp('Среднее врем пребывани в системе');

T=W+1/mu; disp(T);

% График функции распределени времени ожидани FW (t)

t=0:0.01:10;

slv1=[];slv2=[];

if n>1

for k=1:n-1

slv1=[slv1;(m*mu*rho_m*t).^k./prod(1:k)];

slv2=[slv2;(m*mu*t).^k./prod(1:k)];

end;

slv1=sum(slv1);slv2=sum(slv2);

% Вычисление Pn−1

slv=slv1-slv2*rho_m^n+1-rho_m^n;

else

slv=1-rho_m^n;

end;

FW=1-Psost(m)/(1-rho_m)*exp(-m*mu*t).*slv;

plot(t,FW);

Моделирование замкнутой СМО

Система M|M|m|n|S: λ= 23.8; µ = 19.2; m=1; n=inf; S=6

lambda=23.8; mu=19.2; m=1;

Num=50;

s=6;

T=zeros(1,Num);

Qt=zeros(1,Num);

Time=zeros(1,Num);

for i=2:Num,

if Qt(i-1)==0

v=Inf;u=-log(rand)/lambda;

else

u=-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<v

Qt(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(0,Qt-mvect);

subplot(211);plot(T,Qt);

subplot(212);plot(T,qt);

disp ('Оценки характеристик системы M|M|1 с ожиданием,');

disp ('пролученные на основе моделировани');

Psost=Time/T(Num);

disp ('Веротность просто'); disp(Psost(1));

N=10; % ('Количество веротностей, которые необходимо вывести на экран');

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 ('Среднее число завок в очереди');

qsr=max(0,k-m)*Psost'; disp(qsr);

Числовые характеристики закрытой СМО:

lambda=23.8; mu=19.2;

m=1; n=8; S=6;

rho=lambda/mu;

M=min(m+n,S);

% Вычисление веротностей

x=1:M;

x1=ones(1,M-m)*m;

x2=S-x+1;

xx=[x(1:m),x1];xx1=xx./x2;

slave1=ones(1,M)*rho;

slave2=slave1./xx1;

slave=cumprod(slave2);

disp('Веротность просто');

P0=1/(1+sum(slave)); disp(P0);

disp('Веротности состоний 1,...,M');

Psost=slave*P0; disp(Psost);

disp('Веротность потери требовани');

PL=Psost(M); disp(PL);

disp('Веротность ожидани перед обслуживанием');

Pw=sum(Psost(m:M-1)); disp(Pw);

disp('Веротность обслуживани без ожидани');

Pww=P0+sum(Psost(1:m-1)); disp(Pww);

disp('Среднее число завок в системе');

Qsr=x*Psost'; disp(Qsr);

xq=x-xx;

disp('Среднее число завок в очереди');

qsr=xq((m+1):M)*(Psost((m+1):M))'; disp(qsr);

disp('Среднее число зантых приборов');

qs=xx*Psost'; disp(qs);

disp('Среднее врем ожидани');

W=((1:n)/m/mu) * (Psost(m+1):M)'; disp(W);

disp('Среднее врем пребывани в системе');

T=W+1/mu; disp(T);

% График функции распределени времени ожидани FW (t)

t=0:0.01:10;

FW=1-Pw*exp(-(m*mu-lambda)*t);

plot(t,FW);

Результаты работы программы

Моделирование открытой СМО

Число изменений состояния системы за время моделирования 50

Оценки характеристик системы М|M|3|0, полученные на основе моделирования:

Вероятность простоя - 0.0094;

Количество вероятностей, которые необходимо вывести на экран 3

Вероятности состояний 1,...3:

0.0142 0.2207 0.7557;

Вероятность ожидания- 0.7557;

Вероятность отказа – 0.7557;

Среднее число заявок в системе - 2.7226;

Среднее число заявок в очереди - 0;

Числовые характеристики открытой СМО

Вероятность простоя системы – 0.0024;

Вероятность состояний 1…,3:

0.300 0.1873 0.7804

Вероятность отказа- 0.7804;

Вероятность обслуживания с ожиданием- 0;

Вероятность обслуживания без ожидания- 0.2196;

Среднее число заявок в системе- 2.7456;

Среднее число заявок в очереди- 0.3242;

Можно заметить отличие в характеристиках СМО при моделировании и расчётах. Чтобы уменьшить расхождение в значениях, увеличим Число изменений состояния системы за время моделирования до 500000.

Таким образом получаем характеристики системы:

Вероятность простоя - 0.0023;

Количество вероятностей, которые необходимо вывести на экран 3

Вероятности состояний 1,..., 3:

0.0300 0.1872 0.7805;

Вероятность ожидания- 0.7805;

Вероятность отказа – 0.7805;

Среднее число заявок в системе - 2.7460

Среднее число заявок в очереди - 0;

Что уже более приближенно к расчётным значениям.

Моделирование замкнутой СМО

Число изменений состояния системы за время моделирования 50

Оценки характеристик системы M|M|1|inf|6, полученные на основе моделирования:

Вероятность простоя системы - 0.0297;

Вероятность ожидания – 0.9703;

Вероятность состояний 1…N:

0.0302 0.0721 0.2196 0.1568 0.031 0.1433 0.1506 0.1408 0.0069 0.0211;

Среднее число заявок в системе - 4.9202;

Cреднее число заявок в очереди- 3.9499;

Числовые характеристики замкнутой СМО:

Вероятность простоя- 0.00017087

Вероятности состояний:

0.0013 0.0079 0.0391 0.1452 0.3601 0.4463;

Вероятность потери требования- 0.4463

Вероятность ожидания перед обслуживанием- 0.5535

Вероятность обслуживания без ожидания- 0.00017087

Среднее число заявок в системе- 5.1934

Среднее число заявок в очереди-4.1936

Среднее число занятых приборов- 0.9998

Вывод

В данной лабораторной работе было проведено моделирование работы

1. открытой СМО с параметрами λ= 1.25; µ = 0.1; m=3; n=0;

2. замкнутой СМО с параметрами λ= 23.8; µ = 19.2; m=1; n=inf; S=6

Построена траектория процесса Q(t) и дана оценка основных характеристик смоделированной системы и оценка числовых характеристик.