Компьютерное моделиронива ИГНАТОВ

advertisement
ФЕДЕРАЛЬНОЕ АГЕНТСТВО СВЯЗИ
Государственное образовательное учреждение высшего
профессионального образования
«Поволжский государственный университет телекоммуникаций и
информатики»
КОЛЛЕДЖ СВЯЗИ
КОМПЬЮТЕРНОЕ МОДЕЛИРОВАНИЕ
(КМ)
конспект лекций
для специальностей:
210723 – Сети связи и системы коммутации
210709 – Многоканальные телекоммуникационные системы
Составил преподаватель: Игнатов А.С.
САМАРА 2012 г.
ПОЯСНИТЕЛЬНАЯ ЗАПИСКА
Дисциплина «Компьютерное моделирование» относиться к циклу специальных
дисциплин для студентов специальности 210723 – Сети связи и системы коммутации,
210709 – Многоканальные телекоммуникационные системы.
Рабочая программа для указанного курса составлена в соответствии с требованиями
Государственного образовательного стандарта СПО к минимуму содержания и уровню
подготовки выпускников данной специальности.
Целью изучения дисциплины «Компьютерное моделирование» является:
 вооружение студентов знаниями в области компьютерного моделирования;
 формирование умений и навыков создания математических моделей при
решении прикладных задач, встречающихся на практике;

знакомство с требованиями, предъявляемыми к формированию нелинейных
моделей различными способами.
Задачи дисциплины:
 освоение студентами различных видов математических моделей;
 овладение средствами и способами решения дифференциальных уравнений;

приобретение навыков работы с программным обеспечением;
Изучение материала по данной дисциплине опирается на знания, полученные студентами в ходе освоения следующих дисциплин: «Компьютерные сети», «Распределенные
системы обработки информации», «Архитектура сетей» и т. д.
Последовательность изучения тем предмета определяется межпредметными связями
и призвана обеспечить формирование у студентов навыков и умений комплексного
подхода при выборе лучшей математической модели.
Методика изучения дисциплины строиться из следующих элементов:
- теоретическая часть (лекция, урок);
- лабораторно-практические занятия;
- самостоятельная работа с книгой и конспектами лекций;
- домашние задание;
- аудиторная контрольная работа;
- консультации.
Цель лекции - сообщение новых знаний, систематизация и обобщение накопленных,
развитие познавательных и профессиональных интересов.
Лабораторно-практические занятия - как обязательный элемент образовательного
процесса по данной дисциплине, призван закрепить полученные теоретические знания и
обеспечить формирование основных навыков и умений практической работы в области
компьютерного моделирования. Они проводятся по мере изучения теоретического
материала и выполняются индивидуально каждым студентом.
Перечень и содержание лабораторных работ приводиться в содержательной части
данной рабочей программы и может быть изменен или дополнен с учетом региональных
особенностей и возможностей лабораторной базы учебного заведения.
Изучение дисциплины начинается с теоретического вступления о основных
понятиях данной темы, о моделировании в целом.
Самостоятельная работа с книгой ставит своей целью - закрепление, углубление,
расширение и систематизация знаний, полученных в ходе аудиторных занятий, самостоятельное овладение новым учебным материалом описательного характера, развитие
самостоятельного мышления.
Домашние задание - выполняется студентами после изучения соответствующих тем
программного материала данного курса и является формой промежуточного контроля
знаний студентов по дисциплине.
Аудиторная контрольная работа - предусмотренная действующим учебным планом и
рабочей программой. Это форма итогового контроля знаний и проверки уровня усвоения
программного материала изучаемой дисциплины.
Она проводиться за счет времени, отведенного на изучение предмета, и рассчитана
на 1 час, с использованием современных средств контроля.
Формы проведения других видов учебных занятий регламентируются учебным заведением и определяются преподавателем, исходя из содержания программного материала, опыта его работы, материальной базой учебного заведения, характера контингента
студентов и специфики специальности.
для специальностей:
Рабочая программа рассчитана на:
Максимальная учебная нагрузка обучающегося 144 часов, в том числе:
- обязательная аудиторная учебная нагрузка – 96 часа;
в том числе:
лабораторные занятия – 58 часа;
самостоятельная работа – 48 часов;
Итоговая аттестация в форме экзамена
После изучения предмета «Компьютерное моделирование" студент должен:
 иметь представление о роли и месте знаний по дисциплине «Компьютерное
моделирование»;
 знать основные понятия и принципы моделирования;
 знать основные методологические подходы к решению математических задач,
возникающих в ходе практической деятельности людей;
 уметь работать с математическими системами и системами моделирования
Mathcad, Electronics Workbench, ТСWIN, STATGRAPHICS,GPSSW.
 уметь разрабатывать алгоритмы и программы для решения практических задач;
 уметь разрабатывать и проводить планируемый эксперимент.
Введение
Содержание курса. Основные понятия. Приемы и методы автоматизированной обработки
информации
Настоящий курс рассматривает моделирование с двух точек зрения: с общетеоретической
и методологической – как метод научного познания, с практической – как технологию
решения прикладных научно-технических задач, опирающуюся на использование
компьютера. В последнем случае говорят о компьютерном моделировании.
В этом курсе, в значительной степени на примерах из различных областей знания,
показаны некоторые типичные задачи компьютерного математического моделирования.
При этом, как правило, не затрагиваются некомпьютерные модели, такие, например, как
математические модели из «чистой» математики. Термин «математическая модель»
увязывается здесь, в основном, с некоторой предметной областью, сущностью
окружающего мира.
Абстрактное моделирование с помощью компьютеров – вербальное, информационное,
математическое – в наши дни стало одной из информационных технологий,
исключительно мощной в познавательном плане. Изучение компьютерного
математического моделирования открывает широкие возможности для осознания связи
информатики с математикой и другими науками, естественными и социальными.
Раздел 1. Основные понятия и определения
Тема 1.1. Понятия моделирование, модель
Понятия: модель, моделирование, формализация, компьютерная модель
Слово «модель» произошло от латинского слова «modulus», означает «мера», «образец».
Его первоначальное значение было связано со строительным искусством, и почти во всех
европейских языках оно употреблялось для обозначения образа или прообраза, или вещи,
сходной в каком-то отношении с другой вещью.
Моделирование в научных исследованиях стало применяться еще в глубокой древности и
постепенно захватывало все новые области научных знаний: техническое
конструирование, строительство и архитектуру, астрономию, физику, химию, биологию и,
наконец, общественные науки. Большие успехи и признание практически во всех отраслях
современной науки принес методу моделирования ХХ век. Однако методология
моделирования долгое время развивалась отдельными науками независимо друг от друга.
Отсутствовала единая система понятий, единая терминология. Лишь постепенно стала
осознаваться роль моделирования как универсального метода научного познания.
Термин «модель» широко используется в различных сферах человеческой деятельности и
имеет множество смысловых значений. В этом разделе мы будем рассматривать только
такие модели, которые являются инструментами получения знаний.
Модель – это такой материальный или мысленно представляемый объект, который в
процессе исследования замещает объект-оригинал так, что его непосредственное изучение
дает новые знания об объекте-оригинале.
Под моделированием понимается процесс построения, изучения и применения моделей.
Оно тесно связано с такими категориями, как абстракция, аналогия, гипотеза и др.
Процесс моделирования обязательно включает и построение абстракций, и
умозаключения по аналогии, и конструирование научных гипотез.
Главная особенность моделирования в том, что это метод опосредованного познания с
помощью объектов-заместителей. Модель выступает как своеобразный инструмент
познания, который исследователь ставит между собой и объектом, и с помощью которого
изучает интересующий его объект. Именно эта особенность метода моделирования
определяет специфические формы использования абстракций, аналогий, гипотез, других
категорий и методов познания.
В самом общем случае при построении модели исследователь отбрасывает те
характеристики, параметры объекта-оригинала, которые несущественны для изучения
объекта. Выбор характеристик объекта-оригинала, которые при этом сохраняются и
войдут в модель, определяется целями моделирования. Обычно такой процесс
абстрагирования от несущественных параметров объекта называют формализацией. Более
точно, формализация – это замена реального объекта или процесса его формальным
описанием.
Основное требование, предъявляемое к моделям – это их адекватность реальным
процессам или объектам, которые замещает модель.
Практически во всех науках о природе, живой и неживой, об обществе, построение и
использование моделей является мощным орудием познания. Реальные объекты и
процессы бывают столь многогранны и сложны, что лучшим (а иногда и единственным)
способом их изучения часто является построение и исследование модели, отображающей
лишь какую-то грань реальности и потому многократно более простой, чем эта
реальность. Многовековой опыт развития науки доказал на практике плодотворность
такого подхода. Более конкретно, необходимость использования метода моделирования
определяется тем, что многие объекты (или проблемы, относящиеся к этим объектам)
непосредственно исследовать или вовсе невозможно, или же это исследование требует
слишком много времени и средств.
В моделировании есть два различных подхода. Модель может быть похожей копией
объекта, выполненной из другого материала, в другом масштабе, с отсутствием ряда
деталей. Например, это игрушечный кораблик, домик из кубиков, деревянная модель
самолета в натуральную величину, используемая в авиаконструировании и др. Модели
такого рода называют натурными.
Модель может, однако, отображать реальность более абстрактно – словесным описанием в
свободной форме, описанием, формализованным по каким-то правилам, математическими
соотношениями и т.п. Будем называть такие модели абстрактными.
Классификация моделей. Требования к моделям.
К классификации математических моделей можно подходить с разных позиций,
положив в основу классификации различные принципы. Можно классифицировать
модели по отраслям наук (математические модели в физике, биологии, социологии и т.д.)
и по применяемому математическому аппарату (модели, основанные на использовании
обыкновенных дифференциальных уравнений, дифференциальных уравнений в частных
производных, стохастических методов, дискретных алгебраических преобразований и
т.д.). Далее, если поинтересоваться общими закономерностями моделирования в разных
науках (безотносительно к математическому аппарату) и поставить на первое место цели
моделирования, то можно прийти к следующей классификации:
• дескриптивные (описательные) модели;
• оптимизационные модели;
• многокритериальные модели;
• игровые модели;
• имитационные модели.
Остановимся на этой классификации подробнее и поясним ее на примерах.
Моделируя движение кометы, вторгшейся в Солнечную систему, мы описываем ситуацию
(предсказываем траекторию полета кометы, расстояние, на котором она пройдет от Земли
и т.д.), т.е. ставим чисто описательные цели. У нас нет никаких возможностей повлиять на
движение кометы, что-то изменить в процессе моделирования.
В оптимизационных моделях мы можем воздействовать на процессы, пытаясь добиться
какой-то цели. В этом случае в модель входит один или несколько параметров, доступных
нашему влиянию. Например, меняя тепловой режим в зернохранилище, мы можем
стремиться подобрать такой, чтобы достичь максимальной сохранности зерна, т. е.
оптимизируем процесс.
Часто приходится оптимизировать процесс по нескольким параметрам сразу, причем цели
могут быть весьма противоречивыми. Например, зная цены на продукты и потребность
человека в пище, организовать питание больших групп людей (в армии, летнем лагере и
др.) как можно полезнее и как можно дешевле. Ясно, что эти цели, вообще говоря, совсем
не совпадают, т.е. при моделировании будет несколько критериев, между которыми надо
искать баланс. В этом случае говорят о многокритериальных моделях.
Игровые модели могут иметь отношение не только к детским играм (в том числе и
компьютерным), но и к вещам весьма серьезным. Например, полководец перед сражением
в условиях наличия неполной информации о противостоящей армии должен разработать
план, в каком порядке вводить в бой те или иные части и т.п., учитывая возможную
реакцию противника. В современной математике есть специальный раздел – теория игр,
изучающий методы принятия решений в условиях неполной информации.
Наконец, бывает, что модель в большой мере подражает реальному процессу, т.е.
имитирует его. Например, моделируя динамику численности микроорганизмов в колонии,
можно рассматривать совокупность отдельных объектов и следить за судьбой каждого из
них, ставя определенные условия для его выживания, размножения и т.д. При этом иногда
явное математическое описание процесса не используется, заменяясь некоторыми
словесными условиями (например, по истечении некоторого отрезка времени
микроорганизм делится на две части, а другого отрезка – погибает). Другой пример –
моделирование движения молекул в газе, когда каждая молекула представляется в виде
шарика, и задаются условия поведения этих шариков при столкновении друг с другом и со
стенками (например, абсолютно упругий удар); при этом не нужно использовать никаких
уравнений движения.
Можно сказать, что чаще всего имитационное моделирование применяется в попытке
описать свойства большой системы при условии, что поведение составляющих ее
объектов очень просто и четко сформулировано. Математическое описание тогда
производится на уровне статистической обработки результатов моделирования при
нахождении макроскопических характеристик системы. Такой компьютерный
эксперимент фактически претендует на воспроизведение натурного эксперимента. На
вопрос же «зачем это делать?» можно дать следующий ответ: имитационное
моделирование позволяет выделить «в чистом виде» следствия гипотез, заложенных в
наши представления о микрособытиях, очистив их от неизбежного в натурном
эксперименте влияния других факторов, о которых мы можем даже не подозревать. Если
же такое моделирование включает и элементы математического описания событий на
микроуровне, и если исследователь при этом не ставит задачу поиска стратегии
регулирования результатов (например, управления численностью колонии
микроорганизмов), то отличие имитационной модели от дескриптивной достаточно
условно; это, скорее, вопрос терминологии.
Еще один подход к классификации математических моделей подразделяет их на
детерминированные и стохастические (вероятностные). В детерминированных моделях
входные параметры поддаются измерению однозначно и с любой степенью точности, т.е.
являются детерминированными величинами. Соответственно, процесс эволюции такой
системы детерминирован. В стохастических моделях значения входных параметров
известны лишь с определенной степенью вероятности, т.е. эти параметры являются
стохастическими; соответственно, случайным будет и процесс эволюции системы. При
этом, выходные параметры стохастической модели могут быть как величинами
вероятностными, так и однозначно определяемыми.
Наконец, если ограничиться непрерывными детерминистскими моделями, то их
часто подразделяют на системы с сосредоточенными параметрами и системы с
распределенными параметрами. Системы с сосредоточенными параметрами описываются
с помощью конечного числа обыкновенных дифференциальных уравнений для зависящих
от времени переменных. Пространство состояний имеет здесь конечную размерность
(число степеней свободы системы конечно). В противоположность этому под системами с
распределенными параметрами понимают системы, описываемые конечным числом
дифференциальных уравнений в частных производных. Здесь переменные состояния в
каждый момент времени есть функции одной или нескольких пространственных
переменных. Пространство состояний имеет в этом случае бесконечную размерность, т.е.
система обладает бесконечным числом степеней свободы.
Классификация абстрактных моделей:
1. Вербальные (текстовые) модели. Эти модели используют последовательности
предложений на формализованных диалектах естественного языка для описания той или
иной области действительности (примерами такого рода моделей являются милицейский
протокол, правила дорожного движения).
2. Математические модели – очень широкий класс знаковых моделей (основанных на
формальных языках над конечными алфавитами), использующих те или иные
математические методы. Например, математическая модель звезды будет представлять
собой сложную систему уравнений, описывающих физические процессы, происходящие в
недрах звезды. Другой математической моделью являются, например, математические
соотношения, позволяющие рассчитать оптимальный (наилучший с экономической точки
зрения) план работы какого-либо предприятия.
3. Информационные модели – класс знаковых моделей, описывающих информационные
процессы (получение, передачу, обработку, хранение и использование информации) в
системах самой разнообразной природы. Примерами таких моделей могут служить OSI –
семиуровневая модель взаимодействия открытых систем в компьютерных сетях, или
машина Тьюринга – универсальная алгоритмическая модель.
Подчеркнем, что граница между вербальными, математическими и информационными
моделями может быть проведена весьма условно. Так, информационные модели иногда
считают подклассом математических моделей. Однако, в рамках информатики как
самостоятельной науки, отделенной от математики, физики, лингвистики и других наук,
выделение информационных моделей в отдельный класс является целесообразным.
Отметим, что существуют и иные подходы к классификации абстрактных моделей;
общепринятая точка зрения здесь еще не установилась.
В прикладных науках различают следующие виды абстрактных моделей:
1) чисто аналитические математические модели, не использующие компьютерных
средств;
2) информационные модели, имеющие приложения в информационных системах;
3) вербальные языковые модели;
4) компьютерные модели, которые могут использоваться для:
• численного математического моделирования;
• визуализации явлений и процессов (как для аналитических, так и для численных
моделей);
• специализированных прикладных технологий, использующих компьютер (как правило, в
режиме реального времени) в сочетании с измерительной аппаратурой, датчиками и т.п.
Большая часть данного курса связана с прикладными математическими моделями, в
реализации которых используются компьютеры. Это вызвано тем, что внутри
информатики именно компьютерное математическое и компьютерное информационное
моделирование могут рассматриваться как ее составные части. Компьютерное
математическое моделирование связано с информатикой технологически; использование
компьютеров и соответствующих технологий обработки информации стало неотъемлемой
и необходимой стороной работы физика, инженера, экономиста, эколога, проектировщика
ЭВМ и т.д. Неформализованные вербальные модели не имеют столь явно выраженной
привязки к информатике – ни в принципиальном, ни в технологическом аспектах.
Тема 1.2. Виды моделирования. Компьютерное математическое моделирование.
Этапы и цели.
Исторически случилось так, что первые работы по компьютерному моделированию
были связаны с физикой, где с помощью моделирования решался целый ряд задач
гидравлики, фильтрации, теплопереноса и теплообмена, механики твердого тела и т. д. [1,
2, 4]. Моделирование в основном представляло собой решение сложных нелинейных
задач математической физики с помощью итерационных схем (за исключением разве тех
задач, где использовался метод Монте-Карло), и по существу было оно, конечно,
моделированием математическим. Успехи математического моделирования в физике
способствовали распространению его на задачи химии, электроэнергетики, биологии и
некоторых других дисциплин, причем схемы моделирования не слишком отличались друг
от друга. Сложность решаемых с помощью моделирования задач всегда ограничивалась
лишь мощностью имеющихся ЭВМ.
Надо заметить, что подобный вид моделирования весьма широко распространен и в
настоящее время. Более того, за время развития методов моделирования на ЭВМ при
решении задач фундаментальных и смежных предметных областей накоплены целые
библиотеки подпрограмм и функций, облегчающих применение и расширяющих
возможности моделирования. И все же в настоящее время понятие «компьютерное
моделирование» обычно связывают не с фундаментальными дисциплинами, а в первую
очередь с системным анализом — направлением кибернетики, впервые заявившим о себе
в начале 50-х годов при исследовании сложных систем в биологии, макроэкономике, при
создании автоматизированных экономико-организационных систем управления [3].
Системный анализ стремительно сформировался сначала в весьма модное
направление науки об управлении сложными системами, а затем по мере развития — в
методологию, а точнее, в нечто безбрежное, таинственное, доступное только самым
могучим умам. Они с гордостью называли себя системными аналитиками и, как и
положено после канонизации, возвышались над тысячами инженеров и программистов,
работая в таинственных Институтах Системного Анализа Сложных, Очень Сложных и
Совсем Сложных Систем, публикуя работы с названиями типа «Теория декомпозиции
сингулярных, квазилинейных, иерархических макросистем рефлексивного типа». Однако
по истечении некоторого времени обнаружилась странная особенность подобных работ:
они существовали сами по себе, а многочисленные практические работы по системному
анализу и управлению реальными объектами выполнялись сами по себе, без какой-либо
связи с этими теоретическими изысканиями. Более того, обнаружилась странная
особенность системного анализа: в чистом виде весь предмет может быть сведен к
нескольким, интуитивно довольно прозрачным «принципам системного анализа»,
выглядящим как библейские заповеди, — принцип иерархичности, принцип единства
целей, принцип эмерджентности и др.
Общая теория систем, концепция которой впервые была сформулирована в 50-е
годы Л. Берталанфи и которая, казалось бы, должна составлять теоретический фундамент
системного анализа, сегодня так же далека от завершения, как и в 60-е годы, если не
считать некоторых результатов, имеющих исключительно абстрактный, математический
характер. Основные же методы и процедуры, используемые обычно при системном
анализе, заимствованы из других дисциплин, в большой степени – из исследования
операций, появившейся раньше, чем системный анализ. Заимствованы и другие методы,
которые обычно связывают с системным анализом – теория игр, теория принятия
решений, математическое программирование, теория динамических систем и др. Более
того, при тщательном рассмотрении истории возникновения и перспектив развития
системного анализа нельзя обнаружить даже тенденций зарождения в его недрах единого
подхода к анализу сложных систем. Не говоря уже об оформлении его в строгую и
законченную теорию, напоминающую по стройности хотя бы теорию систем массового
обслуживания.
В чем же тут дело? Как было впервые замечено профессором Б.Г.Юдиным и
впоследствии уточнено академиком Н. Н. Моисеевым, крупнейшим советским
специалистом в области системного анализа, центральной процедурой в системном
анализе является построение обобщенной модели, отображающей все факторы и
взаимосвязи реальной ситуации, которые могут проявиться в процессе решения [3, 4, 5].
Иными словами, построение математических моделей является основой всего системного
анализа, центральным этапом исследования или проектирования любой системы [5].
Конечно же, по сравнению с гордым и звучным термином «системный анализ»,
«моделирование» звучит куда более скромно, тем более что каждому понятно — любое
моделирование сопряжено с приземленными вещами: сбором, сортировкой и обработкой
данных. К тому же эти экспериментальные данные и факты подчас обладают целым рядом
неприятных особенностей: то их слишком много, и не ясно, как их учесть или сократить;
то их слишком мало, и не ясно, где взять недостающие. Наконец, факты/данные просто
противоречат друг другу или того хуже — данным вашего коллеги или оппонента. А если
добавить сюда проблемы воспроизводимости, проблемы пропущенных данных, проблемы
размерностей, трудности с организацией поиска, накопления и систематизации, то станет
очевидным: в таких условиях не до высоких сияющих вершин системного анализа и
общих теорий сложных систем. И, тем не менее, именно моделирование является сутью
системного анализа. Разберемся с этим более подробно.
Моделирование представляет собой один из основных методов познания, является
формой отражения действительности и заключается в выяснении или воспроизведении
тех или иных свойств реальных объектов, предметов и явлений с помощью других
объектов, процессов, явлений, либо с помощью абстрактного описания в виде
изображения, плана, карты, совокупности уравнений, алгоритмов и программ [4].
Возможности моделирования, то есть перенос результатов, полученных в ходе
построена исследования модели, на оригинал, основаны на том, что модель в
определенном смысле отображает (воспроизводит, моделирует, описывает, имитирует)
некоторые интересующие исследователя черты объекта. Моделирование как форма
отражения действительности широко распространено, и достаточно полная
классификация возможных видов моделирования крайне затруднительна, хотя бы в силу
многозначности понятия «модель», широко используемого не только в науке и технике,
но искусстве, и в повседневной жизни. Тем не менее, применительно к естественным и
техническим наукам принято различать следующие виды моделирования:
 концептуальное моделирование, при котором совокупность уже известных фактов
или представлений относительно исследуемого объекта или системы истолковывается с
помощью некоторых специальных знаков, символов, операций над ними или помощью
естественного или искусственного языков;
 физическое (натурное) моделирование, при котором модель и моделируемый
объект представляют собой реальные объекты или процессы единой или различной
физической природы, причем между процессами в объекте-оригинале и в модели
выполняются некоторые соотношения подобия, вытекающие из схожести физических
явлений;
 структурно-функциональное моделирование, при котором моделями являются
схемы (блок-схемы), графики, чертежи, диаграммы, таблицы, рисунки, дополненные
специальными правилами их объединения и преобразования;
 математическое (логико-математическое) моделирование, при котором
моделирование, включая построение модели, осуществляется средствами математики и
логики;
 имитационное (компьютерное) моделирование, при котором логикоматематическая модель исследуемого объекта представляет собой алгоритм
функционирования объекта, реализованный в виде программного комплекса для
компьютера.
Разумеется, перечисленные выше виды моделирования не являются
взаимоисключающими и могут применяться при исследовании сложных объектов либо
одновременно, либо в некоторой комбинации. Кроме того, в некотором смысле
концептуальное и, скажем, структурно-функциональное моделирование неразличимы
между собой, так как блок-схемы, конечно же, являются специальными знаками с
установленными операциями над ними.
Компьютерное моделирование. Принципы моделирования.
Традиционно под моделированием на ЭВМ понималось лишь имитационное
моделирование. Можно, однако, увидеть, что и при других видах моделирования
компьютер может быть весьма полезен. Например, при математическом моделировании
выполнение одного из основных этапов — построение математических моделей по
экспериментальным данным — в настоящее время просто немыслимо без компьютера. В
последние годы, благодаря развитию графического интерфейса и графических пакетов,
широкое развитие получило компьютерное структурно-функциональное моделирование, о
котором подробно поговорим ниже. Положено начало привлечения компьютера даже к
концептуальному моделированию, где он используется, например, при построении систем
искусственного интеллекта.
Таким образом, мы видим, что понятие «компьютерное моделирование»
значительно шире традиционного понятия «моделирование на ЭВМ» и нуждается в
уточнении, учитывающем сегодняшние реалии.
Начнем с термина «компьютерная модель». В настоящее время под компьютерной
моделью чаще всего понимают:
 условный образ объекта или некоторой системы объектов (или процессов),
описанный с помощью взаимосвязанных компьютерных таблиц, блок-схем, диаграмм,
графиков, рисунков, анимационных фрагментов, гипертекста и т. д. и отображающий
структуру элементов объекта и взаимосвязи между ними. Компьютерные модели такого
вида мы будем называть структурно-функциональными;
 программу или программный комплекс, позволяющий с помощью
последовательности вычислений и графического отображения их результатов
воспроизводить (имитировать) процессы функционирования объекта, системы объектов
при условии воздействия на объект различных, как правило, случайных, факторов. Такие
модели мы будем далее называть имитационными.
Компьютерное моделирование — метод решения задачи анализа или синтеза
сложной системы на основе использования ее компьютерной модели. Суть
компьютерного моделирования заключена в получении количественных и качественных
результатов по имеющейся модели. Качественные выводы, получаемые по результатам
анализа, позволяют обнаружить неизвестные ранее свойства сложной системы: ее
структуру, динамику развития, устойчивость, целостность и др. Количественные выводы в
основном носят характер прогноза некоторых будущих или объяснения прошлых
значений переменных, характеризирующих систему.
Предметом компьютерного моделирования могут быть: экономическая
деятельность фирмы или банка, промышленное предприятие, информационновычислительная сеть, технологический процесс, любой реальный объект или процесс,
например процесс инфляции, и вообще – любая сложная система. Цели компьютерного
моделирования могут быть различными, »однако наиболее часто моделирование является,
как уже отмечалось ранее, центральной процедурой системного анализа, причем под
системным анализом мы далее понимаем совокупность методологических средств,
используемых для подготовки и принятия решений экономического, организационного,
социального или технического характера.
Компьютерная модель сложной системы должна, по возможности, отображать все
основные факторы и взаимосвязи, характеризующие реальные ситуации, критерии и
ограничения. Модель должна быть достаточно универсальной, чтобы описывать близкие
по назначению объекты, и в то же время достаточно простой, чтобы позволить выполнить
необходимые исследования с разумными затратами.
Все это говорит о том, что моделирование систем, рассматриваемое в целом,
представляет собой скорее искусство, чем сформировавшуюся науку с самостоятельным
набором средств отображения явлений и процессов реального мира. Поэтому
исключительно сложными, а по нашему мнению, и невозможными, являются попытки
классификации задач компьютерного моделирования или создания достаточно
универсальных инструментальных средств компьютерного моделирования произвольных
объектов. Однако если преднамеренно сузить класс рассматриваемых объектов,
ограничившись, например, задачами компьютерного моделирования при системном
анализе объектов экономико-организационного управления, то возможно отобрать ряд
достаточно универсальных подходов и программных средств.
Тема № 1.3 КОМПЬЮТЕРНОЕ МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ. ЭТАПЫ И
ЦЕЛИ.
КОМПЬЮТЕРНОЕ МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ.
Математическая модель выражает существенные черты объекта или процесса
языком уравнений и других математических средств. Собственно говоря, сама математика
обязана своим существованием тому, что она пытается отразить, т. е. промоделировать на
своем специфическом языке закономерности окружающего мира. Огромный толчок
развитию математического моделирования дало появление ЭВМ, хотя сам метод
зародился одновременно с математикой тысячи лет назад.
Математическое моделирование как таковое отнюдь не всегда требует
компьютерной поддержки. Каждый специалист, профессионально занимающийся
математическим моделированием, делает все возможное для аналитического
исследования модели. Аналитические решения (т. е. представленные формулами,
выражающими результаты исследования через исходные данные) обычно удобнее и
информативнее численных. Однако, возможности аналитических методов решения
сложных математических задач очень ограничены и, как правило, эти методы гораздо
сложнее численных. В нашем курсе доминируют численные методы, реализуемые на
компьютерах. Отметим, что понятия «аналитическое решение» и «компьютерное
решение» отнюдь не противостоят друг другу, так как
а) все чаще компьютеры при математическом моделировании используются не
только для численных расчетов, но и для аналитических преобразований;
б) результат аналитического исследования математической модели часто выражен
столь сложной формулой, что при взгляде на нее не складывается наглядного восприятия
описываемого ею процесса. Эту формулу (хорошо еще, если просто формулу!) нужно
протабулировать, представить графически, проиллюстрировать в динамике, иногда даже
озвучить, т.е. проделать то, что называется «визуализацией». Очевидно, возможности
современных компьютеров наилучшим образом соответствуют этой задаче.
ЭТАПЫ И ЦЕЛИ КОМПЬЮТЕРНОГО МАТЕМАТИЧЕСКОГО МОДЕЛИРОВАНИЯ
Рассмотрим
процесс
компьютерного
математического
включающий численный эксперимент с моделью (рис. 1).
моделирования,
Рис.1. Общая схема процесса компьютерного математического моделирования
Первый этап – определение целей моделирования. Основные из них таковы:
1) Понимание
Модель в этой ситуации нужна для того, чтобы понять, как устроен конкретный
объект, какова его структура, основные свойства, законы развития и взаимодействия с
окружающим миром.
2) Управление
Модель нужна для того, чтобы научиться управлять объектом (или процессом) и
определить наилучшие способы управления при заданных целях и критериях;
З) Прогнозирование
Модель используется для того, чтобы прогнозировать прямые и косвенные
последствия воздействия на объект заданными способами.
Поясним это на примерах. Пусть объект исследования – взаимодействие потока
жидкости или газа с телом, являющимся для этого потока препятствием. Опыт
показывает, что сила сопротивления потоку со стороны тела растет с ростом скорости
потока, но при некоторой достаточно высокой скорости эта сила скачком уменьшается с
тем, чтобы с дальнейшим увеличением скорости снова возрасти. Что же произошло,
обусловив уменьшение силы сопротивления? Математическое моделирование позволяет
получить четкий ответ: в момент скачкообразного уменьшения сопротивления вихри,
образующиеся в потоке жидкости или газа позади обтекаемого тела, начинают отрываться
от него и уноситься потоком.
Пример совсем из другой области: мирно сосуществовавшие со стабильными
численностями популяции двух видов особей, имеющих общую кормовую базу, «вдруг»
начинают резко менять численность – и здесь математическое моделирование позволяет
(с известной долей достоверности) установить причину явления, или, по крайней мере,
опровергнуть определенную гипотезу о его причинах.
Выработка концепции управления объектом – другая возможная цель
моделирования. Какой режим полета самолета выбрать для того, чтобы полет был вполне
безопасным и экономически наиболее выгодным? Как составить график выполнения
сотен видов работ на строительстве большого объекта, чтобы оно закончилось в
максимально короткий срок? Множество таких проблем систематически возникает перед
экономистами, конструкторами, учеными.
Наконец, прогнозирование последствий тех или иных воздействий на объект может
быть как относительно простым делом (в несложных физических системах), так и
чрезвычайно сложным – на грани выполнимости – в системах биолого-экономических,
социальных. Если относительно легко ответить на вопрос об изменении режима
распространения тепла в тонком стержне в зависимости от изменений в составляющем его
сплаве, то несравненно труднее проследить (предсказать) экологические и климатические
последствия строительства крупной ГЭС или социальные последствия изменений
налогового законодательства. Возможно, и здесь методы математического моделирования
будут оказывать в будущем более значительную помощь.
Составим список величин, от которых зависит поведение объекта или ход
процесса, а также тех величин, которые желательно получить в результате
моделирования. Обозначим первые из них (входные) через x 1, x2,..., хn,,; вторые
(выходные) через y1, y2,…,yn. Символически поведение объекта или процесса можно
представить в виде
где Fj — те действия, которые следует произвести над входными параметрами, чтобы
получить результаты. Хотя запись
напоминает обозначение функции, мы
здесь используем ее в более широком смысле. Лишь в простейших ситуациях здесь F есть
функция в обычном смысле; чаще всего она выражает лишь наличие некоторой связи
между входными и выходными параметрами модели.
Входные параметры хi могут быть известны «точно», т.е. поддаваться (по крайней
мере, в принципе) измерению однозначно и с любой степенью точности — тогда они
являются детерминированными величинами. Так, в классической механике, сколь
сложной ни была бы моделируемая система, входные параметры детерминированы и,
соответственно, детерминирован процесс эволюции такой системы. Однако в природе и
обществе гораздо чаще встречаются процессы иного рода, когда значения входных
параметров известны лишь с определенной степенью вероятности, т.е. эти параметры
являются вероятностными (стохастическими), и, соответственно, случайным является
процесс эволюции системы.
Случайный – не значит непредсказуемый. Просто в этой ситуации характер
исследования и задаваемых вопросов резко меняется – они приобретают вид «С какой
вероятностью...?», «С каким математическим ожиданием...?» и т.п. Примеров случайных
процессов не счесть как в науке, так и в обыденной жизни (силы, действующие на
летящий самолет в ветреную погоду; переход улицы при большом потоке транспорта и
т.д.).
Для стохастической модели выходные параметры могут быть как величинами
вероятностными, так и однозначно определяемыми. Например, на перекрестке улиц
можно ожидать зеленого сигнала светофора и полминуты, и две минуты (с разной
вероятностью), но среднее время ожидания есть величина вполне определенная, и именно
она может быть объектом моделирования.
Важнейшим этапом моделирования является разделение входных параметров по
степени важности влияния их изменений на выходные. Такой процесс называется
ранжированием (разделением по рангам). Чаще всего невозможно, да и не нужно
учитывать все факторы, которые могут повлиять на значения интересующих нас величин
уj. От того, насколько умело выделены важнейшие факторы, зависит успех
моделирования, быстрота и эффективность достижения цели. Выделить наиболее
значимые факторы и отсеять менее важные может лишь специалист в той предметной
области, к которой относится модель. Так, опытный учитель знает, что на успех
контрольной работы влияет степень знания предмета и психологический настрой класса;
однако, влияют и другие факторы — например, каким уроком по счету идет контрольная,
какова в этот момент погода и т.д. — фактически проведено ранжирование.
Отбрасывание менее значимых факторов огрубляет объект моделирования и
способствует пониманию его главных свойств и закономерностей. Умело ранжированная
модель должна быть адекватна исходному объекту или процессу в отношении целей
моделирования. Обычно определить, адекватна ли модель можно только в процессе
экспериментов с ней, анализа результатов первоначального моделирования.
На рис. 2 проиллюстрированы две крайние ситуации: а) некоторый параметр х i,
очень сильно влияет на результирующую величину уi; б) почти не влияет на нее. Ясно, что
если все представляющие интерес величины уi реагируют на хi, так, как изображено на
рис. 2б, то хi, является параметром, который при первом подходе может быть из модели
исключен. Если же хотя бы одна из величин уi реагирует на изменение хi, так, как
изображено на рис. 2а, то хi нельзя исключать из числа значимых параметров.
Следующий этап — поиск математического описания. На этом этапе необходимо
перейти от абстрактной формулировки модели к формулировке, имеющей конкретное
Рис. 7.2. Варианты степени влияния величины хi на результирующую величину уj
математическое наполнение. В этот момент модель предстает перед нами в виде
уравнения, системы уравнений, системы неравенств, дифференциального уравнения или
системы таких уравнений и т.д.
Когда математическая модель сформулирована, нужно выбрать метод ее
исследования. Как правило, для решения одной и той же задачи есть несколько
конкретных методов, различающихся эффективностью, устойчивостью и т.д. От верного
выбора метода часто зависит успех всего процесса.
После разработки алгоритма и составления программы для ЭВМ необходимо
решить с ее помощью простейшую тестовую задачу (желательно, с заранее известным
ответом) с целью устранения грубых ошибок. Это лишь начало процедуры тестирования,
которую трудно описать формально исчерпывающим образом. По существу, тестирование
может продолжаться долго и закончиться тогда, когда пользователь по своим
профессиональным признакам сочтет программу верной.
Затем следует собственно численный эксперимент, и выясняется, соответствует ли
модель реальному объекту (процессу). Модель адекватна реальному процессу, если
некоторые характеристики процесса, полученные на ЭВМ, совпадают с
экспериментальными с заданной степенью точности. В случае несоответствия модели
реальному процессу возвращаются к одному из предыдущих этапов.
1. Понятия моделирование, модель. Виды моделирования. Моделирование на ЭВМ.
Понятия компьютерное моделирование, компьютерная модель, функции
компьютера при моделировании.
2. Принципы моделирования. Общая классификация моделей. Требования к модели.
Виды математических моделей. Жизненный цикл моделируемой системы.
Операции над моделями.
3. Вычислительный эксперимент. Этапы вычислительного эксперимента.
Математическое и программное обеспечение эксперимента. Цикличность
эксперимента.
4. Линейность и нелинейность решаемых задач. Области применения
вычислительного эксперимента.
5. Понятие искусственный интеллект. Философские аспекты. Вопросы реализации.
Экспертные системы.
6. Программное обеспечение используемое в моделировании. Математические
пакеты. MathCad. Классы решаемых задач. Виды операции, типы переменных и
констант.
Тема 1.4. Жизненный цикл моделируемой системы.
Операции над моделями
Жизненный цикл моделируемой системы
1. Сбор информации об объекте, выдвижение гипотез, предмодельный анализ;
2. Проектирование структуры и состава моделей (подмоделей);
3. Построение спецификаций модели, разработка и отладка отдельных подмоделей,
сборка модели в целом, идентификация (если это нужно) параметров моделей;
4. Исследование модели – выбор метода исследования и разработка алгоритма
(программы) моделирования;
5. Исследование адекватности, устойчивости, чувствительности модели;
6. Оценка средств моделирования (затраченных ресурсов);
7. Интерпретация, анализ результатов моделирования и установление некоторых
причинно-следственных связей в исследуемой системе;
8. Генерация отчетов и проектных (народно-хозяйственных) решений;
9. Уточнение, модификация модели, если это необходимо, и возврат к исследуемой
системе с новыми знаниями, полученными с помощью моделирования.
Операции над моделями
Основными операциями используемыми над моделями являются:
1. Линеаризация. Пусть М = М(X, Y, A), где X – множество входов, Y – выходов, А –
состояний системы. Схематически можно это изобразить: X ⇒ A ⇒ Y.
Если X, Y, A – линейные пространства (множества), и, соответственно над ними
определены линейные операторы, то система (модель) называется линейной. Другие
системы (модели) – нелинейные. Нелинейные системы трудно поддаются исследованию,
поэтому их часто линеаризуют – сводят к линейным каким-то образом.
2. Идентификация. Пусть М = М(X, Y, A), A = {ai}, ai = (ai1, ai2, ..., aik) – вектор состояния
объекта (системы). Если вектор ai зависит от некоторых неизвестных параметров, то
задача идентификации (модели, параметров модели) состоит в определении по некоторым
дополнительным условиям, например, экспериментальным данным, характеризующим
состояние системы в некоторых случаях. Идентификация – решение задачи построения по
результатам наблюдений математических моделей, описывающих адекватно поведение
реальной системы.
3. Агрегирование. Операция состоит в преобразовании (сведении) модели к модели
(моделям) меньшей размерности (X, Y, A).
4. Декомпозиция. Операция состоит в разделении системы (модели) на подсистемы
(подмодели) с сохранением структур и принадлежности одних элементов и подсистем
другим.
5. Сборка. Операция состоит в преобразовании системы, модели, реализующей
поставленную цель из заданных или определяемых подмоделей (структурно связанных и
устойчивых).
6. Макетирование. Эта операция состоит в апробации, исследовании структурной
связности, сложности, устойчивости с помощью макетов или подмоделей упрощенного
вида, у которых функциональная часть упрощена (хотя вход и выход подмоделей
сохранены).
7. Экспертиза, экспертное оценивание. Операция или процедура использования опыта,
знаний, интуиции, интеллекта экспертов для исследования или моделирования плохо
структурируемых, плохо формализуемых подсистем исследуемой системы.
8. Вычислительный эксперимент. Это эксперимент, осуществляемый с помощью модели
на ЭВМ с целью распределения, прогноза тех или иных состояний системы, реакции на те
или иные входные сигналы. Прибором эксперимента здесь является компьютер (и
модель!).
Тема 1.5. Экспертные системы. Математические пакеты.
Одной из основных областей применения ПК являются математические и научнотехнические расчеты. Сложные вычислительные задачи, возникающие при
моделировании технических устройств и процессов, можно разбить на ряд элементарных:
вычисление интегралов, решение уравнений, решение дифференциальных уравнений и
т.д. Для таких задач уже разработаны методы решения, созданы математические системы,
доступные для изучения студентам младших курсов втузов.
Необходимо научиться пользоваться простейшими методами вычислений с
использованием современных информационных технологий. Наиболее подходящей для
этой цели является одна из самых мощных и эффективных математических систем –
MathCAD, которая занимает особое место среди множества таких систем (Matlab, Maple,
Mathematica и др.).
MathCAD – это мощная и в то же время простая универсальная среда для решения задач в
различных отраслях науки и техники, финансов и экономики, физики и астрономии,
математики и статистики… MathCAD остается единственной системой, в которой
описание решения математических задач задается с помощью привычных математических
формул и знаков. MathCAD позволяет выполнять как численные, так и аналитические
(символьные) вычисления, имеет чрезвычайно удобный математико-ориентированный
интерфейс и гибкие средства научной графики.
MathCAD работает с документами. С точки зрения пользователя, документ – это чистый
лист бумаги, на котором можно размещать блоки трех основных типов: математические
выражения, текстовые фрагменты и графические области.
Расположение нетекстовых блоков в документе имеет принципиальное значение – слева
направо и сверху вниз.
К основным элементам математических выражений MathCAD относятся типы данных,
операторы, функции и управляющие структуры.
Операторы – элементы MathCAD, с помощью которых можно создавать математические
выражения. К ним, например, относятся символы арифметических операций, знаки
вычисления сумм, произведений, производной и интеграла и т.д.
Оператор определяет:
действие, которое должно выполняться при наличии тех или иных значений операндов;
сколько, где и какие операнды должны быть введены в оператор.
Операнд – число или выражение, на которое действует оператор. Например, в выражении
5! + 3 число 3 и выражение 5! – операнды оператора + (плюс), а число 5 операнд
оператора факториал (!). После указания операндов операторы становятся исполняемыми
по документу блоками. В Приложении 2 приведен список наиболее часто используемых
операторов.
К типам данных относятся числовые константы, обычные и системные переменные,
массивы (векторы и матрицы) и данные файлового типа.
Константами называют поименованные объекты, хранящие некоторые значения,
которые не могут быть изменены. Переменные являются поименованными объектами,
имеющими некоторое значение, которое может изменяться по ходу выполнения
программы. Тип переменной определяется ее значением; переменные могут быть
числовыми, строковыми, символьными и т.д. Имена констант, переменных и иных
объектов называют идентификаторами. Идентификаторы в MathCAD представляют
собой набор латинских или греческих букв и цифр.
В MathCAD содержится небольшая группа особых объектов, которые нельзя отнести ни к
классу констант, ни к классу переменных, значения которых определены сразу после
запуска программы. Их правильнее считать системными переменными, имеющими
предопределенные системой начальные значения.
Обычные переменные отличаются от системных тем, что они должны быть
предварительно определены пользователем, т.е. им необходимо хотя бы однажды
присвоить значение.
Дискретные аргументы – особый класс переменных, который в пакете MathCAD
зачастую заменяет управляющие структуры, называемые циклами (однако полноценной
такая замена не является). Эти переменные имеют ряд фиксированных значений, либо
целочисленных, либо в виде чисел с определенным шагом, меняющихся от начального
значения до конечного.
Массив – имеющая уникальное имя совокупность конечного числа числовых или
символьных элементов, упорядоченных некоторым образом и имеющих определенные
адреса. В пакете MathCAD используются массивы двух наиболее распространенных
типов:
одномерные (векторы);
двумерные (матрицы).
Порядковый номер элемента, который является его адресом, называется индексом.
Функция – выражение, согласно которому проводятся некоторые вычисления с
аргументами и определяется его числовое значение.
Следует особо отметить разницу между аргументами и параметрами функции.
Переменные, указанные в скобках после имени функции, являются ее аргументами и
заменяются при вычислении функции значениями из скобок. Переменные в правой части
определения функции, не указанные скобках в левой части, являются параметрами и
должны задаваться до определения функции.
Главным признаком функции является возврат значения, т.е. функция в ответ на
обращение к ней по имени с указанием ее аргументов должна возвратить свое значение.
Функции в пакете MathCAD могут быть встроенные (см. Приложение 3), т. е.
заблаговременно введенные разработчиками, и определенные пользователем.
Текстовые фрагменты представляют собой куски текста, которые пользователь хотел бы
видеть в своем документе. Существуют два вида текстовых фрагментов:
текстовая область предназначена для небольших кусков текста – подписей,
комментариев и т. п.
текстовый абзац применяется в том случае, если необходимо работать с абзацами или
страницами.
Графические области делятся на три основных типа – двумерные графики, трехмерные
графики и импортированные графические образы. Двумерные и трехмерные графики
строятся самим MathCAD на основании обработанных данных.
Как известно, многие уравнения и системы уравнений не имеют аналитических решений.
В первую очередь это относится к большинству трансцендентных уравнений. Доказано
также, что нельзя построить формулу, по которой можно было бы решить произвольное
алгебраическое уравнение степени выше четвертой. Однако такие уравнения могут
решаться численными методами с заданной точностью.
Раздел 2.Имитационное моделирование
Тема 2.1. Имитационное моделирование на ЭВМ
Сущность имитационного моделирования
В случае, когда процессы в изучаемой системе столь сложны и многообразны, что
аналитические модели становятся слишком грубым приближением к действительности,
возможным выходом является имитационное моделирование.
Например, для исследования эффективности работы билетной кассы и определения
необходимого количества кассиров возможно применение аналитических методов теории
массового обслуживания. Но применение этих методов значительно осложняется для
систем:
•
обслуживающих заявки в несколько этапов;
•
работающих в нестационарном режиме, с технологическими перерывами;
•
обслуживающих заявки с различными приоритетами и закономерностями времени
обслуживания (например, приобретение билета на международный рейс требует большего
времени) и т. п.
Возможным подходом решения данной задачи является имитационное моделирование,
при котором процесс функционирования билетной кассы воспроизводится на ЭВМ,
причем элементарные явления, составляющие этот процесс, имитируются с сохранением
логической структуры и последовательности протекания. В процессе имитации
фиксируются определенные события и состояния, по которым вычисляются
характеристики качества функционирования системы.
В частности, имитация процесса функционирования билетной кассы заключается:
•
в имитации поступления в кассу посетителей через случайные промежутки времени
(в соответствии с существующими вероятностными закономерностями);
•
постановке посетителей на обслуживание или в очередь, в зависимости от
свободности / занятости кассы в момент поступления требования;
•
имитации обслуживания посетителей кассиром в течение случайных интервалов
времени;
•
удалении из кассы обслуженных посетителей и постановке на обслуживание
посетителей, ожидающих в очереди;
•
сборе статистики о времени пребывания посетителей в очереди и на обслуживании,
длине очереди, времени загрузки кассира и других характеристиках функционирования
кассы.
В более сложных случаях при имитации можно учитывать поступление нескольких групп
посетителей, требующих различных приоритетов (ветераны, студенты) и длительности
обслуживания (покупатели билетов на пригородные или международные рейсы),
наступление технологических перерывов и прочих штатных ситуаций.
Многократно воспроизводя процесс функционирования билетной кассы, накапливают
статистический материал, который позволяет судить об эффективности технологического
процесса (количество поступивших и обслуженных покупателей, средняя длина очереди,
среднее время ожидания, коэффициент загрузки кассира и прочее) и об его оптимизации
(изменение количества кассиров, автоматизация их работы, изменение расписания технологических перерывов и т. п.).
Возможности имитационного моделирования на ЭВМ
Хотя имитацию процесса функционирования билетной кассы (и других объектов)
теоретически можно выполнять «на бумаге», количество данных, которые должны
сохраняться и обрабатываться при моделировании (время поступления, длительность
ожидания и обслуживания каждого посетителя), диктует необходимость применения
ЭВМ. Для имитационного моделирования на ЭВМ необходима реализация следующих
видов алгоритмов:
•
имитации во времени процесса функционирования элементов исследуемого объекта;
•
обеспечения взаимодействия элементов исследуемого объекта и объединения их в
единый процесс;
•
генерации случайных факторов с требуемыми вероятностными характеристиками;
•
статистической обработки и графической презентации результатов имитационного
эксперимента.
Развитие компьютерной техники решило проблемы с моделированием большого
количества элементов систем и их взаимодействия, а также со сбором статистической
информации о функционировании модели системы. Поэтому в настоящее время
имитационное моделирование позволяет рассматривать исследуемые системы,
практически любой сложности, на любом уровне детализации. При этом в имитационной
модели (ИМ) можно реализовать практически любой алгоритм управленческой
деятельности или поведения системы.
Имитационное моделирование на ЭВМ позволяет получать наглядную картину поведения
системы, рассматривать различные варианты модели, отвечающие различным сторонам
функционирования системы и возможным структурным преобразованиям, получать
значения необходимых количественных характеристик. Поэтому имитационное
моделирование в настоящее время получает все большее распространение в исследовании
сложных технических систем и технологических процессов. Целесообразность применения имитационного моделирования становится очевидной при наличии следующих
условий:
•
не существует законченной математической постановки задачи либо еще не
разработаны аналитические методы решения сформулированной задачи;
•
аналитические методы имеются, но математические процедуры столь сложны и
трудоемки, что имитационное моделирование дает более простой способ решения задачи;
•
кроме оценки определенных параметров, требуется осуществить наблюдение за
ходом процесса функционирования системы в течение некоторого времени. При этом
имитационное моделирование дает возможность полностью контролировать время
изучения системы, поскольку явление может быть замедлено или ускорено по желанию;
•
необходимо использование ИМ в качестве тренажера при подготовке специалистов.
При этом ИМ может применяться для приобретения новых навыков в управлении
системой и освоения правил принятия решений.
Важными ограничениями имитационного моделирования является то, что:
•
оно не предоставляет непосредственного решения математических задач, что
характерно для аналитических методов. Оно служит в качестве средства для анализа
поведения системы в условиях, которые определяются экспериментатором;
•
разработка хорошей ИМ часто обходится дороже создания аналитической модели и
требует наличия квалифицированных специалистов и больших затрат времени;
•
при использовании ИМ применяются многочисленные методы статистического
анализа данных, что усложняет исследование.
Преодоление перечисленных выше ограничений лежит на пути создания программнотехнологического инструментария, позволяющего автоматизировать этапы построения
ИМ систем и тем самым ускорить сроки их исследования.
Тема 2.2. Модельное время. Способы организации квазипараллелизма компонентов
ИМ.
Модельное время. Способы изменения модельного времени
Отметим две особенности функционирования ЭВМ, которые приходится учитывать при
разработке ИМ систем:
1
Исследуемые системы состоят из множества элементов. Все элементы системы
функционируют одновременно. Однако в большинстве ЭВМ параллельное выполнение
нескольких программ, имитирующих поведение отдельных элементов системы,
невозможно.
2
Компьютеры, как цифровые устройства, способны имитировать поведение системы
только в дискретном времени. То есть все события, возникающие в системе, должны
иметь привязку к дискретной шкале времени с заданным минимальным делением
(например, микросекунда, минута или сутки).
Чтобы
обеспечить
имитацию
параллельных
(одновременных)
процессов
функционирования элементов системы в ИМ используется специальная переменная t.j.
называемая модельным временем. С помощью переменной tM организуются
синхронизация всех событий и процессов в ИМ системы, т. е. реализуется
квазипараллельная работа компонентов ИМ. Приставка
«квази» отражает
последовательный характер обслуживания в ИМ компонентов и событий, одновременно
возникающих в различных элементах реальной системы.
Модельное время tM следует отличать от других типов времени, используемых при
моделировании систем, таких как: tv - реальное время системы, функционирование
которой имитируется; t3 - машинное время имитации, отражающее затраты ресурса
времени ЭВМ на организацию имитационного моделирования. Так, на современной ЭВМ
в течение одной минуты (4 = 1 мин) можно промоделировать годовую работу (t v = 1 год)
билетной кассы.
Возможны два способа изменения модельного времени: «шагом до следующего события»
и «фиксированным шагом».
При использовании продвижения модельного времени «шагом до следующего события»
модельное время в исходном состоянии устанавливается в 0. Определяется время
возникновения будущих событий. После этого часы модельного времени переходят на
время возникновения ближайшего события, и в этот момент обновляется состояние
системы с учетом произошедшего события, а также сведения о времени возникновения
будущих событий. Процесс продвижения tM от времени возникновения одного события до
времени возникновения других событий продолжается до тех пор, пока не будет
выполнено некоторое указанное заранее условие останова.
В дискретных моделях, где все изменения состояния (все события) происходят мгновенно
(например, поступление посетителя в очередь, начало обслуживания), периоды
бездействия системы просто пропускаются, и модельное время изменяется от момента
возникновения одного события к моменту выполнения другого.
В непрерывных моделях (например, моделях гидравлических процессов, процессов
механического износа деталей), где изменения состояний системы происходят плавно,
продвижение модельного времени выполняют «фиксированным шагом», изменяя tM на
константу ДtM малую по сравнению с длительностью изменения состояния системы. При
этом динамика модели является дискретным приближением реальных процессов
(вследствие необходимости представить непрерывный процесс в дискретной ЭВМ).
Тема 2.2. Способы организации квазипараллелизма компонентов ИМ
Вследствие последовательного характера обработки информации в большинстве ЭВМ
параллельные процессы, происходящие в исследуемой системе, преобразуются в
последовательные процессы. Например, при имитационном моделировании билетной
кассы параллельные процессы, связанные с имитацией поступления пассажиров,
имитацией обслуживания пассажиров в кассе и с контролем состояния очереди,
фактически ЭВМ обрабатывает последовательно. Процедура преобразования
параллельных
процессов
в
последовательный
называется
организацией
квазипараллелизма.
В зависимости от способов описания ИМ применяют следующие основные способы
организации квазипараллелизма: событийный, процессный, транзактный, агрегатный и
основанный на просмотре активностей.
Событийный способ организации квазипараллелизма используется, когда элементы
изучаемой системы выполняют одни и те же функциональные действия, которые
приводят к одним и тем же событиям. Множество событий можно разбить на небольшое
число типов событий. Для каждого типа событий определена последовательность
действий, приводящая к изменению состояния системы, а также определены условия
перехода от одного события к другому для всех типов событий.
Агрегатный способ организации квазипараллелизма используется, когда имеет место
тесное взаимодействие между функциональными действиями элементов системы. При
агрегатном способе все элементы исследуемой системы представляют собой агрегаты,
обменивающиеся сигналами. Выходной сигнал от одного агрегата является входным
сигналом для другого. Моделирование поведения агрегата - это последовательная цепь
переходов из одного состояния в другое под воздействием поступающих сигналов.
Способ, основанный на просмотре активностей, применяется, когда все действия для
элементов исследуемой системы различны и приводят к наступлению различных событий.
При этом каждое действие характеризуется набором условий его выполнения.
Моделирующий алгоритм, основанный на просмотре активностей, реализует просмотр
всех наборов условий, а также обрабатывает активности, условия для которых
выполняются, т.е. моделирует время выполнения соответствующего действия и реализует
само действие.
Процессный способ сочетает в себе черты событийного способа и способа, основанного на
просмотре активностей. Он применяется, когда поведение элементов исследуемой
системы может быть описано фиксированными для некоторого класса систем
последовательностями событий и действий, так называемыми процессами.
Транзактный способ организации квазипараллелизма- развитие процессного способа для
моделирования систем массового обслуживания. Инициаторами появления событий в ИМ
являются транзакты - динамические объекты, отождествляемые с заявками на
обслуживание, которые перемещаются между элементами системы массового
обслуживания. Для описания ИМ создается фиксированный набор блоков, связанных с
обработкой и обслуживанием транзактов. С их помощью происходит уничтожение и
создание транзактов, задержка их на некоторый период времени, управление движением
транзактов, занятие и освобождение различных типов ресурсов системы. Связь между
обслуживающими приборами устанавливается с помощью системы очередей и способов
извлечения из них транзактов.
Одну и ту же систему принципиально можно представить любым из указанных способов.
Однако построенные на их основе модели будут отличаться размерами и количеством
ресурсов, затраченных на их создание, испытание и использование.
Тема 3.1. Технология построения и использования ИМ.
Содержательное описание объекта моделирования. Построение концептуальной
модели
Содержательное описание объекта моделирования
Процесс построения и исследования ИМ систем целесообразно выполнять поэтапно. При
этом рекомендуется придерживаться следующего порядка.
На первом этапе осуществляется постановка задачи и формулировка целей исследования:
•
выбираются показатели эффективности функционирования исследуемой системы,
отражающие цели моделирования;
•
определяются управляющие параметры и контролируемые переменные;
•
выполняется описание внешней среды, с которой взаимодействует объект
исследования;
•
составляется список возможных ограничений модели.
Построение концептуальной модели
На основании содержательного описания исследуемой системы осуществляется переход к
концептуальной модели. Концептуальная модель представляет собой упрощенное
математическое или алгоритмическое описание исследуемой системы.
На этапе построения концептуальной модели проводится разбиение (декомпозиция)
системы на элементы, допускающие удобное математическое или алгоритмическое
описание, определяются связи между элементами.
В состав концептуальной модели входят:
•
уточнённое содержательное описание объекта моделирования;
•
список управляющих параметров и контролируемых переменных;
•
критерии эффективности функционирования вариантов системы;
•
список используемых методов обработки результатов имитации и перечисление
способов представления результатов моделирования.
Составление модели на языке моделирования. Испытание имитационной модели
Составление модели на языке моделирования
На этом этапе выбирается тип ЭВМ, средство автоматизации моделирования, примерные
затраты памяти и времени на создание ИМ.
Разрабатывается алгоритм моделирования, приводится схема ИМ в терминах алгоритма
моделирования или выбранного средства моделирования и описывается программная
реализация модели.
Дается описание каждого блока программы с комментариями к ним. Для оценки
правильности программной реализации ИМ проводится пробный эксперимент с целью
проверки правильности функционирования программы. Приводятся данные по
тестированию модели.
Несмотря на то, что при разработке ИМ может использоваться любой из универсальных
языков программирования (например, Паскаль, Си и др.), на практике предпочтение часто
отдается
специализированному
предметноориентированному
программному
обеспечению автоматизации имитационного моделирования. Подходы, основанные на
использовании универсальных языков и средств автоматизации имитационного
моделирования, имеют как свои достоинства, так и недостатки.
Испытание имитационной модели
Испытание ИМ включает два этапа: верификацию и проверку адекватности.
На этапе верификации необходимо убедиться в правильности алгоритма
функционирования ИМ, его соответствии замыслу моделирования. Необходимо получить
гарантию того, что созданная ИМ во всех ситуациях будет правильно отражать поведение
исследуемой системы. С помощью верификации устанавливается верность логической
структуры модели.
Обычно верификация выполняется в ходе комплексной отладки программы ИМ на
реальных или тестовых исходных данных. Важно при этом тщательно отладить и
проверить поведение программы той части модели, которая прогнозирует работу системы.
Под адекватностью ИМ объекту исследования понимают совпадение с заданной
точностью значений характеристик функционирования ИМ и реального объекта.
При отсутствии адекватности проводят калибровку ИМ (корректируют параметры
компонентов модели и алгоритмы их функционирования). При наличии ошибок во
взаимодействии компонентов модели возвращаются к этапу создания ИМ. Возможно, что
в ходе формализации были слишком упрощены процессы и исключен из рассмотрения
ряд важных сторон функционирования исследуемой системы, что привело к
неадекватности модели.
Исследование свойств имитационной модели
На данном этапе оцениваются точность имитации, необходимый объем выборки, длина
реализация прогона ИМ, устойчивость результатов моделирования, чувствительность
критериев качества к изменению параметров ИМ, стационарность режима моделирования
и др.
После испытаний имитационной модели переходят к изучению ее свойств. При этом
наиболее важны четыре процедуры:
• оценка погрешности имитации;
• определение длительности переходного режима в имитационной модели;
• оценка устойчивости результатов имитации;
• исследование чувствительности имитационной модели.
Оценка погрешности имитации, связанной с использованием в модели генераторов ПСЧ.
Исследование качества генераторов ПСЧ проводится известными методами теории
вероятностей и математической статистики. Важнейшим показателем качества любого
генератора ПСЧ является период последовательности ПСЧ (при требуемых
статистических свойствах). В большинстве случаев о качестве генератора ПСЧ судят по
оценкам математических ожиданий и дисперсий отклонений компонент функции отклика.
Как уже отмечалось, для подавляющего числа практических задач стандартные
(встроенные) генераторы дают вполне пригодные последовательности ПСЧ.
Определение длительности переходного режима. Обычно имитационные модели
применяются для изучения системы в типичных для нее и повторяющихся условиях. В
большинстве стохастических моделей требуется некоторое время Tо для достижения
моделью установившегося состояния.
Под статистическим равновесием, или установившимся состоянием, модели понимают
такое состояние, в котором противодействующие влияния сбалансированы и
компенсируют друг друга. Иными словами, модель находится в равновесии, если ее
отклик не выходит за предельные значения.
Существуют три способа уменьшения влияния начального периода на динамику
моделирования сложной системы:
• использование «длинных прогонов», позволяющих получать результаты после
заведомого выхода модели на установившийся режим;
• исключение из рассмотрения начального периода прогона;
• выбор таких начальных условий, которые ближе всего к типичным.
Каждый из этих способов не свободен от недостатков: «длинные прогоны» приводят к
большим затратам машинного времени; при исключении из рассмотрения начального
периода теряется часть информации; выбор типичных начальных условий,
обеспечивающих быструю сходимость, как правило, затруднен отсутствием достаточного
объема исходных данных (особенно для принципиально новых систем).
Для отделения переходного режима от стационарного у исследователя должна быть
возможность наблюдения за моментом входа контролируемого параметра в стационарный
режим. Часто используют такой метод: строят графики изменения контролируемого
параметра в модельном времени и на нем выявляют переходный режим.
На практике встречаются случаи, когда переходные режимы исследуются специально.
Понятно, что при этом используют «короткие прогоны», исключают из рассмотрения
установившиеся режимы и стремятся найти начальные условия моделирования,
приводящие к наибольшей длительности переходных процессов. Иногда для увеличения
точности результатов проводят замедление изменения системного времени.
Оценка устойчивости результатов имитации. Под устойчивостью результатов имитации
понимают степень их нечувствительности к изменению входных условий. Универсальной
процедуры оценки устойчивости нет. Практически часто находят дисперсию отклика
модели Y по нескольким компонентам и проверяют, увеличивается ли она с ростом
интервала моделирования. Если увеличения дисперсии отклика не наблюдается,
результаты имитации считают устойчивыми.
Важная практическая рекомендация: чем ближе структура модели к структуре реальной
системы и чем выше степень детализации учитываемых в модели факторов, тем шире
область устойчивости (пригодности) результатов имитации.
Раздел 3.Имитационное моделирование на GPSSW.
Тема 3.1. Интегрированная среда GPSSW
GPSS World – это общецелевая система моделирования, значительно облегчающая
процесс создания и выполнения программ имитационного моделирования.
В процессе инсталляции система GPSSW по умолчанию устанавливается в каталог
C:\Program Files\Minuteman Software\GPSS World Student Version.
Для системы GPSSW требуется IBM_совместимый компьютер с ОС Windows
95, 98 и выше. Целесообразно использовать процессоры типа Pentium II и выше.
Желательно иметь мышь. Требуется, по меньшей мере, 32 Мбайт оперативной
памяти и 10 Мбайт свободного пространства на жестком диске (винчестере).
Запуск системы GPSSW можно выполнить несколькими способами.
Первый способ: дважды щелкните мышью по файлу GPSSW.exe в каталоге,
в котором была установлена система. Появится главное окно системы GPSS World.
Второй способ:
• щелкните мышью по кнопке Пуск ОС Windows. Появится всплывающее
меню;
• щелкните по пункту Программы во всплывающем меню. Появится следующее
всплывающее меню;
• щелкните по пункту GPSS World. Откроется главное окно
системы GPSSW (рис. 1.1).
В первой строке (строке заголовка) главного окна указано название окна –GPSS World.
Во второй строке располагаются пункты главного меню, в третьей –стандартная панель
инструментов. Нижняя строка главного окна – строка состояния системы, в которой
дается краткое описание выделенной команды.
Система GPSSW имеет иерархическую систему меню, состоящую из главного
меню, систем выпадающих и всплывающих меню (подменю).
Главное меню служит для вызова выпадающих меню. Набор пунктов главного
меню располагается во второй строке главного окна системы GPSS.
Выпадающее меню предназначено для вызова всплывающего меню, диалогового окна или
соответствующей команды. Выпадающее меню располагается под соответствующим
пунктом главного меню.
Всплывающее меню позволяет вызывать другое всплывающее меню, диалоговое
окно или соответствующую команду. Всплывающее меню располагается справа от
выбранного пункта выпадающего меню. Для выбора пункта всплывающего меню
достаточно щелкнуть по нему левой кнопкой мыши.
Рис. 1.1. Главное окно системы GPSS World
Главное меню GPSS
Главное меню обеспечивает доступ ко всем средствам системы GPSSW. По своей
сути главное меню является основным управляющим центром этой системы. Роль
дополнительного центра играет стандартная панель инструментов, включающая
ряд кнопок, за которыми закреплены наиболее часто используемые команды.
Система меню GPSSW – это хорошо скоординированная совокупность выпадающих и
всплывающих меню. После щелчка мышью по любому пункту главного меню или
нажатия на «горячие» клавиши (HotKeys) на экране появляется соответствующее
выпадающее меню. «Горячая» клавиша выделяется в названии
пункта меню путем подчеркивания одной буквы. Чтобы с помощью клавиатуры
получить быстрый доступ к пункту главного меню, а значит и к нужному выпадающему
меню, необходимо нажать на клавишу Alt и, удерживая ее, на ту алфавитную клавишу,
название которой подчеркнуто. Например, для быстрого обращения к пункту View (Вид)
достаточно нажать комбинацию клавиш Alt+V.
Вызов соседнего выпадающего меню осуществляется с помощью клавиши со
стрелкой влево или вправо. Выделить любой пункт выпадающего или всплывающего
меню (подменю) можно путем наведения на него указателя мыши или
с помощью клавиш перемещения со стрелкой вниз либо вверх.
Для выполнения выделенного пункта меню существует несколько способов:
• нажать на клавишу Enter;
• нажать на «горячую» клавишу, название которой подчеркнуто;
• щелкнуть мышью по выделенному пункту.
Многие пункты главного меню заблокированы и обесцвечены серым тоном до
тех пор, пока вы не откроете и не создадите соответствующие объекты системы
GPSSW.
Чтобы закрыть выпадающее или всплывающее меню, достаточно нажать на
клавишу Esc или щелкнуть мышью по полю окна вне меню.
Выпадающее меню – это меню, появляющееся после щелчка по любому пункту
главного меню. Оно, в свою очередь, состоит из пунктов подменю, или команд.
Пункт меню, после названия которого стоит многоточие, – диалоговая команда, и при ее
выборе появляется диалоговое окно.
Если в правой части пункта имеется треугольная стрелка, то при выборе такого
пункта открывается подменю (всплывающее меню).
В том случае, если яркость пункта понижена, этот пункт в данный момент не
доступен для использования.
Флажок (галочка), предшествующий пункту или появляющийся при его выборе,
свидетельствует о том, что пункт может находиться во включенном или выключенном
состоянии: он считается включенным при наличии флажка слева
и выключенным – при отсутствии.
Справа от названия пункта меню часто указываются клавиши акселераторы
(shortcut keys, acceleration keys), предназначенные для оперативного доступа
к этому пункту или команде.
Далее рассмотрим выпадающие меню для каждого пункта главного меню.
Состав и структура меню
Пункт File (Файл) главного меню служит для работы с файлами документов.
Файл – это именованная упорядоченная совокупность данных или кодов программ на
диске, имеющая имя и расширение. Файлы имитационных моделей
в системе GPSSW записываются в окне Model (Модель)и сохраняются с расширением
.gps, которое указывается
сразу после имени файла. Текстовые файлы системы GPSSW записываются в окне Text
File (Текстовый файл) и сохраняются с расширением .txt. Они имеют текстовый
формат, и их легко прочитать и модифицировать при помощи любого текстового
редактора. Файлы могут содержать и результаты проведенного моделирования. Эти
файлы создаются после сохранения содержимого окна REPORT (Отчет). При этом файл
будет иметь расширение .gpr. Кроме того, можно сохранить сообщения, появляющиеся в
процессе моделирования систем. Эти сообщения, выводимые в окне JOURNAL (Журнал),
можно сохранить в файле с расширением .sim.
Рис. 1.2. Выпадающее меню пункта File главного меню
Выбор пункта File главного меню или нажатие комбинации клавиш Alt+F вызывает
выпадающее меню работы с файлами, показанное на рис. 1.2.
Выпадающее меню пункта File главного меню включает большой набор пунктов и
соответствующих «горячих» клавиш:
• New (Создать) – Ctrl+N;
• Open... (Открыть) – Ctrl+O;
• Close (Закрыть);
• Save (Сохранить) – Ctrl+S;
• Save As… (Сохранить как);
• Print... (Печать) – Ctrl+P;
• Internet;
• Recent File (Последний файл);
• Exit (Выйти).
Cоздание нового файла
При выборе пункта New или нажатии комбинации клавиш Ctrl+N обеспечивается вызов
диалогового окна Новый документ. У пункта New есть на стандартной
панели инструментов дублирующая пиктограмма с изображением чистого листа
с загнутым правым верхним уголком. Используя диалоговое окно Новый документ,
можно создать новый файл для моделирования с помощью пункта Model
с расширением .gps и текстовый файл с помощью пункта Text File с расширением
.txt. После двойного щелчка мышью по требуемому типу файла или щелчка по
кнопке ОК при выделенном нужном файле появится соответствующее окно: для
ввода моделируемой системы – Untitled Model 1 (Без названия модель 1) – или
для создания текстового файла – Untitled Text File 1 (Без названия текстовый
файл 1).
В качестве примера введем в окне Untitled Model 1 модель одноканальной разомкнутой
системы массового обслуживания (СМО). На рис. 1.3 представлена
модель простейшей системы массового обслуживания, в которой выделены основные
события.
Охарактеризуем каждое событие, возникшее в СМО:
1. Появление требования в системе (GENERATE – Генерировать).
2. Вход требования в очередь (QUEUE – Очередь).
3. Определение занятости канала обслуживания (SEIZE – Занять). Если канал
занят, то требование остается в очереди, если свободен – то входит в канал
обслуживания.
4. Выход требования из очереди (DEPART – Выйти).
5. Обслуживание требования в канале обслуживания (ADVANCE – Задер_
жать).
6. Освобождение канала обслуживания (RELEASE – Освободить).
7. Выход требования из системы (TERMINATE – Завершить).
Эта программа в системе GPSSW будет выглядеть так, как показано на рис. 1.4.
Использованные в программе операторы полностью соответствуют содержанию и логике
моделируемой системы. Справа от операторов пишутся параметры
(признаки, переменные), которые характеризуют данное событие. Так, в операторе
GENERATE первая цифра – 7 – определяет средний интервал времени между
поступлениями требований в систему на обслуживание, а вторая – 2 – максимально
допустимое отклонение от среднего времени. В операторах QUEUE и DEPART
цифра 1 определяет номер очереди, в которую вошло и из которой собирается
выйти требование. В операторах SEIZE и RELEASE символы KAN определяют
символическое имя канала обслуживания, в который собирается войти требование,
если он освободился, и выйти – если требование уже в нем обслужилось. В операторе
ADVANCE первая цифра – 6 – определяет среднее время обслуживания требования, а
вторая – 3 – максимально допустимое отклонение от этого времени.
Оператор TERMINATE выполняет удаление одного требования из системы.
Цифра 200 в операторе START означает число требований, которые необходимо
пропустить через систему.
Рис. 1.4. Окно Untitled Model 1 с введенной в него моделью
одноканальной разомкнутой СМО
В нашем простейшем примере требования поступают на обслуживание в систему
случайно в интервале [5–9] единиц времени с равномерным распределением. А время
обслуживания колеблется в интервале [3–9] единиц времени, также
19
с равномерным распределением. При этом моделируется прохождение через систему 200
требований.
В системе моделирования GPSSW предусмотрен стандартный отчет, в котором
выводятся результаты моделирования.
Стандартный отчет включает в себя результаты моделирования системы, например такие,
как:
• коэффициент использования канала обслуживания;
• средняя длина очереди;
• среднее время пребывания требования в очереди и ряд других.
Чтобы получить стандартный отчет для модели при наличии в ней управляющего
оператора START, необходимо:
• щелкнуть по кнопке Command (Команда) главного меню. Появится выпадающее меню;
• щелкнуть по кнопке Create Simulation (Создать выполняемую модель). Появится окно
JOURNAL, а затем – REPORT с результатами моделирования;
фрагмент последнего показан на рис. 1.5.
Рис. 1.5. Стандартный вывод результатов моделирования
В стандартный отчет включаются следующие основные показатели моделирования
системы:
• время моделирования системы – END TIME (Время окончания);
• число обслуженных требований в канале обслуживания – ENTRIES (Число
входов);
• коэффициент использования канала обслуживания – UTIL. (Использование);
• среднее время обслуживания требования в канале – AVE. TIME (Среднее
время);
• максимальная длина очереди – MAX (Максимальная);
• средняя длина (содержимое) очереди – AVE.CONT. (Среднее содержимое);
• среднее время пребывания требования в очереди – AVE. TIME – и ряд других
показателей.
Для разработки модели функционирования этой, казалось бы, очень простой
системы массового обслуживания с использованием наиболее распространенных
языков программирования BASIC, Pasсal, C или FORTRAN потребовалось бы на
порядок большее число операторов и высокий уровень программиста. Решение же
такого типа задач в системе GPSSW доступно каждому пользователю после небольшой
подготовки.
Меню Command
Выбор пункта Command главного меню или нажатие комбинации клавиш Alt+C
вызывает выпадающее меню команд, изображенное на рис. 1.14.
Рис. 1.14. Выпадающее меню пункта Command главного меню
Меню предлагает следующие пункты:
• Create Simulation (Создать выполняемую модель)
или нажатие комбинации клавиш Ctrl+Alt+S дает команду на вызов транслятора и
выполнение трансляции исходной модели с фиксацией даты и времени начала и
окончания трансляции;
• Retranslate (Перетранслировать) или нажатие
комбинации клавиш Ctrl+Alt+R обеспечивает перетранслирование модели;
• Repeat Last Command (Повторить последнюю команду) или нажатие комбинации
клавиш Ctrl+Alt+L
обеспечивает повторение выполнения последней
команды;
• CONDUCT (Управление) дает возможность проведения эксперимента;
• START (Пуск) обеспечивает запуск оттранслированной программы на выполнение с
помощью диалогового окна Start Command (Выполнить команду);
• STEP1 (Шаг 1) или нажатие комбинации клавиш Ctrl+Alt+1 обеспечивает
пошаговое выполнение оттранслированной программы;
• HALT (Останов) прерывает процесс моделирования;
• CONTINUE (Продолжить) обеспечивает продолжение процесса моделирования;
• CLEAR (Очистить) – возвращение моделирования в первоначальное состояние;
• RESET (Сброс) – сброс статистики в начальное состояние;
• SHOW … (Показать) вызывает диалоговое окно Show Command (Показать
команду), которое обеспечивает возможность просмотра искомых параметров в окне
JOURNAL;
• Custom … (Пользователь) вызывает диалоговое окно Simulation Command
(Команда моделирования) для ввода команд управления пользователем во
время моделирования.
Окно исходной модели
Окно исходной модели системы GPSSW предназначено для эффективной разработки,
проверки и отладки программ в GPSSW. Это окно вызывается автоматически при
открытии файла с программой на языке GPSS в диалоговом окне
Open.
Вывести на экран диалоговое окно открытия файла можно тремя способами:
• выбрать пункт Open... выпадающего меню пункта File;
• нажать комбинацию клавиш Ctrl+O;
• щелкнуть по кнопке с изображением открытой папки на стандартной панели
инструментов.
В диалоговом окне открытия файла необходимо найти соответствующую папку (каталог)
и дважды щелкнуть по ней мышью. В раскрытой папке (каталоге)
аналогичным способом следует отметить нужный файл, который будет помещен
в текстовое окно системы GPSS.
В качестве примера рассмотрим файл KRANM_1.GPS, который содержит программу,
написанную на языке имитационного моделирования GPSS в системе
GPSSW (рис. 1.19).
Рис. 1.19. Окно исходной модели
Следует помнить, что в каждом окне модели можно работать только с одним
файлом – одной программой. Каждый раз при открытии файла система GPSSW
отображает его в новом окне модели.
Программу, находящуюся в окне модели, можно оттранслировать и получить
искомый результат. Для этого важно, чтобы окно модели было активным. Если вы
не уверены в этом, щелкните мышью в любом месте окна и сделайте его активным. Чтобы
загрузить программу на транслирование и выполнение:
• щелкните мышью по пункту Command главного меню. Появится выпадающее меню;
• щелкните мышью по пункту Create Simulation … (Создать выполняемую
модель) выпадающего меню. Если программа без ошибок и в ней присутствует
управляющая команда (оператор) START, которую не сопровождают символы NP (Not
Print – Не печатать), то результаты моделирования появятся
в окне REPORT.
Можно также нажать комбинацию клавиш Ctrl+Alt+S, которая дает команду
на вызов транслятора и выполнение процесса трансляции исходной модели.
Имитационное моделирование в программе KRANM_1.GPS не выполняется, так
как в ней нет управляющей команды START. Но в результате вышеуказанных
действий появится окно JOURNAL с сообщением даты и времени начала и окончания
проведения трансляции, например такое, как на рис. 1.20.
Рис. 1.20. Окно JOURNAL
Из сообщения, приведенного на рис. 1.20, следует, что началась трансляция
исходной модели (Model Translation Begun – Начало трансляции модели) 30 декабря 2001
года в 20 ч 43 мин 37 с и закончилась (Ready – Готово) практически
в это же время.
Затем оттранслированная программа может быть запущена на выполнение. Для
этого:
• щелкните по пункту Command главного меню. Появится выпадающее меню;
• щелкните по пункту Start выпадающего меню. Появится диалоговое окно
Start Command, показанное на рис. 1.21.
Рис. 1.21. Диалоговое окно Start Command
После щелчка по кнопке ОК появятся результаты моделирования.
На рис. 1.22 показан фрагмент результатов моделирования задачи KRANM_1.GPS в окне
REPORT.
Название программы сразу определяет, что моделируется, – кран и машины, с которыми
он работает. Окно JOURNAL служит также и для отображения диагностических
сообщений об ошибках
в программах.
Рис. 1.22. Фрагмент результатов моделирования задачи KRANM_1.GPS
Допустим, вы сделали ошибку в операторе ADVANCE, написав его имя неверно,
например ADANCE. Сообщение об этом появится в окне JOURNAL (рис. 1.23).
Рис. 1.23. Окно JOURNAL с указанием ошибки
Допустим, вы сделали ошибку в операторе ADVANCE, написав его имя неверно,
например ADANCE. Сообщение об этом появится в окне JOURNAL (рис. 1.23).
В окне JOURNAL указываются номер строки (Line 8) и позиция в строке (Col 6),
где сделана ошибка. Ниже приводится некорректная строка программы:
AVTO ADANCE 20,4 ; A.aiy ainoaaee a.oca [16 - 24] iei.
Еще ниже дается сообщение:
**** Model Translation Aborted **** (Трансляция исходной модели прервана)
Чтобы быстро выйти на строку, где сделана ошибка, можно использовать пункт
главного меню Search (Поиск). Для этого:
• щелкните по пункту Search главного меню. Появится выпадающее меню;
• щелкните по пункту Go to Line (Перейти к строке) выпадающего меню. Появится
диалоговое окно Enter Line Number (Введите номер строки), показанное на рис. 1.24;
• введите в текстовом поле номер строки, в которой сделана ошибка.
Рис. 1.24. Диалоговое окно Enter Line Number
Каждый этап моделирования сопровождается указанием даты и времени выполнения,
включая и этапы диагностики ошибок.
Система GPSSW обеспечивает возможность копирования и передачи текста программы
внутри
окна и между окнами, а также между окнами и любым приложением, используя буфер
обмена данными.
Для этого выделите нужный текст (фрагмент программы, программу и т.д.) в окне,
щелкните по пункту Edit (Правка) главного меню системы GPSSW,
а затем – по пункту Copy (Копировать) выпадающего меню или по одноименной
кнопке на стандартной панели инструментов либо нажмите комбинацию клавиш
Ctrl+C.
Следует иметь в виду, что система GPSSW имеет широкий набор разнообразных окон:
• Model (Модель) – окно полноэкранного текстового редактора модели;
• JOURNAL (Журнал) – окно журнала для записи различных сообщений;
• Blocks Window (Окно блоков) – окно для интерактивного представления динамики
перемещения требований по блокам;
• Expressions Window (Окно выражений) – окно для интерактивного представления
значений выражений;
• Facilities Window (Окно каналов обслуживания) – окно для интерактивного
представления динамики значений параметров каналов обслуживания;
• Logicswitches Window (Окно логических переключателей) – окно для интерактивного
представления динамики логических переключателей;
• Matrix Window (Окно матрицы) – окно для интерактивного представления
динамики значений элементов матрицы;
• Plot Window (Окно графика) – окно для интерактивного представления до
8 графиков выражений;
• Queues Window (Окно очередей) – окно для интерактивного представления
динамики изменения очереди;
• Savevalues Window (Окно сохраняемых величин) – окно для интерактивного
представления динамики изменения значений сохраняемых величин
в процессе моделирования;
• Storages Window (Окно накопителей) – окно для интерактивного представления
динамики изменения значений параметров накопителя;
• Table (Таблица) – окно для интерактивного представления динамики изменения
значений таблицы;
• Transaction Snapshot (Снимок требования) – изображение состояния требования в
процессе моделирования;
• CEC Snapshot (Снимок цепи текущих событий) – изображение состояния
цепи текущих событий в процессе моделирования;
• FEC Snapshot (Снимок цепи будущих событий) – изображение состояния
цепи будущих событий в процессе моделирования;
• Numeric Groups Snapshot (Снимок числовых групп) – изображение состояния числовых
групп в процессе моделирования;
• Userchains Snapshot (Снимок цепи пользователя) – изображение состояния
цепи пользователя в моделировании;
• Transaction Groups Snapshot (Снимок групп требований) – изображение состояния
групп требований в процессе моделирования.
Тема 3.1. Основы моделирования в системе GPSSW.
Базовые понятия и определения
Система GPSSW, как вам уже известно, предназначена для моделирования дискретных (в
основном, систем массового обслуживания) и непрерывных систем.
Система массового обслуживания
Система массового обслуживания – это совокупность последовательно связанных
между собой входящих потоков требований на обслуживание (машин, самолетов,
пользователей и т.д.), накопителей, очередей, каналов обслуживания (станций
техобслуживания, аэродромов, ЭВМ и т.д.) и выходящих потоков требований после
обслуживания.
Входящий поток требований – это последовательность входящих требований,
нуждающихся в обслуживании в системе и подчиняющихся определенному закону.
Выходящий поток требований – это последовательность выходящих требований,
обслуженных в системе и подчиняющихся определенному закону.
Требование (транзакт) – это объект, поступающий в систему и нуждающийся
в определенном обслуживании в данной системе. Требование является активным
элементом в моделируемой системе. Под требованием можно понимать сообщение,
машину, изделие, информацию, пользователя и т.д. Требование в системе GPSSW – это
объект с набором определенных признаков, который
определяется уникальным номером. Объекты нумеруются последовательно,
начиная с номера 1.
Канал обслуживания – устройство, в котором выполняется обслуживание требования.
Основным параметром канала обслуживания является время обслуживания, которое, как
правило, является случайной величиной.
Накопитель (буфер) – это место временного расположения требований, нуждающихся в
обслуживании. Накопители характеризуются не временем обслуживания требований, а
емкостью – максимально возможным количеством одновременно находящихся в
накопителе требований.
Имитационная модель
Имитационная модель – это формальное описание логики функционирования
исследуемой системы во времени, учитывающее наиболее существенные взаимодействия
ее элементов и обеспечивающее возможность проведения статистических экспериментов.
Имитационная модель СМО – это модель, отражающая поведение системы
и изменения ее состояния во времени при заданных потоках требований, поступающих на
входы системы. Параметры входных потоков требований – внешние параметры СМО.
Выходными параметрами являются величины, характеризующие
свойства системы – качество ее функционирования, – например такие, как:
• коэффициенты использования каналов обслуживания;
• максимальная и средняя длина очередей в системе;
• время нахождения требований в очередях и каналах обслуживания и т.д. Имитационное
моделирование – это численный метод определения параметров функционирования самых
различных систем по многочисленным реализациям с учетом вероятностного характера
протекания процесса.
Основой имитационного моделирования является метод статистических испытаний –
метод Монте_Карло. Этот метод наиболее эффективен при исследовании
сложных систем, на функционирование которых оказывают существенное влияние
случайные факторы.
Имитационное моделирование позволяет исследовать СМО при различных
типах входных потоков и разной интенсивности поступления требований в систему, а
также различных дисциплинах обслуживания требований.
Модель в системе GPSSW – это последовательность операторов моделирования. Оператор
моделирования может быть или оператором GPSS, или процедурой языка PLUS
(Programming Language Under Simulation – Язык программирования для моделирования).
Представление времени в процессе имитации
При имитационном моделировании выделяют три представления времени: реальное,
модельное (системное) и машинное время.
Реальное время – это время, в котором происходит функционирование моделируемой
системы в реальной жизни, например час, смена, год.
Модельное (системное) время – это время, в котором происходит функционирование
моделируемой системы при проведении имитационного моделирования
на ЭВМ. В системном времени выполняются следующие действия:
• осуществляется переход моделируемой системы из одного состояния в другое;
• выполняется синхронизация работы всех компонент имитационной модели;
• обеспечивается управление ходом имитационных экспериментов;
• обеспечивается параллельная реализация событий в моделируемой системе.
Машинное время – это время, отражающее затраты времени ЭВМ на проведение
имитационного моделирования.
Система моделирования GPSSW основана на переходе требований (транзактов) от блока к
блоку (от оператора к оператору) в определенные моменты времени, что называется
событием.
Событие – это нечто, меняющее статус связанных с ним состояний системы.
События соответствуют конкретным изменениям в реальной системе: требование
появилось, требование вошло в очередь, требование обслуживается и т.д. При этом
прослеживается процесс моделирования с использованием как абсолютного времени
(текущего), так и относительного (с начала прогона модели, с момента последней
модификации или последнего сброса и т.д.). События характеризуются
условиями (или законом) возникновения и типом, который определяет порядок
их обработки (дисциплину обслуживания). Событие по существу представляет
собой мгновенное изменение некоторого элемента системы или состояния системы в
целом. Очень важная особенность GPSSW заключается в том, что продолжительность
моделирования определяется не длительностью интервалов между событиями,
а числом событий, возникающих в системе. Поэтому переход на более мелкие единицы
времени не увеличивает время моделирования.
Динамические элементы системы
Динамическими объектами системы являются требования (транзакты), которые
создаются и уничтожаются в определенные моменты времени моделирования той
или иной системы. Требования перемещаются от блока к блоку, которые имитируют
реальные элементы моделируемой системы.
Поведение требования определяется его несколькими фазовыми переменными
(атрибутами, параметрами).
Параметры требования – это набор значений, связанных с требованием. Каждое
требование может иметь любое число параметров. Каждый параметр имеет
номер – положительное целое число. Значение любого параметра активного требования
может быть возвращено через стандартный числовой атрибут (StandardNumber Attribute,
SNA) P<iiia. o.aaiaaiey> или P$<eiy o.aaiaaiey>. Необходимо создать параметры
требования и присвоить им значения до того, как они
будут использоваться. Параметрами могут быть:
• приоритет, определяющий предпочтение, которое требование получает, когда оно
вместе с другими требованиями ожидает один и тот же ресурс. Требования с более
высокими приоритетными значениями получают предпочтение. Наиболее важные
приоритетные очереди в моделировании – цепь текущих событий (Current Events Chain),
цепи задержек каналов обслуживания (Facility Delay Chains) и цепи задержек накопителей
(Storage Delay
Chains). Эффект приоритета заключается в том, что требование с более высоким
приоритетом будет выбрано на обслуживание раньше требований
с низким приоритетом;
• метка времени – абсолютное время – с начала моделирования или с момента входа
требования в блок MARK (Метка) без операнда А;
• номер ансамбля – положительное целое число, сохраняемое внутри каждого требования.
Номера для ансамбля используются, чтобы синхронизировать требования в блоках
ASSEMBLE (Объединить), GATHER (Со_
брать) и MATCH (Согласовать). Когда требование создается блоком
GENERATE, его номер для ансамбля устанавливается равным номеру
требования. Когда требование создается блоком SPLIT (Разделить), номер для ансамбля
устанавливается равным номеру родительского требования. Можно изменить номер
требования для ансамбля, используя блок
ADOPT (Принять);
• индикатор задержки – флажок, сохраняемый в каждом требовании, который
устанавливается при входе в любой блок и сбрасывается при входе в блок
TRANSFER SIM. Он используется блоками TRANSFER SIM, чтобы переадресовать
требования;
индикатор трассировки – флажок, сохраняемый в требовании, который заставляет
генерировать сообщение трассы каждый раз, когда требование, входит в любой блок.
Индикатор трассировки устанавливается блоком TRACE
(Трассировать) и сбрасывается блоком UNTRACE (Не трассировать);
• текущий блок – номер блока, который содержит требование;
• следующий блок – номер блока, в который требование будет пытаться войти
далее;
• цепи состояния требования – в них требование постоянно находится. Считается, что
требование может находиться в одном из нескольких состояний:
– активное требование – самое приоритетное требование в цепи текущих событий;
– приостановленное требование – оно ожидает в цепи будущих или текущих
событий, чтобы стать активным;
– пассивное требование – оно при моделировании временно находится
в цепи пользователя (User Chain), задержки (Delay Chain) или ожидания
(Pending Chain);
– удаленное требование – оно было удалено и больше не существует в системе
моделирования.
Кроме того, имеются другие состояния, которые не являются взаимоисключающими с
вышеуказанными:
• выгруженное требование, которое выгрузилось из канала обслуживания и находится в
одной или большем числе цепей прерываний;
• в любой момент во время дискретной стадии моделирования одно какое либо
требование пытается войти в новый блок GPSS. Это требование является
активным. Вообще, активное требование перемещается настолько далеко,
насколько это возможно в процессе моделирования. Когда оно не может перемещаться
дальше, активизируется другое требование. При этом может
быть только одно активное требование. Активное требование – самое высокое
приоритетное требование в цепи текущих событий.
Можно выделить стандартные числовые атрибуты, связанные с требованиями:
• A1 – определяет объединенный набор активных требований;
• MB$<eiy> или MB<iiia.> – возвращает 1, если имеется требование в блоке,
которое находится в том же самом наборе, что и активное требование. Иначе
возвращается 0;
• MP$<eiy> или MP<iiia.> – определяет время прохождения требования с заданным
параметром, то есть текущее абсолютное время моделирования системы;
• M1 – время прохождения требования. M1 возвращает абсолютное время моделирования
системы минус метка времени требования;
• P$<eiy>, P<iiia.> или *<eiy> – возвращает значение параметра активного
требования;
• PR – приоритет активного требования;
• XN1 – возвращает номер активного требования.
Именованные величины
В системе GPSSW используют символы обозначения и специальные символы.
Символы обозначения включают прописные буквы A–Z, строчные буквы a–z,
цифры 0–9 и символ _ (подчеркивание).
Специальные символы – это символы, используемые для обозначения операторов и
пунктуации: # (решетка), * (звездочка), + (плюс), _ (минус), / (косая черта
направо), \ (косая черта налево) и , (запятая). Символ [^] также является оператором.
Для идентификации объектов, переменных и местоположения программы используются
имена – последовательность символов. Существует несколько правил
для создания имени:
• можно использовать от 1 до 250 символов;
• имя должно начинаться с символа;
• имя не должно быть ключевым словом системы GPSSW.
Система GPSSW не различает в обозначениях верхний и нижний регистры
(прописные или строчные буквы). Только символы в строковых константах и
комментариях сохраняют нижний регистр. Все другие символы строчных букв
преобразуются в прописные.
Нельзя присваивать имена операторов, команд, а также стандартных числовых
атрибутов, используемых в системе. Чтобы избежать риска совпадения имени
с ключевыми словами системы GPSSW, включайте в имя знак подчеркивания где нибудь
после первого символа, в середине или в конце. Используйте, по крайней
мере, 3 символа сначала, а затем цифры, так как имена в стандартных числовых
атрибутах имеют 1–2 буквы и цифру.
Именованные величины – это имена, размещаемые в поле меток или в операторе
присваивания языка PLUS. Если имена используются в качестве метки оператора
GPSS, они называются метками. Если они используются в команде EQU или операторе
присваивания PLUS, они называются переменными пользователя. Именованные величины
обычно имеют глобальную область использования, и к ним можно обращаться в любом
месте модели.
Метка – имя, которое используется в команде создания объекта. В отличие от
переменных пользователя, меткам автоматически присваивается уникальное целое число
больше 9999. Когда вы обращаетесь к помеченному объекту, система
GPSSW сначала восстанавливает номер объекта, сохраненный как значение метки. Номер
объекта – строго положительное целое число, которое используется
объектом моделирования, чтобы найти или создать любой объект GPSS. Номер
объекта устанавливается системой GPSSW во время его создания. Однако если
вы хотите назначить другой номер объекту, используйте команду EQU, помещая
ее перед оператором определения объекта.__
Переменная пользователя – именованная величина, не используемая как метка
объекта, которой можно давать числовое или строковое значение и по которой
можно интегрировать, как по непрерывной переменной. Переменные пользователя нужно
инициализировать, прежде чем их можно будет применять.
Большую роль в процессе моделирования играют величины, которые сохраняют свое
начальное значение на протяжении всего процесса моделирования.
Сохраняемые величины – это величины, начальные значения которых задаются перед
началом моделирования и к которым можно обратиться из любого места программы.
Матрица – это многомерный массив элементов. Массив в общем случае характеризуется
размерностью и размером – числом элементов в каждой размерности.
Массив размерностью 1 представляет собой строку (столбец), а размер – это число
элементов в строке (столбце). Массив размерностью 2 представляет собой прямоугольную
таблицу, а размер – это число элементов в строке (столбце), умноженное на число строк
(столбцов) в таблице. Матрицу размерностью 3 можно
представить в виде нескольких таблиц данных или результатов моделирования.
Матричный элемент – это любой элемент матрицы. Матричный элемент представляет
собой индексированную величину.
Логические переключатели – объекты, которые могут находиться только в одном из двух
состояний: установки или сброса.
Типы данных
Все переменные пользователя, матричные элементы, сохраняемые величины
и параметры требования могут иметь значение любого типа данных. В системе
выделяют три главных типа данных: целые, вещественные и строковые константы.
Первые два относятся к числовому типу данных.
Целые константы – 32_разрядные целые числа. Если во время арифметических
операций происходит переполнение целого числа, то выполняется его преобразование к
вещественному числу.
Вещественные константы имеют числа с двойной точностью с плавающей запятой. Они
имеют точность 15 десятичных цифр и диапазон экспоненты от –306 до 306.
Строковая константа – последовательность символов ASCII, взятая в двойные
кавычки. Строковая константа может иметь любой размер, насколько позволит
память. Для создания и управления строковыми константами в системе имеется
множество строковых процедур, которые находятся в библиотеке процедур.
Строковые константы используются тогда, когда вы выводите результаты моделирования
в файл результата. Вы можете также использовать строковые константы, чтобы
формировать свои собственные специальные сообщения.
Элементы выражений
Элементы выражений – это основные стандартные блоки выражений, которые,
в свою очередь, могут использоваться в полях операндов операторов GPSS
и процедурах PLUS.
Элементами выражений могут быть:
• строковые константы, например "Go to metka";
• вещественные константы, например 201.6;
• целые константы, например 17;
• имена, например Kanal;
• элементы матрицы, например Massiv[P$Part,Q2+20];
• система числовых атрибутов, например AC1, F$My_Kran, MX$Mat1(2,1)
и SR*MY_PARM.
Арифметические целые переменные
Арифметические целые переменные определяются с помощью оператора
VARIABLE (Переменная). Перед оператором VARIABLE в поле меток ставится
символьное или числовое имя переменной (идентификатор), а в поле переменных пишется
арифметическое выражение, определяющее данную переменную, например:
19 VARIABLE Q2 + 3
Такая запись означает, что арифметическая переменная под номером 19, которую далее
именуют V19, равна сумме числа требований в очереди под номером 2
(Q2) и константы 3.
SUM VARIABLE (P3 + P4)/5
Такая запись означает, что арифметическая переменная с символьным именем
SUM, которую далее именуют V$SUI, равна сумме значений 3_го и 4_го параметров
требования, деленных на 5.
Каждый раз при обращении к арифметическим переменным V19 или V$SUM их
значения будут рассчитываться по приведенным выше выражениям, составляющие
которых в процессе моделирования могут менять свои значения.
Ссылки из любого места программы на арифметическую переменную вводятся
с помощью стандартного обозначения. Обращение к переменной с числовым или
с символьным именем в нашей задаче будет выполняться соответственно так: V19
и V$SUM.
Значение арифметической переменной может использоваться как:
• элемент другой арифметической переменной, булевой переменной;
• аргумент функции, таблицы;
• зависимое значение функции, задаваемое признаком;
• операнд операторов ASSIGN, INDEX, LOOP, SPLIT и др.
В арифметических выражениях допускаются следующие арифметические операции: +
(сложение); _ (вычитание); * (умножение); / (деление).
Переменные вычисляются слева направо, причем операции умножения и деления
обладают старшинством над операциями сложения и вычитания.
Арифметическое выражение образуется из целых констант, других арифметических
переменных, стандартных числовых атрибутов, знаков арифметических
операций и круглых скобок.
Арифметические переменные
с фиксированной точкой
Арифметические переменные с фиксированной точкой определяются с помощью
оператора FVARIABLE. Перед оператором FVARIABLE в поле меток ставится
символьное или числовое имя переменной (идентификатор). После оператора
в поле переменных пишется арифметическое выражение, определяющее данную
переменную, например
PER FVARIABLE (S1-S$CAN)/5 + 3.6
Эта запись означает арифметическую переменную с фиксированной точкой
под символьным именем PER, которую далее именуют V$PER и которая равна
сумме разности текущих вместимостей накопителей под номером 1 и символьным именем
CAN, деленной на 5, и десятичной константы с фиксированной точкой, равной 3,6.
Ссылка на арифметическую переменную с фиксированной точкой выполняет_
ся так же, как и на арифметическую переменную. В нашем примере это V$PER.
Арифметические выражения арифметической переменной с фиксированной
точкой образуются аналогично арифметической целой переменной.
Булевы переменные
Булевы переменные определяются с помощью оператора ВVARIABLE, в поле
меток которого ставится символьное или числовое имя (идентификатор) переменной, а в
поле переменных пишется булево выражение. Булево выражение образуется из
стандартных числовых атрибутов булевых переменных, знаков булевых
операций и условных операторов. Булево выражение принимает одно из двух значений: 1
или 0.
Вычислительные выражения
Вычислительные выражения представляют собой комбинацию математических
операторов, библиотечных функций, стандартных числовых атрибутов и констант,
которые удовлетворяют правилам элементарной алгебры. Они вычисляются согласно
иерархии операторов, перечисленных выше, и в направлении слева
направо. Порядок вычисления можно изменить с помощью круглых скобок, как
это делается в любом алгебраическом выражении.
Ниже представлены вычислительные и логические операторы, используемые
в системе GPSSW (табл. 2.1).
Таблица 2.1
Оператор Пример использования Описание
^ A ^ B Возведение в степень
# A # B Умножение
/ A / B Деление
\ A \ B Целочисленное деление. Возвращает результат
целочисленного деления А на B
@ A @ A Целочисленный остаток. Возвращает
целочисленный остаток от деления А на В
- A - B Вычитание
+ A + B Сложение
>= или 'GE' A >= B Возвращается 1, если А в цифровой форме
больше или равно B, в противном случае
возвращается 0
<= или '@' A <= B Возвращается 1, если в цифровой форме A
меньше или равно B, в противном случае
возвращается 0
> или 'G' A > B Возвращается 1, если в цифровой форме А
больше B, в противном случае
возвращается 0
< или 'L' A < B Возвращается 1, если в цифровой форме А
меньше B, в противном случае
возвращается 0
= или 'E' A = B Возвращается 1, если в цифровой форме А
равно B, в противном случае возвращается 0
!= или 'NE' A != B Возвращается 1, если в цифровой форме А
отличается от B, в противном случае
возвращается 0
& или 'AND' A & B Возвращается 1, если А и B не равны нулю,
в противном случае возвращается 0
| или 'OR' A | B Возвращается 1, если А, или B, или оба
не равны нулю, в противном случае возвращается 0
Вычисления выражений выполняются в такой последовательности:
• ^ – возведение в степень;
• #, /, \ – умножение, деление, целочисленное деление;
• @ – целочисленный остаток;
• -, + – вычитание, сложение;
• >=, <=, >, < – операторы сравнения;
• =, != – равный, не равный;
• & – логическое И;
• | – логическое ИЛИ.
Например, выражение
2 # 5 ^ 2 + 34
вычисляется так: сначала число 5 возводится в степень 2, затем полученный ре_
зультат, 25, умножается на смежный множитель 2, после чего новый результат, 50,
прибавляется к слагаемому 34. Окончательный результат – 84. Это выражение
можно представить и в таком виде:
((2 # (5 ^ 2)) + 34).
Для изменения установленного порядка выполнения арифметических опера_
ций используются круглые скобки. Например, выражение
(2 # 5) ^ 2 + 34
вычисляется в такой последовательности: сначала выполняется умножение числа
2 на 5, затем полученный результат, 10, возводится в степень 2, и новый результат,
100, прибавляется к слагаемому 34. Окончательный результат – 134. Это выражение
можно представить и в таком виде:
(((2 # 5) ^ 2) + 34).
Операторы системы GPSSW определяют тип данных непосредственно перед
тем, как операция применяется. Поэтому нет необходимости беспокоиться о типах данных
при создании PLUS_выражений. Выражения могут оцениваться
в числовой или строковой формах. Когда выражение оценивается в числовой форме,
строковый результат преобразуется к его числовому эквиваленту, основанному на числах,
с которых начинается строка. Строка, начинающаяся не с цифры,
преобразуется к числовому нулю. Точно так же, когда выражение оценивается как
строка, любой числовой результат преобразуется к строковому эквиваленту.
В сообщениях и потоках данных представлением больших чисел можно управлять,
подавляя экспоненциальный формат. Для этого:
• щелкните по пункту Edit главного меню или нажмите комбинацию клавиш
Alt+E. Появится выпадающее меню;
• щелкните по пункту Settings (Установки) выпадающего меню. Появится диалоговое
окно SETTINGS;
• выберите вкладку Report (Отчет) и установите галочку напротив элемента
Scientific (Научный).
Типы объектов
В системе GPSSW имеются различные типы объектов, которые можно использовать при
создании моделей:
• транзакты (Transactions) – обслуживаемые требования (заявки);
• блоки (Blocks);
65
• каналы (аппараты) обслуживания (Facilities);
• функции GPSS (GPSS Functions);
• логические переключатели (Logicswitches);
• матрицы (Matrixes);
• очереди (Queues);
• накопители (Storages);
• сохраняемые величины (Savevalues);
• табличные цепи пользователя (Tables User Chains);
• переменные (Variables);
• числовые группы (Numeric Groups);
• группы требований (Transaction Groups);
• генераторы случайных чисел (Random Number Generators).
За исключением требований (транзактов), объекты никогда не удаляются из
моделирования. Однако некоторые типы объектов могут быть переопределены
в интерактивном режиме: STORAGE, TABLE, QTABLE, MATRIX или VARIABLE.
PLUS_процедуры можно также переопределить в интерактивном режиме. Блоки не могут
быть переопределены в системе GPSSW. Однако, используя блок
EXECUTE, можно переопределить значение операнда A.
Математические процедуры
Система GPSSW включает небольшую библиотеку математических процедур:
• ABS – абсолютное значение;
• ATN – арктангенс;
• COS – косинус;
• INT – целое;
• EXP – экспонента;
• LOG – натуральный логарифм;
• SIN – синус;
• SQR – квадратный корень;
• TAN – тангенс.
Основные этапы моделирования
в системе GPSSW
Система GPSSW достаточно проста в изучении и универсальна в применении.
Эффективное использование системы предусматривает выполнение ряда этапов:
1. Постановка задачи.
2. Выявление основных особенностей.
3. Создание имитационной модели процесса.
4. Представление имитационной модели в системе GPSSW.
5. Моделирование системы.
Создание имитационной модели процесса
На этом этапе необходимо подробно изложить все действия, связанные с
функционированием той или иной системы, возможно, с помощью циклических процедур.
Надо указать, какая входная информация требуется и как она будет использована
соответствующими операторами системы.
Процесс моделирования начинается с создания исходной модели на языке имитационного
моделирования GPSS. Самый простой способ начать моделирование –
это использование, а затем и модернизация существующей модели. В папке
C:\Program Files\Minuteman Software\GPSS World Student Version\Samples
Models имеется большой набор типовых примеров для обучения моделированию.
Инструкции к моделям могут находиться в нескольких текстовых объектах. Процесс
моделирования начинается с открытия текстового объекта (файла), если он
присутствует в модели. Для обращения к текстовому объекту в модели используется
оператор INCLUDE, далее следует имя текстового файла с расширением .txt,
записываемое в двойных кавычках.
Исходная модель – это определенный набор (список) операторов модели. Оператором
модели может быть оператор языка имитационного моделирования
GPSS, процедура языка программирования PLUS или определение PLUS_эксперимента.
На втором этапе создается имитационная модель с помощь транслятора системы GPSSW.
Результатом трансляции программы является объект моделирования
блочной структуры.
Трансляцию исходной модели можно выполнить двумя способами.
Первый способ:
• щелкните по пункту Command главного меню. Появится выпадающее меню;
• щелкните по пункту Create Simulation или Retranslate. Появится окно
JOURNAL, в котором указываются дата и время начала и окончания трансляции
исходной модели.
Второй способ: нажмите комбинацию клавиш Ctrl+Alt+S для трансляции или
Ctrl+Alt+R для перетрансляции программы.
Если в процессе трансляции в программе обнаруживаются синтаксические
ошибки, то их можно исправить. Для этого:
• щелкните по пункту Search (Поиск) главного меню. Появится выпадающее
меню;
• щелкните по пункту Next Error (Следующая ошибка).
После выполнения этих действий курсор мыши каждый раз устанавливается
на очередной ошибке. Эти действия проводятся до тех пор, пока не будут устранены все
выявленные ошибки. При этом курсор мыши циклически проходит список
всех выявленных транслятором ошибок.
Моделирование системы
Как только все синтаксические ошибки будут устранены, можно послать
оттранслированную модель на выполнение. Для этого:
• щелкните по пункту Command главного меню. Появится выпадающее меню;
• щелкните по пункту START. Появится диалоговое окно Start Command,
в котором можно определить режим моделирования. После определения режима
моделирования щелкните по кнопке ОК. Появится окно JOURNAL,
в котором указываются дата и время начала и окончания процесса моделирования
оттранслированной модели, а затем – окно REPORT с результатами имитационного
моделирования.
Можно послать инструкции для моделирования тремя способами:
• используя наиболее общие команды, перечисленные в выпадающем меню
пункта Command главного меню;
• щелкнув по пункту Custom в выпадающем меню пункта Command главного
меню. Появится диалоговое окно Simulation Command, где можно напечатать
любую инструкцию для моделирования, даже PLUS_процедуру, и послать ее
существующему объекту моделирования;
• используя набор функциональных клавиш с собственным набором команд.
Это можно сделать через пункты главного меню Edit и выпадающего меню
Settings в главном окне системы. После нажатия соответствующей функцио_
нальной клавиши объекту моделирования посылается определенная команда.
Комплексные процедуры и длинные списки команд могут также быть посланы
с помощью команды INCLUDE (Включить), связанной с предварительно созданным
текстовым объектом.
Команды управления моделированием могут быть вставлены в имитационную
модель, или их можно интерактивно ввести в процессе моделирования. Для этого:
• щелкните по пункту Command главного меню. Появится выпадающее меню;
• щелкните по пункту Custom. Появится диалоговое окно Simulation Custom;
• введите в поле диалогового окна нужную команду управления и щелкните
по кнопке ОК.
Пункты (команды) выпадающего меню пункта Command главного меню становятся
активными после транслирования исходной модели.
Команда START используется для запуска процесса моделирования. Эта команда может
быть введена в модели или в интерактивном режиме.
Многократное моделирование может быть выполнено с использование
последовательности управляющих операторов RESET, CLEAR и START.
Остановить процесс моделирования можно несколькими способами:
• щелкните по пункту Command главного меню, а затем – по пункту Halt
(Остановить) выпадающего меню;
• нажмите комбинацию клавиш Ctrl+Alt+H;
• нажмите на функциональную клавишу F4;
• щелкните по пункту Command главного меню, а затем – по пункту Custom
выпадающего меню. Появится диалоговое окно Simulation Custom. Введите
в поле диалогового окна команду HALT и щелкните по кнопке ОК;
• используйте командный файл.
Вы можете возобновить моделирование, используя команду CONTINUE или
STEP.
Интерактивные команды HALT и SHOW выполняются в момент их ввода,
а другие команды ставятся в очередь. Они помещаются в конце списка команд, которые
еще не были закончены к моменту ввода. Когда оператор процедуры языка
PLUS посылается в интерактивном режиме, процедура регистрируется в пределах
моделирования. После этого процедура может быть вызвана из любого PLUS выражения.
Если процедура с тем же именем уже существует в пределах моделирования, она
переопределяется.
Отладка модели
Во время отладки модели можно использовать многочисленные средства визуализации,
имеющиеся в системе GPSSW. Среди 10 динамических окон есть окна PLOT
и EXPRESSIONS, которые позволяют визуализировать оценку любого выражения
PLUS, поскольку оно изменяется динамически. Окно TABLE дает возможность
визуализировать сходимость гистограмм. Кроме того, имеется 6 дополнительных
окон для представления снимков. Они предназначены для профессионалов
моделирования, нуждающихся в детальной информации о состоянии моделирования
изнутри. Система GPSSW имеет большой набор стандартных сообщений. Они описывают
конечное состояние и/или результаты моделирования. Можно изменять
содержание стандартных сообщений, редактируя установки во время моделирования
объекта. Промежуточные сообщения часто используются во время отладки
модели.
Новый высокоэффективный транслятор системы работает как минимум на два
порядка быстрее, чем его предшественник. Когда транслятор обнаруживает одну
или большее число ошибок в модели, то создается круговой список сообщений об
ошибках, к которым можно обращаться из моделируемой системы. Для этого ис_
пользуйте команды Next Error (Следующая ошибка) или Previous Error (Преды_
дущая ошибка) в меню, выпадающем при щелчке по пункту Search (Поиск) глав_
ного меню. После каждой остановки в списке на той или иной ошибке выдается
сообщение о ней в строке состояния в нижней части главного окна системы. При
этом курсор размещается перед синтаксическим элементом, который вызвал
ошибку. Это значительно облегчает устранение ошибок. Для устранения ошибок
используется текстовый редактор.
Если ошибка произошла в текстовом объекте, вводимом оператором INCLUDE
(Включить), можно вставить исправленные операторы в новый временный модельный
объект и снова его оттранслировать.
Тема 3.3 Создание имитационной модели на языке GPSSW
Основные правила и операторы языка GPSS
Для описания имитационной модели на языке GPSS полезно представить ее в виде схемы,
на которой отображаются элементы СМО - устройства, накопители, узлы и источники .
Описание на языке GPSS есть совокупность операторов (блоков), характеризующих
процессы обработки заявок. Имеются операторы и для отображения возникновения
заявок, задержки их в ОА, занятия памяти, выхода из СМО, изменения параметров заявок
(например, приоритетов), вывода на печать накопленной информации, характеризующей
загрузку устройств, заполненность очередей и т.п.
Каждый транзакт, присутствующий в модели, может иметь до 12 параметров.
Существуют операторы, с помощью которых можно изменять значения любых
параметров транзактов, и операторы, характер исполнения которых зависит от значений
того или иного параметра обслуживаемого транзакта.
Пути продвижения заявок между ОА отображаются последовательностью операторов в
описании модели на языке GPSS специальными операторами передачи управления
(перехода). Для моделирования используется событийный метод. Соблюдение
правильной временной последовательности имитации событий в СМО обеспечивается
интерпретатором GPSSPC - программной системой, реализующий алгоритмы
имитационного моделирования.
Структура операторов GPSS
В записи оператора выделяют три части: метку, название, поле переменных.
Пример оператора:
110 L1 GENERATE 30,5
Первый сегмент модели
2....6.8.................18 ..19.............................................................70
<метка><название> <поле переменных>
<комментарии>
В поле переменных выделяют подполя, разделяемые при записи запятыми и служащие
для указания чисел, стандартных числовых атрибутов (СЧА), символов, обозначающих
метки, идентификаторов, указателей разновидностей операторов и т.п. Подполя могут
быть пустыми. Возможна запись комментария после последнего непустого поля через
пробел.
Стандартные числовые атрибуты служат для сокращенного указания различных
величин, фигурирующих в модели.
Примеры СЧА: К126 - константа, равная 126; V2 - переменная N 2; Q4 - длина очереди
N 4; X5 - хранимая величина N 5; FN7 - функция N 7; P4 - значение параметра N 4
транзакта; *6 - содержимое параметра N 6 транзакта; S*3 (или FN*3) - память (или
функция), определенная в параметре N 3 транзакта.
Основные операторы языка GPSS
Основные операторы языка GPSS приведены в виде примеров с конкретными
значениями подполей в поле переменных.
GENERATE 12,4,50,5,1 - генерация транзактов, интервалы времени между
появлениями транзактов распределены равномерно в диапазоне [12-4, 12+4], первый
транзакт появится с задержкой в 50 единиц модельного времени, всего будет создано 5
транзактов, приоритет транзактов равен единице.
GENERATE 12,4,50,,1 - то же, но количество генерируемых транзактов
неограничено.
GENERATE 6, FN$FFF,50,5,1 - то же, но интервал времени между появлениями
транзактов есть целая часть произведения числа 6 на значение функции FFF.
FNK
FUNCTION
RN1,C4
0,0/0.1,0.8/0.5,1.6/1.0,1.9
- описание функции FNK, ее аргументом является случайная величина (на это указывает
значение RN1), равномерно распределенная в диапазоне [0,1], функция является
непрерывной числовой (указатель С), заданной таблично четырьмя точками: (0;0), (0.1;
0.8), (0.5, 1.6), (1.0; 1.9).
FNK
FUNCTION
*2,D4
0,12/1,9/2,8/3,6
- то же, но аргументом является значение второго параметра транзакта, для которого
вычисляется значение дискретной величины (D) числовой функции FNK, заданной
таблично четырьмя узловыми точками. Это текущее значение округляется до ближайшего
большего значения аргумента в узловой точке.
SEIZE PLOT - занятие устройства PLOT приходящим на его вход транзактом; если
устройство занято, то транзакт задерживается в очереди к этому устройству.
RELEASE PLOT - освобождение устройства PLOT обслуженным транзактом.
ENTER MEM,12 - занятие транзактом 12 единиц емкости в накопителе MEM.
LEAVE MEM,*2 - освобождение k единиц памяти в накопителе MEM, гдк k - значение
2-го параметра транзакта.
STR STORAGE 4096 - описание накопителя STR емкостью 4096 единиц.
TERMINATE 3 - удаление транзакта из системы, при этом содержимое итогового
счетчика уменьшается на 3 единицы, моделирование заканчивается, если содержимое
счетчика станет равным или меньше нуля.
ADVANCE A,B - задержка транзакта на время, определенное содержимым полей A и B,
смысл величин, записываемых в этих подполях , такой же, как и в блоке GENERATE.
SPLIT
3,LLL,6 - копирование транзактов, в данном случае создаются три копии
исходного транзакта, исходный транзакт направляется в следующий по порядку блок, а
созданные копии - в блок с меткой LLL, при этом параметр 6 основного транзакта
увеличивается на единицу, а транзактов - копий - на 2, 3, 4 соответственно.
ASSEMBLE 5 - объединение транзактов, первый из вошедших в блок транзактов
продолжит движение в системе после того, как в блок придут еще четыре транзакта.
ASSIGN 2,NAP - изменение параметров транзактов, в данном случае второй параметр
транзакта получит значение NAP.
ASSIGN 3+,V4 - изменится значение третьего параметра транзакта - к нему прибавится
значение V4.
TRANSFER ,MET - безусловная передача управления оператору с меткой (номером)
MET.
TRANSFER BOTH,LAB1,UNN - переход к оператору с меткой LAB1, если он
невозможен, то к оператору с меткой UNN , если и он невозможен, то транзакт
задерживается до следующего момента дискретного модельного времени, в который
повторяются указанные попытки перехода.
TRANSFER .4,AAA,LAB - транзакт с вероятностью 0.4 переходит к оператору с меткой
LAB и с вероятностью 0.6 к оператору с меткой AAA.
TRANSFER PICK,STK7,STK21 - равновероятный переход к операторам с номерами
STK7, STK7+1, STK7+2, . . . , STK21.
TRANSFER FN,AAA,5 - переход к оператору, метка которого равна сумме значения
функции AAA и числа 5.
TRANSFER P,4,41 - переход к оператору, метка которого равна сумме значения
параметра N 4 транзакта и числа 41.
TRANSFER SBR,PRC,7 - переход к оператору PRC с записью в параметр N 7 транзакта
метки данного оператора.
LOOP
6,MET - организация цикла - переход 5 раз к оператору с меткой MET и на
шестой раз - к следующему по порядку оператору.
TEST E V7,K256,LAB - переход по условию (условная передача управления): в позициях
13-18 записывается знак отношения, в первых двух подполях поля переменных
записываются сравниваемые величины, если условие выполняется, то перехода нет, иначе
переход есть к оператору с меткой LAB. Символы отношений: G - больше, L - меньше, E равно, NE - неравно, LE - меньше или равно, GE - больше или равно. В данном примере
перехода нет, если V7 = 256, иначе переход к оператору с номером LAB.
QUEUE SQV - оператор организации очереди, длина очереди SQV увеличивается на
единицу.
DEPART SQV - то же, но длина очереди уменьшается на единицу.
PRIORITY 2 - транзакту присваивается приоритет 2.
SIMULATE - начальная карта программы, если разработчик намерен выполнить прогон
модели. Если эта карта отсутствует, то интерпретатор проверяет правильность записи
модели на языке GPSS, но прогона модели не выполняет.
START 100,,25 - занесение значения 100 в итоговый счетчик, вывод накопленных
статистических данных производится с интервалом изменения содержимого итогового
счетчика в 25 единиц.
TABULATE MAT7 - в соответствующий интервал гистограммы с именем MAT
добавляется единица.
MAT7 TABLE P3,8,1,5 - описание таблицы (гистограммы) MAT7, предназначенной для
табулирования величины, значения которой находятся в третьем параметре транзакта,
входящего в оператор TABULATE MAT7, верхний предел левого интервала гистограммы
равен 8, ширина каждого последующего интервала равна 1, всего интервалов 5.
5 VARIABLE X2 - K25 - вычислительный оператор, в данном случае из хранимой
величины N 2 вычитается число 25 и результат присваивается переменной N 5.
SAVEVALUE 5,*3 - хранимая величина N 5 (X5) получает значение третьего параметра
транзакта.
Основные команды интерпретатора GPSSPC
@<имя файла> - загрузить исходный текст модели
SAVE <имя файла> - сохранить текст модели
DISPLAY[<строка N 1>],[< строка N 2>] - вывести на экран текст модели, начиная со
строки N1 , до строки N 2.
DELETE [<строка N 1>],[<строка N 2>] - удалить из программы текст, начиная со
строки N1 , до строки N 2.
EDIT <номер строки> - отредактировать строку текста
CLEAR - сбросить всю статистику модели в ноль (включая таймеры абсолютного и
относительного модельного времени), возвратить все транзакты в пассивный буфер .
END - завершить работу интерпретатора.
Команды управления моделированием. Работа с транзактами. Работа с очередями.
Внесение транзактов в модель. Блок GENERATE
Блок GENERATE (ГЕНЕРИРОВАТЬ) – это блок, через который транзакты входят в модель.
Не существует ограничений на количество разных блоков GENERATE в одной модели.
Интервал времени между последовательными появлениями транзактов из блока
GENERATE называют интервалом поступления. Когда транзакт входит в модель через
блок GENERATE. интерпретатор планирует время поступления следующего транзакта путем
розыгрыша случайного числа c соответствующим распределением интервалов поступления на
время, равное текущему значению ЧАСОВ плюс разыгранное значение. При достижении
этого значения модельного времени следующий транзакт вводится в модель через блок
GENERATE и т.д.
Разработчик должен задать функцию распределения интервалов поступления транзактов в
блоке GENERATE.
Все возможные виды случайных распределений интервалов поступления транзактов в
Ta6лица 4.2 Операнд
А
Значение
Значение по умолчанию*
Средний интервал времени
0
(число, СЧА)
Половина поля допуска
0
В
равномерно распределенного
интервала (число, CЧА)
Смещение интервалов
Смещение отсутствует
С
Ограничитель транзактов
∞
D
0
Уровень приоритета
Е
транзакта. Возможные
значения 0 – 127
GPSS делятся на равномерное распределение и другие виды распределений. В нашем случае
специально рассматривают самое простое из всех случайных нетривиальных распределений –
равномерное распределение. Использование других видов распределений требует задания
функций, которые описаны ниже (см. параграф 4.13).
Формат блока:
GENERATE [A],[B],[C],[D],[E]
Удаление транзактов из модели. Блок TERMINATE
Транзакты удаляются из модели, попадая в блок TERMINATE (ЗАВЕРШИТЬ). В этот
момент освобождается память, выделенная под транзакт. Эти блоки всегда позволяют выйти
всем транзактам, которые пытаются это сделать. В модели может быть любое количество
блоков TERMINATE. Формат блока:
TERMINATE [A]
Операнд А является величиной уменьшения специального счетчика, который называется
счетчиком завершения. Этот операнд задает величину, которая вычитается из счетчика
каждый раз, когда транзакт входит в блок TERMINATE. По умолчанию A = 0. Вход
гранзакта в блок TERMINATE c нулевым значением операнда А не вызывает уменьшения
счетчика завершения.
Счетчик завершения – это ячейка в памяти ЭВМ, которая хранит целое положительное
число. Начальное значение этого счетчика устанавливается в начале моделирования. Оно
равняется значению операнда А команды START (НАЧАТЬ). В процессе моделирования
транзакты попадают в блок TERMINATE и, таким образом, уменьшают значение счетчика на
величину операнда А. Моделирование заканчивается, когда значение счетчика становится
равным нулю или отрицательному числу.
1. В модели может быть много блоков TERMINATE, но счетчик завершения – один, c
начальным значением, указанным в команде START.
2. Не путать ограничитель транзактов в блоке GENERATE и счетчик завершения.
Ограничитель задает число транзактов, которые войдут в модель, А счетчик – число
транзактов, которые выйдут из модели. По окончании моделирования транзакты могут
оставаться в модели.
Интерпретатор начинает моделирование по команде START. Ее формат:
В операнде А задается начальное значение счетчика завершения. О назначении остальных
операндов будет рассказано в параграфе 4.27.
Управление продолжительностью процесса моделирования.
В языке GPSS продолжительностью процесса моделирования можно управлять двумя
способами:
1) завершать моделирование после того, как модель покинет заданное число транзактов
определенного типа;
2) завершать моделирование по истечению заданного интервала времени.
Первый способ:
1. В команде START операнду А присваивается значение заданного числа транзактов.
2. Во всех блоках TERMINATE, через которые транзакты заданного типа покидают
модель, операнду А присваивается значение «1» или другое, отличное от нуля
(соответственно содержательному значению транзактов).
3. Во все других блоках TERMINATE используется значение операнда А по умолчанию (A =
0). Значение счетчика завершения не будет зависеть от этих блоков.
Первый способ позволяет закончить моделирование, когда через модель пройдет заданное
количество транзактов, например 1000:
Второй способ:
Пусть разработчик выбрал за единицу модельного времени 1 мин и хочет смоделировать
поведение системы на протяжении 8 часов. Это можно сделать таким образом:
1. Ввести в модель таймер-сегмент, состоящий из двух блоков:
2. Во всех других блоках TERMINATE в модели использовать значение операнда А по
умолчанию (A = 0). Это означает, что прекращение моделирования, определяемое счетчиком
завершения, не будет зависеть от других блоков TERMINATE.
3. В команде START операнд А должен равняться единице.
Таким образом, в процессе моделирования завершение движения транзактов в других блоках
TERMINATE не влияет на счетчик завершения. В момент времени 480 транзакт выйдет из
блока GENERATE и сразу же перейдет в блок TERMINATE. Счетчик завершения
уменьшится на единицу, и интерпретатор завершит моделирование.
Элементы, отображающие одноканальные обслуживающие устройства
Рассмотрим элементы, которые используются для представления обслуживания.
Аналогами обслуживающих элементов могут быть люди, механизмы, линии связи и другие
объекты реальных систем. В GPSS такие объекты моделируются c помощью устройств, МКУ,
логических ключей.
Устройство характеризируется двумя основными свойствами:
1. Каждое устройство в любой момент времени может обслуживать только один транзакт.
Если в процессе обслуживания появляется новый транзакт, то он должен:
1) либо подождать своей очереди,
2) либо направиться в другое место,
3) либо, если вновь пришедший транзакт имеет больший приоритет, устройство прерывает
текущее обслуживание и начинает обслуживать новый транзакт.
2. Когда транзакт поступает в устройство, он должен пробыть там необходимое для
обслуживания время.
Всем устройствам необходимо задавать имена. Они могут быть или числовыми (числа
должны быть положительными целыми), или символьными. Во время трансляции
символьным именам сам транслятор присваивает числовые значения.
Для того, чтобы использовать одноканальное обслуживающее устройство (прибор),
транзакту необходимо выполнить следующие шаги.
Первый шаг. Ждать своей очереди, если это необходимо. Ожидание длится в течение
некоторого интервала времени.
Второй шаг. Когда подходит очередь, занять устройство. Событие «занятие устройства»
происходит в некоторый момент модельного времени.
Третий шаг. Устройство находится в состоянии занятости до тех пор, пока не закончится
обслуживание. Для обслуживания необходим некоторый интервал времени.
Четвертый шаг. Когда обслуживание закончится, освободить устройство. Событие
«освобождение устройства» происходит в некоторый момент модельного времени.
Эта последовательность шагов выполняется GPSS при моделировании использования
устройства. Второй и четвертый шаги реали-5уются блоками SEIZE (ЗАНЯТЬ) и RELEASE
(ОСВОБОДИТЬ).
Формат блока:
SEIZE A
Этот блок имеет следующие свойства:
1. Если в текущий момент времени устройство используется, то гранзакт не может войти в
блок и должен ожидать своей очереди.
2. Если устройство свободно, транзакт может войти в блок. Вход транзакта в блок вызывает
выполнение подпрограммы обработки этого блока. Состояние устройства изменяется со
СВОБОДНОЕ на ЗАНЯТОЕ.
Предварительного объявления устройства в модели не требуется, так как тот факт, что блок
SElZE используется, свидетельствует о существовании данного устройства.
Предназначением блока RELEASE является изменение состояния ранее занятого
устройства c ЗАНЯТОГО на СВОБОДНОЕ. Блок RELEASE никогда не запрещает вход
транзакта.
Формат блока:
RELEASE А
Таблица 4.4 Операнд
Значение
Результат по умолчани
А
Имя (символьное или
Ошибка
числовое) освобождаемого
устройства
Реализация задержки во времени. Блок ADVANCE
Перевод c английского языка блока ADVANCE (ЗАДЕРЖАТЬ) – продвигать, А не
задерживать. Этот блок действительно продвигает ЧАСЫ модельного времени на некоторое
значение, но фактически он осуществляет задержку продвижения транзакта в течение
некоторого интервала времени. Обычно этот интервал задается случайной величиной.
В GPSS возможны следующие варианты распределения времени обслуживания:
1) детерминированное (постоянное);
2) равномерное распределение;
3) другие распределения.
Как и при использовании блока GENERATE особо рассматривается равномерное
распределение случайных величин. Применение более сложных видов распределений требует
использования дополнительных функций (см. параграф 4.13).
Формат блока:
ADVANCE A[,B]
Таблица 4.6 Операнд
А
Значение
Значение по умолчан
Среднее время задержки на
0
обслуживание (число, СЧА)
Половина поля допуска
0
В
равномерно распределенного
времени задержки (число,
СЧА)
Пример 4.2
Использование блока ADVANCE:
ADVANCE 30,5
Время задержки транзакта в этом блоке – случайная величина, равномерно распределенная
на интервале [25, 35], которая принимает одно из 11 целых значений.
Пример 4.3
Классический случай использования последовательности SEIZE – ADVANCE –
RELEASE:
Транзакт, двигаясь по этой цепочке блоков, займет устройство c именем PRIB, задержится
там на 16±4 единицы времени и затем покинет его. После того как транзакт войдет в блок
RELEASE и соответствующая этому блоку подпрограмма закончится, интерпретатор
попытается переместить транзакт в следующий блок модели и следующий транзакт может
уже использовать устройство PRIB.
Блоки ADVANCE можно располагать в любых местах программы, А не только между
блоками SEIZE и RELEASE.
Сбор статистики об ожидании. Блоки QUEUE, DEPART
Эти блоки обеспечивают в GPSS возможность автоматического сбора статистических
данных, описывающих вынужденное ожидание, которое может происходить время от времени
в различных точках модели.
Система моделирования GPSS обеспечивает возможность сбора статистики c помощью
такого средства, как регистратор очереди.
При использовании регистратора очереди в тех точках модели, где число ресурсов
ограничено, интерпретатор автоматически начинает собирать различную информацию об
ожидании c помощью СЧА, А именно:
1) число входов транзактов в очередь;
2) количество транзактов, которые фактически присоединились к очереди и сразу ее
покинули, т.е. имели время ожидания равное нулю;
3) максимальная длина очереди;
4) среднее число ожидавших транзактов;
5) среднее время ожидания тех транзактов, которым пришлось ждать.
В модели может быть несколько регистраторов очередей, различающихся именами.
Правила присвоения имен те же, что и для устройств. Разработчик вносит регистратор
Таблица 4.7 Операнд
А
Значение
Результат по умолчанию
Имя очереди, в которую
Ошибка
необходимо стать транзакту
или которую надо покинуть
(числовое или символическое
имя, CЧА)_
Число единиц, на которое
1
В
увеличивается (уменьшается)
длина очереди (число, СЧА)
очереди в модель c помощью пары взаимодополняющих блоков:
Переход транзакта в блок, отличный от последующего. Блок TRANSFER
В GPSS блок TRANSFER (ПЕРЕДАТЬ) может быть использован в девяти разных
режимах. Рассмотрим три основных.
Блок TRANSFER в режиме безусловной передачи. Его формат:
TRANSFER ,B
Таблица 4.8 Операнд
Значение
Результат по умолчанию
А
Не используется
—
В
позиция блока, в
Ошибка
которую должен перейти
транзакт
Позиция блока – это номер или метка блока. Так как операнд А не используется, то перед
операндом В должна стоять запятая. В режиме безусловной передачи блок TRANSFER не
может отказывать транзакту во входе. Кстати, если транзакт входит в блок, то он сразу же
пытается войти в блок В.
Транслятор GPSS/PC не улавливает пропущенную запятую вместо операнда A (например,
TRANSFER LAMD). На этапе трансляции метке LAMD присваивается числовое значение, и
транзакт в этом случае направляется в блок c соответствующем номером.
Статистический режим. В этом режиме осуществляется передача транзакта в один из
двух блоков случайным образом. Формат блока:
TRANSFER A,[B],C
Таблица 4.9 Операнд
А
Значение
Вероятность передачи
транзакта в блок С, задаваемая
вдолях тысячи
Позиция блока, в которую
должен перейти транзакт
(свероятностью 1 – А)
Позиция блока, в которую
должен перейти транзакт
(свероятностью А)
В
С
Результат но умолчанию
Ошибка
Следующий по порядкублок
Ошибка
Моделирование многоканальных устройств
Устройство в GPSS используют для моделирования одиночного устройства обслуживания.
Два или более обслуживающих устройства, работающих параллельно, могут моделироваться
в GPSS двумя или более одноканачьными устройствами. Обычно это необходимо, когда
отдельные устройства являются разнородными, например, имеют различную интенсивность
обслуживания.
Однако очень часто параллельно работающие устройства являются одинаковыми, и GPSS
предоставляет для их моделирования объект, называемый многоканальным устройством
(МКУ).
Количество устройств, которое моделируется каждым из МКУ, определяется
пользователем. В этом смысле употребляют термин «емкость МКУ». Эта емкость заранее
должна быть определена пользователем, чтобы интерпретатор знал, сколько устройств
использует данное МКУ.
Блоки ENTER (ВОЙТИ) и LEAVE (ВЫЙТИ). Использование МКУ аналогично
использованию одиночного устройства. Элементом, который занимает и использует МКУ,
является транзакт. При моделировании МКУ события происходят в следующем порядке:
1) транзакт ожидает своей очереди, если это необходимо;
2) транзакт занимает устройство;
3) устройство осуществляет обслуживание на протяжении некоторого интервала времени;
4) транзакт освобождает устройство.
Таблица 4.10 Операнд
А
В
Значение
Имя МКУ
Количество занимаемых
одновременноустройств
Результат по умолчанию
Ошибка
1
Блоки ENTER и LEAVE моделируют события 2 и 4. Формат блоков:
Поле САР. определяет емкость МКУ, заданную оператором STORAGE
Поле REMAIN определяет количество единиц свободной емкости МКУ в конце периода
моделирования.
Поле MIN определяет минимальное количество используемой емкости МКУ за период
моделирования.
Поле МАХ определяет максимальное количество используемой емкости МКУ за период
моделирования.
Поле ENTRIES определяет количество входов в МКУ за период моделирования.
Поле AVL. определяет состояние готовности МКУ в конце периода моделирования: 1 –
МКУ готов, 0 – не готов.
Поле AVE.C определяет среднее значение занятой емкости за период моделирования.
Поле UTIL. определяет средний коэффициент использования всех устройств МКУ.
Поле RETRY определяет количество транзактов, ожидающих специальных условий,
зависящих от состояния МКУ.
Поле DELAY определяет количество транзактов. ожидающих возможности входа в блок
ENTER.
Для GPSS/PC статистику о работе МКУ можно наблюдать в окне МКУ, перейдя в это окно
c помощью клавиш [ALT+S]. А для GPSS World – в окне Storages Window.
Определение емкости МКУ. Все используемые в модели МКУ должны быть заранее
описаны, т.е. должно быть определено количество однотипных устройств, входящих в МКУ.
Для этого используется оператор STORAGE (ХРАНИЛИЩЕ или ПАМЯТЬ), определяющий
емкость МКУ. Название STORAGE становится понятным, если представить себе, что МКУ
это автоматизированный склад или многоэтажный гараж c определенным числом мест,
которое и задает этот оператор. В таких случаях МКУ определяет не количество одинаковых
устройств для обслуживания, А количество одинаковых мест для хранения.
Формат оператора задания емкости МКУ:
Таблица 4.11 Поле
Информация в поле
Метка
Символическое имя МКУ
Операция
STORAGE
Операнд А
Емкость МКУ
Тема 3.4 Моделирование производственных и непроизводственных систем.
Для эффективной работы банка необходимы, во-первых, постоянное изучение и
прогнозирование состояния рынка банковских услуг и, во-вторых, всестороннее
планирование банковской деятельности и оперативное управление финансовыми ресурсами
банка.
Банковские учреждения оказывают клиентам множество услуг, вступают в сложные
взаимоотношения между собой и другими субъектами хозяйственной жизни, выполняют
разнообразные функции. Для выживания в условиях обострившейся конкуренции банки
должны искать пути совершенствования базовых технологий, внедрять новые банковские
инструменты, поддерживать свою работу автоматизированной информационной системой
управления и обработки данных, соответствующей международным требованиям и стандартам.
Моделирование банковских операций является одним из важных этапов анализа и
оценки деятельности банка, а также разработки проекта автоматизированной банковской
системы (АБС).
Отличительная черта российского финансового рынка — его субъективизм, крайняя
зависимость от внеэкономических факторов и, как следствие, высокая степень
неопределенности, которая затрудняет принятие обоснованных финансовых решений.
Применение традиционных средств поддержки управленческих решений и прогнозирования в
этих условиях затруднено, и тем ценнее возможность использования метода имитационного
моделирования, повышенный интерес к которому проявляется сегодня в развитых странах.
Этот метод воспринимается сегодня как мощный и перспективный инструмент
конструирования и последующего исследования сложных бизнес-процессов и систем, в
которых велико число переменных, трудоемок, а зачастую и невозможен математический
анализ зависимостей, высок уровень неопределенности имитируемых ситуаций.
Распространению подобных моделей способствовал также коммерческий успех ряда
аналитических программных продуктов, успешно используемых в банках, промышленных и
торговых фирмах, государственных учреждениях, страховых компаниях и т.д. Практика
применения имитационных моделей открыла новые возможности по концептуальному анализу
проблем управления бизнесом, сокращению сроков разработки перспективных пилотных
проектов, организации эффективного сопровождения сложных корпоративных приложений.
Сегодня подходы и методы имитационного моделирования могут оказаться чрезвычайно
плодотворными в отечественных условиях перманентной экономической неустойчивости и
риска. Прежде всего это касается перспективных, динамично развивающихся и находящихся в
стадии становления активных секторов отечественного бизнеса, таких, как банковская и
страховая деятельность, рынок информационных технологий, торгово-посреднический бизнес, а
также рынок ценных бумаг.
Имитационная модель предназначена для имитации процесса функционирования реальных
систем массового обслуживания. Системы массового обслуживания (СМО)представляют собой
системы специального вида, реализующие многократное выполнение однотипных
задач. Подобные системы играют важную роль во многих областях экономики, финансов,
производства и быта. В качестве примеров СМО в финансово-экономической ; сфере
можно
привести
банки
различных
типов
(коммерческие, инвестиционные, ипотечные, инновационные, сберегательные),
страховые организации, государственные акционерные общества, компании, фирмы,
ассоциации, кооперативы, налоговые инспекции, аудиторские службы, различные
системы связи (в том числе телефонные станции), погрузочно-разгрузочные
комплексы (порты, товарные станции), автозаправочные станции, различные
предприятия и организации сферы обслуживания (магазины, справочные бюро,
парикмахерские, билетные кассы, пункты по обмену валюты, ремонтные мастерские,
больницы). Такие системы, как компьютерные сети, системы сбора, хранения и
обработки информации,
транспортные
системы,
автоматизированные
производственные участки, поточные линии, различные военные системы, в частности
системы противовоздушной или противоракетной обороны, также могут ?
рассматриваться как своеобразные СМО
Каждая СМО включает в свою структуру некоторое ; число обслуживающих
устройств, которые называют каналами (приборами, линиями) обслуживания. Роль
каналов могут играть различные приборы, лица, выполняющие те или иные операции
(кассиры, операторы, парикмахеры, продавцы), линии связи, автомашины, краны,
ремонтные бригады, железнодорожные пути, бензоколонки и т.д.
Системы массового обслуживания могут
быть одноканальными или многоканальными.
Каждая СМО предназначена для обслуживания (выполнения) некоторого потока
заявок (требований), поступающих на вход системы большей частью не регулярно, а
случайные моменты времени. Обслуживание заявок, в этом случае, также длится не
постоянное, заранее известное время, а случайное время, которое зависит
от многиxслучайных, порой неизвестных нам, причин. После обслуживания заявки
канал освобождается и готов к приему следующей заявки. Случайный характер
потоказаявок и времени их обслуживания приводит к неравномерной загруженности
СМО: в иное время на входе СМО могут скапливаться необслуженные заявки, что
приводит к перегрузке СМО, а иногда при свободных каналах на входе СМО заявки
не будет, что приводит к недогрузке СМО, т.е. к простаиванию ее каналов. Заявки,
скапливающиеся на входе СМО, либо «становятся» в очередь, либо по причине
невозможности дальнейшего пребывания в очереди покидают СМО
необслуженными. Схема СМО изображена на рис.1.
Таким образом, во всякой СМО можно выделить следующие основные элементы:
1) входящий поток заявок;
2) очередь;
3) каналы обслуживания;
4) выходящий поток обслуженных заявок.
Каждая СМО в зависимости от своих параметров — характера потока заявок, числа
каналов обслуживания и их производительности, а также от правил
организации работы
обладает
определенной эффективностью
функционирования (пропускной способностью), позволяющей ей более или менее
успешно справляться с потоком заявок.
Предметом изучения теории массового обслуживания •является СМО.
Цель теории массового обслуживания — выработка рекомендаций по рациональному
построению СМО, рациональной организации их работы и регулированию потока заявок для
обеспечения высокой эффективности функционирования СМО.
Для достижения этой цели решаются задачи теории массового обслуживания, состоящие в
установлении зависимостей эффективности функционирования СМО I от ее организации
(параметров): характера потока заявок, числа каналов и их производительности и
правил работы СМО.
В качестве характеристик эффективности функционирования СМО можно, выбрать три
основные группы (обычно средних) показателей:
1. Показатели эффективности использования СМО
• Абсолютная пропускная способность СМО — среднее число заявок, которое
может обслужить СМО в единицу времени.
• Относительная пропускная способность СМО — отношение среднего числа
заявок, обслуживаемых СМО в единицу времени, к среднему числу
поступивших заявок за это же время.
• Средняя продолжительность периода занятости СМО.
• Коэффициент использования СМО — средняя доля времени, в течение которого
СМО занята обслуживанием заявок, и т.п.
2. Показатели качества обслуживания заявок
• Среднее время ожидания заявки в очереди.
• Среднее время пребывания заявки в СМО.
• Вероятность отказа заявке в обслуживании без ожидания.
• Вероятность того, что поступившая заявка немедленно будет принята к обслуживанию.
• Закон распределения времени ожидания заявки в очереди.
• Закон распределения времени пребывания заявки в СМО.
• Среднее число заявок, находящихся в очереди.
• Среднее число заявок, находящихся в СМО, и т.п.
3. Показатели эффективности функционирования пары «СМО — потребитель», где под
потребителем понимают всю совокупность заявок или некий их источник (например,
средний доход, приносимый СМО в единицу времени, и т.п.)
Отметим, что третья группа показателей оказывается полезной в тех случаях, когда
некоторый доход, получаемый от обслуживания заявок, и затраты на обслуживание
измеряются в одних и тех же единицах. Эти показатели обычно носят вполне
конкретный характер и определяются спецификой СМО, обслуживаемых заявок
и дисциплиной обслуживания.
Случайный характер потока заявок и длительности их обслуживания порождает в
СМО случайный процесс.
Случайным процессом (или случайной функцией) называется соответствие, при котором
каждому значению аргумента (в данном случае — моменту из промежутка времени
проводимого опыта) ставится в соответствие случайная величина (в данном случае —
состояние СМО).
Случайной величиной называется величина, которая в результате опыта может
принять одно, но неизвестное заранее, какое именно, числовое значение из
данногочислового множества.
Для решения задач теории массового обслуживания необходимо этот случайный
процесс изучить, т. е. построить и проанализировать его математическую модель.
Математическое изучение функционирования СМО значительно упрощается, если
протекающий в ней случайный процесс является марковским. Случайный процесс,
протекающий в СМО, называется марковским (или процессом без последействия, или
процессом без памяти), если вероятность любого состояния СМО в будущем зависит
только от ее состояния в настоящем и не зависит от.ее состояний в прошлом. В этом
случае работа СМО сравнительно легко описывается с помощью аппарата конечных
систем обыкновенных линейных дифференциальных уравнений первого порядка, а в
предельном режиме (при достаточно длительном функционировании СМО) — с помощью
аппарата конечных систем линейных алгебраических уравнений, и в результате удается
выразить в явном виде основные характеристики эффективности функционирования СМО
через параметры СМО, потока заявок и дисциплины работы СМО.
Чтобы случайный процесс был марковским, необходимо и достаточно, чтобы все потоки
событий, под воздействием которых происходят переходы системы из состояния в состояние,
были пуассоновскими, т.е. обладающими свойствами отсутствия последействия (для любых
двух непересекающихся промежутков времени число событий, наступающих за один из них,
не зависит от числа событий, наступающих за другой) и ординарностью (вероятность
наступления за элементарный — малый промежуток времени более одного событий
пренебрежимо мала по сравнению с вероятностью наступления за этот промежуток времени
одного события). В СМО потоками событий являются потоки заявок, потоки «обслуживания»
заявок и т.д.
Марковские системы массового обслуживания (СМО)
Допущения о пуассоновском характере потока заявок и о показательном
распределении времени обслуживания ценны тем, что позволяют применить в
теории массового обслуживания аппарат так называемых марковских
случайных процессов.
Процесс, протекающий в физической системе, называется марковским (или
процессом без последействия), если для каждого момента времени вероятность
любого состояния системы в будущем зависит только от состояния системы в
настоящий момент
и не зависит от того, каким образом система пришла в
это состояние.
Рассмотрим элементарный пример марковского случайного процесса. По оси
абсцисс
случайным образом перемещается точка . В момент времени
точка
находится в начале координат
и остается там в течение одной
секунды. Через секунду бросается монета; если выпал герб - точка
перемещается на одну единицу длины вправо, если цифра - влево. Через
секунду снова бросается монета и производится такое же случайное
перемещение, и т. д. Процесс изменения положения точки (или, как говорят,
«блуждания») представляет собой случайный процесс с дискретным
временем
и счетным множеством состояний
Схема возможных переходов для этого процесса показана на рис. 19.7.1.
Рис. 19.7.1.
Покажем, что этот процесс - марковский. Действительно, представим себе, что в
какой-то момент времени система находится, например, в состоянии - на
одну единицу правее начала координат. Возможные положения точки через
единицу времени будут
,
,
и
с вероятностями 1/2 и 1/2; через две единицы -
с вероятностями 1/4, ½, 1/4 и так далее. Очевидно, все эти
вероятности зависят только от того, где находится точка в данный момент , и
совершенно не зависят от того, как она пришла туда.
Рассмотрим другой пример. Имеется техническое устройство , состоящее из
элементов (деталей) типов и , обладающих разной долговечностью. Эти
элементы в случайные моменты времени и независимо друг от друга могут
выходить из строя. Исправная работа каждого элемента безусловно необходима
для работы устройства в целом. Время безотказной работы элемента - случайная
величина, распределенная по показательному закону; для элементов типа и
параметры этого закона различны и равны соответственно
и . В случае
отказа устройства немедленно принимаются меры для выявления причин и
обнаруженный неисправный элемент немедленно заменяется новым. Время,
потребное для восстановления (ремонта) устройства, распределено по
показательному закону с параметром
(если вышел из строя элемент типа )
и (если вышел из строя элемент типа ).
В данном примере случайный процесс, протекающий в системе, есть
марковский процесс с непрерывным временем и конечным множеством
состояний:
- все элементы исправны, система работает,
- неисправен элемент типа , система ремонтируется,
- неисправен элемент типа , система ремонтируется.
Схема возможных переходов дана на рис. 19.7.2.
Рис. 19.7.2.
Действительно, процесс обладает марковским свойством. Пусть например, в
момент
система находится в состоянии
(исправна). Так как время
безотказной работы каждого элемента - показательное, то момент отказа
каждого элемента в будущем не зависит от того, сколько времени он уже
работал (когда поставлен). Поэтому вероятность того, что в будущем система
останется в состоянии
или уйдет из него, не зависит от «предыстории»
процесса. Предположим теперь, что в момент
состоянии
система находится в
(неисправен элемент типа ). Так как время ремонта тоже
показательное, вероятность окончания ремонта в любое время после не
зависит от того, когда начался ремонт и когда были поставлены остальные
(исправные) элементы. Таким образом, процесс является марковским.
Заметим, что показательное распределение времени работы элемента и
показательное распределение времени ремонта - существенные условия, без
которых процесс не был бы марковским. Действительно, предположим, что
время исправной работы элемента распределено не по показательному закону, а
по какому-нибудь другому - например, по закону равномерной плотности на
участке
. Это значит, что каждый элемент с гарантией работает время , а
на участке от
до
может выйти из строя в любой момент с одинаковой
плотностью вероятности. Предположим, что в какой-то момент времени
элемент работает исправно. Очевидно, вероятность того, что элемент выйдет из
строя на каком-то участке времени в будущем, зависит от того, насколько давно
поставлен элемент, т. е. зависит от предыстории, и процесс не будет
марковским.
Аналогично обстоит дело и с временем ремонта
; если оно не показательное и
элемент в момент ремонтируется, то оставшееся время ремонта зависит от
того, когда он начался; процесс снова не будет марковским.
Вообще показательное распределение играет особую роль в теории марковских
случайных процессов с непрерывным временем. Легко убедиться, что в
стационарном марковском процессе время, в течение которого система остается
в каком-либо состоянии, распределено всегда по показательному закону (с
параметром, зависящим, вообще говоря, от этого состояния). Действительно,
предположим, что в момент система находится в состоянии
и до этого уже
находилась в нем какое-то время. Согласно определению марковского процесса,
вероятность любого события в будущем не зависит от предыстории; в
частности, вероятность того, что система уйдет из состояния
в течение
времени , не должна зависеть от того, сколько времени система уже провела в
этом состоянии. Следовательно, время пребывания системы в состоянии
должно быть распределено по показательному закону.
В случае, когда процесс, протекающий в физической системе со счетным
множеством состояний и непрерывным временем, является марковским, можно
описать этот процесс с помощью обыкновенных дифференциальных уравнений,
в
которых
неизвестными
функциями
являются
вероятности
состояний
.
Составление
и
решение
таких
уравнений
мы
продемонстрируем в следующем
обслуживания.
на примере простейшей системы массового
Характеристика производных и непроизводных фондов СМО.
Основные фонды – это совокупность производственных, материально-вещественных
ценностей, которые действуют в процессе производства в течение длительного периода
времени, сохраняют при этом натурально-вещественную форму и переносят их стоимость
на продукцию по частям по мере износа в виде амортизационных отчислений.
К основным фондам относятся средства труда со сроком службы более 12 месяцев и
стоимостью, превышающей стократный размер минимальной величины месячной оплаты
труда за единицу. Основные фонды делятся на основные производственные и основные
непроизводственные фонды.
К основным производственным фондам относятся основные, которые принимают
участие в производственном процессе непосредственно, т. е. станки, оборудование и иное,
или создают условия для производственного процесса (т. е. здания и сооружения
производственного назначения и т. п.).
Основные непроизводственные фонды – это объекты культурно-бытового назначения
(клубы, столовые и т. п.). Они предназначены для обслуживания нужд жилищнокоммунального хозяйства, здравоохранения, просвещения, культуры предприятия.
Основные непроизводственные фонды чаще не приносят прибыли для предприятия.
Обычно они функционируют либо бесплатно (за счет предприятия) для сотрудников, либо
на уровне безубыточности.
По натурально-вещественному признаку основные фонды подразделяются на здания,
сооружения, передаточные устройства, машины и оборудование, транспортные средства,
инструмент, производственный и хозяйственный инвентарь, рабочий скот.
По степени участия в производственном процессе основные фонды делятся на:
1. активные элементы (машины, оборудование) непосредственно влияют на
производство, количество и качество продукции;
2. пассивные элементы (здания, сооружения) – создают необходимые условия для
производственного процесса.
Основные
производственные
фонды
предприятий
кругооборот,который состоит из следующих стадий:
1.
2.
3.
4.
совершают хозяйственный
износа основных фондов;
амортизации;
накопления средств для восстановления основных фондов;
их замены путем капитальных вложений.
Основной капитал – денежная оценка основных фондов как материальных ценностей,
имеющих длительный период функционирования. Основной капитал на предприятие
может поступать по следующим каналам:
1.
2.
3.
4.
как вклад в уставный капитал предприятия;
в результате капитальных вложений;
в результате безвозмездной передачи;
вследствие аренды.
Download