Советов Б.Я., Яковлев С.А. Моделирование систем (2001) (1186219), страница 64
Текст из файла (страница 64)
е. будетиметь место процесс распространения смены состояний в направлении, противоположном движению заявок в системе S.Известно, что существует два основных принципа построениямоделирующих алгоритмов: «принцип At» и «принцип 8z». Припостроении моделирующего алгоритма Q-схемы по «принципу Aft>,т.
е. алгоритма с детерминированным шагом, необходимо для268построения адекватной моделиМоделирующие алгоритмыМм определить минимальныйинтервал времени между сосед4ними событиями Д/'=тш{ы(} Детерминиро8анныя Стохастические(во входящих потоках и потоках\обслуживании) и принять, чтоСинхронныешаг моделирования равен At'.
АсинхронныеВ моделирующих алгоритмах,*построенных по «принципу Sz», ЦиклическиеСпороди чес киет. е. в алгоритмах со случайнымшагом, элементы Q-схемы про Рис. 8.5. Классификация способов поалгоритмов Qсматриваются при моделирова строения моделирующихсхемнии только в моменты особыхсостояний (в моменты появления заявок из И или изменения состояний К). При этом длительность шага A/=var зависит как отособенностей самой системы S, так и от воздействий внешней средыЕ. Моделирующие алгоритмы со случайным шагом могут бытьреализованы синхронным и асинхронным способами.
При синхронном способе один из элементов Q-схемы (И, Н или К) выбираетсяв качестве ведущего и по нему «синхронизируется» весь процессмоделирования. При асинхронном способе построения моделирующего алгоритма ведущий (синхронизирующий) элемент не используется, а очередному шагу моделирования (просмотру элементовQ-схемы) может соответствовать любое особое состояние всегомножества элементов И, Н и К. При этом просмотр элементовQ-схемы организован так, что при каждом особом состоянии либоциклически просматриваются все элементы, либо спорадически —только те, которые могут в этом случае изменить свое состояние(просмотр с прогнозированием) [4, 36, 37].Классификация возможных способов построения моделирующих алгоритмов Q-схем приведена на рис. 8.5.Более подробно особенности построения и реализации перечисленных разновидностей моделирующих алгоритмов будут рассмотрены при моделировании конкретных вариантов систем.Особенности моделирования на базе Q-схем.
Математическоеобеспечение и ресурсные возможности современных ЭВМ позволяют достаточно эффективно провести моделирование различных систем, формализуемых в виде Q-схем, используя либо пакеты прикладных программ, созданные на базе алгоритмических языковобщего назначения, либо специализированные языки имитационного моделирования. Но прежде чем применять эти средства автоматизации моделирования, необходимо глубже вникнуть в сутьпроцесса построения и реализации моделирующих алгоритмов [4, 7,17, 23, 32, 46].Пример 8.5.
Для более детального ознакомления с технологией машинной имитации остановимся на рассмотрении Q-схемы достаточно обшего вида, показаннойна рис 8.6. В частности, разберем на данном примере, какое влияние оказывает на269особенности построения схемымоделирующегоалгоритмапринцип, положенный в основуего машинной реализации.На рисунке представленаГ"GHED-r©4i| ii 'ЧЁЬ i 'f^Hj- трехфазная•©-&-ФQ-схема (L =3)с блокировкой каналов по вы3-яходу в 1-й и 2-й фазах обслужи| /-я фаза| £• я фазафазавания (пунктирные линии нарисунке). В качестве выходяРис. 8.6.
Пример Q-схемы общего видащих потоков такой Q-схемымогут быть рассмотрены поток потерянных заявок о Н, и поток обслуженныхзаявок из ЛГз, i (N1 и N3 на рис. 8.6).Для имитационной модели рассматриваемой Q-схемы можно записать следующие переменные и уравнения: эндогенная переменная Р — вероятность потеризаявок;экзогенныепеременные:tm — времяпоявленияочереднойзаявки из И; f*, j — время окончания обслуживания каналом К*, j очереднойзаявки, fc=l, 2, Ъ\)=\, 2; вспомогательные переменные: zt nzk.j— состоянияHj и К*,/ 1=1, 2; fc=l, 2, 3; j=\,1\ параметры: Li — емкость i-roН(; L$ — число каналов в к-й фазе; Lf=2, L$=2, L%=\; переменныесостояния: Ns — число потерянных заявок в H l f N3 — число обслуженных заявок,т. е.
вышедших из 3-й фазы; уравнение модели:P=NJ(Ni+Ni)=NJN.N,4^J|При имитации процесса функционирования Q-схемы на ЭВМтребуется организовать массив состояний. В этом массиве должныбыть выделены: подмассив К для запоминания текущих значенийZt, j соответствующих каналов К*, j и времени окончания обслуживания очередной заявки tk.j,j=l, Lk*, подмассив Н для записи текущего значения z,- соответствующих накопителей Н„ f= 1, 2; подмассивИ, в который записывается время поступления очередной заявкиt„ из источника (И).Процедура моделирования процесса обслуживания каждым элементарным каналом К*._, сводится к следующему. Путем обращенияк генератору случайных чисел с законом распределения, соответствующим обслуживанию данных К*, j, получается длительность времени обслуживания и вычисляется время окончания обслуживанияtk.j, а затем фиксируется состояние zK)=\\ при освобожденииZk.j=0; в случае блокировки К*, у записывается Zk.j=2.
При поступлении заявки в Н, к его содержимому добавляется единица, т. е.z,=z,+ l, а при уходе заявки из Н, на обслуживание вычитаетсяединица, т. е. z(=z«—1, / = 1 , 2.Детерминированный моделирующий алгоритм. Укрупненная схема детерминированного моделирующего алгоритма Q-схемы, т. е.алгоритма, построенного по «принципу At», представлена на рис.8.7. Специфика наличия постоянного шага At позволяет оформить«часы» системного времени в виде автономного блока 10.
Этот блокслужит для отсчетов системного времени, т. е. для вычисления?„ = ?„_! +А/. Для определения момента остановки при моделировании Q-схемы (по числу реализаций N или по длине интервалавремени моделирования Т) проводится проверка соответствующих270условий (блок 3). Работавспомогательныхблоков — ввода исходных данных 1, установкиначальных условий 2, обработки 11 и вывода результатов моделирования12 — не отличается посвоей сути от аналогичных блоков, используемых в алгоритмах вычислений на ЭВМ.
Поэтомуостановимся более детально на рассмотренииработы той части моделирующегоалгоритма,которая отражает специфику детерминированного подхода (блоки 4 — 9).Детализированные схемы алгоритмов этихблоков приведены нарис. 8.8, а — е. На этихи последующих схемахмоделирующих алгоритмов Q-схем приняты следующиеобозначения:ZN(I)=z,; Z(K, J)=zk,/,(_Пуск " " )Z" вводисходных Iданных IIT-ZУстановканачальныхусловийка оканчаS' кс.^ния модели•пасОбслуживаниеПбсзаявки кана-I| ломЗОЯ 3-й фазыОбработкаультатов'елированияI лом[' Переход I12г12т' Гы&одильтато1'моделирова-,нияI1°'заявки из 2-й•ЮПереход к сле Обслуживав 3-ю фазу №а%Htдующему мо - I ние6заявкика-п I'менту времени налом 2-йОстановфазыСJИерехддзаявкииз 1-й фазыв накопитель2-й фазы\05слуОбслуживаниегI зояwзаявкикана| ломлом 1-й фазыTM=tm, TN=tn,T(K,г-п-зJ) = tk,j,LO(T) = L„PO = P,~' тип/заявки наNOl^Ni,N03=N3,Вход Q-схемыNO = N.ТПроцедура обслужива Рис.
8.7. Укрупненная схемадетерминированнония заявок каналамиго моделирующего алгоритма Q-схемыKk,j оформлена в видеподпрограммы WORK [K(K, J)], позволяющей обратиться к генератору случайных чисел с соответствующим данному каналуКА, j законом распределения, генерирующему длительность интервала обслуживания очередной заявки tk, 3.
Процедура генерации заявокисточником (И) оформлена в виде подпрограммы D (ТМ), котораяопределяет момент поступления очередной tm в Q-схему.Окончание обслуживания заявки в некотором канале К* } в момент времени t„ может вызвать процесс распространения измененийсостояний элементов («особых состоянии») системы в направлении,противоположном движению заявок в системе, поэтому всеН и К системы должны просматриваться при моделировании271начиная с обслуживающегоканала последней фазы понаправлению к накопителюа)НетДолг Z(3,l)=r1-й фазы (см. рис. 8.6).После пуска, ввода исНетходных данных и установкиначальных условий (блоки•4.31 и 2 на рис. 8.7) проверяетсяN03 -N03*1]условие окончания моделирования системы (блок 5).I Z(3,l)=0 |Затем переходят к имитацииобслуживания заявок каналом Къ, 1 3-й фазы Q-схемы(рис.