Реферат: Моделирование систем пособие по выполнению курсовой работы для студентов III
Название: Моделирование систем пособие по выполнению курсовой работы для студентов III Раздел: Остальные рефераты Тип: реферат | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «МАМИ» Е.Г. Мурачев МОДЕЛИРОВАНИЕ СИСТЕМ ПОСОБИЕ по выполнению курсовой работы для студентов III курса специальности 230101 дневного отделения
Москва – 2009 МИНИСТЕРСТВО ТРАНСПОРТА РОССИЙСКОЙ ФЕДЕРАЦИИ ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «МАМИ» Кафедра автоматики и процессов управления Е.Г.Мурачев МОДЕЛИРОВАНИЕ СИСТЕМ ПОСОБИЕ по выполнению курсовой работы для студентов III курса специальности 230101 дневного обучения
Москва – 2009
ВВЕДЕНИЕ Курсовая работа по дисциплине «Моделирование систем» выполняется студентами специальности 230101 в 7 семестре. В рамках курсовой работы должно быть произведено исследование объекта с целью определения оптимального режима функционирования. Лри выполнении курсовой работы используются знания, полученные студентами при изучении дисциплины «Моделирование систем», а также дисциплин "Информатика", "Алгоритмические языки и программирование". 1 ЦЕЛИ И ЗАДАЧИ КУРСОВОГО ПРОЕКТИРОВАНИЯ 1.1 Целью курсового проектирования является приобретение 1.2 Задачей курсовой работы является исследование заданного объекта: -проведение пассивного эксперимента с использованием методов имитационного моделирования и языка программирования GPSS; - выбор критерия оценки эффективности функционирования объекта; - определение оптимального режима функционирования на основе пассивного эксперимента; - Составление плана проведения активного эксперимента и проведение активного эксперимента с использованием методов имитационного моделирования и языка программирования GPSS ; - Определение математической модели в виде уравнения регрессии с использованием результатов активного эксперимента; - Поиск оптимального режима функционирования на базе полученной модели - С использованием градиентного метода оптимизации или метода сканирования; Оценка результатов и сравнение с результатами, полученными на основе пассивного эксперимента.. ОРГАНИЗАЦИЯ И ПОСЛЕДОВЛЬНОСТЬ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ Курсовое проектирование является формой самостоятельной работы студента и выполняется по индивидуальному заданию. Заданиена курсовую работу выдается преподавателем на первом занятии по курсу «Моделирование систем» 8 семестра, защита проводится в конце того же семества перед экзаменом. На защите демонстрируются результаты проведенного исследования. "В ходе выполнения курсовой работы студент консультируется с руководителем, назначенным кафедрой. За правильность проектных решений, качество оформления работы, своевременность выполнения отдельных этапов и представления к защите отвечает студент. 2.1 Задание на курсовую работу Задание на гсурсовую работу выбирается студентом по номеру группы и порядковому номеру студента в журнале. 2.2 Объем и содержание курсовой работы Работа состоит из расчетно-пояснительной записки (РПЗ). Техническое задание включает общие и специальные требования к работе. Объем пояснительной записки составляет 30-40 машинописных страниц (формат А4) РПЗ должна быть написана четко и кратко, содержать пояснения ко всем промежуточным результатам, обоснование принятых решений. РПЗ должна включать следующие разделы: 1) Титульный лист (приложение А) 2) Бланк задания, подлисанный преподавателем и студентом (приложение Б) 3) Содержание 4) Перечень условных обозначений и сокращений в алфавитном 5) Основная часть РПЗ: - Краткие теоретические сведения: анализ существующих методов подобного класса; особенности особенности использования выбранных методов; - Структура обекта исследования и имитационная модель в виде программы на языке программирования GPSS; - Результаты пассивного эксперимента; -- расчет критерия для каждой экспериментальной точки; - Анализ результатов и выбор оптимального оешения набазе пассивного эксперимента; - План активного эксперимента; - Результаты активного эксперимента; - Расчет коэффициентов уравнения регрессии с помощью Ехсеl; - Запись полученной модели; - Программа поиска оптимального решения на алгоритмическом языке Visual Basic; - Результаты поиска и результать сравнительного анализа; - Заключение; - Список использованных источников; - Приложения: 2.3 Последовательность выполнения работы Курсовая работа разрабатывается в последовательности, соответствующей содержанию РПЗ (п.2,2). Расчетно-пояснительная записка и графический материал оформляются в соответствии с требованиями ЕСКД и ЕСПД (Единая система конструкторской документации, Единая система программной документации). Подготовленная и оформленная работа, прошедшая экспертизу на выполнение требований ЕСКД и ЕСПД представляется преподавателю не позднее, чем за неделю до защиты. Защита работы происходит на 16 или 17 неделе семестра.
3 ВАРИАНТЫ ЗАДАНИЙ
В многофазную систему массового обслуживания поступают заявки по равномерному закону распределения через А +/- В минут. Обработка заявок осуществляется в три фазы, две из которыхпредставляют параллельное соединение двух приборов обслуживания.. (см. пример) Поступление заявок в тот или иной канал для этих фаз происходит с вероятностью Провести моделирование системы с параметрами А,В, Необходимо осуществить обработку 100 заявок при двух прогонах программы. Составить матрицу планирования полного факторного эксперимента для пяти факторов с эффектами взаимодействия. Факторами являютсявремя обслуживания заявок каждого прибора обслуживания. Диапазон изменения факторов определяется из условия [-0,15*T;+0,15*T] Осуществить расчет имитационной модели с использованием исходных данных определенных на основании составленного плана ПФЭ Записать матрицу планирования первого порядка с эффектами взаимодействия. Определить значения коэффициентов полинома, выбранного в качестве модели Определить оптимальные области значений факторов процесса функционирования системы 4. ИНФОРИАЦИЯ ДЛЯ ВЫПОЛНЕНИЯ КУРСОВОЙ РАБОТЫ
МАТЕМАТИЧЕСКИЕ СХЕМЫ МОДЕЛИРОВАНИЯ СИСТЕМ Наибольшие затруднения и наиболее серьезные ошибки при моделировании возникают при переходе от содержательного к формальному описанию объектов исследования. Эффективным является язык математических схем, позволяющий во главу угла поставить вопрос об адекватности перехода от содержательного описания системы к ее математической схеме, а лишь затем решать вопрос о конкретном методе получения результатов с использованием ЭВМ: аналитическом или имитационном, а возможно, и комбинированном, т. е. аналитико-имитационном. Применительно к конкретному объекту моделирования, т. е. к сложной системе, разработчику модели должны помочь конкретные, уже прошедшие апробацию для данного класса систем математические схемы, показавшие свою эффективность в прикладных исследованиях на ЭВМ и получившие название типовых математических схем. ОСНОВНЫЕ ПОДХОДЫ К ПОСТРОЕНИЮ МАТЕМАТИЧЕСКИХ МОДЕЛЕЙ СИСТЕМ Исходной информацией при построении математических моделей процессов функционирования систем служат данные о назначении и условиях работы исследуемой (проектируемой) системы S . Эта информация определяет основную цель моделирования системы S и позволяет сформулировать требования к разрабатываемой математической модели М. Причем уровень абстрагирования зависит от круга тех вопросов, на которые исследователь системы хочет получить ответ с помощью модели, и в какой-то степени определяет выбор математической схемы. Математическую схему можно определить как звено при переходе от содержательного к формальному описанию процесса функционирования системы с учетом воздействия внешней среды, т. е. имеет место цепочка «описательная модель — математическая схема — математическая [аналитическая или (и) имитационная] модель». Каждая конкретная система S характеризуется набором свойств, под которыми понимаются величины, отражающие поведение моделируемого объекта (реальной системы) и учитывающие условия ее функционирования во взаимодействии с внешней средой (системой) Е. При построении математической модели системы необходимо решить вопрос об ее полноте. Полнота модели регулируется в основном выбором границы «система S — среда Е». Также должна быть решена задача упрощения модели, которая помогает выделить основные свойства системы, отбросив второстепенные. Причем отнесение свойств системы к основным или второстепенным существенно зависит от цели моделирования системы (например, анализ вероятностно-временных характеристик процесса функционирования системы, синтез структуры системы и т. д.). Модель объекта моделирования, т. е. системы S, можно представить в виде множества величин, описывающих процесс функционирования реальной системы и образующих в общем случае следующие подмножества: совокупность входных воздействий на систему
совокупность воздействий внешней среды
совокупность внутренних (собственных) параметров системы совокупность выходных характеристик системы При этом в перечисленных подмножествах можно выделить управляемые и неуправляемые переменные. В общем случае При моделировании системы S входные воздействия, воздействия внешней среды Е и внутренние параметры системы являются независимыми (экзогенными) переменными, а выходные характеристики системы являются зависимыми (эндогенными) пере менными Процесс функционирования системы S описывается во времени оператором y
(
t
)= Совокупность зависимостей выходных характеристик системы от времени для всех видов у Весьма важным для описания и исследования системы S
является понятие алгоритма функционирования Соотношение (1.1) является математическим описанием поведения объекта (системы) моделирования во времени t , т. е. отражает его динамические свойства. Поэтому математические модели такого вида принято называть динамическими моделями. Для статических моделей математическая модель (1.1) представляет собой отображение между двумя подмножествами свойств моделируемого объекта Y и { X , V , H }, что в векторной форме может быть записано как y = f ( x , v , h ). (1.2) Соотношения (1.1) и (1.2) могут быть заданы различными способами: аналитически (с помощью формул), графически, таблично и т. д. Такие соотношения в ряде случаев могут быть получены через свойства системы S в конкретные моменты времени, называемые состояниями. Если рассматривать процесс функционирования системы S как последовательную смену состояний, то они могут быть интерпретированы как координаты точки в n-мерном фазовом пространстве, причем каждой реализации процесса будет соответствовать некоторая фазовая траектория. Совокупность всех возможных значений состояний называется пространством со стояний объекта моделирования Z. Состояния системы S
в момент времени Z(t)=Ф( z °, x , v , h , t ) (1.3) y ( t )= F ( z , t ) (1.4) Первое уравнение по начальному состоянию z° и экзогенным переменным x , v , h определяет вектор-функцию z(0), а второе по полученному значению состояний z ( t ) — эндогенные переменные на выходе системы у ( t ). Таким образом, цепочка уравнений объекта «вход — состояния — выход» позволяет определить характеристики системы y ( t )= F {Ф (z ° , x , v , h , t )} (1.5) В общем случае время в модели системы S может рассматриваться на интервале моделирования (0 , Т) как непрерывное, так и дискретное. Таким образом, под математической моделью объекта (реальной системы) понимают конечное подмножество переменных { x ( t ), v ( t ), h ( t )} вместе с математическими связями между ними и характеристиками у ( t ). Если математическое описание объекта моделирования не содержит элементов случайности или они не учитываются, т. е. если можно считать, что в этом случае стохастические воздействия внешней среды v (t) и стохастические внутренние параметры h ( t ) отсутствуют, то модель называется детерминированной в том смысле, что характеристики однозначно определяются детерминированными входными воздействиями y ( t )= f ( x , t ) (1.6) Очевидно, что детерминированная модель является частным случаем стохастической модели. НЕПРЕРЫВНО-СТОХАСТИЧЕСКИЕ МОДЕЛИ (Q-СХЕМЫ) Особенности непрерывно-стохастического подхода рассмотрим на примере использования в качестве типовых математических схем систем массового обслуживания , которые будем называть Q -схемами. Системы массового обслуживания представляют собой класс математических схем, разработанных в теории массового обслуживания и различных приложениях для формализации процессов функционирования систем, которые по своей сути являются процессами обслуживания. В качестве процесса обслуживания могут быть представлены различные по своей физической природе процессы функционирования экономических, производственных, технических и других систем, например потоки поставок продукции некоторому предприятию, потоки деталей и комплектующих изделий на сборочном конвейере цеха, заявки на обработку информации ЭВМ от удаленных терминалов и т. д. При этом характерным для работы таких объектов является случайное появление заявок (требований) на обслуживание и завершение обслуживания в случайные моменты времени, т. е. стохастический характер процесса их функционирования. В любом элементарном акте обслуживания можно выделить две основные составляющие: ожидание обслуживания заявкой и собственно обслуживание заявки. Прибор обслуживания заявок Это можно изобразить в виде некоторого i-гo прибора обслуживания Потоком событий называется последовательность событий, происходящих одно за другим в какие-то случайные моменты времени. Различают потоки однородных и неоднородных событий. Поток событий называется однородным, если он характеризуется только моментами поступления этих событий (вызывающими моментами) и задается. Mомент наступления i-го события — неотрицательное вещественное число. Однородный поток событий также может быть задан в виде последовательности промежутков времени между i-м и (п- 1) -м событиями, которая однозначно связана с последовательностью поступления заявок. При моделировании различных систем применительно к элементарному каналу обслуживания Заявки, обслуженные каналом Процесс функционирования прибора обслуживания В практике моделирования систем, имеющих более сложные структурные связи и алгоритмы поведения, для формализации используются не отдельные приборы обслуживания, а Q -схемы, образуемые композицией многих элементарных приборов обслуживания (сети массового обслуживания). Для того, чтобы осуществить процесс моделирования полученной Q -схемы используют различные языки имитационного моделирования. Одним из таких языков является язык имитационного моделирования GPSS (см. приложение 1)
Моделирование Q - схем с фазовой структурой Если приборы массового обслуживания и их параллельные композиции соединены последовательно, то имеет место многофазное обслуживание (многофазная Q -схема). Таким образом, для задания Q -схемы необходимо использовать оператор сопряжения R , отражающий взаимосвязь элементов структуры (каналов и накопителей) между собой. Связи между элементами Q -схемы изображают в виде стрелок (линий потока, отражающих направление движения заявок). Различают разомкнутые и замкнутые Q -схемы. В разомкнутой Q -схеме выходной поток обслуженных заявок не может снова поступить на какой-либо элемент, т. е. обратная связь отсутствует, а в замкнутых Q -схемах имеются обратные связи, по которым заявки двигаются в направлении, обратном движению вход-выход. Собственными (внутренними) параметрами Q -схемы будут являться количество фаз, количество каналов в каждой фазе, количество накопителей каждой фазы, емкость i-гo накопителя. Следует отметить, что в теории массового обслуживания в зависимости от емкости накопителя применяют следующую терминологию для систем массового обслуживания: системы с потерями, т. е. имеется только канал обслуживания системы с ожиданием, (т. е. очередь заявок не ограничивается) и системы смешанного типа (с ограниченной емкостью накопителя). Всю совокупность собственных параметров Q -схемы обозначим как подмножество Н. Для задания Q
-схемы
также необходимо описать алгоритмы ее функционирования, которые определяют набор правил поведения заявок в системе в различных неоднозначных ситуациях. В зависимости от места возникновения таких ситуаций различают алгоритмы (дисциплины) ожидания заявок в накопителе Н,
и обслуживания заявок каналом В зависимости от динамики приоритетов в Q
-схемах
различают статические и динамические приоритеты. Статические приоритеты назначаются заранее и не зависят от состояний Q
-схемы,
т. е. они являются фиксированными в пределах решения конкретной задачи моделирования. Динамические приоритеты возникают при моделировании в зависимости от возникающих ситуаций. Исходя из правил выбора заявок из накопителя При рассмотрении алгоритмов функционирования приборов обслуживания Таким образом, Q -схема, описывающая процесс функционирования системы массового обслуживания любой сложности, однозначно задается в виде Q = (W, U , H , Z , R , А). При ряде упрощающих предположений относительно подмножеств входящих потоков W, потоков обслуживания U (выполнение условий стационарности, ординарности и ограниченного последействия) оператора сопряжения элементов структуры R (однофазное одноканальное обслуживание в разомкнутой системе), подмножества собственных параметров Н (обслуживание с бесконечной емкостью накопителя), оператора алгоритмов обслуживания заявок А (бес приоритетное обслуживание без прерываний и блокировок) для оценки вероятностно-временных характеристик можно использовать аналитический аппарат, разработанный в теории массового обслуживания. Математическое обеспечение и ресурсные возможности современных ЭВМ позволяют достаточно эффективно провести моделирование различных систем, формализуемых в виде Q
-схем,
используя либо пакеты прикладных программ, созданные на базе алгоритмических языков общего назначения, либо специализированные языки имитационного моделирования. На рисунке представлена трехфазная Q
-схема (
L
=3) с блокировкой каналов по выходу в 1-й и 2-й фазах обслуживания (пунктирные линии на рисунке). В качестве выходящих потоков такой Q-схемы могут быть рассмотрены поток потерянных заявок из Для имитационной модели рассматриваемой Q
-схемы
можно записать следующие переменные и уравнения: эндогенная переменная Р
— вероятность потери заявок; экзогенные переменные: При имитации процесса функционирования Q
-схемы
на ЭВМ, требуется организовать массив состояний. В этом массиве должны быть выделены: подмассив К для запоминания текущих значений Процедура моделирования процесса обслуживания каждым элементарным каналом сводится к следующему. Путем обращения к генератору случайных чисел с законом распределения, соответствующим обслуживанию данных,
получается длительность времени обслуживания и вычисляется время окончания обслуживания,
а затем фиксируется состояние Возможности модификации моделирующих алгоритмов Q - схемы. В плане усложнения машинных моделей при исследовании вариантов системы S можно рассмотреть следующие модификации: наличие потоков заявок нескольких типов. В этом случае необходимо иметь несколько источников (генераторов) заявок и фиксировать признак принадлежности заявки к тому или иному потоку тогда, когда накопители и каналы рассматриваемой Q -схемы критичны к этому признаку или требуется определить характеристики обслуживания заявок каждого из потоков в отдельности. Наличие приоритетов при постановке заявок в очередь в накопитель. В зависимости от класса приоритета заявок может быть рассмотрен случай, когда заявки одного класса имеют приоритет по записи в накопитель (при отсутствии свободных мест вытесняют из накопителя заявки с более низким классом приоритета, которые при этом считаются потерянными). Этот фактор может быть учтен в моделирующем алгоритме соответствующей Q -схемы путем фиксации для каждого накопителя признаков заявок, которые в нем находятся (путем организации соответствующего массива признаков). 1. Наличие приоритетов при выборе заявок на обслуживание каналов. По отношению к каналу могут быть рассмотрены заявки с абсолютным и относительным приоритетами. Заявки с абсолютным приоритетом при выборе из очереди в накопитель вытесняют из канала заявки с более низким классом приоритета, которые при этом снова поступают в накопитель (в начало или конец очереди) или считаются потерянными, а заявки с относительным приоритетом дожидаются окончания обслуживания каналом предыдущей заявки. Эти особенности учитываются в моделирующих алгоритмах приоритетных Q -схем, при определении времени освобождения канала и выборе претендентов на его занятие. Если наличие абсолютных приоритетов приводит к потере заявок, то необходимо организовать фиксацию потерянных заявок. 2. Ограничение по времени пребывания заявок в системе. В этом случае возможно ограничение как по времени ожидания заявок в накопителях, так и по времени обслуживания заявок каналами, а также ограничение по сумме этих времен, т. е. по времени пребывания заявок в обслуживающем приборе. Причем эти ограничения могут рассматриваться как применительно к каждой фазе, так и к Q -схеме в целом. При этом необходимо в качестве особых состояний Q -схемы рассматривать не только моменты поступления новых заявок и моменты окончания обслуживания заявок, но и моменты окончания допустимого времени пребывания (ожидания, обслуживания) заявок в Q -схеме. 3. Выход элементов системы из строя и их дальнейшее восстановление. Такие события могут быть рассмотрены в Q -схеме, как потоки событий с абсолютными приоритетами, приводящими к потере заявок, находящихся в обслуживании в канале или ожидающих начала обслуживания в накопителе в момент выхода соответствующего элемента из строя. В этом случае в моделирующем алгоритме Q -схемы должны быть предусмотрены датчики (генераторы) отказов и восстановлений, а также должны присутствовать операторы для фиксации и обработки необходимой статистики. Рассмотренные моделирующие алгоритмы и способы их модификации могут быть использованы для моделирования широкого класса систем. Однако эти алгоритмы будут отличаться по сложности реализации, затратам машинного времени и необходимого объема памяти ЭВМ. Детерминированный и асинхронный циклический алгоритмы наиболее просты с точки зрения логики их построения, так как при этом используется перебор всех элементов Q -схемы на каждом шаге. Трудности возникают с машинной реализацией этих алгоритмов вследствие увеличения затрат машинного времени на моделирование, так как просматриваются все состояния элементов Q -схемы . Затраты машинного времени на моделирование существенно увеличиваются при построении детерминированных моделирующих алгоритмов Q -схем, элементы которых функционируют в различных масштабах времени, например когда длительности обслуживания заявок каналами многоканальной Q -схемы значительно отличаются друг от друга. Действия операторов блок-диаграммы моделирующего алгоритма В стохастическом синхронном алгоритме рассматриваются прошлые изменения состояний элементов Q -схемы, которые произошли с момента предыдущего просмотра состояний, что несколько усложняет логику этих алгоритмов. Асинхронный спорадический алгоритм позволяет просматривать при моделировании только те элементы Q -схемы, изменения состояний которых могли иметь место на данном интервале системного времени, что приводит к некоторому упрощению этих моделирующих алгоритмов по сравнению с синхронными алгоритмами и существенному уменьшению затрат машинного времени по сравнению с детерминированными и циклическими алгоритмами. Затраты необходимой оперативной памяти ЭВМ на проведение имитации могут быть значительно уменьшены при построении блочных моделей, когда отдельные блоки (модули) Q -схемы реализуются в виде процедур (подпрограмм). Рассмотренные моделирующие алгоритмы позволяют практически отразить всевозможные варианты многофазных и многоканальных Q -схем, а также провести исследование всего спектра их вероятностно-временных характеристик, различных выходных характеристик, интересующих исследователя или разработчика системы S. При моделировании систем, формализуемых в виде Q -схем, с использованием языка имитационного моделирования GPSS , отпадает необходимость выбора принципа построения моделирующего алгоритма, так как механизм системного времени и просмотра состояний уже заложен в систему имитации дискретных систем, т. е. в язык GPSS . В качестве примера приведена программа на языке GPSS . Для трехфазной системы массового обслуживания, для блок-диаграммы, приведенной ранее.. SIMULATE Программа имитации многофазной Q -схемы 1 STORAGE 10 2
STORAGE
10 0 0 .1 .104 .2 .222 .3 .355 .4 .509 .5 .69 6 .915 .7 .12 .75 1.38 .8 1.6 .84 .83 .88 2.12 .9 2.3 .92 2.52 .94 2.81 .95 2.99 .96 3.2 .97 3.5 .98 3.9 .99 4.6 .995 5.3 .998 6.2 .999 7.0 .9997 8.0 GENERATE 10.FN#EXPON ЗАТЕ SNF 1.OTK ENTER 1 TRANSFER BOTH.KAN11.KAN12 KAN 11 SEIZE 1 LEAVE 1 ADVANCE 20. FN#EXPON GATE SNF 2 RELEASE 1 TRANSFER .NAK2 KAN12 SEIZE 2 LEAVE 1 ADVANCE 20.FN#EXPON GATE SNF 2 RELEASE 2 NAK2 ENTER 2 TRANSFER BOTH.KAN21.KAN22 KAN21 SEIZE 3 LEAVE 2 ADVANCE 20. FN#EXPON GATE NU 5 RELEASE 3 TRANSFER .KAN31 KAN22 SEIZE 4 LEAVE 2 ADVANCE 20. FN#EXPON GATE NU 5 RELEASE 4 KAN31 SEIZE 5 ADVANCE 10.FN#EXPON RELEASE 5 TRANSFER .END OTK SAVEVALVE 1+.K1 END TERMINATE 1 Программа реализации многофазного моделирующего алгоритма на языке GPSS При моделировании систем, формализуемых в виде Q -схем, с использованием языка имитационного моделирования GPSS , отпадает необходимость выбора принципа построения моделирующего алгоритма, так как механизм системного времени и просмотра состояний уже заложен в систему имитации дискретных систем, т. е. в язык GPSS .
ПЛАНИРОВАНИЕ МАШИННЫХ ЭКСПЕРИМЕНТОВ С МОДЕЛЯМИ СИСТЕМ Имитационное моделирование является по своей сути машинным экспериментом с моделью исследуемой или проектируемой системы. План имитационного эксперимента на ЭВМ представляет собой метод получения с помощью эксперимента необходимой пользователю информации. Эффективность использования экспериментальных ресурсов существенным образом зависит от выбора плана эксперимента. Основная цель экспериментальных исследований с помощью имитационных моделей состоит в наиболее глубоком изучении поведения моделируемой системы. Для этого необходимо планировать и проектировать не только саму модель, но и процесс ее использования, т. е. проведение с ней экспериментов на ЭВМ. МЕТОДЫ ТЕОРИИ ПЛАНИРОВАНИЯ ЭКСПЕРИМЕНТОВ Машинный эксперимент с моделью системы S
при ее исследовании и проектировании проводится с целью получения информации о характеристиках процесса функционирования рассматриваемого объекта. Эта информация может быть получена как для анализа характеристик, так и для их оптимизации при заданных ограничениях, т. е. для синтеза структуры, алгоритмов и параметров системы S
.
В зависимости от поставленных целей моделирования системы S на ЭВМ имеются различные подходы к организации имитационного эксперимента с машинной моделью Машинный эксперимент. Эффективность машинных экспериментов с моделями Таким образом, при машинном моделировании рационально планировать и проектировать не только саму модель Для планирования эксперимента наиболее важное значение имеет следующее: 1) простота повторения условий эксперимента на ЭВМ с моделью 2) возможность управления экспериментом с моделью 3) легкость варьирования условий проведения эксперимента ( воздействии внешней среды Е); 4) наличие корреляции между последовательностью точек в процессе моделирования; 5) трудности, связанные с определением интервала моделирования. Преимуществом машинных экспериментов является возможность полного воспроизведения условий эксперимента с моделью исследуемой системы S
.
Сравнивать две альтернативы возможно при одинаковых условиях, что достигается, например, выбором одной и той же последовательности случайных чисел для каждой из альтернатив. Существенным достоинством является простота прерывания и возобновления машинных экспериментов, что позволяет применять последовательные и эвристические приемы планирования, которые могут оказаться нереализуемыми в экспериментах с реальными объектами. При работе с машинной моделью Недостатком машинных экспериментов является то, что часто возникают трудности, связанные с наличием корреляции в выходных последовательностях, т. е. результаты одних наблюдений зависят от результатов одного или нескольких предыдущих, и поэтому в них содержится меньше информации, чем в независимых наблюдениях. Так как в большинстве существующих методов планирования экспериментов предполагается независимость наблюдений, то многие из этих методов нельзя непосредственно применять для машинных экспериментов при наличии корреляции. Основные понятия планирования экспериментов. В связи с тем что математические методы планирования экспериментов основаны на кибернетическом представлении процесса проведения эксперимента, наиболее подходящей моделью последнего является абстрактная схема, называемая «черным ящиком». При таком кибернетическом подходе различают входные и выходные переменные: Каждый фактор Каждому фиксированному набору уровней факторов соответствует определенная точка в многомерном пространстве, называемом факторным пространством.
Эксперименты не могут быть реализованы во всех точках факторного пространства, а лишь в принадлежащих допустимой области, как, например, это показано для случая двух факторов Существует вполне определенная связь между уровнями факторов и реакцией (откликом) системы, которую можно представить в виде соотношения Функцию Зависимости При планировании экспериментов необходимо определить основные свойства факторов. Факторы при проведении экспериментов могут быть управляемыми и неуправляемыми, наблюдаемыми и ненаблюдаемыми, изучаемыми и не изучаемыми, количественными и качественными, фиксированными и случайными. Фактор
называется управляемым,
если его уровни целенаправленно выбираются исследователем в процессе эксперимента. При машинной реализации модели Фактор
называется наблюдаемым,
если его значения наблюдаются и регистрируются. Обычно в машинном эксперименте с моделью Фактор
относится к изучаемым,
если он включен в модель Фактор будет количественным, если его значения — числовые величины, влияющие на реакцию, а в противном случае фактор называется качественным. Например, в модели системы, формализуемой в виде схемы массового обслуживания ( Q -схемы), количественными факторами являются интенсивности входящих потоков заявок, интенсивности потоков обслуживания, емкости накопителей, количество обслуживающих каналов и т. д., а качественными факторами — дисциплины постановки в очередь, выбора из очереди, обслуживания заявок каналами и т. д. Качественным факторам в отличие от количественных не соответствует числовая шкала. Однако и для них можно построить условную порядковую шкалу, с помощью которой производится кодирование, устанавливая соответствие между условиями качественного фактора и числами натурального ряда. Ф актор называется фиксированным, если в эксперименте исследуются все интересующие экспериментатора значения фактора, а если экспериментатор исследует только некоторую случайную выборку из совокупности интересующих значений факторов, то фактор называется случайным. На основании случайных факторов могут быть сделаны вероятностные выводы и о тех значениях факторов, которые в эксперименте не исследовались. В машинных экспериментах с моделями Каждый фактор может принимать в испытании одно или несколько значений, называемых уровнями, причем фактор будет управляемым, если его уровни целенаправленно выбираются экспериментатором. Для полного определения фактора необходимо указать последовательность операций, с помощью которых устанавливаются его конкретные уровни. Такое определение фактора называется операциональным и обеспечивает однозначность понимания фактора. Основными требованиями, предъявляемыми к факторам, являются требование управляемости фактора и требование непосредственного воздействия на объект. Под управляемостью фактора понимается возможность установки и поддержания выбранного нужного уровня фактора постоянным в течение всего испытания или изменяющимся в соответствии с заданной программой. Требование непосредственного воздействия на объект имеет большое значение в связи с тем, что трудно управлять фактором, если он является функцией других факторов. При планировании эксперимента обычно одновременно изменяются несколько факторов. Определим требования, которые предъявляются к совокупности факторов. Основные из них — совместимость и независимость. Совместимость факторов означает, что все их комбинации осуществимы, а независимость соответствует возможности установления фактора на любом уровне независимо от уровней других. При проведении машинного эксперимента с моделью Для этого необходимо: отобрать факторы Свойства объекта исследования, т. е. процесса машинного моделирования системы S , можно описывать с помощью различных методов (моделей планирования). Для выбора конкретной модели необходимо сформулировать такие ее особенности, как адекватность, содержательность, простота и т. д. Под содержательностью модели планирования понимается ее способность объяснять множество уже известных фактов, выявлять новые и предсказывать их дальнейшее развитие. Простота — одно из главных достоинств модели планирования, выражающееся в реализуемости эксперимента на ЭВМ, но при этом имеет место противоречие с требованиями адекватности и содержательности. Для экстремального планирования экспериментов наибольшее применение нашли модели в виде алгебраических полиномов. Предполагаем, что изучается влияние k
количественных факторов
который содержит В рамках выбранной модели планирования в виде алгебраических полиномов строится план эксперимента путем варьирования каждого из факторов Виды планов экспериментов. Эксперимент, в котором реализуются все возможные сочетания уровней факторов, называется полным факторным экспериментом (ПФЭ). Если выбранная модель планирования включает в себя только линейные члены полинома и их произведения, то для оценки коэффициентов модели используется план эксперимента с варьированием всех k факторов на двух уровнях, т. е. д=2. Такие планы называются планами типа 2 , где N=2 — число всех возможных испытаний. Начальный этап планирования эксперимента для получения коэффициентов линейной модели основан на варьировании факторов на двух уровнях: нижнем
Так как каждый фактор принимает лишь два значения то для стандартизации и упрощения записи условий каждого испытания и обработки выборочных данных эксперимента масштабы по осям факторов выбираются так, чтобы нижний уровень соответствовал -1, верхний +1, а основной — нулю. Это легко достигается с помощью преобразования вида
где Расположение точек для ПФЭ типа При этом планы можно записывать сокращенно с помощью условных буквенных обозначений строк. Для этого порядковый номер фактора ставится в соответствие строчной букве латинского алфавита:
Таблица 3.1
Затем для каждой строки плана выписываются латинские буквы только для факторов, находящихся на верхних уровнях; испытание со всеми факторами на нижних уровнях обозначается как (1). Запись плана в буквенных обозначениях показана в последней строчке. Геометрическая интерпретация ПФЭ
Таблица 3.2
Полный факторный эксперимент дает возможность определить не только коэффициенты регрессии, соответствующие линейным эффектам, но и коэффициенты регрессии, соответствующие всем эффектам взаимодействия. Эффект взаимодействия двух (или более) факторов появляется при одновременном варьировании этих факторов, когда действие каждого из них на выход зависит от уровня, на которых находятся другие факторы. Для оценки свободного члена Таблица 3.3
Как видно из рассмотренных планов экспериментов типов Рассмотрим построение планов так называемого дробного факторного эксперимента. Пусть имеется простейший полный факторньй эксперимент типа Таблица 3.4
Если в выбранных интервалах варьирования уровня процесс можно описать линейной моделью, то достаточно определить три коэффициента: При проведении эксперимента из четырех испытаний для оценки влияния трех факторов пользуются половиной ПФЭ типа Когда модель планирования анализируется методами дисперсионного анализа, применяют планы дисперсионного анализа. Если при постановке эксперимента реализуются все возможные совокупности условий, то говорят о полных классификациях дисперсионного анализа. Если проводится сокращение перебора вариантов — это неполная классификация дисперсионного анализа. Сокращение перебора может проводиться случайным образом (без ограничения на рандомизацию) или в соответствии с некоторыми правилами (с ограничениями на рандомизацию). Чаще всего в качестве таких планов используют блочные планы и планы типа латинского квадрата.
ОБРАБОТКА МАШИННЫХ ЭКСПЕРИМЕНТОВ С МОДЕЛЯМИ СИСТЕМ Для экстремального планирования экспериментов наибольшее применение нашли модели в виде алгебраических полиномов. Предполагаем, что изучается влияние k
количественных факторов
который содержит Соотношение (4.1) может быть представлено как где
Введем фиктивную переменную
Тогда (4.1) запишется как однородное линейное уравнение вида
где Для оценки коэффициентов в (4.3) можно применить методы линейной регрессии. Аппроксимация полиномов второго порядка функции реакции в однофакторной модели планирования может быть представлена в виде:
Более сложные объекты требуют применения полиномиальных моделей планирования большего порядка. Так, модель второго порядка в k-факторном эксперименте будет иметь вид:
На практике часто стремятся к использованию линейной модели планирования, преобразуя исходные полиномиальные модели. Например, модель второго порядка может быть преобразована к линейному виду путем введения фиктивных переменных
Функция реакции может иметь и более сложную зависимость от факторов. В этом случае некоторые из них удается привести к линейному виду. Такими моделями являются мультипликативная, регрессионная, экспоненциальная и др. Если выбрана модель планирования, т. е. выбран вид функции Так как полином (4.2) или (4.3) содержит
где Реализовав испытания в N точках области факторного пространства, отведенной для экспериментирования, получим вектор наблюдений, имеющий следующий вид: где При незначительном влиянии неуправляемых входных переменных и параметров по сравнению с вводимыми возмущениями управляемых переменных в планировании эксперимента предполагается верной следующая модель:
где Выписав аналогичные соотношения для всех точек плана размерностью Рассмотрим особенности планирования эксперимента для линейного приближения поверхности реакции, причем построению плана предшествует проведение ряда неформализованных действий (принятие решений), направленных на выбор локальной области факторного пространства G (рис. 4.1). Вначале следует выбрать границы После определения области G
необходимо найти локальную подобласть для планирования эксперимента путем выбора основного (нулевого) уровня В качестве исходной точки В рамках выбранной модели планирования в виде алгебраических полиномов строится план эксперимента путем варьирования каждого из факторов После проведения машинного эксперимента необходимо определить коэффициенты алгебраического полинома, представляющего собой модель планирования. Для достижения этой цели можно воспользоваться методами матричной алгебры. Матрица- столбец коэффициентов полинома определяется по формуле:
где В – матрица-столбец коэффициентов полинома; Х – матрица планирования эксперимента; Если принять во внимание, что матрица планирования двухуровневого плана первого порядка с эффектами взаимодействия является ортогональной, что говорит о независимости всех факторов, то коэффициенты полинома могут быть определены по формуле: Полученный полином позволяет определить оптимальные области значений факторов исследуемого объекта. Для этой цели могут быть использованы как аналитические так и поисковые методы. Из аналитических методов можно воспользоваться определением частных производных по всем факторам и приравнивания их к нулю. Из решения полученной системы уравнений определятся оптимальные значения факторов. Из поисковых методов можно воспользоваться одним из градиентных методов, позволяющих с помощью ЭВМ достаточно быстро определить область оптимальных значений факторов
ПРИЛОЖЕНИ Е 1
ЯЗЫК ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ GPSS 1 ФУНКЦИОНАЛЬНАЯ СТРУКТУРА GPSS Система GPSS ориентирована на класс объектов, процесс функционирования которых можно представить в виде множества состояний и правил перехода из одного состояния в другое, определяемых в дискретной пространственно-временной области. Примерами таких объектов являются вычислительные системы, сети ЭВМ, системы передачи сообщений, транспортные объекты, склады, магазины, предприятия и т.п. В качестве формальных моделей таких объектов используют системы массового обслуживания, автоматы, стохастические сети, сети Петри и макросети, агрегаты и т.п. В состав GPSS входят следующие типы объектов: транзакты, блоки, списки, устройства, памяти, логические ключи, очереди, таблицы, ячейки, функции, переменные. Любую модель на языке GPSS можно представить в виде комбинации компонентов, взятых из числа названных объектов. Модель имеет три уровня представления: - верхний уровень, определяемый комбинацией основных функциональных объектов: средний уровень, представляемый схемой из типовых блоков, между которыми - нижний уровень - уровень физической реализации языка GPSS в виде программ и наборов данных, составляющих основу моделирующей системы. 1.1 БЛОКИ Разработчик конструирует модель из блоков, прибегая, как правило, к наглядной форме ее отображения в виде блок-схемы. Для удобства графического представления модели каждый блок GPSS имеет принятое стандартное обозначение. Построенная схема является одновременно программой на языке GPSS. Для ее ввода в ЭВМ необходимо последовательность блоков представить в виде списка операций, добавив к названиям блоков требуемые операнды. Каждый блок GPSS имеет входы и выходы, с помощью которых осуществляется их связь в модели. Существуют два особых блока: GENERATE, имеющий только выход, и TERMINATE, имеющий только вход. Через блок GENERATE транзакты вводятся в модель. Блок TERMINATE удаляет транзакты из модели. Любую модель на языке GPSS можно представить в виде совокупности блоков (рис. 1.1). Ниже дано описание основных функциональных объектов GPSS. GENERATE Блоки модели TERMINATE 1.2 ТРАНЗАКТЫ Функционирование объекта отображается в модели в виде перемещения транзактов от блока GENERATE в блок TERMINATE через промежуточные блоки. Транзакты, или сообщения являются абстрактными подвижными элементами, которые могут моделировать различные объекты реального мира: сообщения, программы, транспортные средства, людей и т.п. Перемещаясь между блоками модели, транзакты вызывают (и испытывают) различные действия. Возможны их задержки в некоторых точках модели, изменения маршрутов и направлений движения, расщепление транзактов на несколько копий и т.п. С каждым транзактом связан упорядоченный набор данных. Он включает номер транзакта; номер блока, в котором в данный момент находится транзакт; номер следующего блока; время перехода в следующий блок; приоритет, характеризующий очередность обработки транзактов в определенных случаях; а также набор параметров, с помощью которых каждому транзакту можно присвоить числовые значения, выражающие желаемые свойства или характеристики моделируемых объектов: вес, скорость, объем, цвет, время обработки и т.п. Все объекты GPSS имеют числовые характеристики, называемые стандартными числовыми атрибутами (СЧА). Транзакты имеют четыре СЧА: PR1 - приоритет; Р$j - параметр с номером j; M$l - время прохождения транзактом участка модели; MP$j - промежуточное время, записываемое в параметре X$j - номер транзакта. Блоки, влияющие на атрибуты транзактов и на их движение в модели: В GPSS/PC существует ряд блоков, с помощью которых можно изменить значение параметров транзактов. Блок ASSIGN модифицирует значение параметра транзакта, входящего в этот блок. Блок INDEX изменяет значение параметра номер 1. Блок INCREMENT увеличивает значение параметра, блок DECREMENT уменьшает величину параметра. Блок MARK записывает в указанный им параметр текущее значение таймера абсолютного времени или, если параметр не указан, заменяет значение отметки времени на текущее значение таймера. С помощью блока USING осуществляется доступ текущего транзакта к параметрам другого транзакта модели. Блок LOCATE определяет и записывает в параметр текущего транзакта номер блока, в который должен войти определенный транзакт. Пересылка транзакта в требуемую точку модели осуществляется блоком TRANSFER. Блок TEST, проверяя выполнение определенного условия, может также направлять транзакты в заданную точку модели, если условие не выполняется. В этом его действия аналогичны блоку GATE. Для организации в модели циклов используют блок LOOP, с помощью которого можно предусмотреть многократное прохождение транзактом заданной цепочки блоков. Изменение приоритета транзакта осуществляет блок PRIORITY. Блок BUFFER возобновляет просмотр списка текущих событий и используется, как правило, в качестве режима блока PRIORITY. С помощью блоков TRACE и UNTRACE осуществляют трассировку движения транзактов в модели. При этом по каждому транзакту выводятся данные следующего вида: ТРАНЗ 1 ИЗ 2 В 3 ВРЕМЯ 54 TERMINATIONS TO GО 1 , которые означают: транзакт номер 1 выходит из блока 2 в блок 3 в момент времени 54 единиц, значение счетчика завершений равно I (см. 2.1.32, 2.3.6) 1.3 СПИСКИ Списки относятся к элементам внутренней организации системы GPSS. Они представляют собой структуры данных, в которых размещается полная информация о транзактах. С помощью списков обеспечивается внутренняя логика работы моделирующей системы. Список будущих событий содержит транзакты, которые смогут начать движение в модели в будущие моменты времени. Это те транзакты, для которых моменты начала движения определены в блоках GENERATE и ADVANCE. В список текущих событий входят транзакты, которые должны перемещаться в модели в текущий момент модельного времени. Если при этом транзакт входит в блок ADVANCE с ненулевым временем задержки, то он перемещается в список будущих событий. В список прерываний помещаются транзакты, обслуживание которых прервано блоком PREEMPT. После снятия прерывания в блоке RETURN транзакты вновь возвращаются в список будущих событий. На рис. 1.2 представлена структура списка GPSS/PC. В список синхронизации помещаются транзакты, ожидающие объединения с другими транзактами в блоках GATHER и ASSEMBLE или находящиеся в блоках MATCH. После выполнения условий синхронизации транзакты возвращаются в список текущих событий. Кроме рассмотренных списков, обработка которых происходит без участия программиста, в GPSS/PC существуют списки пользователя, управление которыми осуществляется с помощью блоков LINK и UNLINK. Списки пользователя имеют стандартные числовые атрибуты, к которым можно обращаться внутри модели: CH$j - текущее число транзактов в списке j; CA$j - среднее число транзактов в списке j; CM$j - максимальное число транзактов в списке]; CC$j - общее число входов транзактов в список]; CT$j - среднее время пребывания транзакта в списке j. Процедура просмотра списка текущих событий : Процесс движения транзактов в модели сопровождается просмотром содержимого списков, внесением в них изменений, а также перемещением транзактов из одного списка в другой. Транзакты, находящиеся в списке текущих событий, расположены в порядке убывания приоритетов. Когда транзакт вводится в список текущих событий, он становится последним среди транзактов, имеющих тот же приоритет. Процедура просмотра списка текущих событий выполняет три основные действия: 2. 1. Изменение момента условного времени. При этом момент времени устанавливается равным наименьшему времени выхода из блока для транзактов. находящихся в списке будущих событий. Все транзакты, имеющие такое время выхода, переводятся из списка будущих событий в список текущих событий; 3. Последовательный просмотр транзактов от начала списка к его концу 4. Попытка продвижения транзакта в последующие блоки. Если транзакт 1.4 УСТРОЙСТВА Устройства моделируют объекты, в которых может происходить обработка транзактов. Как правило, она связана с затратами времени. Особенность устройств состоит в том, что каждое из них в данный момент времени может быть занято лишь одним транзактом. Существует аналогия между устройствами GPSS и каналами систем массового обслуживания. В GPSS имеется возможность моделировать прерывания устройств. Существуют средства логической проверки состояния устройств. Каждое из действий с устройством отображается в модели определенным блоком. Захват и освобождение устройства моделируются соответственно блоками SEIZE и RELEASE. Для проверки состояния устройств используют GATE. Прерывание моделирует блок PREEMPT, снятие прерывания - блок RETURN. С устройствами связаны следующие СЧА: F$j - состояние устройства с номером j: 0 - если устройство свободно, и 1 - если устройство занято; FR$j - коэффициент использования устройства]; FC$j - число входов в устройство j; FT$j - среднее время использования устройства] одним транзактом. Устройства имеют также стандартные логические атрибуты (СЛА), каждый из которых может принимать одно из двух значений: "ИСТИНА" или "ЛОЖЬ". U - устройство занято; NU - устройство свободно; I - устройство прервано; N1 - не прервано. Проверка состояния устройства осуществляется блоком GATE, который в зависимости от значения проверяемого СЛА либо беспрепятственно пропускает транзакты (если СЛА = "истина"), либо задерживает их или направляет по другому маршруту (если СЛА = "ложь"). 1.5 ПАМЯТИ Памяти служат для моделирования объектов, обладающих определенной емкостью. Памяти моделируются блоками ENTER и LEAVE. Входящий в блок ENTER транзакт занимает определенную часть памяти. При входе транзакта в блок LEAVE память освобождается. Емкость памяти задают с помощью оператора STORAGE, который не является блоком GPSS и относится к числу служебных карт. Памяти имеют следующие стандартные числовые атрибуты: S$j - емкость памяти j; R$j - свободный объем памяти j; SR$j - коэффициент использования памяти]; SM$j - максимальное заполнение памяти]; SA$j - среднее заполнение памяти j; SC$j - число входов в память j; ST$j - среднее время пребывания транзакта в памяти j. Памяти имеют также стандартные логические атрибуты, которые используются для проверки состояния памяти: SE$j - память j пуста; SNE$j - память j не пуста; SF$j - память j заполнена; SNF$j - память j не заполнена. Проверка состояния памяти осуществляется блоком GATE. 1.6 ЛОГИЧЕСКИЕ КЛЮЧИ Для представления в модели коммутируемых объектов с двумя состояниями ("ВКЛЮЧЕНО" - "ВЫКЛЮЧЕНО") используют логические ключи, моделируемые блоками LOGIC и GATE. При входе транзакта в блок LOGIC происходит срабатывание соответствующего ключа. Ключ может быть включен (S), выключен (R) или переключен (I). Ключи не имеют СЧА. Их состояние определяется стандартными логическими атрибутами: LS$j - ключ] включен; LR$j - ключ j выключен. Проверка состояния ключа осуществляется блоком GATE. 1.7 ОЧЕРЕДИ Транзакты в процессе движения могут задерживаться перед блоками, вход в которые в данных условиях невозможен. Примерами таких блоков из числа рассмотренных выше являются SEIZE (если ранее вошедший в этот блок транзакт не вошел в блок RELEASE), ENTER (если текущий объем памяти равен первоначально заданному), GATE (если в этом блоке не указан альтернативный выход и проверяемое условие не выполняется). При поступлении транзактов на вход задерживающих блоков образуются очереди. Для сбора статистики об очередях в местах задержки ставят блоки QUEUE. Эти блоки сами по себе не создают очередь, а лишь являются средством ее регистрации. При входе транзакта в блок QUEUE текущая длина очереди получает приращение. Уход из очереди отображается блоком DEPART. Очереди имеют следующие стандартные числовые атрибуты: Q$j - текущая длина очереди j; QM$j - максимальная длина очереди j; QA$j - средняя длина очереди j; QC$j - число входов в очередь j; QZ$j - число входов в очередь с нулевым временем пребывания (транзакт прошел через блок QUEUE, не задерживаясь в очереди); QT$j - среднее время пребывания в очереди], включая нулевые входы; QX$j - среднее время пребывания в очереди], без нулевых входов.
1.8 ТАБЛИЦЫ Для сбора статистических данных о различных отчетах модели и их представления в стандартной табличной форме используют таблицы. Занесение информации в таблицу осуществляется блоком TABULATE в момент входа очередного транзакта в этот блок. Описание структуры таблицы и типа заносимых данных (СЧА) осуществляется картой TABLE. Стандартные числовые атрибуты таблиц: TB$j - среднее значение фиксируемой в таблице переменной; TC$j - число входов в таблицу]; TD$j - стандартное среднеквадратическое отклонение табулируемой переменной. 1.9 ЯЧЕЙКИ Для записи в процессе моделирования текущих значений СЧА используют ячейки. Занесение информации в ячейку осуществляет блок SAVEVALUE. При входе транзакта в этот блок требуемое значение СЧА фиксируется в ячейке, номер которой определяется операндом блока SAVEVALUE. Ячейки имеют различные форматы (слово, полуслово, с плавающей точкой),которым соответствуют следующие СЧА: Х$] - текущее значение, записанное в ячейке j формата слово; XH$j - текущее значение, записанное в ячейке j формата полуслова; XL$j - содержимое ячейки с плавающей точкой. Изменение содержимого ячеек может осуществляться блоками SDECREMENT и SINCREMENT. Блок SDECREMENT вычитает заданное значение из величины, содержащейся в ячейке. Блок SINCREMENT добавляет требуемое приращение к содержимому ячейки. 1.10 ФУНКЦИИ И ПЕРЕМЕННЫЕ Функции служат для отображения зависимостей между двумя (СЧА. В GPSS/PC имеется два типа функций: непрерывные (С) и дискретные (D). Функцию задают набором пар точек - координат. Непрерывная функция воспроизводится в виде ломаной кривой, отрезки которой соединяют соседние точечные значения. Дискретная функция имеет вид ступенчатой кривой. На рис. 1.3 представлены непрерывная (а) и дискретная (б) функции, соответствующие одному и тому же набору точек Функцию описывают картой FUNCTION. За ней помещают одну или несколько карт, содержащих координатные точки. Карта описания функции задает ее тип, количество пар точек ( НОМЕР FW[CTION] A,B Где: НОМЕР - номер функции, задаваемый программистом; А - аргумент (любой СЧА); В - тип функции. Тип функции указывают как Карты, содержащие точки (
В GPSS/PC существуют также операторы для описания переменных, составляемых из стандартных числовых атрибутов. Целочисленные переменные, а также булевы переменные описывают оператором VARIABLE. Переменные с плавающей точкой описывают оператором FVARIABLE. Операторы переменной имеют следующий формат: ИМЯ VARIABLE SNA(oper)SNA(oper)... (FVARIABLE) где: SNA - допустимые стандартные числовые атрибуты; (орег) - арифметические и логические операции: "+" - сложить; "-" - вычесть; "/" - разделить; "@" - разделить по модулю; "()" -скобки; "1" - логическое "И"; " " - логическое "ИЛИ"; "=" - равенство; "о" - не равно; "<" - меньше; ">=" - больше чем или равно; "<=" - меньше чем или равно; ">" - больше. 2 ФОРМАТЫ ОПЕРАТОРОВ GPSS/ PC Операторы GPSS/PC имеют следующий формат: Метка______ Операция__ Операнды__ ;Комментарии Знак "_" указывает пробел, знак ";" объявляет начало поля комментариев. Метка, если она имеется, должна начинаться с первой колонки и содержать не более пяти алфавитно-цифровых символов, начинающихся с буквы. Звездочка (*) в первой колонке означает строку комментариев. Поле операции содержит название блока или служебного оператора (карты). Это поле может начинаться со второй колонки и должно быть отделено от метки пробелом. Длина поля операции не менее четырех символов (начальные символы блоков или карт). Поле операндов отделяют от поля операции пробелом. Между операндами должны стоять запятые. Пример: ^FACILITY DESCRIPTION FAC SEIZE 1 ;CPU ADVAN 10,5 ;MSEC RELEASE 1 MAC TRANSFER 3,FAC Карты описания таблиц, функций, переменных и памятей должны иметь в поле метки число от 1 до 32767 (2Л 15 - 1) или предварительно определенный символ. Примеры: ^ ENTITIES DESCRIPTION 1 STORAGE 1280 ;MAIN 4 TABL М1Д10ДО В полях операндов могут быть использованы следующие обозначения. Константа - целое число от 1 до 32767 или предварительно определенная последовательность символов. СЧА $ const -стандартный числовой атрибут, номер которого определяется константой const. * const -значение параметра, номер которого определяется константой const СЧА1*СЧА2 $ const - косвенная адресация с использованием стандартного -числового атрибута 1 (СЧА1), номер которого задан значением стандартного числового атрибута 2 (СЧА2), определяемого константой const. СЧА%СЧА $ const - косвенная адресация через стандартные числовые атрибуты. Примеры: XF*V$2 Содержимое полнословной ячейки, номер которой определяется значением переменной 2. FN*P$1 Значение функции,номер которой определяется содержимым параметра 1. ХЩ2 Содержимое полусловной ячейки номер два. *TERM Значение параметра, номер которого определен константой TERM. В описательной части программы значение константы TERM должно быть определено оператором EQU, например: TERM EQU 10 при этом *TERM означает содержимое десятого параметра. Ниже дано полное описание форматов блоков, а также служебных и управляющих операторов GPSS/PC. 2.1 БЛОКИ 2.1.1 ADVANCE (ЗАДЕРЖАТЬ) ADVANCE - задерживает транзакт. Формат: ADVA[NCE] A,B А - среднее время задержки (константа, если В не задано); В - разброс относительно среднего значения, должен быть меньше или равен А. Блок ADVANCE моделирует временную задержку транзакта в течение определенного интервала. Значение задержки по умолчанию равно нулю. Если поле В не является FN$, то время задержки является случайным числом, распределенным равномерно на интервале от (А+В) до (А-В). Если поле В является функцией FN$, то время задержки определяется произведением поля А на значение функции в поле В. Функция может быть использована для задания времени задержки с определенным средним значением и отклонением, зависящими от А. Примеры: ADVANCE 75 Транзакт будет оставаться в блоке ADVANCE в течение 75 единиц модельного времени. ADVANCE 12,5 Транзакт будет оставаться в блоке от 7 до 17 единиц времени. ADVANCE 5,FN$1 Время задержки равно произведению значения функции FN$1 на число пять. См.также: GENERATE 2.1.2 ASSEMBLE (СОЕДИНИТЬ ) ASSEMBLE - объединение транзактов, принадлежащих одному семейству (или ансамблю). Формат: ASSE[MBLE] A А - число объединяемых транзактов. Первый транзакт семейства, достигнув блока ASSEMBLE, задерживается в нем до тех пор, пока остальные члены семейства не поступят в этот блок. Когда транзакты, число которых указано в поле А, поступят в этот блок, они будут удалены из модели, а первый прибывший транзакт продолжит движение. Пример: ASSEMBLE 3 После того, как 3 транзакта одного семейства войдут в блок, один (первый) выйдет из блока и продолжит движение, остальные будут уничтожены. См.также: GATHER MATCH SPLIT 2 .1.3 ASSIGN (ПРИСВОИТЬ) ASSIGN - изменяет значение параметра транзакта. Формат: ASSI[GN] A,B А - номер изменяемого параметра (+, -); В - новое значение параметра. Если за полем А следует знак "+" или "-", то значение поля В соответственно добавляется или вычитается из А. Если знаки "-" или "+" не указаны, то значение поля В становится текущим значением параметра. Примеры: ASSIGN 2,8 Присваивает параметру 2 значение 8. ASSIGN 3+,V$5 Добавляет значение переменной 5 к параметру 3. См.также: DECREMENT INCREMENT 2.1.4 BUFFER (ВОЗОБНОВИТЬ ПРОСМОТР СПИСКА) BUFFER - возобновляет просмотр списка текущих событий. Формат: BUFF[ER] Не имеет операндов. Останавливает процесс движения транзакта и заново начинает просмотр списка текущих событий. Не связан с временем задержки. Пример: BUFFER Возобновляет просмотр списка текущих событий. См.также: PRIORITY 2.1.5 DECREMENT (УМЕНЬШИТЬ ЗНАЧЕНИЕ) DECREMENT - уменьшает значение параметра транзакта. Формат: DECREMENT] A,B А - номер изменяемого параметра; В - значение для вычитания. Величина, указанная в поле В, вычитается из значения параметра, номер которого указан в поле А. Примеры: DECREMENT 3,7 Вычитается число 7 из значения третьего параметра текущего транзакта. DECREMENT XH$6,V$4 Значение переменной 4 вычитается из параметра, номер которого задан ячейкой 6 формата полуслово. См.также: ASSIGN INCREMENT 2.1.6 DEPART (ПОКИНУТЬ ОЧЕРЕДЬ) DEPART - удаляет транзакт из очереди. Формат: DEPA[RT] A,B А - номер (имя) очереди; В - число удаляемых из очереди элементов. Удаляет текущий транзакт из очереди, указанной в поле А, и уменьшает содержимое очереди на значение поля В. Транзакт может находиться одновременно в двух различных очередях. Примеры: DEPART 5 Текущий транзакт удаляется из очереди 5, а длина очереди уменьшается на единицу. DEPART P$3,7 Транзакт удаляется из очереди, номер которой определен параметром 3, длина очереди уменьшается на 7 элементов. См.также: QUEUE 2.1.7 ENTER (ВОЙТИ В ПАМЯТЬ) ENTER - помещает транзакт в память. Формат: ENTE[R] A,B А - имя памяти символическое или числовое; В - число занимаемых единиц памяти (по умолчанию единица). Проверяется наличие свободного объема памяти, номер которой определен в поле А. Если имеется свободная память, то транзакт входит в блок ENTER. При этом занятый объем памяти увеличивается на значение поля В. Если транзакт не может войти в блок ENTER, он задерживается в предыдущем блоке. Примеры: ЕNTER 1 Войти в память 1, занимая единицу ее объема. ENTER Р$1ДО Войти в память, номер которой определяется параметром 1, занимая 10 единиц памяти. См.также: LEAVE STORAGE 2.1.8 GATE (ВПУСТИТЬ ) GATE - вспомогательный блок, проверяющий состояния устройств, памятей, логических ключей. Формат: GATE_R A,B Внутренний операнд R определяет проверяемое условие в виде стандартного логического атрибута и может принимать следующие значения: U - устройство занято; NU - устройство не занято; I - устройство прервано; N1 - устройство не прервано; SF - память заполнена; SNF - память не заполнена; SE - память пустая; SNE - память не пустая; LR - ключ выключен; LS - ключ включен; М - транзакт находится в состоянии синхронизации; MN - транзакт не находится в состоянии синхронизации. Если проверяемое условие для объекта, номер которого определяется полем А, выполняется (СЛА "ИСТИНА"), то транзакт входит в блок GATE. Если условие "ЛОЖЬ", то возможны два случая: - если поле В задано, то транзакт идет в блок, номер которого указан в поле В; - если в поле В пробел, то транзакт ждет в предыдущем блоке, пока не Примеры: GATE_SF 1 Если память номер 1 полна, то транзакт входит в блок GATE, в противном случае ждет ее заполнения. GATE_NU P$2,MET Если устройство, номер которого определен параметром Р$2, не занято,то транзакт входит в блок GATE, в противном случае он идет в блок с именем МЕТ. 2.1.9 GATHER (СОБИРАТЬ) GATHER - накапливает транзакты, являющиеся членами семейства. Формат: GATHER_A А - счетчик транзактов, которые должны быть накоплены. Транзакты одного семейства задерживаются в блоке GATHER до тех пор, пока их число не станет равным значению поля А. Когда последний транзакт войдет в блок GATHER, все они одновременно выходят из него в том порядке, в котором поступили. Состояние блока GATHER может быть проверено блоком GATE. Пример: GATHER 6 Транзакты накапливаются в этом блоке до тех пор, пока в нем не соберутся шесть транзактов из одного семейства, после чего все они смогут продолжать движение. См.также: ASSEMBLE MATCH SPLIT 2.1.10 GENERATE (ГЕНЕРИРОВАТЬ) GENERATE - вводит транзакты в модель. Формат: GENE[RATE] A,B,C,D,E,F,G А - среднее значение интервала времени; В - разброс или модификатор среднего значения (по умолчанию ноль); С - время появления первого транзакта; в - общее число генерируемых транзактов; Е - уровень приоритета каждого транзакта; (от 0 до 127, знач. по умолчанию 0); F - число параметров (по умолчанию 12); G - тип параметра (F -полнословный, Н -полусловный -по умолчанию). Вводит транзакты в модель, посылая их в следующий по порядку блок. Если в поле В не указана функция, то интервал между поступлением транзактов определяется случайным числом, равномерно распределенным в диапазоне от (А-В) до (А+В). Если поле В является функцией (FN$), то этот интервал определяется произведением поля А на значение функции, заданной в поле В. Примеры: GENERATE 15,3,25 Генерируются транзакты с интервалом прихода от 12 до 18 единиц времени, первый из которых поступает в момент времени 25 единиц. GENERATE 5,FN$2,,15 Генерируются транзакты с приоритетом 15, интервалы времени между ними определяются произведением числа 5 на значение функции FN$2. См.также: ADVANCE TERMINATE 2.1.11 PREEMPT (ПРЕРВАТЬ ) PREEMPT - переводит устройство в прерванное состояние. Формат: PREE[MPT] A А - номер прерываемого устройства. Транзакт получает в пользование устройство, указанное в поле А, если это устройство не было прервано другим транзактом. Если предьщущий транзакт захватил устройство через блок PREEMPT, текущий транзакт блокируется. Пример: PREEMPT P$l Если устройство, номер которого задан параметром Р1, не было переведено в состояние прерывания, то транзакт, входящий в этот блок, захватывает его. См.также: SEIZE RELEASE RETURN 2.1.12
PRINT (НАПЕЧАТАТЬ) Формат: PRIN[T] SNAI,SNA2,...,SNA7 SNA - любые допустимые стандартные числовые атрибуты. Печатается список от 1 до 7 СЧА при каждом входе транзакта в этот блок. Значения СЧА не изменяются. Примеры: PRINT P$1,P$2,P$3,P$4 Печать значений параметров 1,2,3,4. PRINT XH$3,XH$4,V$2,FR$8,P$9,P$10 Печать значений ячеек 3 и 4, переменной 2, коэффициента использования прибора 8 и содержимого параметров 9 и 10. 2.1.22. PRIORITY (НАЗНАЧИТЬ ПРИОРИТЕТ) PRIORITY - изменяет уровень приоритета транзакта. Формат: PRIOfRITY] A,BUFFER А - новый приоритет (целое число в диапазоне от 0 до 127); [BUFFER] - указывает возобновление процедуры просмотра списка текущих событий. Устанавливает приоритет входящему транзакту в соответствии со значением поля А. Если операнд BUFFER отсутствует, продолжается обработка текущего транзакта. Если операнд BUFFER указан, то текущий транзакт помещается в список текущих событий и возобновляется просмотр списка. Примеры: PRIORITY 4 Назначить транзакту уровень приоритета 4, попытка продвинуть транзакт в следующий блок. PRIORITY XF$1,BUFFER Назначить транзакту приоритет, равный значению ячейки 1, поместить транзакт в список текущих событий и возобновить его просмотр. См.также: BUFFER GENERATE 2.1.13 QUEUE (СТАТЬ В ОЧЕРЕДЬ) QUEUE - помещает транзакт в конец очереди. Формат: QUEU[E] А,В А - номер очереди (числовое или символьное имя очереди); В - число добавляемых к очереди элементов (по умолчанию 1). Увеличивает текущее содержимое очереди, указанной в поле А, на значение в поле В. Если поле В не определено, увеличивает содержимое очереди на единицу. Транзакт может находиться в двух различных очередях одновременно. Примеры: QUEUE 5 Присоединить транзакт к очереди 5,увеличив ее длину на единицу. QUEUE P$l,3 Стать в очередь, указанную в параметре 1, и увеличить ее длину на 3. См.также: DEPART 2.1.14 RELEASE (ОСВОБОДИТЬ ) RELEASE - освобождает устройство. Формат: RELE[ASE] A А - номер устройства (числовое или символьное имя освобождаемого устройства). Устройство, указанное в поле А, освобождается и становится доступным для других транзактов. Освобождать устройство должен тот же транзакт, который его занимал. Примеры: RELEASE 10 Освободить устройство 10. RELEASE P$2 Освободить устройство, указанное в параметре 2. См.также: PREEMPT RETURN SEIZE 2.1.15
TABULATE (ЗАНЕСТИ В ТАБЛИЦУ) Формат: TABULATE] A,B А -номер таблицы; В - вес, указывающий сколько раз значение должно быть занесено в таблицу (по умолчанию 1). Транзакты, входящие в блок TABULATE, осуществляют занесение данных в таблицу, указанную в поле А. Поле В определяет весовой фактор, который используется, если данные заносятся во взвешенную таблицу. Описание структуры таблицы осуществляется картой TABLE. Примеры: TABULATE 4 Занести значение в таблицу 4 с весом 1 (т.е один раз). TABULATE P$3,5 Занести наблюдаемую величину с весом 5, т.е 5 раз, во взвешенную таблицу, указанную в параметре. 2.1.16
TERMINATE (ЗАВЕРШИТЬ
) Формат: TERMINATE] A А - величина, вычитаемая из содержимого счетчика завершений (поле А карты Транзакт удаляется из модели и поступает в пассивный буфер. Если в поле А пробел, воздействия на счетчик завершений не происходит, в противном случае его значение уменьшается на величину, указанную в поле А. Примеры: TERMINATE Транзакт удален, но значение счетчика завершений не изменяется. TERMINATE 2 Значение счетчика завершений уменьшается на 2. См.также: GENERATE 2.1.17 TEST (ПРОВЕРИТЬ) TEST - сравнивает два стандартных числовых атрибута. Формат: TESTj A,B,C г - внутренний операнд, принимающий значения: Е - равно; NE - не равно; L - меньше чем; LE - меньше чем или равно; G - больше чем; GE - больше чем или равно; А - стандартный числовой атрибут; В - стандартный числовой атрибут; С - номер альтернативного блока. Значения стандартных числовых атрибутов, указанных в поле А и В, сравниваются отношением, определяемым операндом г. Если условие выполняется, транзакт вводится в блок. Если условие не выполняется и определено поле С, транзакт переходит в указанный блок, если же С не задано, транзакт задерживается в предыдущем блоке. Примеры: TEST_E P$1,2,LABEL Если значение первого параметра равно двум, транзакт войдет в блок TEST и продолжит движение в следующий блок. Если значения не равны, транзакт перейдет в блок с меткой LABEL. TEST_L FN$2,P$2 Если функция 2 меньше, чем параметр 2, транзакт входит в блок TEST, в противном случае он становится заблокированным. 2.1.18 TRANSFER (ПЕРЕДАТЬ) TRANSFER - изменяет движение транзакта в модели. Формат: TRANSFER] A,B,C,D А - режим передачи (пробел,. ДЬЬЗОТН,Ж,Р,Р1СК,8ВК,81М); В - следующий блок; С - следующий блок; D - значение индекса, используемое в режиме ALL. Транзакт направляется в блок, определяемый в соответствии с режимом передачи, указанным в поле А. Режимы передачи поля А: 1. Пробел - транзакт передается в блок, определяемый полем В. 2. "." - статистический режим: в поле А указано десятичное число, выражающее вероятность перехода в блок С; его дополнение до единицы указывает вероятность перехода в блок В. 3. ALL - транзакт последовательно пытается перейти в блоки, определяемые значениями В, B+D, B+2D,...,C. 4. BOTH - транзакт последовательно пытается войти в блок В, затем в блок С, до тех пор, пока один из них станут доступным. 5. FN - функциональный режим: поле В является номером функции; следующий блок определяется суммой значения этой функции поля С. 6. Р - параметрический режим: поле В является номером параметра; следующий блок определяется суммой значения этого параметра и поля С. 7. PICK - выборочный режим: блок выбирается с равной вероятностью из блоков с номерами: В, В+1,..., С. 8. SBR - режим перехода к подпрограмме: номер текущего блока помещается в параметр, указанный в поле С, а транзакт передается в блок, номер которого указан в поле В. 9. SIM - одновременный режим: проверяется одновременное выполнение условий беспрепятственного движения транзактов в задерживающих блоках. Если условие выполняется, транэакт передается в следующий блок, в противном случае транзакт переходит на блок С. Примеры: TRANSFER ,NEXT Безусловная передача в блок с меткой NEXT. ТRANSFER .400,FACI,FAC2 С вероятностью 0.6 транзакты будут переданы в блок FACI и с вероятностью 0.4 в блок FAC2, ПРИЛОЖЕНИЕ А ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Федеральное государственное образовательное учреждение высшего профессионального образования МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «МАМИ» Кафедра автоматики и процессов управления Курсовая работа защищена с оценкой (подпись преподавателя, дата) КУРСОВАЯ РАБОТА но дисциплине "Моделирование систем" Вариант №14 Тема: «Разработка модели объекта и оптимизация его функционирования» Курсовая работа допущена к защите (подпись преподавателя, дата) Выполнила ст. группы 8УИ9 Апалькова Елена Александровна (Ф.И.О.) Руководитель: доцент, к. т. н„ Мурачев Е.Г. (звание, степень Ф.И.О.) МОСКВА -2010 ПРИЛОЖЕНИЕ Б ФЕДЕРАЛЬНОЕ АГЕНТСТВО ПО ОБРАЗОВАНИЮ Федеральное государственное образовательное учреждение высшего профессионального образования МОСКОВСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ «МАМИ» Кафедра автоматики и процессов управления ЗАДАНИЕ на выполнение курсовой работы' по дисциплине «Моделирование систем» вариант № 1 Исходные данные:
Разработка структуры обекта исследования и имитационной модели в виде программы на языке программирования GPSS. Анализ результатов пассивного эксперимента. Расчет критерия для каждой экспериментальной точки. Анализ результатов и выбор оптимального оешения набазе пассивного эксперимента. Составление плана активного эксперимента. Проведение активного эксперимента. Расчет коэффициентов уравнения регрессии с помощью Ехсеl. Запись полученной модели. Разработка программы поиска оптимального решения на алгоритмическом языке Visual Basic. Оценка результатов поиска и результатов сравнительного анализа. Задание выдано «___»_________2010 г. ___________________________ . (подпись преподавателя) Задание получил _______________________ __________________ (подпись студента) |
Работы, похожие на Реферат: Моделирование систем пособие по выполнению курсовой работы для студентов III