- •Задание на курсовой проект по дисциплине «Моделирование систем» Задание №1 Моделирование системы автоматического управления
- •Задание №2 Моделирование систем массового обслуживания на базе q-схем.
- •Особенности моделирования на базе q-схем.
- •Варианты схем для задания №1
- •Варианты заданий
- •1. Схема 1
- •Данные для схемы 3
- •4. Схема 4.
- •Данные для схемы 4
- •5 Схема 5.
- •Данные для схемы 5
- •2. Схема 2
- •Данные для схемы 2
- •3. Схема 3.
- •Список литературы.
Особенности моделирования на базе q-схем.
Пример 8.5. Для более детального ознакомления с технологией машинной имитации остановимся на рассмотрении Q-схемы достаточно общего вида, показанной на рис. 1.1. В частности, разберем на данном примере, какое влияние оказывает на особенности построения схемы моделирующего алгоритма принцип, положенный в основу его машинной реализации. На рисунке представлена трехфазная Q-схема (LФ=3) с блокировкой каналов по выходу в 1-й и 2-й фазах обслуживания (пунктирные линии на рисунке). В качестве выходящих потоков такой Q-схемы могут быть рассмотрены поток потерянных заявок из H, и поток обслуженных заявок из К3,1 (N1 и N3 на рис. 1.1).

Рис.1.1. Пример Q-схемы общего вида
Для имитационной модели рассматриваемой Q-схемы можно записать следующие переменные и уравнения: эндогенная переменная Р — вероятность потери заявок; экзогенные переменные: tm—время появления очередной заявки из И; tk,j — время окончания обслуживания каналом Kk,j очередной заявки, k = l, 2, 3; j = 1, 2; вспомогательные переменные: zi и zk,j — состояния Нi и Kk,j, i = 1, 2; k = l, 2, 3; j = 1, 2, параметры: Li — емкость i-гo H i; LkK—число каналов в k-й фазе; L1K = 2, L2K = 2, L3K = 1; переменные состояния: N1 — число потерянных заявок в Н1, N3 — число обслуженных заявок, т. е. вышедших из 3-й фазы; уравнение модели: P=N1/(N1+N3)=N1/N.
При имитации процесса функционирования Q-схемы на ЭВМ требуется организовать массив состояний. В этом массиве должны быть выделены: подмассив К для запоминания текущих значений zk,j соответствующих каналов Кk,j и времени окончания обслуживания очередной заявки tk,j j = 1...LkK, подмассив Н для записи текущего значения zi соответствующих накопителей Нi, i = 1, 2; подмассив И, в который записывается время поступления очередной заявки tm из источника (И).
Процедура моделирования процесса обслуживания каждым элементарным каналом Кk,j сводится к следующему. Путем обращения к генератору случайных чисел с законом распределения, соответствующим обслуживанию данных Кk,j, получается длительность времени обслуживания и вычисляется время окончания обслуживания tk,j, а затем фиксируется состояние zk,j = 1; при освобождении zk,j = 0, в случае блокировки Кk,j записывается zk,j = 2. При поступлении заявки в Н, к его содержимому добавляется единица, т. е. zi = zi + l, а при уходе заявки из Н, на обслуживание вычитается единица, т. е. zi = zi – 1, i = 1, 2.
Детерминированный моделирующий алгоритм. Укрупненная схема детерминированного моделирующего алгоритма Q-схемы, т. е. алгоритма, построенного по «принципу Δt», представлена на рис. 1.2. Специфика наличия постоянного шага Δt позволяет оформить «часы» системного времени в виде автономного блока 10. Этот блок служит для отсчетов системного времени, т. е. для вычисления tn=tn-1 + Δt. Для определения момента остановки при моделировании Q-схемы (по числу реализации N или по длине интервала времени моделирования Т) проводится проверка соответствующих условий (блок 3). Работа вспомогательных блоков — ввода исходных данных 1, установки начальных условий 2, обработки 11 и вывода результатов моделирования 12 — не отличается по своей сути от аналогичных блоков, используемых в алгоритмах вычислений на ЭВМ. Поэтому остановимся более детально на рассмотрении работы той части моделирующего алгоритма, которая отражает специфику детерминированного подхода (блоки 4 – 9).
Окончание обслуживания заявки в некотором канале Кk,j в момент времени tn может вызвать процесс распространения изменений состояний элементов («особых состоянии») системы в направлении, противоположном движению заявок в системе, поэтому все Н и К системы должны просматриваться при моделировании начиная с обслуживающего канала последней фазы по направлению к накопителю 1-й фазы (см. рис. 8.6).
После пуска, ввода исходных данных и установки начальных условий (блоки 7 и 2 на рис. 1.2) проверяется условие окончания моделирования системы (блок 3). Затем переходят к имитации обслуживания заявок каналом К3,1 3-й фазы Q-схемы. Если закончилось обслуживание в К3,1, то фиксируется выход из системы очередной обслуженной заявки и проводится освобождение канала К3.1.
Далее реализуется переход к моделированию работы каналов 2-й фазы Q-cxeмы. При этом проводится последовательный просмотр каналов этой фазы. Затем определяется, имеются ли в каналах 2-й фазы заявки, ожидающие обслуживания в канале К3,1. Если в момент времени tn имеются заявки, требующие обслуживания в К3,1, и этот канал свободен, то выбирается в соответствии с дисциплиной обслуживания одна из заявок и имитируется ее обслуживание К3,1, фиксируются занятость канала 3-й фазы и освобождение канала 2-й фазы. Если канал К3,1 занят, то фиксируется блокировка канала 2-й фазы.
Затем имитируется взаимодействие в процессе обслуживания заявок в накопителе и каналов 2-й фазы последовательно для каждого из каналов. Далее, если в накопителе Н2 имеются заявки и свободные каналы 2-й фазы, то имитируется обслуживание заявки одним из свободных каналов и освобождение места в накопителе Н2.

Рис. 1.2 Укрупнённая схема детерминированного моделирующего алгоритма Q-схемы
Потом имитируется взаимодействие конкретного канала 1-й фазы и накопителя 2-й фазы Н2. Для K1,j проверяется наличие в них заявок, требующих обслуживания в tn. Если нет свободных каналов 2-й фазы, но в накопителе имеются свободные места, то моделируются запись заявки в Н2 и освобождение конкретного канала 1-й фазы. Если свободных мест в Н2 нет, то фиксируется блокировка канала 1-й фазы. При наличии свободных каналов 2-й фазы осуществляется обслуживание заявки и фиксируются занятость одного из каналов 2-й фазы и освобождение одного из каналов 1-й фазы.
Затем имитируется взаимодействие в процессе обслуживания заявок в накопителе и каналов 1-й фазы. Проверяется необходимость и возможность обслуживания каналами K1,j заявок из накопителя H1. Если в H1 имеются заявки и один из K1,j свободен, то имитируется обслуживание заявки в 1-й фазе, фиксируются занятость конкретного канала и освобождение одного места в Н1.
Далее имитируется взаимодействие источника (И) и накопителя 1-й фазы Н1 с учетом занятости каналов этой фазы. Если в tn поступила заявка из И, то она при наличии свободного канала может быть обслужена K1,j, при наличии места в Н1 поставлена в очередь либо при отсутствии места в Н1 (его переполнении) потеряна. После этого определяется время поступления в Q-схему очередной заявки из источника tm и управление передается блоку 10, который определяет момент очередного шага tn (см. рис. 1.2).
Затем управление снова передается блоку 3 (рис. 1.2), который при наборе необходимой статистики проводит обработку и выдачу результатов моделирования, а затем остановку моделирования (блоки 11 и 12).
Синхронный моделирующий алгоритм. Рассмотрим особенности построения моделирующих алгоритмов той же Q-схемы, структура которой приведена на рис. 1.1, по «принципу z». Сначала построим синхронный моделирующий алгоритм, причем для определенности примем в качестве синхронизирующего элемента источник (И), т. е. tn = tm. В момент tn, т. е. на n-м шаге моделирования, на вход 1-й фазы Q-схемы поступает очередная заявка из И. С момента tn-1 до момента tn в Q-схеме могли произойти изменения состояний Н1 и K1,j, если в интервале (tn –1, tn) либо могло закончиться обслуживание в K1,j, либо могли освободиться К2,j. Эти изменения необходимо промоделировать раньше, чем поступление заявок в эту фазу в tn. Это справедливо и для остальных фаз Q-схемы: необходимо моделировать все изменения состояний k-й фазы до поступления в k-ю фазу заявок из (k-1)-й фазы (в этом случае 0-я фаза эквивалентна И).
Укрупненная схема синхронного моделирующего алгоритма представлена на рис. 1.3. Работа большинства блоков этой схемы аналогична детально рассмотренной схеме детерминированного моделирующего алгоритма (см. рис. 1.2). Поэтому остановимся более подробно только на взаимодействии синхронизирующего элемента, т. е. источника (И) с остальной частью Q-схемы, т. е. рассмотрим работу блока 6, имитирующего запись заявки из входного потока в накопитель Н1 или прием на обслуживание в один из каналов 1-й фазы.

Рис.1.3. Укрупнённая схема синхронного моделирующего алгоритма Q-схемы
Проверяется наличие свободных каналов 1-й фазы. Если среди каналов 1-й фазы Ki,j есть свободные, то выбирается один из них и имитируется обслуживание, т. е. определяется время окончания обслуживания в этом канале, затем фиксируется его новое состояние и осуществляется переход к следующему шагу. Если же оба канала 1-й фазы заняты, то проверяется, есть ли свободные места в накопителе Н1 этой фазы. Если свободные места есть, то имитируется запись заявки в Н1, а в противном случае фиксируется потеря заявки.
Асинхронный
моделирующий алгоритм.
Рассмотрим особенности построения
асинхронного моделирующего алгоритма,
который отличается от синхронного
отсутствием ведущего (синхронизирующего)
элемента, причем очередному шагу
моделирования соответствует особое
состояние, т. е. момент окончания
обслуживания одной из заявок любым
каналом или момент поступления заявки
из источника. При использовании такого
принципа построения моделирующего
алгоритма целесообразно процесс
изменения состояний элементов Q-схемы
рассматривать в направлении, противоположном
направлению движения заявок в системе.
Это можно сделать, циклически просматривая
на каждом шаге моделирования все элементы
Q-схемы
и определяя, какие переходы заявок из
одного элемента в другой могут иметь
место в данный момент системного времени.
Такой асинхронный циклический моделирующий
алгоритм в плане просмотра состояний
элементов Q-схемы тождествен
детерминированному моделирующему
алгоритму, который приведен на рис. 1.2.
Отличие заключается лишь в том, что
отсчет системного времени п
роводится
следующим образом:
т. е. время очередного шага определяется как минимум из минимальных времен окончания начатого обслуживания всеми каналами всех фаз Q-схемы и минимального времени поступления очередных заявок из источника. В силу указанных причин не будем подробно останавливаться на рассмотрении асинхронного циклического моделирующего алгоритма Q-схемы, а рассмотрим только укрупненную схему, приведенную на рис. 1.4.

Рис.1.4. Укрупнённая схема асинхронного циклического моделирующего алгоритма Q-схемы
В асинхронных спорадических моделирующих алгоритмах в отличие от циклических для каждого момента системного времени tn просматриваются только те элементы Q-схемы, которые изменяют, свое состояние в этот момент времени. Для моделирования процесса распространения изменений состояний элементов Q-схемы в направлении, противоположном направлению движения заявок в системе, необходимо прослеживать цепочку разблокирований в случае освобождения каналов, т. е. рассматривать, вызовет ли освобождение Кk,j разблокирование Kk-1,j освобождение Kk-1,j разблокирование Кk-2,j и т. д. Рассмотрим случай, когда эта цепочка просматривается за один шаг моделирования.
Укрупненная схема асинхронного спорадического моделирующего алгоритма, реализующего «принцип z», показана на рис. 1.5.

Рис.1.5. Укрупнённая схема асинхронного спорадического моделирующего алгоритма Q-схемы
Блок 3 служит для определения временного интервала до ближайшего момента изменения состояния каким-либо элементом Q-схемы (И, Н или К). Системное время
—
это минимальное
время освобождения канала Кk,j или
время до поступления новой заявки из
И. В результате работы блока 3 tm
= 0, если ближайшим событием является
поступление из И, и tk,j = 0 и определены
k и j, если
ближайшим событием является освобождение
k-го канала j-й фазы Q-схемы.
Приложение 1.
Варианты заданий для выполнения задания №1.
|
№ варианта |
Номер схемы |
|
1 |
1 |
|
2 |
2 |
|
3 |
3 |
|
4 |
4 |
|
5 |
5 |
|
6 |
6 |
|
7 |
7 |
|
8 |
8 |
|
9 |
1 |
|
10 |
2 |
|
11 |
3 |
|
12 |
4 |
|
13 |
5 |
|
14 |
6 |
|
15 |
7 |
|
16 |
8 |
|
17 |
1 |
|
18 |
2 |
|
19 |
3 |
|
20 |
4 |
|
21 |
5 |
|
22 |
6 |
|
23 |
7 |
|
24 |
8 |
Приложение 2
