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

Автор: Пользователь скрыл имя, 04 Ноября 2012 в 14:28, курс лекций

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

Дисциплина «Моделирование в проектировании сложных систем» рассматривает вопросы применения имитационного моделирования при проектировании сложных технических и других систем, к которым относятся гибкие производственные системы (ГПС), их подсистемы, и другие объекты дискретного производства, а также транспортные, информационные, банковские, торговые, и т.п. системы, в основе которых с точки зрения моделей лежат системы массового обслуживания.

Работа содержит 1 файл

МОДЕЛИРОВАНИЕ В ПРОЕКТИРОВАНИИ (на печать).docx

— 542.67 Кб (Скачать)

Команда STORAGE (хранилище) устанавливает емкость МКУ. Формат команды:

<метка> STORAGE A

В поле метки  указывается символическое имя  МКУ, в операнде А – целое положительное число, определяющее емкость МКУ.

Блок ENTER (войти) моделирует занятие канала МКУ, а блок LEAVE (выйти) – освобождение канала МКУ.

Их форматы:

ENTER     A, [B]

LEAVE     A, [B]

 

В операнде А обоих блоков указывается имя МКУ, определенное в поле метки команды STORAGE. В операнде В указывается количество каналов, которые занимаются (блок ENTER) или освобождаются (блок LEAVE), по умолчанию В = 1.

Графическое изображение блоков:

Когда транзакт входит в блок ENTER, увеличиваетcя на значение операнда В этого блока счетчик входов и текущее содержимое МКУ и уменьшается на это число его доступную емкость.

При входе  транзакта в блок LEAVE уменьшается на значение операнда В текущее содержимое и увеличивается на это же число доступная емкость.

При моделировании  автоматически формируется статистика о работе МКУ относительно счетчика входов, текущего содержимого, максимального  содержимого, среднего значения занимаемых каналов и др. При этом надо иметь в виду, что вся информация формируется не по количеству транзактов, а по количеству каналов.

При исследовании систем с МКУ возможны различные  дисциплины обслуживания: первым пришел – первым обслужен; первым пришел – первым обслужен внутри приоритетного класса и др.

Иногда  возникает ситуация, когда МКУ  становится недоступным (например, аварийное  состояние устройства на его входе).

Недоступность МКУ моделируется блоком sunavail (S обозначает МКУ, AVAIL – доступно, UN – отрицание). Формат блока и изображение:

Доступность МКУ восстанавливается после  прохождения транзактом блока SAVАIL. Его формат и изображение:

В операндах А этих блоков указывается имя МКУ (метка команды STORAGE).

Если  в МКУ при его недоступности  находились транзакты, то они будут обслуживаться, пока текущее содержимое МКУ не станет равным нулю.

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

3.5. Изменение маршрутов  движения транзактов

Для изменения маршрутов движения транзактов в модели используется блок TRANSFER (передать). Его полный формат:

TRANSFER  [А], [В], [C], [D]

 

Операнд А задает режим работы этого блока. Всего существует 9 режимов: , (по умолчанию) – безусловный; ∙ (статистический) – случайный выбор одного из двух операторов; BOTH (последовательный) – выбор одного из двух операторов; ALL (последовательный) – выбор одного из нескольких операторов; PICK (случайный) – выбор одного из нескольких операторов; FN – функциональный; P – параметрический; SBR – подпрограммный; SIM – одновременный.

Операнды В и С задают адреса последующих по требуемому маршруту операторов.

Операнд D используется в режиме ALL для указания шага изменения положения последующих операторов.

Графическое изображение блока имеет вид:

Рассмотрим  первые три режима блока TRANSFER, остальные режимы изложены в [1] и в лабораторном практикуме ЭУМК данной дисциплины.

Режим безусловной передачи. В этом режиме  операнд А задается по умолчанию, в операнде В указывается метка оператора, куда направляется транзакт. Например, запись  TRANSFER     ,ALFA  означает, что транзакт, вошедший в данный блок, направляется в оператор с меткой ALFA.

Режим статистической передачи. В этом режиме в операнде А после точки задается число (до трех знаков), показывающее долю (от тысячи) транзактов, входящих в данный блок, которые направляются по адресу, указанному в операнде С, остальные пойдут по адресу, указанному в операнде В. Если В задан по умолчанию, то эта часть транзактов пойдет в следующий за блоком TRANSFER оператор. Например,  TRANSFER   . 200,, MET1  означает, что 20 % всех транзактов, вошедших в данный блок, пойдут по MET1, остальные 80 % – в следующий оператор.

Режим BOTH. В этом режиме в операнде A указывается слово BOTH (оба). Вошедший в данный блок транзакт последовательно пытается войти в операторы, адреса которых указаны в их полях метками, записанными в операндах В и С данного блока TRANSFER, пока попытка не будет успешной. Операнд B, как и в предыдущем режиме, может быть задан по умолчанию.

Режим ALL. В этом режиме в операнде А указывается слово ALL (все) в В и С – метки начального и конечного операторов, куда последовательно направляется транзакт с шагом по программе, указанным в операнде D. Например, эта ситуация моделируется фрагментом программы:

TRANSFER ALL, MET1, MET2,4

MET1 SEIZE 1

ADVANCE 3

RELEASE 1

TERMINATE

SEIZE 2

ADVANCE 3

RELEASE 2

TERMINATE

SEIZE 3

ADVANCE 3

RELEASE 2

TERMINATE

MET2 SEIZE 4

ADVANCE 3

RELEASE 4

TERMINATE

Транзакт, вошедший в оператор TRANSFER, пытается войти в блок  SEIZE 1, если он не принимает, то в блок SEIZE 2 и т. д.

Пример 3.2. Изделия с интервалами (5 ± 2) мин.  поступают в пункт технического контроля – ожидают в очереди – параллельно обслуживаются двумя контролерами по (9 ± 3) мин. – после этого 92 % уходят на упаковку – 8 % в очередь к наладчику – обслуживаются наладчиком в течение (30 ± 10) мин.  и снова поступают в пункт технического контроля. Промоделировать работу участка в течение 5 недель при пятидневной неделе и двухсменном режиме работы. При единице модельного времени в 1 минуту время моделирования будет 5 × 5 × 2 × 8 × 60 = 24000 мин.

Особенность модели: одно МКУ (2 контролера) и одно одноканальное устройство (1 наладчик).

Программа модели:

 

CON STORAGE  2

GENERАТЕ 5, 2

BETTA QUEUE  CONTR

ENTER  CON

DEPART  CONTR

АDVANСЕ  9, 3

LEAVE  CON

TRANSFER ∙ 080, , ALFA

ТЕRМINАТЕ

ALFA QUEUE  NALAD

SEIZE  NAL

DEPART  NALAD

АDVANСЕ  30, 10

RЕLЕАSЕ  NAL

TRANSFER , BETTA

GENERАТЕ 24000

ТЕRМINАТЕ 1

START  1

3.6. Управляющие операторы  очистки и сброса статистики

 

Команда управления CLEAR (очистить) используется для подготовки модели к повторному прогону после переопределения операндов одного или нескольких операторов. Формат команды:

CLEAR [A]

 

В операнде А может быть указано OFF, тогда обнуляется вся статистика, кроме сохраняемых величин и логических ключей. Если операнд А задан по умолчанию (соответствует символу ON), то обнуляется вся статистика. При действии команды CLEAR все транзакты выводятся из модели. В обоих случаях значения генераторов случайных чисел не сбрасываются.

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

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

3.7. Стандартные числовые  атрибуты (СЧА), прямая и косвенная адресация, переменные пользователя

СЧА – это условные обозначения объектов модели, к которым могут обращаться программы GPSS в процессе моделирования. Необходимость в СЧА обусловлена стремлением к минимизации программ. Все СЧА можно подразделить на два класса: системные СЧА, к которым пользователь может обратиться, но не может изменить (например С1 – относительное модельное время, АС1 – абсолютное модельное время, RNj – случайное число, генерируемое датчиком случайных чисел и другие), и СЧА объектов модели, которые могут изменяться пользователем (СЧА устройств, МКУ, очередей, таблиц, блоков, транзактов, объектов вычислительной категории, сохраняемых величин и др.).

Для обозначения  СЧА используют одну–две буквы, определяющие групповое имя объекта (например, Q – длина очереди, FN – функция) и идентификатор в зависимости от способа адресации. При прямой адресации задают объект константой, например, SEIZE  10, или СЧАj, где j – номер объекта или $ имя, а имя – символическое имя объекта, например: SEIZE Р1 (имя объекта содержится в первом параметре активного транзакта), SEIZE   P$ABC (имя объекта содержится в параметре с именем АВС активного транзакта). При косвенной адресации СЧА определяют так: СЧА*СЧА объекта, например   SEIZE    P*Х10 означает, что номер устройства содержится в параметре (Р), номер которого определяется значением сохраняемой ячейки (Х10).

Рассмотрим  СЧА наиболее распространенных объектов.

 

СЧА одноканальных устройств

Код

Значение

Fj

Занятость: 1 – занято, 0 – не занято

FIj

Прерванность: 1 – прервано, 0 – не прервано

FVj

Доступность: 1 – доступно, 0 – не доступно

FRj

Коэффициент использования в долях  тысячи

FTj

Среднее время использования устройств  одним транзактом

FCj

Количество занятий устройства


 

СЧА многоканальных устройств

Код

Значение

Rj

Доступная емкость

Sj

Текущее содержимое

SAj

Среднее значение содержимого за определенное время

SRj

Коэффициент использования в долях  тысячи

SMj

Максимально занятое (одновременно) количество каналов

SCj

Счетчик числа входов

STj

Среднее время использования одного канала

SEj

Занятость: 1 – занято, 0 – не занято

SFj

Заполненность: 1 – заполнено, 0 – не заполнено

SVj

Доступность: 1 – доступно, 0 – не доступно


 

СЧА очередей

Код

Значение

Qj

Текущее содержимое

QAj

Средняя длина очереди

QMj

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

QCj

Число входов в очередь

QZj

Число нулевых входов в очередь

QTj

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

QXj

Среднее время пребывания транзакта в очереди без нулевых входов


 

СЧА блоков

Код

Значение

Nj

Счетчик входов

Wj

Текущее содержимое


 

СЧА других объектов будут рассматриваться при изучении соответствующих операторов.

Переменные пользователя создаются командой EQU (эквивалентировать) или PLUS–процедурами.

Рассмотрим  оператор EQU. Он имеет формат:

<метка> EQU A

Эта команда  присваивает имени переменной, указанному в поле метки, или в поле операнда, числовое значение, а также переменной пользователя – строковое значение (двойные кавычки для формирования файла например,  ABC EQU «ABC»).

Например, запись  ALFA  EQU 1  означает, что имя  ALFA (допустим в операторе SEIZE ALFA) переименуется в имя цифровое (1) и при этом в выходной статистике будет FACILITY…, а не FACILITY… .

    1        ALFA

Запись АВС  EQU  32.5  означает, что переменной пользователя АВС присвоено числовое значение 32.5.

При исследовании влияния вариации какого–либо фактора  на показатели системы необходимо использовать переменные пользователя.

3.8. Сохраняемые величины

В GPSS есть возможность использовать специальные ячейки памяти с начальными значениями, устанавливаемыми пользователем. Такие ячейки называют сохраняемыми величинами (сохраняемыми ячейками).

Рассмотрим линейные сохраняемые величины. Их СЧА – Xj, где j – целое положительное число или  $ имя, например, Х1 или Х $ АВС. Сохраняемые величины могут использоваться в качестве операндов операторов, аргументов функций и таблиц.

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