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

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

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

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

Добавлен: 30.12.2025

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

Скачиваний: 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. Задания для имитационных проектов

Приложение Системные сча

Сча транзактов

Сча блоков:

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

Сча очередей

Сча таблиц

Сча ячеек и матриц ячеек сохраняемых величин:

Сча вычислительных объектов

Сча списков и групп

Список литературы

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

Сравнение СЧА может быть выполнено с помощью блока TEST (ПРОВЕРИТЬ).

Его формат:

TEST X А,В[,С]

Операнды А и В - имена СЧА, которые сравниваются. Вспомо­гательный оператор X указывает способ сравнения этих двух СЧА друг с другом.

Пример 4.40

Режим отказа

TEST LE Q1,Q2

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

Пример 4.41

Режим условного перехода

TEST LE Qt,Q2,ZHVS

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

Пример 4.42

TEST L FSSCANNER,X$MAX_UTIL,LLL SEIZE -SCANNER

LLL QUEUE Q_SCANNER2

Если устройство SCANNER имеет коэффициент загрузки меньше, чем значение сохраняемой величины MAX_UTIL, то транзакт идет на обслуживание этим устройством, в противном случае -переходит к блоку с меткой LLL.

Пример 4.43

Пусть в точке модели DISPATCHER необходимо удалить те транзакты, которые находились в модели больше, чем 100ед. мо­дельного времени. Для этого в модели можно использовать такие блоки:

GENERATE 18,6

DISPATCHER TESTL M1,100,KILL KILL TERMINATE

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

1. В отделе универсама есть две кассы. Покупатели становятся в очередь в ту кассу, у которой меньше очередь. Напишите фрагмент программы для этой ситуации.

2. Первые четыре часа работы парикмахерской клиенты обслу­живаются одним мастером, следующие четыре - другим. Напишите фрагмент модели для этой ситуации.

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

Для накопления выборочных значений случайных величин и статистической обработки этих выборок используются GPSS-таблицы. Графическим аналогом GPSS-таблицы является гистограм­ма выборочных значений случайной величины, которую можно про­смотреть в окне таблицы. Прежде чем использовать таблицу, ее нуж­но определить, а потом задать собираемые выборочные значения.


Оператор TABLE (ТАБЛИЦА). В модели может быть не­сколько таблиц. Каждую таблицу нужно сначала определить и только потом использовать в модели. Для определения таблицы необходимо указать:

1) имя таблицы (числовое или символьное);

2) имя случайной переменной, значение которой будет табули­роваться;

3) число, являющееся первым граничным значением. (Значения выборки, меньшие или равные этому числу, попадают в самый левый (нижний) интервал (частотный класс) таблицы);

4) ширину интервала, общую для всех интервалов таблицы за исключением левого (нижнего) и правого (верхнего);

5) общее число интервалов таблицы, включая нижний и верхний. Формат оператора представлен в таблице.

Таблица 4.44

На рис. 4.11 показана ось действительных значений и ее разде­ление на ряд интервалов таблицы.

Для сбора статистических данных об очередях используется оператор QTABLE. Его формат совпадает с форматом оператора TABLE, за исключением того, что операнд А задает имя очереди.

Блок TABULATE (ТАБУЛИРОВАТЬ). Выборочные значения попадают в таблицу в моменты вхождения транзактов в блок TABU­LATE. Его формат:

TABULATE A

Таблица 4.45

Операнд А задает имя таблицы, в которую попадают выбороч­ные значения. Одну таблицу можно использовать в нескольких бло­ках TABULATE модели. Отметим, что СЧА, по которому собирается статистика, в блоке TABULATE не указывается, так как он уже запи­сан в операторе TABLE.

Если в модели используется блок TABLE или QTABLE, в файле стандартной статистики информация будет представлена в таком виде:

Для получения этих данных была определена GPSS-таблица MVP, в которой фиксировалось время нахождения транзакта в модели:

MVP TABLE Ml,100,100,20

Стандартные числовые атрибуты таблицы:

ТВ<номер таблицы>, ТВ$<имя таблицы> - вычисленное среднее значение соответствующего СЧА;

ТС<номер таблицы>, ТС$<имя таблицы> - общее число вхо­дов в таблицу;


ТВ<номер таблицы>, ТВ$<имя таблицы> - вычисленное среднеквадратическое отклонение соответствующего СЧА.

Пример 4.44

TIMSERV TABLE МРЗ,10,5,б ; Оператор определения таблицы GENERATE 100,15

MARK 3

TABULATE TIMSERV ; Оператор табулирования

В таблице TIMSERV будет табулироваться частотное распре­деление случайной величины - времени пребывания транзакта между блоками MARK и TABULATE. В табл. 4.46 приведены интервалы регистрации времени пребывания между блоками MARK и TABULATE.

Таблица 4.46

Для того, чтобы данные, собираемые в таблицу, не попадали в один-два интервала, рекомендуется: 1) сначала сделать пробный прогон;

по пробному прогону определить диапазон значений, в которых может колебаться анализируемая случайная величина (в GPSS/PC пе­рейти к окну таблиц с помощью клавиш [ALT+T]);

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

Пример 4.45

В таблице SYSTIME собирается время пребывания транзакта в модели, которое предположительно принимает значения в интервале [100,2000].

SYSTIME TABLE М1,100,12,10 SAVEVALUE STD,TB$SYSTIME

При входе транзакта в блок SAVEVALUE среднее значение СЧА (времени пребывания), соответствующего таблице SYSTIME заносится в сохраняемую величину с именем STD.


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

1. В ресторан каждые 25+9 с заходят клиенты. Заказы принима­ют шесть кассиров. Время выполнения заказов - 120+40 с. Соберите статистическую информацию о длине очереди.

2. В одноканальную СМО поступает пуассоновский поток зая­вок с интенсивностью 2 мин-1. Время обслуживания одной заявки -25±4 с. Соберите статистическую информацию о времени пребыва­ния заявок в системе.

3. В двухканальную СМО поступает пуассоновский поток зая­вок с интенсивностью 3 мин-1. Время обслуживания одной заявки -28±6 с. Соберите статистическую информацию о времени пребыва­ния заявок в очереди.

4. На складе обслуживают заказы трех видов. Заказы поступают по нормальному закону с параметрами (12, 2). Вероятность появления заказа первого вида составляет 0,3, второго вида - 0,55, третьего вида - 0,15. Все заказы выполняются одним из двух рабочих за время 16+5 ед. времени. Каждый вид заказов характеризуется своим рас­пределением стоимости выполнения в зависимости от времени вы­полнения заказа (зависимости задайте самостоятельно). Стоимость выполнения заказа сохраните в параметре 1. При моделировании подсчитайте суммарную стоимость выполнения заказов.

5. В сети СМО действует три МКУ. Транзакт входит в то МКУ, номер которого помещен в параметре 2. Напишите соответствующий фрагмент программы для данной модели.

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

Ранее были рассмотрены прямые способы адресации, когда:

1) номер объекта задается константой

QUEUE 2 ; Стать в очередь 2 SEIZE 1 ; Занять устройство 1

2) номер объекта задается СЧА

LEAVE P1 ; Освободить МКУ с номером, задаваемым параметром 1

Адресация может быть относительной и по отношению к само­му блоку. Это осуществляется при помощи записи *+/-n. Например,

TRANSFER ,*+2

В этом случае сам блок TRANSFER является ориентировочным блоком. Транзакт пытается войти во второй, относительно блока TRANSFER, блок.

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


Общий формат косвенной адресации:

C4A*C4Aj или СЧА*СЧА<имя>

Там, где допустимо использование СЧА, обычно могут исполь­зоваться и СЧА*СЧА.

При использовании косвенной адресации параметр Р может опускаться.

Пример 4.46

SEIZE P*X1

Занять устройство, номер которого содержится в параметре транзакта, а номер параметра определяется значением ячейки X1.

SAVE VALUE 1,X*Р2

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

Пример 4.47

4 FUNCTION RN1,D3 ; Функция распределения типов сообщений 0.2,1/0.5,2/0.999999,3

1 FUNCTION RN2,C20 ; Функция распределения числа символов сообщения типа 1

2 FUNCTION RN3,C20 ; Функция распределения числа символов сообщения типа 2

3 FUNCTION RN4,C20 ; Функция распределения числа символов сообщения типа 3

GENERATE 100,10

ASSIGN 1.FN4 ; Определение типа сообщения

ASSIGN 2.FN*P1 ; Определение числа символов сообщения

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

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

Назначение именам числовых значений осуществляется с помо­щью оператора EQU (аналог #define в языке программирования Си).

Пример 4.48

Необходимо занять МКУ, номер которого определяется в пер­вом параметре транзакта. По логике функционирования модели за­нимается один из двух МКУ: SECTION_A или SECTION_B.