Архитектура Аудит Военная наука Иностранные языки Медицина Металлургия Метрология Образование Политология Производство Психология Стандартизация Технологии |
Вычисление числовых характеристик СМО
Варинт №8 На жд вокзале имеется одна касса, которая работает в режиме массового обслуживания М/М/1. Пассажиры подходят к кассе, образуя пуассоновский поток. В среднем пассажиры подходят за билетами каждые 30 секунд. Среднее время обслуживания одного пассажира – 25 секунд. Если кассир занят, образуется очередь. При формулировании задачи важную роль играет дисциплина очереди, здесь рассматривается следующая: требование приходит в систему и дожидается обслуживания, а например, не уходит, если очередь велика, и, кроме того, каждое требование обслуживается в свою очередь без каких-либо приоритетов. Отношение λ /μ = ρ – загрузка системы (коэффициент загрузки). Расчетные формулы для системы М/М/1 имеют следующий вид:, Р0 =1 – ρ. - вероятность того, что обслуживающий прибор свободен = ρ /(1 – ρ ); - среднее число требований в системе (находящихся в очереди и на обслуживании) = ρ /[μ (1 – ρ )]; - среднее время ожидания обслуживания = ρ 2/(1 – ρ ); - средняя длина очереди, ожидающей обслуживания,
= 1/[μ (1 – ρ )]. - среднее время, проведенное требованием в системе, Так как средний промежуток времени между поступлениями требований известен: mt пост =30 сек= 1/2мин, то среднее число пассажиров, приходящих к кассе в течение 1 мин, λ = 1/mt пост; λ = 1/0, 5 = 2пассажира/мин. Поскольку среднее время обслуживания mt обсл =25 сек= 0, 4мин, то среднее число пассажиров, обслуживаемых в 1 мин, μ = 1/mtобсл ; μ = 1/0, 4 = 2, 5, т. е. в среднем касса обслуживает более двух пассажиров в минуту. λ /μ = ρ – загрузка системы ρ =2/2, 5=0, 8 Тогда вероятность простоя системы (в данном случае кассы и кассира) Р0 = 1 – ρ; Р0 = 1 – 0, 8 = 0, 2, т. е. 20 % рабочего времени система простаивает. = ρ /(1 – ρ ); - Среднее число пассажиров в системе (стоят в очереди плюс один рассчитывается за билет) = 0, 8/(1 – 0, 8) = 4 пассажира = ρ /μ (1 – ρ ); -Среднее время ожидания в очереди = 0, 8/(2, 5· 0, 2) =1, 6мин. = ρ 2/(1 – ρ ); -Средняя длина очереди, ожидающей обслуживания, пассажира. = 0, 82/ (1 – 0, 8) = 3, 2 т. е., как правило, немногим больше трех пассажиров стоят в очереди. Среднее время, проведенное пассажиром в системе, ожидая сначала в очереди, а потом и собственно своего обслуживания кассиром, Т = 1/μ (1 – ρ ); Т = 1/[2.5· (1 – 0, 8)] = 2 мин. Вычисление числовых характеристик СМО lambda=2; mu=2.5; m=1; rho=lambda/mu; rho_m= rho/m; if rho_m> =1, disp('Стационарного режима не существует'); Else disp('Стационарный режим существует'); K=input('Сколько вероятностей вычислять? '); while K< =m disp('K должно быть не менее m+1'); K=input('Сколько вероятностей вычислять? '); end; x=1: m; x1=ones(1, K-1-m)*m; xx=[x, x1]; slave1=ones(1, K-1)*rho; slave2=slave1./xx; slave=cumprod(slave2); disp('Вероятность простоя'); P0=1/(1+sum(slave(1: m-1))+slave(m)/(1-rho_m)); disp(P0); disp('Вероятность состояний 1, ...K-1'); Psost=slave*P0; disp(Psost); disp('Вероятность ожидания перед обслуживанием'); Pw=Psost(m)/(1-rho_m); disp(Pw); disp('Вероятность обслуживания без ожидания'); Pww=1-Pw; disp(Pww); disp('Среднее число заявок в системе'); k=1: m-1; Qsr=k*(Psost(1: m-1))'+m*Pw+Psost(m)*rho_m/(1-rho_m)^2; disp(Qsr); disp('Среднее число заявок в очереди'); qsr=Psost(m)*rho_m/(1-rho_m)^2; disp(qsr); disp('Среднее число занятых приборов'); qs=Qsr-qsr; disp(qs); disp('Среднее время ожидания'); W=qsr/lambda; disp(W); disp('Среднее время пребывания в системе'); T=Qsr/lambda; disp(T); t=0: 0.01: 10; FW=1-Pw*exp(-(m*mu-lambda)*t); plot(t, FW); end; Результаты полученные на основе вычислений
График функции распределения времени ожидания Стационарный режим существует Сколько вероятностей вычислять? 3 Вероятность простоя 0.2000 Вероятность состояний 1, ...K-1 0.1600 0.1280 Вероятность ожидания перед обслуживанием 0.8000 Вероятность обслуживания без ожидания 0.2000 Среднее число заявок в системе 4.0000 Среднее число заявок в очереди 3.2000 Среднее число занятых приборов 0.8000 Среднее время ожидания 1.6000 Среднее время пребывания в системе 2.0000 Компьютерное моделирование основных процессов и статическая оценка Характеристик СМО lambda=2; mu=2.5; m=1; Num=input('Число изменений состояний системы за время моделир.: '); s=1; 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; disp(' Оценки характеристик системы M|M|1 с ожиданием, '); disp(' полученные на основе моделирования'); Psost=Time/T(Num); disp('Вероятность простоя'); disp(Psost(1)); N=input('Кол-во вероятностей, которые необходимо вывести на экран: '); disp('Вероятности состояний 1,..., N'); disp(Psost(2: N)); 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); z=zeros(1, Num); mvect=ones(1, Num)*m; qt=max(z, Qt-mvect); subplot(211); plot(T, Qt); subplot(212); plot(T, qt); Вероятность простоя 0.1446 Вероятность ожидания 0.8554 Варинт №8 На жд вокзале имеется одна касса, которая работает в режиме массового обслуживания М/М/1. Пассажиры подходят к кассе, образуя пуассоновский поток. В среднем пассажиры подходят за билетами каждые 30 секунд. Среднее время обслуживания одного пассажира – 25 секунд. Если кассир занят, образуется очередь. При формулировании задачи важную роль играет дисциплина очереди, здесь рассматривается следующая: требование приходит в систему и дожидается обслуживания, а например, не уходит, если очередь велика, и, кроме того, каждое требование обслуживается в свою очередь без каких-либо приоритетов. Отношение λ /μ = ρ – загрузка системы (коэффициент загрузки). Расчетные формулы для системы М/М/1 имеют следующий вид:, Р0 =1 – ρ. - вероятность того, что обслуживающий прибор свободен = ρ /(1 – ρ ); - среднее число требований в системе (находящихся в очереди и на обслуживании) = ρ /[μ (1 – ρ )]; - среднее время ожидания обслуживания = ρ 2/(1 – ρ ); - средняя длина очереди, ожидающей обслуживания,
= 1/[μ (1 – ρ )]. - среднее время, проведенное требованием в системе, Так как средний промежуток времени между поступлениями требований известен: mt пост =30 сек= 1/2мин, то среднее число пассажиров, приходящих к кассе в течение 1 мин, λ = 1/mt пост; λ = 1/0, 5 = 2пассажира/мин. Поскольку среднее время обслуживания mt обсл =25 сек= 0, 4мин, то среднее число пассажиров, обслуживаемых в 1 мин, μ = 1/mtобсл ; μ = 1/0, 4 = 2, 5, т. е. в среднем касса обслуживает более двух пассажиров в минуту. λ /μ = ρ – загрузка системы ρ =2/2, 5=0, 8 Тогда вероятность простоя системы (в данном случае кассы и кассира) Р0 = 1 – ρ; Р0 = 1 – 0, 8 = 0, 2, т. е. 20 % рабочего времени система простаивает. = ρ /(1 – ρ ); - Среднее число пассажиров в системе (стоят в очереди плюс один рассчитывается за билет) = 0, 8/(1 – 0, 8) = 4 пассажира = ρ /μ (1 – ρ ); -Среднее время ожидания в очереди = 0, 8/(2, 5· 0, 2) =1, 6мин. = ρ 2/(1 – ρ ); -Средняя длина очереди, ожидающей обслуживания, пассажира. = 0, 82/ (1 – 0, 8) = 3, 2 т. е., как правило, немногим больше трех пассажиров стоят в очереди. Среднее время, проведенное пассажиром в системе, ожидая сначала в очереди, а потом и собственно своего обслуживания кассиром, Т = 1/μ (1 – ρ ); Т = 1/[2.5· (1 – 0, 8)] = 2 мин. Вычисление числовых характеристик СМО lambda=2; mu=2.5; m=1; rho=lambda/mu; rho_m= rho/m; if rho_m> =1, disp('Стационарного режима не существует'); Else disp('Стационарный режим существует'); K=input('Сколько вероятностей вычислять? '); while K< =m disp('K должно быть не менее m+1'); K=input('Сколько вероятностей вычислять? '); end; x=1: m; x1=ones(1, K-1-m)*m; xx=[x, x1]; slave1=ones(1, K-1)*rho; slave2=slave1./xx; slave=cumprod(slave2); disp('Вероятность простоя'); P0=1/(1+sum(slave(1: m-1))+slave(m)/(1-rho_m)); disp(P0); disp('Вероятность состояний 1, ...K-1'); Psost=slave*P0; disp(Psost); disp('Вероятность ожидания перед обслуживанием'); Pw=Psost(m)/(1-rho_m); disp(Pw); disp('Вероятность обслуживания без ожидания'); Pww=1-Pw; disp(Pww); disp('Среднее число заявок в системе'); k=1: m-1; Qsr=k*(Psost(1: m-1))'+m*Pw+Psost(m)*rho_m/(1-rho_m)^2; disp(Qsr); disp('Среднее число заявок в очереди'); qsr=Psost(m)*rho_m/(1-rho_m)^2; disp(qsr); disp('Среднее число занятых приборов'); qs=Qsr-qsr; disp(qs); disp('Среднее время ожидания'); W=qsr/lambda; disp(W); disp('Среднее время пребывания в системе'); T=Qsr/lambda; disp(T); t=0: 0.01: 10; FW=1-Pw*exp(-(m*mu-lambda)*t); plot(t, FW); end; |
Последнее изменение этой страницы: 2017-03-17; Просмотров: 346; Нарушение авторского права страницы