Файл: Конспект лекций Для студентов специальности 080801. 65 - приклад.doc

ВУЗ: Не указан

Категория: Не указан

Дисциплина: Не указана

Добавлен: 30.12.2025

Просмотров: 3204

Скачиваний: 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.1. Общие сведения о сетях

2.2. Операционный анализ вероятностных сетей

2.3. Операционные зависимости

2.4. Анализ узких мест в сети

Глава 3. Вероятностное моделирование

3.1. Метод статистических испытаний

3.2. Моделирование дискретных случайных величин

3.3. Моделирование непрерывных случайных величин

3.4. Сбор статистических данных для получения оценок характе­ристик случайных величин

Для оценки дисперсии случайной величины ξ используют фор­мулу

3.5. Определение количества реализаций при моделировании случайных величин

По формулам (3.18-3.20) находим

Задачи для самостоятельной работы

Задача 6

Глава 4. Система моделированияgpss

4.1. Объекты

4.2. Часы модельного времени

4.3. Типы операторов

4.4. Внесение транзактов в модель. БлокGenerate

Задание для самостоятельной работы:

4.5. Удаление транзактов из модели. БлокTerminate

4.6. Элементы, отображающие одноканальные обслуживающие устройства

4.7. Реализация задержки во времени. БлокAdvance

Задания для самостоятельной работы:

4.8. Сбор статистики об ожидании. Блоки queue, depart

4.9. Переход транзакта в блок, отличный от последующего. БлокTransfer

Задания для самостоятельной работы:

4.10. Моделирование многоканальных устройств

4.11. Примеры построенияGpss-моделей

Построение модели

4.12. Переменные

4.13. Определение функции вGpss

Пример 4.23

4.14. Стандартные числовые атрибуты, параметры транзактов. Блоки assign, mark, loop

4.15. Изменение приоритета транзактов. БлокPriority

4.16. Организация обслуживания с прерыванием. Блоки pre­empt и return

Задание для самостоятельной работы:

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

4.18. Проверка числовых выражений. Блок test

Пример 4.40

Задание для самостоятельной работы:

4.19. Определение и использование таблиц

Задания для самостоятельной работы:

4.20. Косвенная адресация

4.21. Обработка транзактов, принадлежащих одному семейству

4.22. Управление процессом моделирования в системеGpss

4.23. Списки пользователей

4.24. Блоки управления потоками транзактовLogic,gatelr,gatelSиGate

7 Testne p1,p2,asn2 ; Повторить, если адресат

4.25. Организация вывода временных рядов изGpss-модели

4.26. Краткая характеристика языкаPlus

4.27. Команды gpss World

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. Проектирование имитационных моделей с помощью интерактивной системы имитационного моделирования

8.1. Структура интерактивной системы имитационного модели­рования

8.2. Построение концептуальной схемы модели

8.3. Параметрическая настройка модели

8.4. Генератор формул

8.5. Управление экспериментом

8.6. Запуск эксперимента и обработка результатов моделирования

8.7. Управление проектами и общей настройкой системы

8.8. Пример построения модели средствамиIss2000

Глава 9. Технология имитационногомоделирования

9.1. Имитационные проекты

9.2. Организация экспериментов

9.3. Проблемы организации имитационных экспериментов

9.4. Оценка точности результатов моделирования

9.5. Факторный план

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, может быть использовано таким образом: