- •Воронежский государственный технический университет
- •Утверждено Редакционно-издательским советом университета в качестве учебного пособия
- •Введение
- •2. Классификация видов моделирования систем
- •3. Основные математические методы моделирования информационных процессов и систем
- •3.1. Виды математических моделей
- •3.2. Структурные математические модели
- •3.3. Функциональные математические модели
- •3.3.1. Непрерывно-детерминированные модели
- •3.3.2. Непрерывно-стохастические модели
- •3.3.2.1. Анализ работы разомкнутых смо
- •3.3.2.2. Замкнутые смо
- •3.4. Моделирование дискретных систем
- •3.4.1. Конечные автоматы
- •3.4.2. Дискретно-детерминированные модели
- •3.4.3. Вероятностные автоматы
- •3.5. Сетевые модели. Сети Петри (n-схемы)
- •4. Имитационное моделирование информационных процессов
- •4.1. Организация статистического моделирования
- •4.2Моделирование случайной величины с заданным законом распределения
- •4.3 Моделирование равномерно распределенных на отрезке [a,b] случайных чисел
- •4.4. Моделирование показательно распределенных св
- •4.5. Моделирование нормально распределенных случайных чисел
- •4.6. Проверка качества случайных чисел по критерию
- •4.7. Точность статистических оценок
- •4.8. Аппроксимация результатов моделирования
- •5. Формализация и алгоритмизация процессов функционирования систем
- •5.1. Методика разработки и машинной реализации моделей систем
- •5.2. Построение концептуальных моделей систем и их формализация
- •5.3. Алгоритмизация моделей систем и их машинная реализация
- •6. Планирование имитационных моделй с экспериментами
- •6.1. Полный факторный эксперимент
- •6.2. Дробные реплики
- •6.3. Общая схема планирования эксперимента
- •6.3.1. "Крутое восхождение"
- •6.3.2. Этапы планирования эксперимента
- •6.4. Стратегическое планирование
- •6.5. Тактическое планирование
- •7. Оценка точности и достоверности результатов моделирования
- •7.1. Общие положения
- •7.2. Регрессионный анализ
- •7.3. Корреляционный анализ
- •7.4. Экспертные оценки
- •8. Инструментальные средства моделирования систем
- •8.1. Архитектура языков имитационного моделирования
- •8.2. Задание времени в машинной модели
- •8.3. Сравнительный анализ языков моделирования
- •8.4. Примеры прикладных пакетов моделирования и языков моделирования
- •9. Правила построения моделирующих алгоритмов и способы реализации моделей
- •10. Сетевые модели вычислительных систем
- •10.1. Определение: Сеть Петри
- •Объекты, образующие сеть Петри
- •2Расширенная входная Расширенная выходная
- •10.2. Маркировка сети Петри.
- •10.3. Пространство состояний сети Петри
- •10.4. Моделирование параллельных процессов.
- •10.5. Моделирование процессора с конвейерной обработкой
- •10.6. Кратные функциональные блоки компьютера
- •10.7. Сети Петри и программирование
- •10.8. Взаимно исключающие параллельные процессы
- •10.9. Анализ сетей Петри
- •10.10. Дерево достижимости сети Петри
- •В позицию может входить и выходить только одна дуга
- •11. Система имитационного моделирования gpss/pc
- •11.1. Назначение и основные возможности системы
- •11. 2. Состав системы моделирования gpss/pc
- •11.3. Структура операторов языка gpss/pc
- •11.4. Команды среды gpss/pc
- •11.5. Основные операторы языка gpss/pc
- •11.5.1. Начало gpss-модели
- •11.5.2. Комментарии в gpss/pc
- •11.5.3. Имитация потоков событий. Транзакты
- •11.5.4. Имитация типовых узлов смо
- •11.6. Информация о ходе моделирования
- •11.6.1. Окно данных
- •11.6.2. Окно блоков
- •11.6.3. Окно устройств
- •11.6.4. Окно многоканальных устройств
- •11.7. Информация о результатах моделирования
- •11.7.1. Файл результатов моделирования
- •11.7.2. Содержание результатов моделирования
- •11.9. Управление движением транзактов
- •11.10. Дополнительные средства сбора информации о модели
- •11.11. Стандартные числовые атрибуты
- •11.12. Выбор направления движения транзактов с использованием сча
- •11.13. Датчики случайных чисел в gpss/pc
- •11.14. Функции в gpss/pc
- •11.14.1. Дискретные функции
- •11.14.2. Непрерывные функции
- •11.15. Переменные в gpss/pc
- •11.16. Организация циклов
- •11.17. Логические переключатели
- •11.18. Управление движением транзактов в зависимости от состояния элементов модели
- •11.19. Моделирование согласованных процессов на gpss-pc
- •11.19.1. Создание ансамблей транзактов
- •11.19.2. Накопление нескольких транзактов для последующей обработки
- •11.19.3. Объединение нескольких транзактов в один
- •11.19.4. Синхронизация движения транзактов в модели
- •11.20. Время пребывания транзакта в модели
- •11.21. Сбор данных о распределении значений характеристик модели. Таблицы
- •11.22. Изменение имени файла результатов моделирования
- •11.23. Приведение модели к исходному состоянию
- •11.24. Многократное выполнение моделирования
- •11.25. Моделирование нескольких вариантов системы в одной gpss-модели
- •11.26. Время моделирования
- •3 94026 Воронеж, Московский просп., 14
11.25. Моделирование нескольких вариантов системы в одной gpss-модели
Во многих случаях при определении оптимального варианта системы (при ее проектировании или модернизации) требуется смоделировать несколько вариантов этой системы. Варианты могут различаться по количеству обслуживающих устройств (в GPSS-модели это соответствует изменению количества каналов многоканального устройства), по характеристикам этих устройств (это соответствует изменению операндов в операторе ADVANCE) и т.д. Например, при проектировании ВЦ может потребо-ваться смоделировать варианты, различающиеся по количеству ЭВМ и по их быстродействию. Иногда требуется смоделировать работу системы в условиях различных потоков заявок, поступающих на обслуживание.
В GPSS/PC имеется возможность моделирования различных вариантов системы с использованием одного текста GPSS-модели.
Общий вид модели для имитации различных вариантов системы следующий.
текст модели 1-го варианта системы
REPORT файл результатов_1
START счетчик_завершений
CLEAR
операторы для 2-го варианта системы
REPORT файл результатов_2
START счетчик_завершений
CLEAR
операторы для 3-го варианта системы
REPORT файл результатов_N-1
START счетчик_завершений
CLEAR
операторы для N-го варианта системы
REPORT файл результатов_N
START счетчик_завершений
Такая модель работает следующим образом. После окончания моделирования 1-го (исходного) варианта системы результаты моделирования записываются в файл, заданный первым оператором REPORT. Затем результаты моделирования (а также оставшиеся в модели транзакты) удаляются оператором CLEAR. После этого операторы исходной модели заменяются на операторы для второго варианта системы, и новый (второй) вариант модели запускается на выполнение второй командой START. Результаты моделирования записываются в файл, заданный вторым оператором REPORT. Затем то же самое повторяется для 3-го,...,N-го варианта системы.
Операторы исходной модели и заменяющие их операторы для других вариантов системы обязательно должны иметь одинаковые метки. Могут заменяться ТОЛЬКО операторы объявления, расположенные в начале текста модели (до первого оператора GENERATE); обычно это операторы STORAGE и FVARIABLE.
Имена файлов результатов, указанные в операторах REPORT, должны быть разными.
Во втором и последующих вариантах модели может заменяться один или несколько операторов исходного варианта модели. Операторы, введен-ные в модель взамен исходных, сохраняются и во всех последующих вари-антах модели; они также могут заменяться.
Пример. Требуется выбрать тип и количество ЭВМ для оснащения ВЦ, который будет выполнять заказы на решение задач. Кроме того, для обеспечения своевременного выполнения заказов предполагается установить ограничение на очередь заказов, т.е. не принимать новые заказы, если уже есть определенное количество заказов, ожидающих выполнения. Предлагаются три варианта оснащения ВЦ и режима его работы: 1) две ЭВМ типа A; количество заказов в очереди - не более пяти; 2) одна ЭВМ типа B; количество заказов в очереди - также не более пяти; 3) две ЭВМ типа B; количество заказов в очереди - не более семи.
Известно, что поток задач, поступающих на ВЦ для решения - пуассоновский; в среднем задачи поступают на решение через каждые два часа. Время решения одной задачи на ЭВМ типа A - экспоненциальная случайная величина; в среднем решение занимает 3 часa. На ЭВМ типа B решение одной задачи занимает от 1 до 3 часов. Плата заказчика за решение одной задачи составляет 100 д.е.; однако, если полное время выполнения заказа (от поступления заказа на ВЦ до выдачи результатов) превышает 10 часов, то плата снижается до 70 д.е.
Требуется разработать GPSS-модель для анализа работы каждого из предлагаемых вариантов в течение 500 часов. Предусмотреть подсчет выручки ВЦ от решения задач, а также подсчет количества отказов.
10 SIMULATE
20 XPDIS FUNCTION RN1,C24
... таблица соответствия для экспоненциального распределения ...
30 COMP STORAGE 2
40 RESH FVARIABLE 180#FN$XPDIS
50 OGR FVARIABLE 5
60 GENERATE 120,FN$XPDIS
70 TEST LE Q1,V$OGR,OTKAZ
80 QUEUE 1
90 ENTER COMP
100 DEPART 1
110 ADVANCE V$RESH
120 LEAVE COMP
130 TEST LE M1,600,SNIZ
140 SAVEVALUE PLATA+,100
150 TRANSFER ,KON
160 SNIZ SAVEVALUE PLATA+,70
170 TRANSFER ,KON
180 OTKAZ SAVEVALUE OTK+,1
190 KON TERMINATE
200 GENERATE 30000
210 TERMINATE 1
220 REPORT D:VAR1.REP
230 START 1
240 CLEAR
250 COMP STORAGE 1
260 RESH FVARIABLE 60+120#RN1/999
270 REPORT D:VAR2.REP
280 START 1
290 CLEAR
300 COMP STORAGE 2
310 OGR FVARIABLE 7
320 REPORT D:VAR3.REP
330 START 1
Модель работает следующим образом. Сначала моделируется вариант ВЦ с двумя ЭВМ типа A (операторы 60 - 190). В операторе 70 выполняется сравнение количества задач, ожидающих решения (длина очереди 1) с максимально допустимым количеством таких задач (переменная OGR); по результатам сравнения имитируется прием заказа (если Q16) или отказ. Для имитации времени решения задач используется переменная RESH; время решения (экспоненциальная случайная величина) имитируется по формуле, полученной по методу обратных функций. Результаты выводятся в файл с именем VAR1.REP. Для удаления результатов моделирования из памяти компьютера используется оператор CLEAR (240).
Для имитации второго варианта ВЦ операторы с метками COMP и RESH (30 и 40) заменяются на операторы с теми же метками (250 и 260 соответственно). Здесь в операторе 260 имитируется время решения задачи на ЭВМ типа B. Это время - случайная величина, распределенная по равномерному закону; для его имитации используется формула (1.17), полученная по методу обратных функций. Второй вариант модели запускается оператором 280; результаты выводятся в файл VAR2.REP.
Для имитации третьего варианта заменяются операторы с метками COMP и OGR (300 и 310); это соответствует изменению количества ЭВМ и ограничения на длину очереди. Время решения задач в третьем варианте по-прежнему имитируется с помощью переменной RESH, заданной в операторе 260, так как этот оператор не заменяется.
Примечание. При имитации равномерной случайной величины (в операторе 260) требуется деление на 999, так как при обращении к датчику случайных чисел в операторе описания переменной генерируется число, равномерно распределенное в диапазоне от 1 до 999 (а не от 0 до 1). СРРЧ, равномерно распределенные в диапазоне от 0 до 1, в GPSS/PC генерируются только в случае, если обращение к датчику случайных чисел указывается в описании функции.
Примечание. Для имитации времени решения задачи применяется переменная (а не операторы ADVANCE 180,FN$XPDIS и ADVANCE 120,60), так как при использовании нескольких вариантов модели могут заменяться только операторы объявления (в данном случае - оператор FVARIABLE), но не операторы, непосредственно составляющие текст модели (как, например, оператор ADVANCE).