Механики
Скачать 4.29 Mb.
|
ENTER 666597 0 0 18 DEPART 666597 0 0 19 ADVANCE 666597 0 0 20 LEAVE 666597 0 0 21 TERMINATE 666597 0 0 FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY UZEL_2 1338533 0.802 19.984 1 999991 0 0 0 0 QUEUE MAX CONT. ENTRY ENTRY(0) AVE.CONT. AVE.TIME AVE.(-0) RETRY QUZ1_2 6 0 666597 465509 0.047 2.332 7.732 0 QUZ1_1 10 1 1671938 1158921 0.120 2.396 7.809 0 QUZ2 40 0 1338533 272711 3.232 80.521 101.124 0 STORAGE CAP. REM. MIN. MAX. ENTRIES AVL. AVE.C. UTIL. RETRY DELAY UZEL_1 2 0 0 2 2338535 1 0.952 0.476 0 0 CEC XN PRI M1 ASSEM CURRENT NEXT PARAMETER VALUE 999980 0 33344706.455 999980 3 4 FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE 999993 0 33345317.746 999993 5 6 999991 0 33345318.791 999991 12 13 1000005 0 33345330.450 1000005 0 15 1000003 0 33345459.221 1000003 0 1 Рис.6.21. Отчет к модели разомкнутой СеМО с неоднородным потоком Раздел 6. Имитационное моделирование 327 очереди узла 1 СеМО: 047 , 0 ) 2 ( 1 = l . Заметим, что в узле 2 очередь образу- ют только заявки первого класса. Суммарная длина очереди заявок в узле 1 равна 167 , 0 ) 2 ( ) 1 ( 1 1 1 = + = l l l . Суммарное число заявок, находящихся в состоянии ожидания в СеМО: 4 , 3 2 1 ≅ + = l l L Средние времена ожидания (AVE.TIME) заявок класса 1 в узлах 1 и 2 СеМО соответственно равны: с 4 , 2 ) 1 ( 1 = w и с 5 , 80 ) 1 ( 2 = w Среднее время ожидания заявок класса 2 в узле 1 СеМО : с 33 , 2 ) 2 ( 1 = w Следует заметить , что стандартный GPSS- отчёт по результатам моделирования содержит информацию не по всем характеристикам , которые могут представлять интерес для исследователя В частности , представленный выше отчёт не содержит информацию о временах пребывания заявок в узлах и в СеМО в целом Эти характеристики могут быть рассчитаны на основе имеющихся в отчёте данных с использованием фундаментальных соотношений , пред - ставленных в п .3.4.3. Так , например , легко могут быть рассчитаны средние времена пребывания заявок каждого класса в узлах СеМО : с 4 , 17 ) 1 ( ) 1 ( ) 1 ( 1 1 1 = + = b w u ; с 5 , 100 ) 1 ( ) 1 ( ) 1 ( 2 2 2 = + = b w u ; с 3 , 12 ) 2 ( ) 2 ( ) 2 ( 1 1 1 = + = b w u С учётом того , что за время нахождения в сети заявки класса 1 в среднем пройдут через узел 1 5 ) 1 ( 1 = α раз , а через узел 2 – 4 ) 1 ( 2 = α раза , можно найти среднее время пребывания заявок класса 1 в сети : с 489 ) 1 ( ) 1 ( ) 1 ( ) 1 ( ) 1 ( 2 2 1 1 = + = u u U α α Аналогично , среднее время пребывания в сети заявок класса 2: с 3 , 12 ) 2 ( ) 2 ( ) 2 ( ) 2 ( ) 2 ( 2 2 1 1 = + = u u U α α Среднее число заявок каждого класса в СеМО может быть найдено по формулам Литтла , связывающим безразмерные и временн ы е сетевые характеристики : 89 , 4 ) 1 ( ) 1 ( ) 1 ( ) 1 ( ) 1 ( 0 0 = = = a U U M λ и 25 , 0 ) 2 ( ) 2 ( ) 2 ( ) 2 ( ) 2 ( 0 0 ≅ = = a U U M λ Для получения дополнительных результатов , например в виде гисто - грамм плотностей распределений времён ожидания и пребывания заявок в СеМО с целью детального анализа свойств исследуемой системы , в область описания GPSS- модели следует включить команды TABLE и QTABLE: Для двух последних таблиц TU_k1 и TU_k2, в которых накапли - вается статистика по временам пребывания заявок обоих классов в СеМО , дополнительно в GPSS- модель необходимо вставить два оператора : Tw1_k1 QTABLE QUz1_k1,0,.25,40; время ожидания в узле 1 заявок класса 1 Tw1_k2 QTABLE QUz1_k2,0,.25,40; время ожидания в узле 1 заявок класса 2 Tw2_k1 QTABLE QUz2_k1,0,10,40; время ожидания в узле 2 заявок класса 1 TU_k1 TABLE M1,50,50,40; время пребывания в сети заявок класса 1 TU_k2 TABLE M1,1,1,40; время пребывания в сети заявок класса 2 328 Раздел 6. Имитационное моделирование Первый оператор должен быть вставлен в модуль 1 перед опера - тором TERMINATE для отметки времени выхода из СеМО заявки класса 1, а второй – в модуль 3 перед оператором TERMINATE для отметки времени выхода из СеМО заявки класса 2. В этом случае кроме средних значений временных характеристик могут быть получены значения среднеквадратических отклонений соответствующих характеристик : c 02 , 5 ) 1 ( 1 = w σ ; c 90 , 98 ) 1 ( 2 = w σ ; c 94 , 4 ) 1 ( 2 = w σ ; c 3 , 737 ) 1 ( = U σ ; c 72 , 5 ) 2 ( = U σ 6.8. Резюме 1. Универсальным и наиболее эффективным методом исследования сложных систем со стохастическим характером функционирования является имитационное моделирование , предоставляющее возможность исследования систем любой сложности с любой степенью детализации и получения наиболее полных результатов. Имитационная модель представляет собой программу для ЭВМ , реализующую заданное логико - алгоритмическое описание исследуемой системы Имитационное моделирование часто называют статистическим , поскольку сбор и обработка результатов имитационного моделирования реализуется методами математической статистики , позволяющими получить результаты в любом объёме – от средних значений и нескольких первых начальных или центральных моментов до законов распределений. К основным процедурам имитационного моделирования относятся : • организация службы времени ; • сбор и статистическая обработка результатов моделирования ; • выработка ( генерирование ) случайных величин с заданными законами распределений Одна из основных проблем имитационного моделирования – организация службы времени , определяющей способ изменения ( про - движения ) модельного времени , протекающего в моделируемой системе В настоящее время наиболее эффективным признан способ «продвижения модельного времени с переменным шагом до ближайшего события», реализуемый в большинстве систем имитационного моделирования 2. Случайные величины в имитационных моделях формируются программными генераторами ( датчиками ), вырабатывающими псевдослу- чайные последовательности, представляющие собой детерминированные числа и обладающие статистическими свойствами случайных чисел. Основными методами формирования равномерно распределённых в интервале (0; 1) псевдослучайных последовательностей являются : TABULATE TU_k1; удаление из модели (СеМО) обслуженной заявки класса 1 TABULATE TU_k2; удаление из модели (СеМО) обслуженной заявки класса 2 Раздел 6. Имитационное моделирование 329 • метод квадратов ; • метод произведений ; • мультипликативный конгруэнтный метод Оценка качества генераторов равномерно распределенных псевдослучайных последовательностей проводится с использованием трёх видов проверки : • на периодичность ; • на случайность ; • на равномерность При проверке на случайность программных генераторов двоичных псевдослучайных последовательностей используются тесты проверки частот , пар , комбинаций , серий , корреляций Псевдослучайные последовательности с заданным законом распреде - ления формируются в ЭВМ на основе программных генераторов равно - мерно распределённых случайных величин одним из следующих методов : • аналитическим ( обратной функции ); • табличным ; • методом композиций 3. Общецелевая система имитационного моделирования GPSS World является одной из наиболее доступных и популярных для работы на персональных компьютерах под управлением ОС Windows. GPSS World обладает специальными средствами , которые делают процесс моделирования эффективным и наглядным . GPSS World включает в себя языки программирования GPSS и PLUS и компилятор Основными объектами системы имитационного моделирования GPSS World, которые всегда используются при моделировании , являются : • программа , написанная на языке GPSS (GPSS-модель), • исполняемый объект , создаваемый в результате трансляции GPSS- модели и реализующий процесс моделирования на ЭВМ , • отчёт с результатами моделирования Элементами языка GPSS World являются алфавитно - цифровые символы , имена , метки , переменные , числа , системные числовые атрибуты ( СЧА ), арифметические операторы , операторы отношения , логические операторы , выражения , процедуры . Объекты GPSS- модели могут быть разбиты на следующие группы : • основные объекты ( операторы и транзакты ); • оборудование ( приборы или одноканальные устройства , памяти или многоканальные устройства , очереди , логические ключи ); • числовые объекты ( ячейки , матрицы , переменные , функции , таблицы ); • генераторы случайных чисел ( встроенные , библиотечные , табличные ); • групповые списки ( списки пользователя , числовые группы , 330 Раздел 6. Имитационное моделирование группы транзактов ); • потоки данных Объекты в GPSS- модели могут формироваться автоматически , либо должны объявляться с использованием специальных команд – операторов описания К объявляемым объектам относятся : памяти , переменные , матрицы , таблицы , функции , а также параметры транзактов 4. GPSS- модель представляет собой последовательность операторов , описывающих логику работы моделируемой системы , которые могут быть разбиты на две группы : GPSS- операторы и PLUS- операторы GPSS- операторы делятся на исполняемые операторы , операторы описания и операторы управления Исполняемые операторы, называемые также операторами блоков или просто блоками, непосредственно реализуют процесс моделирования Операторы описания и операторы управления, называемые в GPSS World командами, используются соответственно для описания многока - нальных устройств , переменных , функций , матриц , таблиц и для управ- ления процессом моделирования ( запуск , остановка и продолжение про - цесса моделирования , сброс статистики , завершение моделирования и т п .). Команды могут быть срочными и несрочными. Оператор GPSS World, в общем случае , содержит 4 поля : поле метки, поле операции, поле операндов и поле комментариев. Все операторы , кроме оператора описания FUNCTION, записываются в одну строку и могут содержать до 250 символов , включая комментарий 5. Для запуска процесса моделирования используется команда START, которая может находиться в GPSS- модели в качестве последнего оператора или может быть задана после трансляции из меню GPSS World. Реализация процесса моделирования заключается в перемещении в модели транзактов, которые последовательно переходят от блока к блоку в заданной алгоритмом моделирования последовательности Транзакты создаются и уничтожаются в модели с помощью специальных операторов : GENERATE и TERMINATE. В общем случае , в модели может находиться множество транзактов, однако в один и тот же момент времени двигается только один транзакт. Транзакт , продвигаемый в модели в данный момент времени , называется активным. Интервал времени , в течение которого транзакт находится в модели , называется резидентным временем транзакта Интервал времени , в течение которого транзакт проходит между двумя произвольно выбранными точками модели , называется транзитным временем. Каждому транзакту в модели присваивается порядковый номер по мере появления их в модели , начиная с единицы. Раздел 6. Имитационное моделирование 331 Работа реальных систем протекает во времени , для отображения которого в GPSS- модели используется таймер модельного времени, содержание которого корректируется автоматически в соответствии с логикой , предписанной моделью Единица времени ( секунды , минуты , часы или их доли ) задается разработчиком модели 6. Для реализации перемещения транзактов в GPSS- модели исполь - зуются следующие списки (цепи): • список текущих событий (СТС); • список будущих событий (СБС); • списки повторных попыток (СПП); • списки одноканального устройства , включающие список отложенных прерываний, список прерываний, список задержки, список повторных попыток; • списки многоканального устройства , включающие список задержки, список повторных попыток; • списки пользователя. В любой модели всегда формируется один список текущих и один список будущих событий. Остальные списки формируются по мере необходимости 7. Каждый транзакт имеет множество параметров , называемых атрибутами транзакта, к которым относятся : • параметры, число которых не ограничено ; • приоритет транзакта ; • время входа транзакта в систему; • текущий блок, в котором находится транзакт ; • следующий блок, в который должен перейти данный транзакт ; • список, в котором находится транзакт в некоторый момент времени 8. В GPSS World завершение процесса моделирования может быть реализовано : • принудительно с помощью срочной команды HALT; • по некоторому условию , задаваемому командой STOP; • по достижению содержимого « счётчика завершений » значения меньше или равного нулю Последний способ используется наиболее часто при моделировании систем и сетей массового обслуживания По завершению моделирования формируется и выводится на экран стандартный отчет , содержащий основные результаты моделирования 9. Переменные , используемые в операндах операторов GPSS и в выражениях , называются атрибутами. Числовые атрибуты , автоматически поддерживаемые в GPSS и доступные в течение всего процесса моделирования , называются системными числовыми атрибутами (СЧА). Их значения в любой момент 332 Раздел 6. Имитационное моделирование в процессе моделирования доступны пользователю за счет использования специальных наименований этих атрибутов В GPSS используются СЧА трёх типов : СЧА объектов, СЧА системы, СЧА транзактов. Имя СЧА объектов состоит из двух частей : группового имени ( идентифицирующего тип объекта и тип информации ) и имени или номера конкретного члена группы. 10. Встроенная библиотека процедур GPSS World содержит более 20 вероятностных распределений , в том числе равномерное (Uniform), экспоненциальное (Exponential) и др Для обращения к вероятностному распределению необходимо указать имя библиотечной процедуры и её параметры , заключённые в круглые скобки и отделённые друг от друга запятой Библиотечные процедуры вероятностных распределений могут использоваться в выражениях , а также в качестве операнда A в операторах GENERATE и ADVANCE. 11. В GPSS World имеется 53 операторов блоков , из которых примерно половина используется для построения имитационных моделей простейших систем и сетей массового обслуживания Операторы могут быть без операндов или содержать от 1 до 7 операндов , некоторые из которых могут быть необязательными При отсутствии операндов их значения принимаются по умолчанию Отсутствие обязательных операндов приводит к ошибке. К операторам генерирования, задержки и удаления транзактов относятся : GENERATE ( генерирование транзактов ); ADVANCE ( задержка транзакта на заданное время ); TERMINATE ( удаление транзактов из модели ). Операторы одноканальных устройств ( приборов ): SEIZE ( занятие транзактом прибора ); RELEASE ( удаление транзакта из прибора ). Операторы многоканальных устройств ( памятей ): ENTER ( вход транзакта в многоканальное устройство ); LEAVE ( удаление транзакта из многоканального устройства ). Операторы очередей: QUEUE ( фиксация момента поступления транзакта в очередь ); DEPART ( фиксация момента удаления транзакта из очереди ). Условные операторы : TEST ( поверка значения СЧА и передача активного транзакта в блок , отличный от последующего ); TRANSFER ( передача транзакта в блок , отличный от последующего ); GATE ( изменение маршрута движения транзактов в зависимости от состояния некоторого объекта ). Раздел 6. Имитационное моделирование 333 Операторы приоритетного обслуживания: PRIORITY ( изменение уровня приоритета активного транзакта ); PREEMPT ( захват прибора поступившим транзактом ); RETURN ( освобождение прибора активным транзактом ). Оператор логических ключей: LOGIC ( изменение состояния логического ключа ). К прочим операторам относятся : ASSIGN ( назначение и изменение параметра транзакта ), MARK ( запись значения абсолютного времени в качестве одного из параметров активного транзакта ), TABULATE ( занесение значений в таблицу – обновление статистики ). 12. В GPSS World используются 24 команды ( описания и управления ), из которых для построения и реализации имитационных моделей простейших систем и сетей массового обслуживания оказывается достаточным использование немногим более половины Команды , как и операторы блоков , могут быть без операндов или содержать от 1 до 5- и операндов , некоторые из которых могут быть необязательными Значения необязательных операндов при их отсутствии принимаются по умолчанию Отсутствие обязательных операндов приводит к ошибке. К командам описания относятся : FUNCTION ( описание функции ); TABLE ( описание таблицы ); QTABLE ( описание таблицы очереди ); STORAGE ( описание ёмкости многоканального устройства ); VARIABLE ( описание арифметической переменной ). К командам управления относятся : CLEAR ( сброс процесса моделирования в исходное состояние ); CONTINUE ( возобновление прерванного процесса моделирования ); HALT ( прерывает процесс моделирования и очищает очередь команд ); INCLUDE ( вставка в исходную модель и трансляция файла с операторами ); REPORT ( немедленное создание отчета ); RESET ( сброс в ноль статистики и атрибутов системы ); SHOW ( отображает значение выражения в строке состояния окна «Model»); START ( запуск процесса моделирования ); STEP ( остановка процесса моделирования по определенному количеству входов транзактов в блоки ); STOP ( устанавливает или снимает условие прерывания моделирования ). |