Автор: Пользователь скрыл имя, 04 Ноября 2012 в 14:28, курс лекций
Дисциплина «Моделирование в проектировании сложных систем» рассматривает вопросы применения имитационного моделирования при проектировании сложных технических и других систем, к которым относятся гибкие производственные системы (ГПС), их подсистемы, и другие объекты дискретного производства, а также транспортные, информационные, банковские, торговые, и т.п. системы, в основе которых с точки зрения моделей лежат системы массового обслуживания.
1.3.2 Многоканальная замкнутая
Особенности СМО и исходные данные как и в предыдущей СМО, только число каналов обслуживания равно К.
Первый случай:
Граф состояний имеет вид:
Для установившегося режима
Второй случай:
Граф состояний имеет вид:
Пример 1.4. Пусть
Особенности стохастических сетей. Стохастическая сеть (многофазная СМО) состоит из связанных между собой узлов, в которых находятся СМО, соответствующие группам оборудования, гибким производственным модулям, имеющим свои накопители деталей. Общий склад ГПС представляется в стохастической сети источником–приемником. Иногда при моделировании ГПС могут применяться замкнутые сети. Это делается для изучения работы транспорта, который циркулирует в ГПС (в модели – постоянное число требований).
В стохастической сети в установившемся режиме интенсивности входящего в узел потока требований равны интенсивностям выходящего из этого узла потока. Если требования при переходе от узла к узлу не меняют приоритета, то сети называют однородными.
Рассмотрим
разомкнутую стохастическую сеть с
пуассоновским потоком
Пусть структура ГПМ имеет вид, изображенный на рис. 1.1.
Рисунок 1.1. Схема ГПМ: 1 – 3 – станки;
4 – транспортный робот;
5 – автоматизированный склад
Сеть, соответствующая этому ГПМ, приведена на рис. 1.2.
Рисунок 1.2. Стохастическая сеть ГПМ:
0 – источник–приемник
1–3 – станки; 1´–3´ – очереди к станкам
Особенность ГПМ состоит в том, что после обработки на станке 1 часть деталей уходит из системы с вероятностью P1,0, а часть с вероятностью P1,2 – на обработку к станку 2. В общем случае вероятность Pi,j – это часть всех деталей, поступающих с узла i на узел j.
Так как в сетях без потерь интенсивность потока поступающих в i–й узел требований равна интенсивности потоков, выходящих из j–го узла, то справедливы выражения:
Стохастическая сеть, как и СМО, сбалансирована, если загрузка всех узлов одинакова. Если сеть не сбалансирована, то в ней есть узкое место, т.е. узел, для которого загрузка максимальна. Такой узел становится еще одним источником требований в сети.
Аналитический расчет многофазной сети затруднен. Можно получить лишь усредненные показатели. В этом случае целесообразно имитационное моделирование.
2.
Общие сведения о языке
GPSS (General Purpose Simulation System) – общецелевая система моделирования, представляет собой мощное средство для исследования процессов, подчиняющихся законам СМО и выходящих за их рамки. Язык GPSS был разработан профессором Гордоном более 50 лет назад. Развитием этой системы явилось создание в 1984 году специалистами фирмы Minuteman Software (США) системы GPSS/PC, ориентированной на DOC. Система GPSS World – мировая общецелевая система моделирования, с 1994 года была ориентирована на OS/2 фирмы IBM, а с 2000 года – на ОС Windows фирмы Microsoft. Последняя версия позволяет моделировать как дискретные, так и непрерывные процессы. Как отмечают специалисты [1–3], язык GPSS в настоящее время переживает второе рождение благодаря его достоинствам: доступности для изучения, дружественному интерфейсу при использовании, автоматической подготовке обширной информации, возможности постоянного совершенствования.
Система GPSS World позволяет исследовать как сложные производственные системы и их подсистемы (обрабатывающие, складские, транспортные), так и непроизводственные системы (телекоммуникационные, торговые, банковские и др.).
2.1. Сущность языка моделирования GPSS World
Рассматриваемый язык моделирования основан на концепции, суть которой в том, что моделью сложной системы является адекватное описание ее абстрактных элементов (объектов) и правил их взаимодействия.
Все объекты делятся на семь категорий: динамические, операционные, аппаратные, статистические, вычислительные, запоминающие, группирующие.
К динамическим объектам относятся транзакты. Они создаются, передвигаются, останавливаются, задерживаются, уничтожаются. С каждым транзактом связан ряд их конкретных свойств (номер, уровень приоритета, другие данные). Физический смысл транзактов устанавливает пользователь. Это могут быть детали, транспортные средства, операторы и т.п.
Объекты операционной категории – блоки описывают правила взаимодействия элементов системы и определяют пути движения транзактов в модели. Эти объекты реализуют подпрограммы, написанные на макроассемблере. В рассматриваемой версии языка около 50 типов блоков.
К объектам аппаратной категории относятся одноканальные устройства, многоканальные устройства и логические ключи («семафоры»). В реальных системах – это ресурсы (станки, транспортные средства, сборочные машины, работники и т.п.).
К статистическим объектам относятся регистраторы очередей и средства табулирования количественных характеристик модели.
Вычислительная категория включает объекты, моделирующие функции, арифметические и булевы переменные.
Запоминающая категория объектов представляет собой линейные и матричные сохраняемые величины, предназначенные для сохранения и использования числовой информации.
Группирующая категория объектов объединяет числовые группы, группы транзактов и списки (цепи) событий. Особо выделим списки, которые определяют внутреннюю логику работы пакета.
Существуют шесть видов списков: текущих событий; будущих событий; прерываний; повторений; задержки; пользователя.
Список текущих событий (СТС) – Current Events Chain, включает транзакты, соответствующие событиям, время наступления которых равно или меньше (для заблокированных транзактов) текущего.
В список будущих событий (СБС) – Future Events Chain, входят транзакты, события с которыми произойдут в будущем.
Список прерываний (Interrupt Chain) включает транзакты, обслуживание которых прервано.
Список повторений (Retry Chain) включает транзакты, которые ожидают изменения состояния канала обслуживания.
Список задержки (Delay Chain) содержит транзакты, пытающиеся войти в занятый канал.
Список пользователя (User Chain) включает транзакты, которые пользователь переводит в определенных случаях из списка текущих событий в качестве пассивных.
В модели может быть максимальное число списков списков, но обязательными являются СТС и СБС (каждый по одному).
В языке GPSS организовано автоматическое обслуживание системных часов – таймера модельного времени, которое продвигается дискретно – от события к событию. Системные часы состоят из двух частей: таймера абсолютного времени (от начала до конца моделирования) и таймера относительного времени (от определенного момента до конца моделирования).
Поясним работу таймера. Пусть работает гибкий производственный модуль (ГПМ). На обработку поступают детали после включения ГПМ и в дальнейшем через каждые 20 минут. Время обработки детали в модуле 15 минут.
Составим таблицу.
Номер события |
Событие |
Фактическое время |
Модельное время |
1 |
Включение ГПМ |
8 ч. 00 мин. |
0 |
2 |
Первая деталь поступает на обработку |
8 ч. 20 мин. |
20 |
3 |
Первая деталь обработана |
8 ч. 35 мин. |
35 |
4 |
Вторая деталь поступает на обработку |
8 ч. 40 мин. |
40 |
∙ ∙ ∙ |
∙ ∙ ∙ |
∙ ∙ ∙ |
∙ ∙ ∙ |
В самом начале моделирования таймер в положении «0».
Когда начинается моделирование, планируется приход первого транзакта, после чего таймер устанавливается в значение времени, соответствующее моменту появления этого транзакта (20 единиц). Транзакт продвигается по модели, а таймер – к моменту следующего события (конец обработки детали) – 35 единиц и т.д.
Выделим особенности таймера.
2.2. Способы представления моделей
Модели на языке GPSS могут быть представлены в виде блок–диаграмм или в виде текстов программ.
На основе разработанного алгоритма функционирования моделируемой системы создают блок–диаграмму модели. Она содержит набор фигур, соответствующих определенным блокам, соединенным между собой линиями. Например, для рассмотренного ГПМ, фрагмент блок–диаграммы имеет вид, приведенный на рис. 2.1, где слева от фигур указаны операторы, остальные надписи соответствуют исходным данным. Стрелки указывают направления движения транзактов. Из блок–диаграммы следует, что транзакт–деталь входит через блок GENERATE в ГПМ через 20 единиц модельного времени после начала работы модуля, занимает модуль с именем GPM, задерживается в нем (блок ADVANCE) на 15 единиц, освобождает модуль (блок RELEASE) и удаляется из системы (блок TERMINATE).
Блок–диаграммы целесообразно создавать в случаях сложных моделей (с обратными связями, при параллельных процессах и т.п.).
Рисунок 2.1. Блок–диаграмма
фрагмента
модели работы ГПМ
<![endif]>
При написании текстов программ используют операторы. Все операторы делятся на два типа: блоки и команды (операторы описания данных и управления). Операторы GPSS в соответствии с форматом записываются в определенных полях. Набор полей в GPSS World: метка – оператор – операнды – комментарий.
Для идентификации объектов (например, устройств, очередей, ключей и т.п.) им присваивают имена, которые начинаются с буквы, могут включать до 200 букв и цифр, а также символы подчеркивания (например, SEIZE A28).
Метки образуются так же,
как и имена операторов. Так
как транслятор GPSS присваивает меткам
номера автоматически, начиная с 10000,
то пользователь при желании записать
вместо символической метки цифру
может это сделать через
В поле операций записывается глагол (ключевое слово оператора).
В поле операндов задаются исходные данные (имена операторов, приоритеты транзактов, временные интервалы и др.). операнды будем обозначать символами A, B, C, D, E, F, G, H. Операнды разделяются запятыми. Особенности описания данных в командах для переменных, функций и других объектов будут рассмотрены позднее.
Комментарии отделяются от поля операндов точкой с запятой. Модули программы могут иметь наименования, которые предваряются точкой с запятой в начале строки.
Для избежания ошибок не следует использовать в качестве имен и меток начальные символы объектов GPSS.
Поясним сказанное на примере программы фрагмента модели, блок–диаграмма которого изображена на рис. 2.1.
GENERATE 20 ; Интервалы поступления деталей
SEIZE GPM ; Занятие ГПМ
ADVANCE 15 ; Обработка детали
RELEASE GPM ; Освобождение ГПМ
TERMINATE ; вывод деталей из модели
В этом фрагменте программы метки не нужны.
3. Создание моделей систем с одноканальными
и многоканальными устройствами
При моделировании
сложных промышленных и других систем
возникает необходимость
В связи с этим необходимо изучить ряд операторов, которые позволяют решать эти задачи.
GENERATE – генерировать. Это блок, через который транзакты входят в модель. Его формат:
GENERАТЕ [A], [B], [C], [D], [E]
Квадратные скобки здесь и в дальнейшем указывают, что данный операнд является необязательным.
операнды А и В задают интервалы времени поступления транзактов в модель: А определяет среднее значение, В – половину поля допуска интервалов при равномерном законе распределения или модификатор–функцию при неравномерном законе распределения. В первом случае интервал определяется как А ± В, во втором – как А # В (здесь и в дальнейшем # – знак умножения). Если, например, задан оператор GENERATE 3,1, то интервалы прихода транзактов будут от 2 до 4. Значения А и В могут быть как целыми, так и дробными числами (например, GENERATE 4.2, 1.1). По умолчанию А = 0, В = 0. При В = 0 интервал детерминирован и равен значению операнда А. Использование модификатор–функции, а также библиотечных генераторов случайных чисел будет рассмотрено позднее.
Информация о работе Моделирование в проектировании сложных систем