Файл: Л. В. Горчаков в в в в е е д д е е н н и и е е в в к к о о м м п п ь ь ю ю т т е е р р н н о о е е м м о о д д е е л л и и р р о о в в а а н н и и е е учебное пособие.pdf

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 11.01.2024

Просмотров: 121

Скачиваний: 1

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

79 служиванию той заявки из очереди, которая стоит первой. Проме- жуток времени между появлениями двух последовательных заявок и время обслуживания считаются случайными величинами с задан- ными функциями распределения. Введем следующие обозначения:
WT – среднее время ожидания заявки в очереди,
IDT – среднее время простоя системы в ожидании очередного требования,
Wti – время ожидания i-ой заявки,
IDTi – время простоя системы в ожидании i-ой заявки,
Ati – интервал между появлениями i-ой и I + 1-ой заявками,
Sti – время обслуживания i-ой заявки, I = 1,2,3,…m,
F(AT) – функция распределения плотности вероятностей интер- вала времени между двумя последовательными заявками,
F(ST) – функция распределения плотности вероятностей време- ни обслуживания.
1 1
1
,
1
m
m
i
i
i
i
WT
m
WT
TWT m IDT
m
IDT
TIDT m








. (58)
Блок-схема программы приведена на рис. 22.
В блоке 1 обнуляется время появления первой заявки, время ее ожидания, время простоя системы в ожидании ее прихода, полное время ожидания и простоя и фиксируется факт появления первой заявки. Блок 2 генерирует относительное время появления следу- ющей заявки. Оно отсчитывается от момента прихода предыдуще- го требования. В блоке 3 из полученной величины отнимается вре- мя ожидания предыдущей заявки. Эта разность определяет новое значение относительного времени прибытия нового требования.
Его отсчет ведется теперь от момента начала обслуживания предыдущей заявки. Продолжительность этого обслуживания определяется в блоке 4. Если она превышает относительное время появления новой заявки, последней придется постоять в очереди.
Время ожидания нового требования в этом случае равно разности между продолжительностью обслуживания предыдущей заявки и относительным временем его появления. Эта разность вычисляется в блоке 7, после чего в блоке 8 пересчитывается полное время ожи- дания в системе. Если же относительное время появления новой заявки больше времени обслуживания предыдущего требования, ждать ей не придется, зато возникает простой, продолжительность которого вычисляется в блоке 12 как разность этих времен. В сле-

80 дующем блоке пересчитывается полное время простоя системы.
Если относительное время появления и время обслуживания равны, ни простоя, ни ожидания не возникает. Цикл, начинающийся с бло- ка 2, можно повторять много раз и таким образом рассматривать произвольное число заявок. В результате можно найти оценки ста- тистических характеристик системы.
Рис. 22. Блок-схема расчетов по одноканальной однофазовой модели массового обслуживания
Рассмотрим работу многоканальной системы массового обслу- живания с неограниченной очередью (рис. 23) [18]
Рис. 23. Система массового обслуживания с неограниченной очередью
В данной системе возможны два события:
1) поступление заявок из источника на обслуживание (если один из приборов свободен), либо в очередь;


81 2) окончание обслуживания очередной заявки, поступление ее на приемник и выбор следующей заявки из очереди (если очередь не пуста).
Блок управления моделью определяет, какое из событий настанет раньше и присваивает системному времени значение, равное вре- мени наступления этого события. Затем управление передается на блоки, имитирующие работу отдельных устройств, и выполняются действия, связанные с данным событием. Например, при поступле- нии очередной заявки из источника необходимо:
1) сгенерировать время поступления следующей заявки;
2) если все каналы заняты – увеличить длину очереди на одну заявку;
3) если есть свободный прибор, то пометить его как занятый и сгенерировать время окончания обслуживания заявки.
Обозначим t – модельное время,

– длина очереди, k – число заня- тых каналов, m – общее число каналов, ns – число обслуженных заявок,

– псевдослучайная величина, распределенная равномерно на отрезке [0,1], tp – время поступления очередной заявки в систе- му, ts[1: m] – упорядоченный по возрастанию массив времен окон- чания обслуживания заявок на занятых каналах,


и


– первый и второй моменты распределения длины очереди.
Считаем, что время между поступлением заявок распределено экспоненциально с параметром

, а время обслуживания также распределено экспоненциально с параметром

. Моделирование прекращаем после обслуживания 10 заявок. По определению, пер- вый и второй моменты распределения длины очереди равны




2 1
2 0
0
;
i
i
i P
i
i P
i




 

 
 
 


,
(59) где P(

= i) –вероятность того, что длина очереди равна i. В каче- стве оценки вероятности P(

= i) будем использовать отношение времени, которое длина очереди была равна i , к общему времени моделирования. Для исходных данных






m


блок- схема алгоритма приведена на рис. 24.

82
Рис. 24. Алгоритм моделирования

83
Задачи для самостоятельной работы
1. Время между последовательными прибытиями покупателей равномерно распределено в интервале от 1 до 20 минут. Для 50 % покупателей время обслуживания – 8 минут, для остальных – 14 минут. Какие генераторы нужно взять? Определите суммарное время ожидания покупателей и время простоя системы за 4 часа работы магазина.
2. По блок-схеме рис. 25 напишите программу и определите ве- роятности P(

= i),


и


Постройте таблицу значений t, tp, ts(1),
ts(2), ts(3), k,

, ns и график зависимости

от t.
3. Имеется одноканальная СМО с очередью ограниченной дли- ны. Время между поступлением заявок распределено равномерно на отрезке [0,2], время обслуживания имеет экспоненциальное рас- пределение с параметром

= 1. Длина очереди n = 1. Если очередь заполнена, то поступившее вновь требование покидает СМО без обслуживания. Моделирование закончить после обслуживания за- данного числа заявок. Построить заданные характеристики для длины очереди.
Имеем многоканальную СМО с отказами без очереди. Если все каналы заняты, заявка, вновь поступившая в систему, покидает си- стему без обслуживания. Время между поступлением заявок рас- пределено экспоненциально, с параметром

= 1. Количество кана- лов m = 2. Время обслуживания заявок на каждом приборе распре- делено равномерно на отрезке [0, 1]. Моделирование закончить при достижении заданного модельного времени Т. Постройте заданные характеристики для количества занятых каналов.
Блок-схемы алгоритмов для решения этих задач можно найти в
[16, 17].
7.4. Стохастическая модель дорожного движения [10]
Пусть машины по дороге движутся в один ряд так, что пешехо- ду требуется определенное время, чтобы пересечь улицу. Пусть пешеход приходит в точку, из которой начнет переход улицы в мо- мент, когда только что прошел автомобиль (рис. 25).


84
Рис. 25. Модель ожидания пешехода
Мы интересуемся ответами на такие вопросы: вероятность ожи- дания определенного времени (задержки) пешехода и величина времени ожидания. Правила поведения пешехода: решение начать переход зависит от близости и скорости ближайшего автомобиля. В задачах об ожидании временной интервал более существенен, чем пространственный. Учет их можно провести, наблюдая за времен- ными интервалами в потоке машин, т.е. за временем, которое тре- буется ближайшему автомобилю, чтобы доехать до пешехода.
Время между прохождениями двух последовательных автомобилей будем называть интервалом и измерять от времени появления в точке перехода переднего бампера автомобиля до времени появле- ния бампера второго автомобиля. Каждому человеку свойственен свой критический временной интервал между появлениями авто- мобилей. Простейшая из возможных моделей вида интервал- решение приведена на рис. 26 и имеет вид функции Г(t) = 0, если
t
T

и 1, если
t
T

Распределение во времени движения автомобилей определяется распределением вероятностей интервалов между автомобилями в ряду. Простейшим предположением относительно него является случайное распределение пуассоновского типа. Постоянная

определяет плотность транспортного потока, т.е. среднее число ав- томобилей, приходящих в точку перехода за единицу времени. Для плотности автомобилей более 600 авто в час, т.е. при среднем вре- менном интервале между автомобилями < 4.5 сек поток будет не пуассонов. Распределение числа машин определяет вероятность прибытия любого данного числа машин в данную точку за единицу

85 времени. Если обозначить P(k) – вероятность прибытия k машин за единицу времени, получим распределение Пуассона
 


!,
0,1, 2...
k
P k
e
k
k




(60)
Рис. 26. Ступенчатая функция интервал-решение
Другое – распределение интервалов – дает вероятность суще- ствования пробела или интервала длиной величины t. Это распре- деление будет экспоненциальным с плотностью вероятности вида
 
,
0
t
F t
e
t

 

(61)
(для предположения, что автомобиль имеет длину 0). Для конечной длины автомобиля

оно примет вид (рис. 27)
 


t
t
e
 

 
(62)
Рис. 27. Экспоненциальное распределение и экспоненциальное распределение со сдвигом
Вероятность появления интервала, превышающего данное Т, опре- деляется соотношением


интервал
T
T
t
T
P
T
e
dt
e








(63)


86
Для транспортного потока с плотностью 600 автомобилей в час

= 1/6 автомобиля в секунду. Если пешеходу требуется для пере- хода не менее 8 секунд, вероятность того, что он перейдет улицу без задержки составляет
8 6
0, 2636
e


. Действительное время ожидания получается суммированием случайных временных ин- тервалов. Так как автомобиль имеет длину, то время между про- хождениями двух автомобилей всегда больше 0. Средний времен- ной интервал при


0 равен (1/

+

). Распределение времени ожидания описывается функцией плотности вероятности
 
 
 


 



1 1
0 1 !
!
,
T
T
j
j
r
T
i
j
W t e
t
e
e
t jT
j
t jT
j









 

 
 







  







(64) где (r–1)T

t

rT, r =1, 2, .., а выражение для w

(s) в случае экспо- ненциального распределения имеет вид
  





s T
T
W s
s e
s
e
 

  
 
(65)
Стандартный результат теории вероятностей гласит:
– среднее время ожидания
 
0
s
dw s
ds


;
(66)
– дисперсия
 
 


2 2
2 0
s
d w s
ds
dw s ds


(67)
Это приводит к следующим выражениям:
– среднее время ожидания


1 1
T
e
T


  
;
(68)
– средняя дисперсия времени ожидания


2 2
1 2
1
T
T
e
Te



 

(69)
Таким образом, при Т = 8с,

= 1/6 машин/c среднее значение вре- мени ожидания равно 6[e
4/3
–7/3] = 8.8c.

87
8.
Я
ЗЫКИ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
Для решения задач компьютерного моделирования кроме обыч- ных алгоритмических языков программирования и оболочек типа
Mathcad используются также специализированные алгоритмиче- ские языки имитационного моделирования (SPL). Полное изложе- ние таких языков и способов решения задач с их помощью выходит за рамки намеченных целей. Поэтому мы ограничимся лишь крат- ким обзором. Языки SPL разрабатывались в качестве аппарата про- граммного обеспечения имитационного подхода и изучения опре- деленного класса систем. К ним относятся, например такие языки как CSL-язык работ, GPSS- язык транзактов, Симула-язык процес- сов, Симскрипт-язык событий. Имитация здесь представляет собой метод воспроизведения функционирования моделирующей систе- мы во времени. Чтобы смоделировать на ЭВМ поведение сложной реальной системы в языке должны быть предусмотрены:
1) способы организации данных, обеспечивающие простое и эффективное моделирование,
2) удобные средства формализации и воспроизведения динами- ческих свойств моделируемой системы,
3) возможности имитации стохастических систем, т.е. процеду- ры генерирования и анализа случайных величин и временных ря- дов.
Языки имитационного моделирования должны позволять опи- сывать статическую и динамическую структуру модели (возмож- ные формы существования системы – классы объектов, свойства объектов, связи объектов между собой и со средой, формирование системного времени и управляющую программу). Например, в языке GPSS элементы потока называются транзактами. При ими- тации они создаются и уничтожаются. Транзакт имеет набор пара- метров. Отношения между транзактами устанавливаются разбие- нием их на группы, допускающие анализ и модификацию своего состава. Для моделирования обслуживающих объектов системы, подверженных воздействию транзактов, предусмотрен специаль- ный класс элементов: установки, склады и переключатели. В каж- дый момент времени установка может обслуживать только один транзакт. На складе могут находиться одновременно несколько транзактов. Переключатели регулируют потоки и имеют два поло- жения, которые меняются по указаниям самих транзактов. Для


88 наблюдения за функционированием модели используются очереди и таблицы. Каждая очередь содержит список транзактов, задер- жавшихся в системе, и ведет учет среднего числа и средней про- должительности таких задержек. В таблицах можно накапливать данные для построения разнообразных частотных распределений.
Функциональный аппарат языка образуют блоки. Они описывают логику модели, сообщая транзактам куда идти и что делать дальше.
GPSS программа генерирует и передает транзакты из блока в блок в соответствии с правилами, устанавливаемыми самими блоками.

89
1   2   3   4   5   6   7   8   9