Файл: Конспект лекций Для студентов специальности 080801. 65 - приклад.doc
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 30.12.2025
Просмотров: 3192
Скачиваний: 0
СОДЕРЖАНИЕ
Федеральное агентство по образованию
Глава 5. Моделирование вычислительных и операционных систем 289
Глава 6. Основы моделирования процессов 305
Глава 7. Задания для самостоятельной работы 311
Глава 8. Проектирование имитационных моделей 335
Глава 9. Технология имитационного моделирования 361
Глава 10. Примеры принятия решений с помощью имитационного моделирования 433
Глава 11. Задания для имитационных проектов 451
Глава 1. Модели массового обслуживания
1.1. Системы массового обслуживания и их характеристики
1.2. Системы с одним устройством обслуживания
1.3. Основы дискретно-событийного моделирования смо
1.4. Многоканальные системы массового обслуживания
Глава 2. Вероятностные сети систем массового обслуживания
2.2. Операционный анализ вероятностных сетей
Глава 3. Вероятностное моделирование
3.1. Метод статистических испытаний
3.2. Моделирование дискретных случайных величин
3.3. Моделирование непрерывных случайных величин
3.4. Сбор статистических данных для получения оценок характеристик случайных величин
Для оценки дисперсии случайной величины ξ используют формулу
3.5. Определение количества реализаций при моделировании случайных величин
По формулам (3.18-3.20) находим
Задачи для самостоятельной работы
Глава 4. Система моделированияgpss
4.4. Внесение транзактов в модель. БлокGenerate
Задание для самостоятельной работы:
4.5. Удаление транзактов из модели. БлокTerminate
4.6. Элементы, отображающие одноканальные обслуживающие устройства
4.7. Реализация задержки во времени. БлокAdvance
Задания для самостоятельной работы:
4.8. Сбор статистики об ожидании. Блоки queue, depart
4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer
Задания для самостоятельной работы:
4.10. Моделирование многоканальных устройств
4.11. Примеры построенияGpss-моделей
4.13. Определение функции вGpss
4.14. Стандартные числовые атрибуты, параметры транзактов. Блоки assign, mark, loop
4.15. Изменение приоритета транзактов. БлокPriority
4.16. Организация обслуживания с прерыванием. Блоки preempt и return
Задание для самостоятельной работы:
4.18. Проверка числовых выражений. Блок test
Задание для самостоятельной работы:
4.19. Определение и использование таблиц
Задания для самостоятельной работы:
4.21. Обработка транзактов, принадлежащих одному семейству
4.22. Управление процессом моделирования в системеGpss
4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate
7 Testne p1,p2,asn2 ; Повторить, если адресат
4.25. Организация вывода временных рядов изGpss-модели
4.26. Краткая характеристика языкаPlus
4.28. Диалоговые возможностиGpssWorld
4.29. Отличия между gpss World и gpss/pc
Глава 5. Моделирование вычислительных и операционных систем
5.1. Операционные системы компьютеров
5.2. Сети и системы передачи данных
5.3. Проблемы моделирования компьютеров и сетей
Глава 6. Основы моделирования процессов
6.1. Производственные процессы
6.2. Распределительные процессы
6.3. Процессы обслуживания клиентов
6.4. Процессы управления разработками проектов
Глава 7. Задания для самостоятельной работы Задание 1. Моделирование разливной линии
8.1. Структура интерактивной системы имитационного моделирования
8.2. Построение концептуальной схемы модели
8.3. Параметрическая настройка модели
8.6. Запуск эксперимента и обработка результатов моделирования
8.7. Управление проектами и общей настройкой системы
8.8. Пример построения модели средствамиIss2000
Глава 9. Технология имитационногомоделирования
9.2. Организация экспериментов
9.3. Проблемы организации имитационных экспериментов
9.4. Оценка точности результатов моделирования
9.6. Дисперсионный анализAnovAв планированииэкспериментов
9.7. Библиотечная процедураAnova
9.8. Технология проведение дисперсионного анализа в системеGpss World
9.9. Особенности планирования экспериментов
9.10. Нахождение экстремальных значений на поверхности отклика
9.11. Организация экспериментов вGpssWorld
9.12. Выбор наилучшего варианта структуры системы
Глава 10. Примеры принятия решений с помощью имитационного моделирования
10.1. Моделирование производственного участка
10.2. Моделирование технологического процесса ремонта и замены оборудования
Глава 11. Задания для имитационных проектов
Единица модельного времени - 1 мин. Программа:
* HAIRCUT
GENERATE 35,10 , Приход клиентов, которые только стригутся
QUEUE BARBERQ ; Присоединение к очереди
SEIZE BARBER ; Переход в кресло парикмахера
DEPART BARBERQ ; Выход из очереди
ADVANCE 18,6 ; Стрижка у парикмахера
RELEASE BARBER ; Освобождение парикмахера
TERMINATE 0 ; Уход из парикмахерской
* HAIRCUT AND SHAVING
GENERATE 60,20 ; Приход клиентов, которые стригутся и бреются
QUEUE BARBERQ ; Присоединение к очереди
SEIZE BARBER ; Переход в кресло парикмахера
DEPART BARBERQ ; Выход из очереди
ADVANCE 10,2 ; Бритье у парикмахера
ADVANCE 18,6 ; Стрижка у парикмахера
RELEASE BARBER ; Освобождение парикмахера
TERMINATE 0 ; Уход из парикмахерской
* TIMER - Сегмент таймера
GENERATE 480 ; Транзакт-таймер приходит в момент 480
TERMINATE 1 ; Завершение прогона
START 1
Пример 4.13 [10]
На фабрике в кладовой работает один кладовщик. Он выдает запасные части механикам, обслуживающим станки и устанавливающим эти части на испорченных станках. Запасные части довольно дорогие и, кроме того, их ассортимент слишком велик для того, чтобы каждый механик мог иметь все запасные части в своем ящике. Время, необходимое для удовлетворения запроса, зависит от типа запасной части. Запросы бывают двух категорий. Соответствующие данные приведены в табл. 4.14.

Порядок обслуживания механиков кладовщиком такой: запросы первой категории обслуживаются только в том случае, когда в очереди нет ни одного запроса второй категории. Внутри одной категории дисциплина обслуживания - «первым пришел - первым обслужился». Необходимо создать модель работы кладовой, моделирование выполнять в течение восьмичасового рабочего дня.
Дисциплина обслуживания «первый пришел - первый обслужился» для двух категорий запросов с соответствующим приоритетом изображена на рис. 4.1.

Построение модели
Эта система очень похожа на систему из примера 4.12. Есть два различных типа заявок, поступающих на обслуживание к одному устройству. Различаются распределения интервалов приходов и времени обслуживания для этих типов заявок. Трудность заключается в том, что один из типов имеет преимущество в обслуживании. Построить модель можно, используя тот же подход, что и в примере 4.12. Но при этом необходимо использовать средство задания заявкам различных приоритетов.
Итак, запросы первой категории будем моделировать одним сегментом, а запросы второй категории - другим. Разные относительные приоритеты задаются путем использования для операнда Е блока GENERATE запросов второй категории большего значения, чем для запросов первой категории.


Таким образом, сборщик работает в таком режиме:
1) собирает следующую деталь;
2) ожидает возможности использования печи по принципу FIFO;
3) использует печь;
4) возвращается к п. 1.
Время, необходимое на выполнение различных операций, приведено в табл. 4.16.

Необходимо построить на GPSS модель описанного процесса. Определить оптимальное число сборщиков, использующих одну печь, т.е. такое количество, которое дает наибольшую прибыль при моделировании в течение 40 часов модельного времени. Предполагается, что в течение рабочего дня нет перерывов, а рабочими днями являются все дни (без выходных).
Построение модели
В данном случае есть два ограничивающих условия, влияющих на пропускную способность системы: одна печь и некоторое фиксированное количество сборщиков, работающих в системе.
Естественно для моделирования печи использовать понятие «устройство», также естественно отождествлять сборщиков с транзактами. Тогда можно считать, что сборщики «циркулируют» в системе, периодически осуществляя сборку и обжиг. Аналогично и транзакты должны циркулировать в GPSS-модели системы. Как видно из постановки задачи, модель представляет собой замкнутую СМО с одним устройством обслуживания.
В реальной системе, после того, как сборщик вынимает из печи обожженную деталь, он возвращается и начинает новый этап сборки. В модели после того, как транзакт завершает использование устройства, он должен быть перемещен с помощью блока TRANSFER в блок следующей сборки. Для ограничения общего количества транзактов, циркулирующих в модели, необходимо использовать операнд D блока GENERATE.
Для вычисления прибыли при заданном числе сборщиков необходимо знать, сколько готовых деталей они сделают на протяжении моделируемого периода. Это значение дает количество выходов из печи, т.е. в процессе моделирования нас интересует именно эта величина.

Единица модельного времени - 1 мин. Программа:
GENERATE ,„4 ; Определение количества сборщиков
ВАСК1 ADVANCE 30,5 ; Сборка следующей детали
SEIZE OVEN ; Занятие печи
ADVANCE 8,2 ; Использование печи
RELEASE OVEN ; Освобождение печи
TRANSFER ,BACK1 ; Переход к сборке следующей детали
GENERATE 2400 ; Моделирование пяти дней роботы
TERMINATE 1 ; Завершение работы
START 1 ; Начало прогона модели
Пример 4.15 [10]
Морские судна двух типов прибывают в порт, где происходит их разгрузка. В порту есть два буксира, обеспечивающих ввод и вывод кораблей из порта. К первому типу судов относятся корабли малого тоннажа, которые требуют использования одного буксира. Корабли второго типа имеют большие размеры, и для их ввода и вывода из порта требуется два буксира. Из-за различия размеров двух типов кораблей необходимы и причалы различного размера. Кроме того, корабли имеют различное время погрузки-разгрузки. Исходные данные приведены в табл. 4.18.
Построить модель системы, в которой можно оценить время ожидания кораблями каждого типа входа в порт. (Время ожидания входа в порт включает время ожидания освобождения причала и буксира). Корабль, ожидающий освобождения причала, не обслуживается буксиром до тех пор, пока не будет предоставлен нужный причал. Корабль второго типа не займет буксир до тех пор, пока ему не будут доступны оба буксира.


Среднее время ожидания кораблями каждого типа входа в порт получаем в конце моделирования из стандартной статистики об очередях: оно равно показателю AVERAGE TIME соответствующей очереди. (Эти же значения дают СЧА QT$TYPE1 и QTSTYPE2).
4.12. Переменные
Общая характеристика переменных. При построении модели системы, иногда возникает необходимость задать сложные математические или логические соотношения между атрибутами системы. Для этой цели в программе используются переменные.
В GPSS имеется три типа переменных:
1) арифметические переменные;
2) арифметические переменные с «плавающей точкой»;
3) булевы переменные.
Значение арифметических переменных может использоваться как:
1) операнд блока; в этом случае значение арифметической переменной может представлять собой:
- номер объекта (устройства, МКУ, очереди и т. п.);
- номер параметра транзакта;
- значение стандартного числового атрибута;
3) операнд А функции;
4) операнд А таблицы;
5) операнд выражения другой переменной. В выражениях арифметические переменные используют такие арифметические операции:
+ алгебраическое сложение;
- алгебраическое вычитание;
- алгебраическое умножение;
/ алгебраическое деление (результатом операции является щелая часть частного);
@ деление по модулю;
^ возведение в степень;
| деление без остатка (перед делением у обоих операндов отбрасываются дробные части, результатом операции есть целая "часть частного).
Привычно используемый для умножения во многих языках знак -«*», зарезервирован в GPSS для обозначения косвенной адресации, однако в GPSS World есть возможность в меню настройки параметров переопределить для умножения знак «*», а для косвенной адресации - «#». Косвенная адресация является мощным средством для построения компактных и гибких моделей. Ее идея заключается в том, что можно обратиться к любому объекту или СЧА через параметры транзактов. Доступ же к параметрам транзактов осуществляется через СЧА Рj, где j - номер параметра транзакта (например, 10) или Р$имя, где имя - имя (идентификатор) параметра транзакта. Так как обращение к объекту возможно только через параметр транзакта, то символ Р может опускаться. Например, выражение Q*7 или Q*P7 определяет текущее значение длины очереди, номер которой задан в параметре 7 транзакта. Если в седьмом параметре хранится значение 3, то это будет текущее значение длины очереди с номером 3.
В выражениях может быть задано любое число приведенных операций в различных комбинациях. Знак результата вычисляется по обычным алгебраическим правилам. Допускаются отрицательные значения переменных. Выражения анализируются слева направо. Возведение в степень, умножение, деление и деление по модулю выполняются раньше, чем сложение и вычитание.
Вычисленное значение переменной является ее стандартным числовым атрибутом.
Арифметические переменные. Арифметические переменные аналогичны арифметическим выражениям в алгоритмических языках. Переменная задается оператором VARIABLE, называемым оператором описания переменной, который содержит арифметическое выражение. Формат оператора описания переменной:
Таблица 4.19

При обращении к переменной используется обозначение V<номер переменной> или V$<имя переменной>, т.е. V - это СЧА переменной.
Пример 4.16
Оператор описания VARIABLE определяет арифметическую переменную RSL:
RSL VARIABLE QT$WAITL+3-FN$DSTRB#P7
При любом обращении к переменной RSL (употребляется обозначение V$RSL) ее значение вычисляется как текущая длина очереди WAITL (QTSWAITL - СЧА регистратора очереди) плюс константа 3 и минус произведение значения функции DSTRB на значение параметра 7 транзакта, обрабатываемого в данный момент. В приведенном выражении FN - СЧА для обращения к функции, а Р - СЧА транзакта.
Перед выполнением любой арифметической операции определяется значение каждого элемента и выделяется его целая часть. Постоянные без знака считаются положительными числами.
В выражении арифметической переменной могут быть использованы любые СЧА, функции и другие арифметические переменные. Запрещается использование самой вычисляемой переменной, а также переменных со знаком, так как знаки в данном случае рассматриваются как арифметические операции.
Система моделирования GPSS допускает использование скобок в выражениях арифметических переменных (для группировки членов или для обозначения операции умножения).
В GPSS World выражения, записанные в круглых скобках, обрабатываются вычислительной процедурой встроенного алгоритмического языка PLUS. Поэтому их можно использовать в качестве операндов блоков и операторов языка GPSS. Например, выражение, описанное в примере 4.16, может быть использовано таким образом: