Моделирование сложных систем

Автор работы: Пользователь скрыл имя, 02 Апреля 2013 в 00:12, курсовая работа

Описание работы

Целью данной курсовой работы является изучение подходов и средств моделирования; разработка машинной модели с использованием алгоритмических языков и специальных программных средств. В настоящее время нельзя назвать область человеческой деятельности, в которой в той или иной степени не использовались бы методы моделирования. Особенно это относится к сфере управления различными системами, где основными являются процессы принятия решений на основе получаемой информации.

Файлы: 1 файл

mss - копия.docx

— 5.33 Мб (Скачать файл)

SEIZE (Занять)

SEIZE - занимает устройство.

Формат: SEIZE А 

А - номер устройства.

Свободный блок SEIZE позволяет вошедшему  в него сообщению занять указанное  устройство. Блок SEIZE задерживает сообщение, если устройство занято или находится  в состоянии недоступности.

В поле А задается номер (имя) занимаемого  устройства.

Сообщение, занявшее устройство, затем пытается перейти к следующему по номеру блоку. Устройство остается занятым до тех пор, пока занимающее его сообщение не войдет в соответствующий блок RELEASE. Прежде чем освободить устройство, сообщение может пройти через неограниченное число блоков.

DEPART (Покинуть очередь)

DEPART - удаляет транзакт из очереди.

Формат: DEPARTА, В

А - номер (имя) очереди;

В - число удаляемых из очереди  элементов.

Удаляет текущий транзакт из очереди, указанной в поле А, и уменьшает содержимое очереди на значение поля В. Транзакт может находиться одновременно в двух различных очередях.

ADVANCE (Задержать)

ADVANCE - задерживает транзакт.

Формат: ADVANCE А, В

А - среднее время задержки (константа, если В не задано);

В - разброс относительно среднего значения, должен быть меньше или равен А.

Транзакты обслуживаются устройствами в течение некоторого промежутка времени. Для моделирования такого обслуживания, т.е. для задержки транзактов на определенный отрезок модельного времени/

Блок ADVANCE моделирует временную задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Если поле В не является FN$, т время задержки является случайным числом, распределенным равномерно на интервале от (; + В) до (А - В). Если поле В является функцией FN$, то время задержки определяете произведением поля А на значение функции в поле В. Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящим от А.

Транзакты, входящие в блок ADVANCE, переводятся из списка текущих событий в список будущих событий, а по истечении вычисленного времени задержки возвращаются назад, в список текущих событий, и их продвижение по блок-схеме продолжается. Если вычисленное время задержки равно 0, то транзакт в тот же момент модельного времени переходит в следующий блок, оставаясь в списке текущих событий.

RELEASE (Освободить)

RELEASE - освобождает устройство.

Формат: RELEASE А

А - номер устройства(символьное имя освобождаемого устройства) .

Устройство, указанное в поле А, освобождается и становится доступным  для других транзактов. Освобождать устройство должен тот же транзакт, который его занимал. .

TRANSFER (Передать)

TRANSFER - изменяет движение транзакта в модели.

Формат: TRANSFER А, В, С, D

А - режим передачи (пробел,.,ALL, BOTH, FN, P, PICK, SBR, SIM);

В - следующий блок;

С - следующий блок;

D - значение индекса, используемое в режиме ALL.

Транзакт направляется в блок, определяемый в соответствии с режимом передачи, указанным в поле А.

Режимы передачи поля А:

1. Пробел   - транзакт передается в блок, определяемый полем В.

2. "." - статистический режим; в поле А указано десятичное число, выражающее вероятность перехода в блок С; его дополнение до единицы указывает вероятность перехода в блок В.

3. ALL - транзакт последовательно пытается перейти в блоки, определяемые значениями  В,  B+D, B+2D.....C.

4. BOTH  - транзакт последовательно пытается войти в блок В, затем в блок С, до тех пор, пока один из них станет доступным.

5. FN - функциональный режим: поле В является номером функции; следующий блок определяется суммой значения этой функцииполя С.

6. Р - параметрический режим: поле В является номером параметра; следующий  блок  определяется суммой значения этого параметра и поля С.

7. PICK - выборочный режим: блок  выбирается с равной вероятностью  из блоков с номерами: В, B+l,..., С.

8. SBR - режим перехода к подпрограмме: номер текущего блока помещается в параметр, указанный в поле С, а транзакт передается в блок, номер которого указан в поле В.

9. SIM - одновременный режим: проверяется  одновременное выполнение условий  беспрепятственного движения  транзактов в задерживающих блоках. Если условие выполняется, транзакт передается в следующий блок, в противном случае транзакт переходит на блок С.

START (Начать)

START - управление процессом моделирования. 

Формат: START А, В, С, D

А - счетчик числа завершений;

В - подавление вывода на печать (В  = NP);

С - промежуточный вывод статистики; 0 - распечатка списков.

Поле А определяет счетчик завершений при прогоне модели. При входе  транзакта в блок TERMINATE с ненулевым значением поля А, содержимое поля А блока TERMINATE вычитается из остаточного значения счетчика - поля А карты START.

Прогон завершается, когда значение счетчика достигнет нуля. Указатель  NP в поле В отменяет вывод стандартного отчета GPSS. Величина , указанная в поле С, определяет число завершений, по достижении которого выдается промежуточный отчет. Таким образом можно получать статистические данные в определенных интервалах моделирования. Если поле D содержит 1, полученный отчет будет содержать списки текущих и будущих событий, а также списки пользователя.

TERMINATE (Удаление транзакта)

TERMINATE – служит для удаления транзактов из модели

Формат: TERMINATEA

Значение поля A указывает, на сколько единиц уменьшается содержимое так называемого счетчика завершений при входе транзакта в данный блок TERMINATE. Если поле A не определено, то оно считается равным 0, и транзакты, проходящие через такой блок, не уменьшают содержимого счетчика завершений.

Начальное значение счетчика завершений устанавливается управляющим оператором START (начать), предназначенным для запуска прогона модели. Поле A этого оператора содержит начальное значение счетчика завершений. Прогон модели заканчивается, когда содержимое счетчика завершений обращается в 0. Таким образом, в модели должен быть хотя бы один блок TERMINATE с непустым полем A, иначе процесс моделирования никогда не завершится.

Участок блок-схемы модели, связанный с парой блоков GENERATE-ТERMINATE, называется сегментом. Простые модели могут состоять из одного сегмента, в сложных моделях может быть несколько сегментов.

ENTER

ENTER - позволяет вошедшему сообщению (транзакту) использовать многоканальное устройство.

Формат:  ENTER   A,[B]

Сообщение может быть задержано  на входе в блок, если многоканальное устройство заполнено или имеющейся  емкости недостаточно или устройство в данный момент недоступно.

В поле А указывается номер или  имя многоканального устройства, куда входит сообщение.

В поле В содержится число занимаемых единиц многоканального устройства. Если поле В пусто, то предполагается что занимается одна единица. Если это значение равно нулю, то сообщение никогда не задерживается на входе, а блок рассматривается как нерабочий.

Активное сообщение не может  войти в блок ENTER, если запрос на многоканальное устройство не может быть удовлетворен.

Активное сообщение не может  войти в блок ENTER, если многоканальное устройство находится в недоступном состоянии.

Когда сообщение входит в блок ENTER, то операнд А используется для нахождения многоканального устройства с указанным именем. Если такое многоканальное устройство не существует, то возникает ошибка выполнения. В противном случае используется операнд В для оценки емкости многоканального устройства.

Одно и то же сообщение может  входить в неограниченное число  многоканальных устройств, а впоследствии освобождать их (или часть из них).

LEAVE

LEAVE - освобождает определенное  число единиц многоканального устройства.

Формат:  LEAVE A,[B]

Занятый объем многоканального  устройства уменьшается на число  освобождаемых единиц. Оставшаяся емкость  многоканального устройства увеличивается  на ту же величину. Счетчик числа  входов не изменяется.

Поле А блока LEAVE определяет номер  или имя многоканального устройства.

Поле В - число освобождаемых  единиц многоканального устройства. Если это поле пусто, предполагается 1. Число освобождаемых единиц не должно превышать текущее содержимое многоканального устройства.

 

 

4.2.2  Описание работы программы на  GPSS-World

Данная  программа функционирует следующим  образом:

Блок  GENERATE 120,60 – вводит в модель транзакты, которые распределены по равномерному  закону распределения, заявки поступают в цех с интенсивностью 2+1 мин.

Блок  GATESNFST_A,M_B – проверяет накопитель А, если он заполнен отправляет заявку на накопитель В.

Блок  ENTERST_A - занять многоканальное устройство (канал A).

Блок  SEIZEKAN_A – занять устройство (канал A).

Блок  ADVANCE45,15 – организует задержку транзакта в канале A, время обслуживание имеет равномерное  распределение со средним значением 45+15 секунд.

Блок  ADVANCE 160,20 – организует задержку транзакта в канале A, время обслуживание имеет равномерное распределение со средним значением 160+20секунд.

Блок  RELEASEKAN_A – освободить устройство (канал A).

Блок  ADVANCE 960,240 – организует задержку транзакта в канале A, время обслуживание имеет равномерное распределение со средним значением 16+4минуты.

Блок  LEAVEKAN_А - освободить многоканальное устройство (канал А).

Блок TERMINATE   - уничтожает заявки, вышедшие из системы.

Блок  GATESNFST_В,M_О – проверяет накопитель В, если он заполнен отправляет заявку в отказ.

Блок  ENTERST_В - занять многоканальное устройство (канал В).

Блок  SEIZEKAN_В – занять устройство (канал В).

Блок  ADVANCE 17,4 – организует задержку транзакта в канале В, время обслуживание имеет равномерное  распределение со средним значением 17+4секунды.

Блок  ADVANCE 160,20 – организует задержку транзакта в канале В, время обслуживание имеет равномерное распределение со средним значением 160+20секунд.

Блок  RELEASEKAN_В – освободить устройство (канал В).

Блок  ADVANCE 960,240 – организует задержку транзакта в канале В, время обслуживание имеет равномерное распределение со средним значением 16+4минуты.

Блок  LEAVEKAN_В - освободить многоканальное устройство (канал В).

Блок TERMINATE   - уничтожает заявки, вышедшие из системы.

Блок  GENERATE 3600 – обеспечивает моделирование работы на протяжении 10 ч.

Блок TERMINATE  1 - уничтожает заявки, вышедшие из системы.

Карта управления  START 1 - запускает моделирование  и устанавливает значение счётчика завершений равное 1000, то есть система после обслуживания тысячи заявок автоматически прекратит свою работу.

Программа моделирующая работу заданной системы  и результаты полученные при этом представлены в Приложении А.

 

4.2.3 Выводы по работе системы,  смоделированной в GPSS-World

Отчёт по модели работы кафе представлен  в     Приложении Б.

STARTTIME    0.000    (начальное время)

ENDTIME3600.000(время окончания)

BLOCKS    22                       (количество операторов)

FACILITIES    2                    (число каналов)

STORAGES2                     (число накопителей)

Далее перечисляются операторы (блоки), имеющие  числовые номера и количество входов в них покупателей. Затем указываются результаты моделирования каналов 1и 2.

 

FACILITYENTRIESUTIL.   AVE. TIMEAVAIL.OWNER PEND INTER RETRY DELAY

 KAN_A            17    0.955     202.289  1      18    0    0     0      6

KAN_B             8    0.355     159.880   1      32    0    0     0      0

 

 

Ниже  указываются результаты моделирования  каждой очереди соответственно:

 

STORAGE         CAP. REM. MIN. MAX.  ENTRIES AVL.  AVE.C. UTIL. RETRY DELAY

ST_A            12    0   0    12       23   1    8.603  0.717    0    0

 ST_B            12    6   0     7        8   1    1.803  0.150    0    0

 

Основныеобозначения:

STARTTIME – время начала моделирования

ENDTIME  - время окончания моделирования

BLOCKS  - количество блоков, используемых в программе

FACILITIES – количество устройств

STORAGES – количество многоканальных устройств, для которых определяется емкость накопителя

Далее приводится информация о блоках:

LOC – номер блока, назначенный системой

BLOCKTYPE – название блока

ENTRYCOUNT – количество транзактов, прошедших через блок за время моделирования

СURRENTCOUNT – количество транзактов, задержанных в блоке на момент конца моделирования

RETRY – количество транзактов, ожидающих специальных условий для прохождения через данный блок

Отчет о работе устройства:

FACILITY – название устройства

ENTRIES – количество транзактов, прошедших через устройство

UTIL. – вероятность загрузки устройства (часть периода моделирования, когда устройство было свободно)

AVE. TIME – среднее время обработки одного транзакта устройством

AVAIL. – состояние готовности устройства на момент конца моделирования (1 –готово к обслуживанию очередной заявки; 0 – не готово)

OWNER – номер последнего транзакта занимающего устройство (если не занималось, то значение 0)

PEND – количество транзактов, ожидающих устройство, и находящихся в режиме прерывания

INTER – количество транзактов, прерывающих устройство в данный момент

RETRY – количество транзактов, ожидающих специальных условий, зависящих от состояния объекта типа «устройство»

DELAY – определяет количество транзактов, ожидающих занятия или освобождения устройства

Статистика  об очередях:

QUEUE – имя очереди

MAX - максимальная длина очереди

CONT. – текущая длина очереди

ENTRY – общее количество входов

ENTRY(0)- количество «нулевых» входов

AVE.CONT. – средняя длина очереди

AVE.TIME – среднее время пребывания транзактов в очереди

AVE.(-0) – среднее время пребывания в очереди без учета «нулевых» входов

RETRY – количество транзактов, ожидающих специальных условий

Информация  о списке текущих событий:

CEC (CurrentEventsChain)

XN – номер транзакта

PRI – приоритет транзакта (по умолчанию - 0)

M1 – время пребывания транзакта в системе с момента начал моделирования      

ASSEM  - номер семейства транзактов

Информация о работе Моделирование сложных систем