3433

Имитационное моделирование экономических процессов

Книга

Экономическая теория и математическое моделирование

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

Русский

2012-11-25

2.51 MB

640 чел.

Учебное пособие "Имитационное моделирование экономических процессов" содержит конспект лекций по дисциплине "Имитационное моделирование". Может быть использовано в качестве учебного пособия широким кругом студентов, преподавателей, интересующихся вопросами имитационного моделирования.


Введение

Область применения имитационного моделирования широка и разнообразна. Алгоритмы и методы имитационного моделирования используются в различных областях, от решения и анализа простых технических и экономических задач до разработки технологических комплексов. Именно моделирование является средством, позволяющим без больших капитальных затрат решить проблемы построения, функционирования и модернизации сложных хозяйственных, технических и технологических объектов, поэтому дисциплина "Имитационное моделирование" является достаточно важным звеном в подготовке экономистов - системотехников и экономистов - математиков.

Данное учебное пособие является продолжением серии методических пособий, объединенных темой имитационного моделирования. Был издан практикум по «Имитационному моделированию экономических процессов», готово к изданию руководство к курсовой работе. Эта работа посвящена основным понятиям моделирования систем, этапам моделирования, интерпритации результатов моделирования.

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

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


1. Основные понятия моделирования систем

1.1. Понятие имитационной модели и имитационного моделирования

Имитационное моделирование это разновидность аналогового моделирования, реализуемого с помощью набора математических инструментальных средств, специальных имитирующих компьютерных программ и технологий программирования, позволяющих посредством процессов-аналогов провести целенаправленное исследование структуры и функций реального сложного процесса в памяти компьютера в режиме «имитации», выполнить оптимизацию некоторых его параметров.

Имитационной моделью называется специальный программный комплекс, который позволяет имитировать деятельность какого-либо сложного объекта. Он запускает в компьютере параллельные взаимодействующие вычислительные процессы, которые являются по своим временным параметрам (с точностью до масштабов времени и пространства) аналогами исследуемых процессов.

Имитационная модель должна отражать большое число параметров, логику и закономерности поведения моделируемого объекта во времени (временная динамика) и в пространстве (пространственная динамика). Моделирование объектов экономики связано с понятием финансовой динамики объекта.

Имитационные модели строят, когда объект моделирования настолько сложен, что описать его поведение, например, математическими уравнениями невозможно или очень трудно. В некоторых случаях такой объект моделирования называют «черным ящиком», т. е. объектом с неизвестной внутренней структурой и, следовательно, с неизвестным поведением при воздействии на него извне и при внутренних изменениях. В этих случаях имитационная модель позволяет задавать входные воздействия, сходные по параметрам с реальными или желаемыми воздействиями, и, измеряя реакцию модели объекта на них, изучать структуру объекта и его поведение.

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

1.2. Области применения методов имитационного моделирования

Имитационное моделирование экономических процессов обычно применяется в двух случаях:

для управления сложным бизнес-процессом;

при проведении экспериментов с дискретно-неприрывными моделями сложных экономических объектов для получения и отслеживания их динамики в экстренных ситуациях, связанных с рисками, натуральное моделирование которых нежелательно или невозможно.

Имитационное моделирование применяется в различных областях экономики. В качестве примеров типовых задач решаемых средствами имитационного моделирования можно привести следующие разработки:

управление процессом реализации инвестиционного проекта на различных этапах его жизненного цикла с учетом возможных рисков и тактики выделения денежных сумм;

прогнозирование финансовых результатов деятельности предприятия на конкретный период времени;

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

определение политики в системах управления запасами;

проектирование и анализ работы транспортных систем (аэропортов, автомагистралей, портов и т.д.);

проектирование и анализ производственных систем;

анализ финансовых и экономических систем.

1.2. Классификация видов моделирования систем

К классификационным признакам видов моделирования систем можно отнести:

степень полноты модели;

характер изучаемых процессов;

форма представления объекта.

В зависимости от степени полноты модели выделяют полные, неполные и приближенные модели.

В основе полного моделирования лежит полное подобие, которое проявляется как во времени, так и в пространстве.

Для неполного моделирования характерно неполное подобие модели изучаемому объекту.

В основе приближенного моделирования лежит приближенное подобие, при котором некоторые стороны функционирования реального объекта не моделируются совсем.

В зависимости от характера изучаемых процессов в системе все виды моделирования могут быть разделены на детерминированные и стохастические, статические и динамические, дискретные, непрерывные и дискретно- непрерывные (см. рис. 1).

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

Стохастическое моделирование отображает вероятностные процессы и события. В этом случае анализируется ряд реализаций случайного процесса и оцениваются средние характеристики.

Статическое моделирование служит для описания поведения объекта в какой-либо момент времени или система, в которой время просто не играет никакой роли, например модели созданные по методу Монте-Карло.

Динамическое моделирование отражает поведение объекта во времени, например конвейерное производство.

Дискретное моделирование служит для описания процессов, которые предполагаются дискретными, т. е. состояния системы в различные моменты времени меняются мгновенно. Магазин можно назвать в качестве примера дискретной системы, т. к. количество покупателей в магазине (переменная состояния) меняется только по прибытии нового покупателя или после ухода покупателя из магазина.

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

На практике система редко является полностью дискретной или полностью непрерывной. Но в зависимости от того, что является переменной состояния или какой тип изменений превалирует, система определяется как дискретная или непрерывная.


Дискретные

Непрерывные

Дискретно-непрерывные

Мысленное

Реальное

Моделирование систем

Детерминированные

Стохастические

Статические

Динамические

 

Реальное

Дискретно-непрерывные

Динамические

Стохастические

Натуральное

Наглядное

Символическое

Физическое

Математическое

Аналитическое

Имитационное

Комбинированное

Рис. 1- Виды моделирования

Дискретно-непрерывное моделирование используется для случаев, когда хотят выделить наличие как дискретных, так и непрерывных процессов.

В зависимости от формы представления объекта можно выделить мысленное и реальное моделирование.

Мысленное моделирование часто является единственным способом моделирования объектов, которые либо практически не реализуемы в заданном интервале времени, либо существуют вне условий, для их физического создания. Например, на базе мысленного моделирования могут быть проанализированы многие ситуации микромира, которые не поддаются физическому эксперименту. Мысленное моделирование может быть реализовано в виде наглядного, символического и математического.

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

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

Математическое моделирование - это процесс установления соответствия данному реальному объекту некоторого математического объекта, называемого математической моделью, и исследования этой модели, позволяющее получать характеристики рассматриваемого реального объекта. Вид математической модели зависит как от природы реального объекта, так и от задач исследования объекта и требуемой достоверности и точности решения этой задачи. Любая математическая модель описывает реальный объект лишь с некоторой степенью приближения к действительности.

Для аналитического моделирования характерно то, что процессы функционирования системы записываются в виде некоторых функциональных отношений (алгебраических, интегро-дифференциальных, конечно-разностных и т.п.) или логических условий. Аналитическая модель может быть исследована следующими методами:

- аналитическим, когда стремятся получить в лучшем виде явные зависимости для искомых характеристик;

- численным, когда стремятся получить числовые результаты при конкретных начальных данных;

- качественным, когда, не имея решения в явном виде, можно найти некоторые свойства решения (например, оценить устойчивость решения).

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

Комбинированное (аналитико-имитационное) моделирование при анализе и синтезе системы позволяет объединить достоинства аналитического и имитационного моделирования. При построении комбинированных моделей проводится предварительная декомпозиция процесса функционирования объекта на составляющие подпроцессы, и для тех из них, где это возможно, используются аналитические модели, а для остальных подпроцессов строятся имитационные модели.

При реальном моделировании используется возможность исследования различных характеристик либо на реальном объекте целиком, либо на его части. Эксперимент с реальной системой проводят только в том случае, если это рентабельно. В этом случае вопрос об адекватности полученного результата отпадает.

Натуральным моделированием называют проведение исследования на реальном объекте с последующей обработкой результатов экспериментов на основе теории подобия (производственный эксперимент, комплексные испытания).

Физическое моделирование отличается от натурального тем, что исследование проводится на установке, которая сохраняет природу явлений и обладает физическим подобием.

1.3. Основные подходы к построению математических моделей систем

Исходной информацией при построении математических моделей процессов функционирования систем служат данные о назначении и условиях работы исследуемой системы S. Эта информация определяет основную цель моделирования системы S и позволяет сформировать требования к разрабатываемой математической модели M. Математическую схему можно определить как звено при переходе от содержательного к формальному описанию процесса функционирования системы с учетом воздействия внешней среды, т.е. имеет место цепочка "описательная модель - математическая схема - математическая (аналитическая или (и) имитационная) модель".

Модель объекта моделирования, т.е. системы S, можно представить в виде множества величин, описывающих процесс функционирования реальной системы и образующих в общем случае следующие подмножества:

- совокупность входных воздействий на систему

;

- совокупность воздействий внешней среды

;

- совокупность внутренних (собственных) параметров системы

;

- совокупность выходных характеристик системы

.

В перечисленных подмножествах можно выделить управляемые и неуправляемые переменные.

При моделировании системы S входные воздействия, воздействия внешней среды E, и внутренние параметры системы являются независимыми (экзогенными) переменными, которые в векторной форме имеют вид:

;

,

а выходные характеристики системы являются зависимыми (эндогенными) переменными и в векторной форме имеют вид:

.

Процесс функционирования системы S описывается во времени оператором FS, который в общем случае преобразует экзогенные переменные в эндогенные

(1)

Эта зависимость называется законом функционирования системы S и обозначается FS. В общем случае закон функционирования системы FS может быть задан в виде функции, логических условий, в алгоритмической и табличной формах или в виде словесного правила соответствия. Соотношение (1) является математическим описанием поведения объекта моделирования во времени - поэтому такие модели называют динамическими моделями.

Для статических моделей соотношение принимает вид:

(2)

Соотношение (1) и (2) могут быть заданны аналитически (с помощью формул), графически, таблично и т.д. Такие соотношения могут быть получены через свойства системы S в конкретные моменты времени, называемые состояниями.

Состояние системы S характеризуется векторами:

и ,

где

,,...,,;

,,...,,;

Если рассматривать процесс функционирования системы S как последовательную смену состояний , ,...,, то их можно рассматривать как координаты точки в k-мерном фазовом пространстве. Каждой реализации процесса будет соответствовать некоторая фазовая траектория. Совокупность всех возможных значений состояний называется пространством состояний объекта моделирования .

Состояния системы S в момент времени t0 < t* T полностью определяются начальными условиями:

,

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

(3)

(4)

Уравнение (3) по начальному состоянию и экзогенным переменным определяет вектор-функцию , а уравнение (4) по полученному значению состояний , эндогенные переменные на выходе системы . Таким образом можно записать:

(5)

Под математической моделью объекта понимают конечное подмножество переменных вместе с математическими связями между ними и характеристиками . Если математическое описание модели не содержит элементов случайности или они не учитываются, т.е. и - отсутствуют, то модель называется детерминированной (характеристики однозначно определяются детерминированными входными воздействиями).

(6)

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

1.4 Математические схемы моделирования систем.

1.4.1 Непрерывно детерминированные модели (Д - схемы).

Рассмотрим особенности непрерывно детерминированного подхода на примере, используя в качестве математической модели дифференциальные уравнения.

Дифференциальными уравнениями называются такие уравнения, в которых неизвестными будут функции одной переменной или нескольких переменных, причём в уравнение входят не только их функции но их производные различных порядков.

Если неизвестные - функции многих переменных, то уравнения называются — уравнения в частных производных. Если неизвестные функции одной независимой переменной, то имеют место обыкновенные дифференциальные уравнения.

Математическое соотношение для детерминированных систем в общем виде:

(7).

Дифференциальные уравнения, Д-схемы являются математическим аппаратом теории систем автоматического регулирования, управления.

При проектировании и эксплуатации систем САУ необходимо выбрать такие параметры системы, которые бы обеспечивали требуемую точность управления.

1.4.2 Дискретно–детерминированные модели (F-схемы)

Дискретно-детерминированные модели являются предметом рассмотрения теории автоматов (ТА). ТА - раздел теоретической кибернетики, изучающей устройства, перерабатывающие дискретную информацию и меняющего свои внутренние состояния лишь в допустимые моменты времени.

Конечный автомат имеет множество внутренних состояний и входных сигналов, являющихся конечными множествами. Автомат задаётся F- схемой:

 F=<z,x,y,,,z0>, (8)

где

z, x, y - соответственно конечные множества входных, выходных сигналов (алфавитов) и конечное множество внутренних состояний (алфавита);

z0Z - начальное состояние;

(z,x) - функция переходов;

(z,x) - функция выхода.

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

Существуют F-автомат 1-ого рода (Миля), функционирующий по схеме:

z(t+1)= [z(t),z(t)], t=0,1,2… (9)

y(t)=[z(t),x(t)], t=0,1,2… (10)

F-автомат 2-ого рода:

z(t+1)= [z(t),z(t)], t=0,1,2… (11)

y(t)=[z(t),x(t-1)], t=1,2,3… (12)

Автомат 2-ого рода, для которого

y(t)=[z(t)], t=0,1,2,… (13)

т.е. функция выходов не зависит от входной переменной x(t), называется автоматом Мура.

Т.о. уравнения 9 - 13 полностью задающие F- автомат, являются частным случаем уравнения

(14)

и уравнения

, (15)

когда система S - денорминированная и на её вход поступает дискретный сигнал x.

По числу состояний конечные автоматы бывают с памятью и без памяти. Автоматы с памятью имеют более одного состояния, а автоматы без памяти (комбинационные или логические схемы) обладают лишь одним состоянием. При этом согласно (10), работа комбинационной схемы заключается в том, что она ставит в соответствие каждому входному сигналу x(t) определённый выходной сигнал y(t), т.е. реализует логическую функцию вида:

y(t)=[x(t)], t=0,1,2,… (16)

Эта функция называется булевой, если алфавиты X и Y, которым принадлежат значения сигналов x и y состоят из 2-х букв.

По характеру отсчёта времени (дискретному) F- автоматы делятся на синхронные и асинхронные. В синхронных автоматах моменты времени, в которые автомат "считывает" входные сигналы, определяются принудительно синхронизирующими сигналами. Реакция автомата на каждое значение входного сигнала заканчивается за один такт синхронизации. Асинхронный F- автомат считывает входной сигнал непрерывно и поэтому, реагируя на достаточно длинный водной сигнал постоянной величины x, он может, как это следует из уравнений 1 - 5, несколько раз изменить своё состояние, выдавая соответствующее число выходных сигналов, пока не перейдёт в устойчивое.

Для задания F- автомата необходимо описать все элементы множества F=<z,x,y,,,z0>, т.е. входной, внутренний и выходной алфавиты, а также функции переходов и выходов. Для задания работы F- автоматов наиболее часто используются табличный, графический и матричный способ.

С помощью F-схем описываются узлы и элементы ЭВМ, устройства контроля, регулирования и управления, системы временной и пространственной коммутации в технике обмена информацией. Широта применения F-схем не означает их универсальность. Этот подход непригоден для описания процессов принятия решений, процессов в динамических системах с наличием переходных процессов и стохастических элементов.

1.4.3 Дискретно-стохастические модели (P-схемы)

Вероятностный автомат (ВА) - это дискретный потактный преобразователь информации с памятью, функционирование которого в каждом такте зависит только от состояния памяти нем и может быть описано статистически.

Схемы вероятностных автоматов (Р-схем) применяются:

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

Математическое понятие Р-автомата формируется на понятиях, введенных для F-автомата.

Пусть множество G, элементами которого являются всевозможные пары где xi и zs — элементы входного подмножества X и подмножества состояний Z соответственно . Если существуют две такие функции  и , то с их помощью осуществляются отображения и , то говорят, что определяет конечный автомат детерминированного типа.

Введем более общую математическую схему. Пусть Ф — множество всевозможных пар вида (zk, yj), где yj — элемент выходного подмножества Y, т.е. . Пусть в любой элемент множества G индуцирует на множестве Ф некоторый закон распределения следующего вида:

Таблица 1

Элементы из Ф

(z1, y1)

(z1, y2)

•••

(zK, yJ-1)

(zK, yJ)

(zk, yj)

b11

b12

•••

bk(j-1)

bkj

При этом , где bkj — вероятности перехода автомат в состояние zk и выдаче на выходе сигнала yj, если автомат был в состоянии z.S, и на его вход в момент времени поступил сигнал хi. Число таких распределений, представленных в виде таблиц, равно числу элементов множества G.

Обозначим множество этих таблиц через В. Тогда четверка элементов называется вероятностным автоматом (Р-автоматом).

1.4.3.1 Вероятностный автомат Мили

Пусть элементы множества G индуцируют некоторые законы распределения на подмножествах Y и Z, которые можно представить соответственно в виде:

Таблица 2

Элементы из Y

y1

y2

YJ-1

y J

q1

q2

q J-1

q J

Элементы из Z

z1

z2

zK-1

zK

1

2

K-1

K

При этом и — вероятности перехода Р-автомата в состояние zk и выдачи выходного сигнала yk при условии, что Р-автомат находился в состоянии zS и на его вход поступил входной сигнал xt.

Если для всех k и j имеет место соотношение , то такой автомат называется вероятностным автоматом Мили. Представленное требование означает выполнение условия независимости распределений для нового состояния Р-автомата и его выходного сигнала.

1.4.3.2 Вероятностный автомат Мура

Пусть выходной сигнал Р-автомата зависит лишь от того состояния, в котором находится автомат в данном такте работы, каждый элемент выходного подмножества Y индуцирует распределение вероятностей выходов, имеющее следующий вид:

Таблица 3

Элементы из Ф

yl

у2

yk-1

yk

(zk, yj)

S1

S2

SI-1

SI

Здесь , где Si, — вероятность появления сигнала на выходе yi при условии, что Р-автомат находился в состоянии zk.

Частным случаем Р-автомата являются автоматы, у которых либо переход в новое состояние, либо выходной сигнал определяются детерминированно. Такой автомат называется Y-детерминированным вероятностным автоматом.

Если состояние Р-автомата определяется детерменированно, то такой автомат называется Z-детерминированным вероятностным автоматом.

Аналогично, Z-детерминированным вероятностным автоматом называется Р-автомат, у которого выбор нового состояния является детерминированным.

Описанный У-детерминированный Р-автомат можно задать в виде ориентированного графа, вершины которого сопоставляются состояниям автомата, а дуги — возможным переходам из одного состояния в другое..

Подобные Р-автоматы могут использоваться как генераторы марковских последовательностей, которые необходимы при построении и реализации процессов функционирования систем S или воздействий внешней среды Е.

Для оценки различных характеристик исследуемых систем, представляемых в виде Р-схем, кроме рассмотренного случая аналитических моделей можно применять и имитационные модели, реализуемые, например, методом статистического моделирования.

1.4.4 Непрерывно-стохастические модели (Q - схемы).

К ним относятся системы массового обслуживания (СМО), которые называют Q- схемами.

Под СМО понимают динамическую систему, предназначенную для эффективного обслуживания случайного потока заявок при ограниченных ресурсах системы.

В качестве процесса обслуживания могут быть представлены различные по своей физической природе процессы функционирования экономических, производственных, технических и других систем, например, потоки поставок продукции некоторому предприятию, потоки деталей и комплектующих изделий на сборочном конвейере цеха, заявки на обработку информации ЭВМ от удалённых терминалов и т.д. При этом характерным для работы таких объектов является случайное поведение заявок (требований) на обслуживание и завершение обслуживания в случайные моменты времени.

Q-схемы можно исследовать аналитически и имитационными моделями. Последнее обеспечивает большую универсальность.

Q-схемы реальных объектов образуются композицией многих элементарных приборов обслуживания. Если различные приборы обслуживания соединены параллельно, то имеет место многоканальное обслуживание (многоканальная Q-схема), а если приборы соединены последовательно, то имеет место многофазное обслуживание (многофазная Q-схема).

Связи в Q-схеме изображают в виде стрелок (линий потока, отражающих направление движения заявок). Различают разомкнутые и замкнутые Q-схемы. В разомкнутой выходной поток не может снова поступить на какой-либо элемент, т.е. обратная связь отсутствует.

Собственными (внутренними) параметрами Q-схемы будут являться кол-во фаз, количество каналов в каждой фазе, количество накопителей каждой фазы, ёмкость i-ого накопителя. В теории массового обслуживания в зависимости от ёмкости накопителя применяют следующую терминологию:

  1.   системы с потерями (накопитель отсутствует);
  2.   системы с ожиданием;
  3.   системы с ограниченной ёмкостью накопителя (смешанные).

Обозначим всю совокупность собственных параметров Q-схемы как подмножество Н.

Для задания Q-схемы также необходимо описать алгоритмы её функционирования, которые определяют правила поведения заявок в различных неоднозначных ситуациях.

Неоднородность потока заявок учитывается с помощью введения класса приоритетов.

В зависимости от динамики приоритетов Q-схемы различают статические и динамические. Статические приоритеты назначаются заранее и не зависят от состояний Q-схемы, т.е. они являются фиксированными в пределах решения конкретной задачи моделирования. Динамические приоритеты возникают при моделировании. Исходя из правил выбора заявок из накопителя на обслуживание каналом можно выделить относительные и абсолютные приоритеты. Относительный приоритет означает, что заявка с более высоким приоритетом, поступившая в накопитель, ожидает окончания обслуживания представляющей заявки каналом и только после этого занимает канал. Абсолютный приоритет означает, что заявка с более высоким приоритетом, поступившая в накопитель, прерывает обслуживание каналом заявки с более низким приоритетом и сама занимает канал (при этом вытесненная заявка может либо покинуть систему, либо может быть снова записана на какое-то место).

Необходимо также знать набор правил, по которым заявки покидают накопитель и канал: для накопителя – либо правила переполнения, либо правила ухода, связанные с истечением времени ожидания заявки; для канала – правила выбора маршрутов или направлений ухода. Кроме того, для заявок необходимо задать правила, по которым они остаются в канале, т.е. правила блокировок канала. При этом различают блокировки по выходу и по входу. Такие блокировки отражают наличие управляющих связей в Qсхеме, регулирующих поток заявок в зависимости от состояний Qсхемы. Набор возможных алгоритмов поведения заявок в Qсхеме можно представить в виде некоторого оператора алгоритмов поведения заявок.

1.4.5 Обобщённые модели (А-схемы)

Обобщенный подход базируется на понятии агрегативной системы, представляющей собой формальную схему общего вида, которую будем называть А-схемой. Этот подход позволяет описывать поведение непрерывных и дискретных, детерминированных и стохастических систем

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

  1.  являться адекватным математическим описанием объекта моделирования;
  2.  позволять в упрощенном варианте (для частных случаев) проводить аналитические исследования.

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

При агрегативном подходе первоначально дается формальное определение объекта моделирования — агрегативной системы. При агрегативном описании сложный объект (система) разбивается на конечное число частей (подсистем), сохраняя при этом связи, обеспечивающие их взаимодействие. В случае сложной организации полученных подсистем, подсистемы декомпозируются до уровней в которых они могут быть удобно математически описаны. В результате сложная система представляется в виде многоуровневой конструкции из взаимосвязанных элементов, объединенных в подсистемы различных уровней.

Элементом А-схемы является агрегат. Связь между агрегатами (внутри системы S и с внешней средой E) осуществляется с помощью оператора сопряжения R. Агрегат может рассматриваться как А-схема, т. е. может разбиваться на элементы (агрегаты) следующего уровня.

Характеристиками агрегата являются множества моментов времени Т, входных X и выходных Y сигналов, состояний Z в каждый момент времени t.

1.5. Принципы моделирования

Рассмотрим основные принципы моделирования:

Принцип информационной достаточности. При полном отсутствии информации об исследуемой системе построение её модели невозможно. При наличии полной информации о системе её моделирование лишено смысла. Существует некоторый критический уровень априорных сведений о системе(уровень информационной достаточности), при достижении которого может быть построена её адекватная модель.

Принцип осуществимости. Создаваемая модель должна обеспечивать достижение поставленной цели исследования с вероятностью, существенно отличающейся от нуля, и за конечное время. Обычно задают некоторое пороговое значение Р0 вероятности достижения цели моделирования Р(t), а также приемлемую границу t0 времени достижения этой цели. Модель считают осуществимой, если может быть выполнено условие Р(t0)Р0.

Принцип множественности модели. Данный принцип является ключевым. Создаваемая модель должна отражать в первую очередь те свойства реальной системы (или явления), которые влияют на выбранный показатель эффективности. При использовании любой конкретной модели познаются лишь некоторые стороны реальности. Для более полного её исследования необходим ряд моделей, позволяющих с разных сторон и с разной степенью детальности отражать рассматриваемый процесс.

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

Принцип параметризации. В ряде случаев моделируемая система имеет в своем составе некоторые относительно изолированные подсистемы, характеризующиеся определенным параметром, в том числе векторным. Такие подсистемы можно заменять в модели соответствующими числовыми величинами, а не описывать процесс их функционирования. При необходимости зависимость значений этих величин от ситуации может задаваться в виде таблицы, графика или аналитического выражения (формулы), Принцип параметризации позволяет сократить объём и продолжительность моделирования. Однако надо иметь в виду, что параметризация снижает адекватность модели.

Степень реализации перечисленных принципов в каждой конкретной модели может быть различной, причем это зависит не только от желания разработчика, но и от соблюдения им технологии моделирования.

 1.6. Преимущества, недостатки и ошибки моделирования

Моделирование широко применяется для исследования сложных систем. Популярности моделирования в этой сфере способствуют его преимущества [1].

  1.   Большинство из сложных реальных систем со стохастическими элементами не могут быть точно описаны с помощью математических моделей, которые можно оценить аналитически, поэтому моделирование становится единственно возможным методом их исследования.
  2.   Моделирование позволяет оценить эксплуатационные показатели существующей системы при некоторых проектных условиях эксплуатации.
  3.   Путем моделирования можно сравнивать предлагаемые альтернативные варианты проектов системы (или альтернативные стратегии эксплуатации для конкретной системы), чтобы определить, какой из них больше соответствует указанным требованиям.
  4.   При моделировании мы можем обеспечить гораздо более эффективный контроль условий эксперимента, нежели при экспериментировании с самой системой.
  5.   Моделирование позволяет изучить длительный интервал функционирования системы (скажем, экономической) в сжатые сроки или, наоборот, изучить более подробно работу системы в развернутый интервал времени.

Моделирование имеет и свои недостатки.

  1.   Каждый из прогонов стохастической имитационной модели позволяет получить лишь оценки настоящих характеристик модели для определенного набора входных параметров. Следовательно, для каждого изучаемого набора входных параметров понадобится несколько независимых прогонов модели. По этой причине имитационные модели не столь удобны при оптимизации, как при сравнении определенного числа альтернативных проектов системы. Однако с помощью аналитической модели, в случае, если она подходит для решения данной задачи, часто можно легко получить томные настоящие характеристики модели для различных наборов входных параметров. Поэтому, если доступна или может быть легко разработана аналитическая модель, адекватная системе, лучше использовать именно ее, а не обращаться к имитационному моделированию.
  2.   Обычно разработка имитационных моделей дорого стоит и занимает много времени.
  3.   Большое число данных, получаемых в результате исследования посредством моделирования, или убедительное влияние реалистичной анимации часто приводят к тому, что результатам такого исследования доверяют больше, чем это оправдано. Если модель не является адекватным представлением изучаемой системы, результаты моделирования (какими бы убедительными они ни казались) будут содержать мало полезной информации о действительной системе.

Успешному исследованию с помощью модели могут помешать такие обстоятельства:

  1.   нечеткая постановка задач в начале исследования системы посредством моделирования;
  2.   недостаточный уровень проработки деталей модели;
  3.   недостаток согласованности с руководством в процессе исследования системы посредством моделирования;
  4.   неправильное понимание моделирования руководством;
  5.   подход к исследованию системы посредством моделирования как к простому упражнению в программировании;
  6.   отсутствие в команде, работающей над моделированием системы, специалистов со знанием методологии моделирования;
  7.   недостаточная подборка данных по системе;
  8.   неподходящее программное обеспечение моделирования;
  9.   использование в явном виде программного обеспечения для моделирования, сложные макрооператоры которого не могут быть надлежащим образом подтверждены документально и не могут реализовать нужную модельную логику;
  10.   ошибочность убеждений в том, что для работы с простыми в употреблении пакетами программ для моделирования, почти не нуждающимися в программировании, достаточно более низкого уровня технической подготовки;
  11.   неправильное использование анимации;
  12.   неверное определение источников случайных величин в реальных системах;
  13.   использование произвольных распределений (то есть нормальных, равномерных и треугольных) в качестве входных параметров моделирования;
  14.   анализ выходных данных, полученных в результате одного прогона имитационной модели, с помощью формул, допускающих независимость;
  15.  .отношение к выходным статистическим данным, полученным на основании единственного прогона определенного проекта системы, как к единственно правильным ответам;
  16.   сравнение альтернативных проектов системы на основе одного прогона каждого проекта;
  17.   использование неправильных критериев оценки работы.

Вопросы для самоконтроля

  1.  Понятие имитационной модели.
  2.  Цели и задачи имитационного моделирования.
  3.  Области применения имитационного моделирования.
  4.  В каких случаях используется имитационное моделирование.
  5.  В каких случаях используют типовые математические схемы.
  6.  Классификационные признаки видов моделирования систем.
  7.  Классификация моделей по характеру изучаемых процессов.
  8.  Классификация моделей по форме представления объекта.
  9.  Типовые математические схемы для построения моделей.
  10.  F-схемы.
  11.  А-схемы.
  12.  P-схемы.
  13.  Q-схемы.
  14.  D-схемы.
  15.  Экзогенные и эндогенные переменные.
  16.  Принцип информационной достаточности.
  17.  Принцип осуществимости.
  18.  Принцип множественности модели.
  19.  Принцип агрегирования.
  20.  Принцип параметризации.
  21.  Преимущества имитационного моделирования.
  22.  Недостатки имитационного моделирования.


2. Этапы исследования системы посредством моделирования

2.1.Основные этапы процесса моделирования

Авторы учебников по имитационному моделированию выделяют различное количество этапов имитационного моделирования. Основными этапами процесса моделирования являются:

I. Формулировка проблемы.

II. Построение математической модели.

III. Алгоритмизация модели и ее машинная реализация.

IV. Получение и интерпретация результатов моделирования.

Содержание первого этапа практически не зависит от математического метода, положенного в основу моделирования (наоборот – результат определяет выбор метода). А вот реализация остальных этапов существенно различается для каждого из двух основных подходов к построению модели (аналитического и имитационного).

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

При имитационном моделировании используемая математическая модель воспроизводит алгоритм (логику) функционирования исследуемой системы во времени при различных сочетаниях значений параметров системы и внешней среды.

В одних случаях предпочтительным является аналитическое моделирование, в других – имитационное (или сочетание того и другого). Чтобы сделать правильный выбор необходимо ответить на два вопроса:

  1.  С какой целью проводится моделирование?
  2.  К какому классу может быть отнесено моделируемое явление?

Ответы на эти вопросы могут быть получены в ходе выполнения первого этапа моделирования.

2.1.1. Формулировка проблемы

На первом этапе моделирования выполняются:

  1.  Формулировка задачи и планирование исследования системы.
  2.  Сбор данных и определение модели.
  3.  Определение адекватности концептуальной модели.

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

глобальная цель исследования;

специальные вопросы, на которые должно ответить исследование;

критерии качества работы, используемые в будущем для оценки эффективности различных конфигураций системы;

масштаб модели;

моделируемые конфигурации системы;

применяемое программное обеспечение;

временной интервал для исследования и необходимые ресурсы.

Сбор данных и определение модели включают:

сбор информации о конфигурации системы и способах эксплуатации;

сбор данных для определения параметров модели и входных распределений вероятностей;

схематическое изображение данных – концептуальная модель;

сбор данных о рабочих характеристиках существующей системы;

выбор уровня детальности модели;

установление между каждым элементом модели и соответствующим ему элементом системы взаимно-однозначного соответствия;

регулярное взаимодействие с руководителем и другими ведущими специалистами проекта.

В результате исследования задачи получается концептуальная модель - описательная модель.

Общая цель моделирования – это определение (расчет) значений выбранного показателя эффективности для различных стратегий проведения эксперимента (или вариантов реализации проектируемой системы).

Концептуальная (содержательная) модель – это абстрактная модель, определяющая структуру моделируемой системы, свойства её элементов и причинно-следственные связи, присущие системе и существенные для достижения цели моделирования.

Построение концептуальной модели включает следующие этапы:

определение типа системы;

описание рабочей нагрузки;

декомпозицию системы.

Если полученные на этом этапе результаты соответствуют принципам информационной достаточности и осуществимости, то они могут служить основой для определения типа системы (см. рисунок 1).

Рабочая нагрузка – это совокупность внешних воздействий, оказывающих влияние на эффективность применения данной системы в рамках проводимой операции.

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

Модель рабочей нагрузки должна обладать следующими основными свойствами:

совместимостью с моделью системы;

представительностью;

управляемостью;

системной независимостью.

Свойство совместимости предполагает, что:

степень детализации описания рабочей нагрузки соответствует детализации описания системы;

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

Представительность модели рабочей нагрузки определяется её способностью адекватно представить рабочую нагрузку в соответствии с целями исследования. Т. е. модель рабочей нагрузки должна отвечать целям исследования системы.

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

Системная независимость – это возможность переноса модели рабочей нагрузки с одной системы на другую с сохранением её представительности. Данное свойство наиболее важно при решении задач сравнения различных систем или различных модификаций одной системы.

Завершающим этапом построения концептуальной модели системы является её декомпозиция. Декомпозиция системы производится исходя из выбранного уровня детализации модели, который, в свою очередь, определяется тремя факторами:

целями моделирования;

объёмом априорной информации о системе;

требованиями к точности и достоверности результатов моделирования.

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

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

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

2.1.2. Построение математической модели

При построении математической модели одной из основных задач является проверка адекватности (отображает ли модель свойства реального объекта). Математическая модель строится по блочному принципу. При этом могут быть выделены три автономные группы блоков такой модели (рис. 2).

1. Блоки первой группы имитируют воздействие внешней среды E на систему S.

2. Блоки второй группы являются собственно моделью процессов функционирования исследуемой системы S.

3. Блоки третьей группы являются вспомогательными и служат для машинной реализации блоков двух первых групп, а также для фиксации и обработки результатов моделирования. Рассмотрим механизм перехода от описания процесса функционирования некоторой системы к модели этого процесса.

1      2     3   4    5

7   8   9   10   11   12 13

15   16   17   18   19  20 21

22     23     24   25   26

27     28     29   30   31

 6

 14

Рис. 2. Концептуальная модель

Для наглядности введем представление о концептуальной модели Mk как совокупности некоторых элементов, условно изображенных квадратами. Эти квадраты (на рисунке их 31) представляют собой описание некоторых подпроцессов системы, воздействий внешней среды и т.д.

1. Исключаем из рассмотрения некоторые второстепенные элементы описания 2-4, 22, 24-31. Предполагается, что они не оказывают существенного влияния на ход процессов, исследуемых с помощью модели.

2. Часть элементов заменяется пассивными связями h1, отражающими внутренние свойства системы (8, 16, 23).

3. Некоторая часть элементов 1, 6, 14 - заменяются входными факторами x и воздействиями внешней среды v1.

4. Возможны и комбинированные замены: элементы 5, 11, 19 - заменены пассивной связью h2 и воздействием внешней среды E.

5. Элементы 13, 21 - отражают воздействие системы на внешнюю среду y.

Рис. 3. Блочная модель

6. Оставшиеся элементы системы группируются в блоки - отражающие процесс функционирования исследуемой системы. Каждый из этих блоков достаточно автономен. Поведение этих блоков должно быть изучено и для каждого из них построена математическая модель.

После перехода от описания моделируемой системы к ее модели Mk, построенной по блочному принципу (рис. 3), необходимо построить математические модели процессов, происходящих в различных блоках.

Если система разбита на m подсистем с характеристиками y1(t), y2(t) , ..., yny(t) и с параметрами h1, h2, ..., hnh при наличии входных воздействий x1, x2, .., xnx и воздействий внешней среды v1, v2, ..., vnv тогда математической моделью процесса может служить система соотношений вида:

Теперь нужно подобрать типовые математические модели (Р-схемы, Q-схемы, F-схемы и т.д.), которые достаточно точно описывают основные особенности реальных явлений исследуемой модели.

2.1.3. Алгоритмизация модели и ее машинная реализация

Перед исследователем стоит две задачи:

1. Организация отсчета времени в модели и представление параллельно развивающихся процессов.

2. Отображение моделируемой системы в виде алгоритмов и программ.

Процесс функционирования системы S можно рассматривать как последовательную смену ее состояний: в k- мерном пространстве.

В зависимости от вида характеристик состояния различаю три вида моделей:

1. Моделирование непрерывных систем.

При моделировании непрерывных систем переменные состояния меняются непрерывно по отношению ко времени. На рис. 4 представлен график непрерывной функции zi(t).

рис. 4. Непрерывная функция

2. Моделирование непрерывно-дискретных систем.

При моделировании непрерывно-дискретной системы состояния системы непрерывны на отдельном участке, а в определенные моменты времени изменяются скачком (рис.5).

рис. 5. Непрерывно-дискретная функция

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

  1.  Моделирование дискретных систем.

Состояния системы zi(t) могут принимать только фиксированные значения и остаются постоянными на интервалах между моментами особых состояний (рис. 6).

рис. 6. Дискретная функция

При разработке практически любой имитационной модели и планировании проведения модельных экспериментов необходимо соотносить между собой три представления времени:

реальное время, в котором происходит функционирование имитируемой системы;

модельное (системное) время, в масштабе которого организуется работа модели;

машинное время, отражающее затраты времени ЭВМ на проведение имитации.

С помощью механизма модельного времени решаются следующие задачи:

отображается переход моделируемой системы из одного состояния в другое;

производится синхронизация работы компонент модели;

изменяется масштаб времени «жизни» (функционирования) исследуемой системы;

производится управление ходом модельного эксперимента;

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

События, которые в реальной системе возникают одновременно, в имитационной модели обрабатываются последовательно (поэтому они называются квазипараллельные).

Существует два способа изменения модельного времени: с постоянным шагом и по особым состояниям.

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

Равномерный отсчет времени (РОВ) называется "принцип ". Модельное время изменяется с равномерным шагом , т.е. , , (рис. 7). При таком подходе часы модельного времени продвигаются на единиц времени. После каждого обновления часов выполняется проверка с целью определить, запланированы ли какие-либо события в течение предыдущего интервала времени . Если на этот интервал запланированы одно или несколько событий, то считается, что эти события происходят в конце временного интервала. Если на данный временной интервал не были запланированы события, проверка всёравно выполняется. Два события с разным временем наступления, попадающие в проверяемый временной интервал, считаются произошедшими в конце интервала.

Этот метод целесообразно использовать если:

события появляются регулярно, их распределение во времени достаточно равномерно;

число событий велико и моменты их появления близки;

невозможно заранее определить моменты появления событий.

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

  1.  принимать величину шага равной средней интенсивности возникновения событий различных типов;
  2.  выбирать величину равной среднему интервалу между наиболее частыми (или наиболее важными) событиями.

Этот принцип не очень хорош для дискретных систем (из-за его непрерывности).

Событийный отсчет времени - "принцип особых состояний". Системное время изменяется со случайным шагом, который определяется временем наступления очередного события (рис.8).

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

Если же момент наступления события определяется некоторыми логическими условиями, то необходимо сформулировать эти условия и проверить их истинность для каждого последующего шага моделирования.

Моделирование по особым состояниям целесообразно использовать если:

  1.  события распределяются во времени не равномерно или интервалы между ними велики;
  2.  предъявляются повышенные требования к точности определения взаимного положения событий во времени;
  3.  необходимо учитывать наличие одновременных событий.

Достоинство метода – что он позволяет экономить машинное время, особенно при моделировании систем периодического действия, в которых события длительное время могут не наступать.

Краткие выводы:

  1.  выбор механизма изменения модельного времени определяет технологию реализации имитационной модели;
  2.  на выбор метода моделирования влияет целый ряд факторов, однако определяющим является тип моделируемой системы: для дискретных систем, события в котором распределены во времени не равномерно, более удобным является изменение модельного времени по особым состояниям;
  3.  если в модели должны быть представлены компоненты реальной системы, работа которых измеряется в разных единицах времени, то они должны быть предварительно приведены к единому масштабу.

Практически любая более или менее сложная система имеет в своем составе компоненты, работающие одновременно (параллельно).

Рис. 7. Равномерный отсчет времени

Рис. 8. Событийный отсчет времени

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

Виды параллельных процессов:

1) Асинхронный параллельный процесс – такой процесс, состояние которого не зависит от состояния другого параллельного процесса (ПП).

Пример: подготовка и проведение рекламной кампании фирмой и работа сборочного цеха.

  1.  Синхронный параллельный процесс – состояние которого зависит от состояния взаимодействующих с ним ПП.

Пример: работа торговой организации и доставка товара со склада (нет товара – нет торговли).

Один и тот же процесс может быть синхронным по отношению к одному из активных ПП и асинхронным по отношению к др.

  1.  Независимый ПП – процесс, который не является подчиненным ни для одного из процессов.

Подчиненный ПП – создается и управляется другим процессом (более высокого уровня).

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

Языки моделирования по сравнению с языками реального времени требуют от разработчика значительно менее высокого уровня подготовки в области программирования, что обусловлено двумя обстоятельствами:

  1.  средства моделирования изначально ориентированы на квазипараллельную обработку параллельных процессов;
  2.  механизмы реализации ПП относятся, как правило, к внутренней организации системы (языка) моделирования, и их работа скрыта от программиста.

В практике имитационного моделирования одинаково широко используются как процессно-ориентированные языки (системы) моделирования, например, SIMULA, так и языки, ориентированные на обработку транзактов (например, язык GPSS). В тех и других используются аналогичные методы реализации квазипараллелизма, основанные на ведении списков событий. В прцессно-ориентированных системах используются списки событий следования, а в транзактных системах списки событий изменения состояний.

Рассмотрим механизм реализации ПП на примере транзактных систем моделирования. Под событием понимается любое перемещение транзакта по системе, а также изменение его состояния (обслуживается, заблокирован и т. д.). Событие связанное с транзактом может храниться а одном из следующих списков:

  1.  Список текущих событий – в этом списке находятся события, время наступления которых меньше или равно текущему модельному времени. События с «меньшим» временем связаны с перемещением тех транзактов, которые должны были начать двигаться, но были заблокированы.
  2.  Список будущих событий – этот список содержит события, время наступления которых больше текущего модельного времени, т. е. События, которые должны произойти в будущем (условия наступления которых уже определены – например, известно, что транзакт будет обслуживаться некоторым устройством 10 ед. времени).
  3.  Список прерываний – данный список содержит события, связанные с возобновлением обработки прерванных транзактов. События из этого списка выбираются в том случае, если сняты условия прерывания.

В списке текущих событий транзакты расположены в порядке убывания приоритета соответствующих событий; при равных приоритетах – в порядке поступления в список.

Каждое событие (транзакт) в списке текущих событий может находиться либо в активном состоянии, либо в состоянии задержки. Если событие активно, то соответствующий может быть продвинут по системе; если продвижение невозможно (например, из-за занятости устройства), то событие (и транзакт) переводится в состояние задержки.

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

Удобной формой представления логической структуры моделей процессов функционирования систем является схема. На различных этапах моделирования составляются обобщенные, детальные, логические схемы, а так же схемы программ.

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

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

Логическая схема моделирующего алгоритма - представляет собой логическую модель процесса функционирования системы S. Логическая схема показывает упорядоченную во времени последовательность логических операций, связанных с решением задачи моделирования.

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

2.1.4. Получение и интерпретация результатов моделирования 

Перед проведением рабочих расчетов на ПЭВМ должен быть составлен план проведения эксперимента с моделью системы S с указанием комбинаций переменных и параметров, для которых проводится моделирование.

Планирование модельных экспериментов преследует две основные цели:

сокращение общего объема испытаний при соблюдении требований к достоверности и точности их результатов;

повышение информативности каждого из экспериментов в отдельности.

Поиск плана эксперимента проводится в так называемом факторном пространстве. Факторное пространство – это множество внешних и внутренних параметров модели, значения которых исследователь может контролировать в ходе подготовки и проведения модельного эксперимента. Каждый из факторов имеет верхний и нижний уровни, расположенные симметрично относительно некоторого нулевого уровня. Точка в факторном пространстве, соответствующая нулевым уровням всех факторов, называется центром плана.

Интервалом варьирования фактора называется некоторое число J, прибавление которого к нулевому уровню дает верхний уровень, а вычитание – нижний.

Как правило, план эксперимента строится относительно одного (основного) выходного скалярного параметра , который называется наблюдаемой переменной.

Существует два основных варианта постановки задачи планирования имитационного эксперимента:

из всех допустимых выбрать такой план, который позволил бы получить наиболее достоверное значение функции отклика при фиксированном числе опытов;

выбрать такой допустимый план, при котором статистическая оценка функции отклика может быть получена с заданной точностью при минимальном объеме испытаний.

Первый вариант называется стратегическим планированием, второй – тактическим.

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

Цель методов стратегического планирования имитационных экспериментов – получение максимального объема информации об исследуемой системе в каждом эксперименте.

Совокупность методов установления необходимого объема испытаний относят к тактическому планированию экспериментов.

Так как точность оценок наблюдаемой переменной характеризуется её дисперсией, то основу тактического планирования эксперимента составляют так называемые методы понижения дисперсии.

Решения, принимаемые исследователем по результатам имитационного моделирования, могут быть конструктивными только при выполнении двух основных условий:

полученные результаты обладают требуемой точностью и достоверностью;

исследователь способен правильно интерпретировать полученные результаты и знает, каким образом они могут быть использованы.

Точность моделирования определяется несколькими факторами:

выбором единицы измерения времени;

количеством реализаций или длительностью моделирования для стационарных систем;

начальным состоянием системы.

При имитационном моделировании на достоверность результатов влияет ряд факторов, основными из которых являются:

моделирование случайных факторов, основанное на использовании датчиков случайных чисел, которые могут вносить «искажения» в поведение модели;

наличие нестационарного режима работы модели:

использование нескольких разнотипных математических методов в рамках одной модели:

зависимость результатов моделирования от плана эксперимента:

необходимость синхронизации работы отдельных компонентов модели.

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

адекватность;

устойчивость;

чувствительность.

В общем случае под адекватностью понимают степень соответствия модели тому реальному явлению или объекту, для описания которого она строится.

Для проектируемых систем адекватность модели определяется степенью её соответствия целям исследования.

Процедура оценки адекватности основана на сравнении измерений на реальной системе и результатов экспериментов на модели и может проводиться различными способами. Наиболее распространенные из них:

по средним значениям откликов модели и системы;

по дисперсиям отклонений откликов модели от среднего значения откликов системы;

по максимальному значению относительных отклонений откликов модели от откликов системы.

Для проектируемой системы оценка адекватности программно-реализованной модели заключается в проверке того, насколько корректно она отражает концептуальную модель.

Устойчивость модели – это её способность сохранять адекватность при исследовании эффективности системы на всем возможном диапазоне рабочей нагрузки, а также при внесении изменений в конфигурацию системы.

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

Устойчивость результатов моделирования может быть оценена методами математической статистики.

Оценка чувствительности модели к изменению параметров рабочей нагрузки и внутренних параметров самой системы проводится для каждого параметра в отдельности.

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

Если в результате проведенной оценки качества модели оказалось, что её целевые свойства не удовлетворяют разработчика, необходимо выполнить её калибровку, т.е. коррекцию с целью приведения в соответствие предъявляемым требованиям.

Процесс калибровки носит итерационый характер и состоит из трех основных этапов:

Глобальные изменения модели (например, введение новых процессов, изменение типов событий и т.д.).

Локальные изменения (в частности, изменение некоторых законов распределения моделируемых случайных величин).

Изменение специальных параметров, называемых калибровочными.

Процедура калибровки представлена на рис. 9.

Шаг 1. Сравнение выходных распределений.

Цель – оценка адекватности имитационной модели. Критерии сравнения могут быть различными. В частности, может использоваться величина разности между средними значениями откликов модели и системы. Устранение различий на этом шаге основано на внесении глобальных изменений.

Шаг 2. Балансировка модели.

Основная задача – оценка устойчивости и чувствительности модели. По его результатам, как правило, производятся локальные изменения (но возможны и глобальные).

Шаг 3. Оптимизация модели.

Цель этого этапа – обеспечение требуемой точности результатов. Здесь возможны три основных направления работ:

дополнительная проверка качества датчика случайных чисел;

снижение влияния переходного режима;

применение специальных методов понижения дисперсии.

Сравнение

выходных

распределений

Балансировка

модели

Оптимизация

модели

Рис. 9 Схема процесса калибровки имитационной модели

Рис. 9-Калибровка модели

Для правильной интерпретации данных должен быть произведен предварительный анализ на первых этапах создания модели. Планирование машинного эксперимента позволяет вывести необходимое количество выходных данных и определить метод их анализа. При этом необходимо выводить только те результаты, которые нужны для проведения дальнейшего анализа. Необходимо решить вопрос о форме представления результатов моделирования (таблицы, графики, диаграммы, гистограммы, схемы и т.п.). В каждом конкретном случае целесообразно выбрать наиболее подходящую форму представления результатов моделирования, так как это существенно влияет на эффективность дальнейшего использования результатов.

После получения и предварительного анализа результатов моделирования они должны быть интерпретированы относительно моделируемого объекта, т.е. системы S.

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

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

Вопросы для самоконтроля

  1.  Основные этапы процесса моделирования.
  2.  Концептуальная модель.
  3.  Равномерный отсчет времени.
  4.  Событийный отсчет времени.
  5.  Виды параллельных процессов.
  6.  Список текущих событий.
  7.  Список будущих событий.
  8.  Список прерываний.
  9.  Обобщенная схема моделирующего алгоритма.
  10.  Детальная схема моделирующего алгоритма.
  11.  Логическая схема.
  12.  Схема программы.
  13.  План проведения эксперимента.
  14.  Факторное пространство.
  15.  Стратегическое планирование.
  16.  Тактическое планирование.
  17.  Адекватность.
  18.  Устойчивость.
  19.  Чувствительность.
  20.  Калибровка модели.
  21.  Форма представления результатов.


3. Метод статистического моделирования

На этапе исследования и проектирования систем при построении и реализации машинных моделей широко используется метод статистических испытаний (метод Монте-Карло), который базируется на использовании случайных чисел.

Метод статистических испытаний – это метод решения невероятностной проблемы вероятностным способом. Часто его называют методом Монте-Карло, по названию проекта США по ядерной технике, где он был впервые предложен. Явное представление времени здесь отсутствует. Суть метода в том, что процесс описывают формулами и логическими выражениями на ЭВМ. Затем в модель вводят случайно изменяющиеся факторы и оценивают их влияние на показатели процесса. Результаты оценки подвергают статической обработке. Идею этого метода покажем на примере расчета площади криволинейной фигуры на рис. 10.

X

Y

X

Y

y

x

a

б

а – аналитическая модель; б – метод Монте-Карло

Рисунок 10 - Расчет площади криволинейной фигуры

При традиционном подходе строят аналитическую зависимость Y=φ(X), по которой рассчитывают площадь фигуры (рис. 10). На этом прямоугольнике в случайном порядке разбрасывают точки. Затем оценивают, какая доля всех точек попала внутрь фигуры. Эта доля соответствует доле площади фигуры от рассчитанной площади прямоугольника. Чем больше точек, тем точнее можно определить площадь фигуры.

Метод статистических испытаний, как первый и широко распространившийся метод имитационного моделирования, часто вообще считают единственным методом имитации систем. Динамику системы описывают на универсальном языке программирования в виде последовательности уравнений с детерминированными –Х и случайными ~X(Δt) коэффициентами (рис. 11). Время моделирования разбивают на одинаковые шаги Δt.

-X

Рисунок 11 - Имитация поведения системы методом статистических испытаний

На каждом шаге Δt изменяют значения случайных коэффициентов ~X(Δt), для которых по уравнениям рассчитывают изменения выходной величины ~Y(Δt). Каждый эксперимент представляет собой расчет уравнений с шагом Δt. В результате выявляют связь выходных величин с входными величинами.

Поскольку шаг времени Δt выбирают для самого быстрого элемента системы, то в результате моделирования получают много ненужной информации для шагов, когда никаких изменений этого элемента в системе происходит. Кроме того, разработка имитационной модели на универсальном языке программирования требует специальной квалификации и часто остается от изменений в системе.

Существуют две области применения метода статистического моделирования:

  1.   для изучения стохастических систем;
  2.   для решения детерминированных задач.

В настоящее время моделирование по методу Монте-Карло широко применяется при решении определенных задач статистики, которые не поддаются аналитической обработке. Этот тип моделирования применялся для оценки критических значений или достоверности критерия при проверке гипотезы.

3.1. Общая структура статистической модели

Задачи статистического моделирования:

1) построение объекта моделирования;

2) формирование случайных взаимодействий;

3) организация статистической обработки данных моделирования;

4) задача планирования эксперимента.

На рис. 12 приведена общая структура статистической модели. Блоки I, II, III соответствуют первым трем задачам.

Стандартные и Значения входных

эмпирические параметров модели

законы распределения

 

Запрос на имитацию Данные Результаты

случайных воздействий моделирования моделирования

 

Блок статистической обработки данных моделирования

Блок имитации процессов функционирования объекта

Оптимизация

модели

Блок имитации случайных воздействий

 I Значения случайного II Статистические данные III

 воздействия для управления моделированием

Рис. 12 - Общая структура статистической модели

Вопросы для самоконтроля

  1.  Метод Монте-Карло.
  2.  Общая структура статистической модели.


4. Моделирование случайных процессов

Еще раз отметим, что имитационная модель позволяет исследовать поведение различных систем с учетом влияния случайных факторов. Эти факторы в зависимости от их природы могут быть отражены в модели как случайные события, случайные величины (дискретные или непрерывные) или как случайные функции (процессы).

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

К общим принципам имитации случайных воздействий на ЭВМ относятся:

1) Формирование базовой случайной величины (CB)

2) Преобразование базовой случайной величины в значения случайных величин распределенных по требуемому закону.

4.1. Способы формирования базовой случайной величины

В основе базовой СВ обычно используется СВ равномерно распределенная на интервале [0,1].

Рассмотрим общий случай распределения СВ на интервале [a,b]. Непрерывная СВ имеет равномерное распределение в интервале [a,b], если ее функции плотности (рис. 13) и распределения (рис. 14) соответственно примут вид:

Рис. 13 - Функция плотности для равномерного распределения

Рис. 14 - Функция равномерного распределения

Определим числовые характеристики случайной величины принимающей значения x: математическое ожидание (уравнение 17), дисперсию (уравнение 18) и среднее квадратическое отклонение (уравнение 19):

(17)

(18)

(19)

При моделировании систем на ЭВМ приходится иметь дело со случайными числами интервала [0,1], когда границы интервала a=0, b=1.

Рассмотрим частный случай равномерного распределения, когда функции плотности и распределения соответственно имеют вид:

Математическое ожидание такого распределения - , дисперсия - и среднеквадратическое отклонение - . Это распределение требуется получить на ЭВМ. Но получить его на цифровой ЭВМ невозможно, т.к. машина оперирует с n-разрядными числами. Поэтому на ЭВМ вместо непрерывной совокупности равномерных случайных чисел интервала [0,1] используют дискретную последовательность случайных чисел того же интервала. Закон распределения такой дискретной последовательности называют квазиравномерным распределением.

4.2. Получение квазиравномерных чисел

Случайная величина , имеющая квазиравномерное распределение в интервале [0,1], принимает значения с вероятностями

Математическое ожидание и дисперсия квазиравномерной СВ соответственно имеют вид:

В первом случае используем соотношение:

(20)

Во втором случае имеем соотношение:

(21)

Таким образом, математическое ожидание квазиравномерной случайной величины совпадает с математическим ожиданием равномерной случайной последовательности интервала [0,1], а дисперсия отличается множителем , который при достаточно больших близок к единице.

На ЭВМ невозможно получить идеальную последовательность случайных чисел т.к. можно оперировать только с конечным множеством чисел, и для получения значений х случайной величины используют формулы; поэтому такие последовательности называют псевдослучайными.

4.3 Моделирование случайных событий

Для моделирования случайного события А, вероятность которого равна Рс, достаточно сформировать одно число r, равномерно распределенное на интервале [0,1].

При попадании r в интервал [0, Рс] считают, что событие А наступило, в противном случае — не наступило, т.е.:

(22)

Пусть, например, вероятность отказа вычислительной системы составляет 0,3. Чтобы определить, возникнет ли он на очередном шаге моделирования, достаточно сгенерировать с помощью датчика одно случайное число r и сравнить его с вероятностью отказа (рис. 15)

0

0

P0=0,3

r

P0=0,3

r

1

1

1

1

0

0

а) отказ «произошёл» б) отказ «не произошёл»

Рис. 15 - Моделирование случайного события

Для моделирования полной группы N несовместных событий А={A1, A2, …,AN} с вероятностями соответственно P1, Р2,..., PN также достаточно одного значения r: событие Аi из группы А считается наступившим, если выполняется условие:

(23)

Предположим, что в каждый момент времени может происходить обращение только к одному из трех модулей оперативной памяти вычислительной системы. Вероятности обращения к каждому из них Р1, Р2 и Р3 равны соответственно 0.3, 0.5 и 0.2. Чтобы узнать, из какого именно модуля будут считаны данные, необходимо определить, в какой интервал попадает полученное от датчика случайное число r (рис. 16).

r

r

1

1

1

1

0

0

Р1       Р2           Р3

Р1       Р2           Р3

0,3    0,5

 0,3   0,5

Рис. 16. Моделирование полной группы из трех несовместных событий

Если группа событий А не полна, то вводят фиктивное событие AN+1 с вероятностью PN+1, такой, что сумма вероятностей становится равной 1:

, т. е. дополняют группу А до полной. (24)

После этого генерируют число r и проверяют условие (2). При А = AN+1 считают, что ни одно событие из исходной группы А не наступило.

Для имитации зависимых событий А и В (В зависит от А) необходимо знать безусловную вероятность Р(А) события А и условные вероятности Р(В/А) и Р(В/А). Сначала описанным выше способом имитируется появление события А, в зависимости от исхода выбирается одна из вероятностей Р(В/А) или Р(В/А), и по той же технологии определяется наступление события В.

4.4 Моделирование случайных величин

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

  1.   метод последовательных сравнений;
  2.   метод интерпретации.

Метод последовательных сравнений

Число r последовательно сравнивают со значением суммы Р1+Р2+... , где Р1 - вероятность наименьшего значения СВ Y, Р2 — вероятность второго по величине значения.

При первом выполнении условия r> проверка прекращается и дискретная СВ Y считается принявшей значение уi.

Процесс можно ускорить, применяя методы оптимизации перебора: дихотомии, ранжирования Р и т.д.

Величины Pi рассчитывают по функциям распределения вероятности, соответствующим моделируемому закону.

Метод интерпретации

Метод основан на физической трактовке моделируемого закона распределения. Например, биномиальное распределение описывает число успехов в n независимых испытаниях с вероятностью успеха в каждом испытании Р и вероятностью неудачи g = 1 - Р.

При моделировании этого распределения с помощью метода интерпретации выбирают n независимых СЧ, равномерно распределенных на интервале [0, 1], и подсчитывают количество тех из них, которые меньше Р. Это число и является моделируемой СВ.

4.5 Моделирование непрерывных случайных величин

При моделировании непрерывных СВ с заданным законом распределения могут использоваться три метода:

  1.   нелинейных преобразований;
  2.   композиций;
  3.   табличный.

Первые два метода требуют от разработчика модели весьма серьезной математической подготовки и в данном пособии не рассматриваются. Третий метод, условно названный «табличным», основан на замене закона распределения непрерывной СВ специальным расчетным соотношением, которое позволяет вычислять значение СВ по значению случайного числа, равномерно распределенного все на том же интервале [0, 1]. Такие соотношения получены практически для всех наиболее распространенных видов распределений и приведены в справочной литературе. В качестве примера ниже приведено расчетное соотношение для показательного закона распределения показательного:

(25)

где

параметр показательного распределения,

r— равномерно распределённое СЧ.

Технологию моделирования непрерывных случайных величин поясним на примере.

Специалисты в области надежности технических систем доказали, что интервалы времени между отказами распределены по экспоненциальному закону. Чтобы получить в модели величину промежутка времени между двумя соседними отказами, достаточно сгенерировать случайное число r и подставить его в выражение (25); разумеется, при этом должен быть известен параметр распределения .

В одной и той же имитационной модели могут фигурировать различные случайные факторы, одни могут быть представлены как случайные события, другие — как случайные величины; более того, если моделируется поведение достаточно сложной системы, то ее функционирование может быть связано с возникновением нескольких типов событий и учетом большого числа случайных величин, распределенных по различным законам. Если же моделирование всех случайных факторов основано на использовании одного датчика, генерирующего одну «общую» последовательность случайных чисел, то с математической точки зрения их нельзя считать независимыми. В связи с этим для моделирования каждого случайного фактора стараются использовать отдельный генератор, или, по крайней мере, обеспечивать создание новой последовательности случайных чисел. Во многих специализированных языках и пакетах моделирования такая возможность предусмотрена.

4.6. Способы получения случайных чисел

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

Существуют два способа формирования случайных чисел (CЧ):

1) с помощью специального физического датчика;

2) с помощью специальных программ.

4.6.1. Физический способ

Для более быстрого генерирования случайных чисел были созданы механизированные устройства: в конце 1930-х годов Кендалл и Бабингтон-Смит использовали быстро вращающийся диск для подготовки таблицы, содержащей 100000 случайных однозначных чисел. Позднее разработаны электрические схемы, основанные на произвольно пульсирующих электронных лампах, которые выдавали до 50 случайных чисел в секунду. Одна из таких схем реализована в электронном индикаторном устройстве для получения случайных чисел, использовавшемся Британским почтовым ведомством для выбора победителей в лотерее. Другое электронное устройство применялось компанией Rand Corporation для генерирования таблицы, содержащей 1000000 случайных цифр. Было изобретено и множество других схем, таких как произвольный выбор чисел из телефонных книг, результатов переписи населения или использование цифр в числе до 100000 десятичных разрядов. [1]

С распространением компьютеров (и моделирования) все более пристальное внимание стало уделяться методам генерирования, или генераторам, случайных чисел, совместимых со способом работы компьютеров. При этом способе генерации случайные числа вырабатываются специальной электронной приставкой - генератором (датчиком) СЧ, служащей в качестве одного из внешних устройств ЭВМ. В качестве физического эффекта, лежащего в основе таких генераторов чисел, чаще всего используются шумы в электронных и полупроводниковых приборах, явления распада радиоактивных элементов и т.д. (количество радиоактивных частиц).

Преимуществом физических датчиков является высокая скорость формирования случайных чисел.

К недостаткам физических датчиков случайных чисел относятся:

1) изготовление отдельного прибора;

2) не позволяют гарантировать качество последовательности непосредственно во время моделирования системы на ЭВМ, а также повторно получать при моделировании одинаковые последовательности чисел.

4.6.2. Программный способ

Наибольшее применение в практике моделирования на ЭВМ для генерации последовательностей псевдослучайных чисел получили алгоритмы вида: представляющие собой рекуррентные соотношения первого порядка, для которых начальное число x0 и постоянные параметры заданы.

Хороший арифметический генератор случайных чисел должен обладать следующими свойствами.

1. Получаемые числа должны быть равномерно распределены в интервале [0,1] и не должны иметь корреляции друг с другом, в противном случае результаты моделирования могут оказаться полностью недействительными.

2. Чтобы генератор можно было использовать на практике, он должен обладать быстродействием и не требовать больших затрат памяти.

3. Генератор должен обеспечивать возможность точно воспроизводить заданный поток случайных чисел.

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

4.6.2.1 Метод серединных квадратов

Одной из исторически первых процедур получения псевдослучайных чисел была процедура, получившая название серединных квадратов, был предложен фон Нейманом и Метрополисом в 1940-х годах.

Алгоритм получения последовательности случайных чисел методом серединных квадратов сводится к следующему:

Пусть имеется - разрядное число, меньше 1:

возведем его в квадрат:

,

а затем возьмем средние разрядов:

,

которые и будут очередным числом.

Например:

и т.д.

Недостатком этого метода является наличие корреляции между числами последовательности, а в ряде случаев случайность вообще может отсутствовать.

Например:

Метод срединных квадратов вовсе не является случайным, то есть непредсказуемым (это наиболее существенный его недостаток). На самом деле, если мы знаем одно число, следующее число является полностью предопределенным, поскольку правило его получения неизменно. Фактически, когда задается , предопределяется вся последовательность чисел . Это замечание касается всех арифметических генераторов.

4.6.2.2. Линейные конгруэнтные генераторы

Широкое применение при моделировании на ЭВМ получили линейные конгруэнтные процедуры генерации псевдослучайных последовательностей. В них последовательность целых чисел определяется по рекурсивной формуле

(26)

где (модуль), (множитель), (приращение) и (начальное число или значение) являются неотрицательными целыми числами. Таким образом, согласно формуле (26), для получения - нужно разделить на , то есть будет остатком этого деления.

Два целых числа и конгруэнтны (сравнимы) по модулю ( - целое число), если делится на без остатка и если числа и дают одинаковые остатки от деления на .

Например:

125 и 5 (mod 10)

Конгруэнтная процедура получения последовательностей случайных квазиравномерно распределенных чисел может быть реализована мультипликативным (с параметром = 0) либо смешанным методом (с параметром > 0).

4.6.2.3. Мультипликативный метод

Задает последовательность неотрицательных целых чисел , не превосходящих по формуле:

(27)

Для машинной реализации , где , а - число бит в машинном слове (286 - 16; 386, 486 - 32; Pentium - 64).

Алгоритм построения последовательности сводится к следующим шагам:

1) выбрать в качестве произвольное нечетное число;

2) вычислить коэффициент , где - любое целое положительное число;

3) найти произведение , содержащие не более значащих разрядов;

4) взять младших разрядов в качестве первого члена последовательности ;

5) определить дробь - это и есть искомое число;

6) присвоить ;

7) вернуться к 3 пункту.

Пример:

Получим последовательность чисел для

1) ;

2) или (берем 5);

3) ;

4) берем 4 младших разряда ;

5) - первое число;

6) ;

Для второго числа  

3) ;

4)  ;

5) - второе число;

6) ;

Для третьего числа

3) ;

4)  ;

5) - третье число;

6) и т.д.

4.6.2.4. Cмешанный метод

Сначала выбирается значение . Чтобы получить длинный период и высокую плотность величин в интервале [0, 1], величина должна иметь большое значение. Самым удачным выбором является =2b, где - число битов в слове задействованного компьютера.

4.7. Проверка качества последовательностей псевдослучайных чисел

Эффективность статистического моделирования систем на ЭВМ и достоверность получаемых результатов зависит от качества исходных (базовых) последовательностей псевдослучайных чисел, которые являются основой для получения стохастических воздействий на элементы моделируемой системы. Поэтому перед моделированием на ЭВМ необходимо убедиться в том, что исходная последовательность псевдослучайных чисел удовлетворяет предъявляемым к ней требованиям.

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

Способ экспериментального определения длины периода и длины отрезка апериодичности сводится к следующему:

1. Запускается программа генерации последовательности с начальным значением и генерируется чисел . В большинстве случаев . Генерируются числа и фиксируется число .

2. Затем программа запускается повторно с начальным числом и при генерации очередного числа проверяется истинность события . Если это событие истинно и  , то вычисляется длина периода последовательности .

3. Проводится запуск программы генерации с начальными числами и . При этом фиксируется минимальный номер , при котором истинно событие и вычисляется длина отрезка апериодичности .

Рис. 17. Представление определения длин периода P и отрезка периодичности L

Применяемые в имитационном моделировании генераторы случайных чисел должны пройти тесты на пригодность.

Основные анализируемые характеристики генерируемых датчиком последовательностей:

  1.   равномерность;
  2.   стохастичность (случайность);
  3.   независимость.

Рассмотрим методы проведения такого анализа, наиболее часто применяемые на практике.

Проверка равномерности

Проверка равномерности может быть выполнена с помощью гистограммы относительных частот генерируемой случайной величины. Для ее построения интервал (0;1) разбивается на m равных частей и подсчитывается относительное число попаданий значений случайной величины в каждый интервал. Чем ближе огибающая гистограммы к прямой, тем в большей степени генерируемая последовательность отвечает требованию равномерности распределения (рис. 18).

1/m

y

P

Рис. 18- гистограмма относительных частот случайных чисел

Проверка стохастичности

Рассмотрим один из основных методов проверки — метод комбинаций.

Суть его сводится к следующему. Выбирают достаточно большую последовательность случайных чисел и для нее определяют вероятность появления в каждом из , ровно j единиц. При этом могут анализироваться как все разряды числа, так и только старших. Теоретически закон появления j единиц в разрядах двоичного числа может быть описан как биномиальный закон распределения (исходя из независимости отдельных разрядов).

Тогда при длине выборки ожидаемое число появлений случайных чисел с j единицами в проверяемых разрядах будет равно:

(28)

где — число комбинаций (сочетаний) j единиц в разрядах,

рl (1) — вероятность появления единицы в двоичном разряде, р(1)=0.5.

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

Проверка независимости

Проверка независимости проводится на основе вычисления корреляционного момента.

Напомним, что две случайные величины а и b называются независимыми, если закон распределения каждой из них не зависит от того, какое значение приняла другая. Для независимых случайных величин корреляционный момент равен нулю.

Для оценки независимости элементов последовательности поступают следующим образом.

Вводят в рассмотрение дополнительную последовательность Y, в которой , где - величина сдвига последовательности Y относительно исходной последовательности X.

Вычисляют коэффициент корреляции случайных величин X и Y, для чего используются специальные расчетные соотношения.

Существуют тесты двух типов.

Эмпирические тесты — это обычный тип статистических тестов, они основаны на действительных значениях выдаваемых генератором.

Теоретические тесты не являются тестами в том смысле, в каком они предусматриваются в статистике. Однако в них используются числовые параметры, чтобы оценить генератор глобально без фактического генерирования некоторых или всех значений .

Вопросы для самоконтроля

  1.  Моделирование случайных событий.
  2.  Способы формирования базовой случайной величины.
  3.  Моделирование случайных величин.
  4.  Моделирование непрерывных случайных величин.
  5.  Способы получения случайных чисел.
  6.  Линейные конгруэнтные генераторы.
  7.   Проверка качества последовательностей псевдослучайных чисел.
  8.  Проверка стохастичности
  9.  Эмпирические тесты.
  10.  Теоретические тесты.


5. Подбор параметров распределений

В некоторых случаях имитационная модель сложной системы может быть реализована в виде набора отдельных моделей ее подсистем. При проведении экспериментов с такой моделью в целях сокращения затрат времени бывает необходимо заменять моделирование работы одной из подсистем некоторым числовым параметром (вспомните принцип параметризации), либо случайной величиной, распределенной по заданному закону. Чтобы такая замена была выполнена корректно, исследователь должен располагать описанием зависимости данного числового параметра от времени и других факторов, фигурирующих в модели [2].

При имитационном моделировании подбор законов распределений выполняется на основе статистических данных, полученных в ходе эксперимента.

В основе процедуры отыскания закона распределения некоторой величины по экспериментальным данным лежит проверка статистических гипотез.

Статистическая гипотеза — это утверждение относительно значений одного или более параметров распределения некоторой величины или о самой форме распределения.

Обычно выбирают две исходные гипотезы: основную — Н0 и альтернативную ей — Н1

Статистическая проверка гипотезы — это процедура выяснения, следует ли принять основную гипотезу Н0 или отвергнуть ее.

Если в результате проверки гипотеза Н0 ошибочно отвергается, то имеет место ошибка I рода (характеризующаяся более тяжелыми последствиями); если гипотеза Н0 принимается при истинности Н1 — это ошибка II рода.

Вероятности ошибок I и II рода ( и ) зависят от критерия, на основания которого будет выбираться одна из гипотез. Очевидно, что вероятности этих двух ошибок взаимосвязаны, то есть чем больше значение , тем меньше и наоборот.

Обычное решение этой дилеммы состоит в том, что выбирают некоторое фиксированное значение (как правило, 0.05, 0.01, 0.001) и надеются, что будет также мало. Фиксированное значение называется уровнем значимости

Для выбранного значения определяется так называемая критическая область удовлетворяющая условию

(29)

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

Проверка гипотезы состоит в следующем. Производится выборка (проводится эксперимент), на основании чего вычисляется частное значение критерия . Если  , то от гипотезы Н0 отказываются. Если не лежит в , то говорят, что полученные наблюдения не противоречат принятой гипотезе.

Разумеется, прежде чем выдвигать гипотезу относительно значений параметров распределения, необходимо определить вид самого закона распределения. Наиболее распространенный на практике и достаточно эффективный метод подбора закона распределения основан на использовании графического представления экспериментальных данных.

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

5.1.t-критерий

Он служит для проверки гипотезы о равенстве средних значений двух нормально распределенных случайных величин ( и ) в предположении, что дисперсии их раины (хотя и неизвестны). Сравниваемые выборки могут иметь разный объем.

В качестве критерия используют величину

(30)

Величина подчиняется -распределению Стьюдента.

Критическое значение для -критерия определяется по таблице для выбранного значения и числа степеней свободы = .

Если вычисленное по формуле 30 значение удовлетворяет неравенству , гипотезу Н0 отвергают.

По отношению к предположению о «нормальной распределённости» величин и  -критерий не очень чувствителен. Его можно применять, если распределения случайных величин не имеют нескольких вершин и не слишком асимметричны.

5.2. -критерий

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

Гипотезы такого рода имеют большое значение в технике, так как дисперсия есть мера таких характеристик как погрешности измерительных приборов, точность технологических процессов и так далее.

В качестве контрольной величины используется отношение дисперсий (или — большая дисперсия должна быть в числителе).

Величина подчиняется -распрсдслению (Фишера) с (m1, m2) степенями свободы (, ). Проверка гипотезы состоит в следующем.

Для величины а = /2 и величин m1, m2 по таблице -распределения выбирают значения a, m1, m2. Если вычисленное по выборке, больше этого критического значения, гипотеза должна быть отклонена с вероятностью ошибки .

5.3. Критерии согласия

Критерии согласия используются для проверки того, удовлетворяет ли рассматриваемая случайная величина (CB) данному закону распределения.

Критерий согласия Пирсона () служит для проверки гипотезы H0 о том, что (y) = ( y), где ( y) — истинное распределение СВ у, ( y) — гипотетическое распределение.

Проверка производится следующим образом:

1. Область значения СВ у разбивается (произвольно) на k непересекающихся множеств («классов»).

  1.  2. В результате опытов формируется выборка ().
  2.  3. Вычисляется контрольная величина 

(31)

где - число значение , попавших в -й класс,

pi - теоретическая вероятность (для F0(y)) попадания значения y в -й класс.

4. По таблице — распределений находят критическое значение для уровня значимости и степеней свободы. Если , то гипотеза отвергается.

При использовании критерия Колмогорова-Смирнова имеющуюся выборку () упорядочивают по возрастанию и строят следующую эмпирическую функцию распределения:

(32)

Контрольной величиной является

(33)

Гипотеза H0: (y) = (y) отвергается, если вероятность попадания соответствующего критерия в критическую область оказывается меньше выбранного исследователем уровня значимости .

Критическое значение критерия, как и в предыдущих случаях, находится по таблице.

Вопросы для самоконтроля

  1.  Что понимается под статистической гипотезой?
  2.  Каким образом идет подбор законов распределения при имитационном моделировании?
  3.  Как определяется критическая область, удовлетворяющая условию основной гипотезы?
  4.  В чем состоит механизм проверки гипотезы?
  5.  Какой из критериев предпочтительно применять при проверке гипотезы о равенстве дисперсий случайной величины?
  6.  Какой из критериев предпочтительно применять при проверке гипотезы о равенстве двух нормально распределённых величин?
  7.  Дайте определение дисперсии?
  8.  Опишите порядок проверки гипотезы с использованием распределения Фишера?
  9.  Опишите порядок проверки гипотезы с использованием критерия согласия?
  10.  Для каких целей служит критерий согласия Пирсона?


6. Оценка влияния и взаимосвязи факторов

Как правило, количественная оценка степени влияния того или иного фактора на наблюдаемую переменную (показатель эффективности) вызывает значительную сложность, особенно при наличии взаимного влияния факторов. Наиболее простой и доступный способ решения этой проблемы состоит в использовании результатов оценки чувствительности модели. Однако эти результаты сложно представить в форме аналитической зависимости. Такое представление может оказаться весьма полезным для многих практических задач, связанных как с разработкой моделей, так и непосредственно с принятием решений по экспериментальным данным.

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

6.1 Однофакторный дисперсионный анализ

Его суть сводится к определению влияния на результат моделирования одного выбранного фактора.

Формально постановка задачи однофакторного дисперсионного анализа состоит в следующем. Пусть интересующий нас фактор х имеет l уровней. Для каждого из них получена выборка значений наблюдаемой переменной у: yj(1), yj(2), … j = 1, ..., n, n - объем выборки (число наблюдений).

Необходимо проверить гипотезу Н0 о равенстве средних значений выборок (т. е. о независимости значений у от значений исследуемого фактора х). Уравнение однофакторного дисперсионного анализа имеет вид:

yij = m + ai +eij (34)

где yij - j-e значение у в i-й серии опытов,

m - генеральное среднее случайной величины у (т.е. среднее значение наблюдаемой переменной, обусловленное ее «сущностью»),

ai - неизвестный параметр, отражающий влияние фактора х («эффект» i-го значения фактора х),

eij - ошибка измерения у.

Для проверки гипотезы Н0 используют F-критерий и переходят от проверки значимости различий средних к проверке значимости различий двух дисперсий:

  1.  генеральной (обусловленной погрешностями измерений) – D0;
  2.  факторной (обусловленной изменением фактора х) – Dx.

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

Если F > Fкр, то гипотезу Н0 отвергают, т.е. различия являются значимыми (фактор х влияет на значения у).

6.2 Многофакторный дисперсионный анализ

Многофакторный дисперсионный анализ (МДА) позволяет оценивать влияние на наблюдаемую переменную уже не одного, а произвольного числа факторов. Точнее, МДА позволяет выбрать из группы факторов, участвующих в эксперименте, те, которые действительно влияют на его результат.

Методику проведения многофакторного дисперсионного анализа рассмотрим применительно к частичному факторному эксперименту, проводимому в соответствии с латинским планом.

Пусть в эксперименте рассматриваются один первичный фактор и два вторичных, каждый из которых имеет n уровней (т.е. объем испытаний равен N = n2).

Обозначим через yijk результат эксперимента при условии, что фактор a находился на уровне i, фактор b — на уровне j, фактор с — на уровне k. Множество значений, которые может принимать упорядоченная тройка (i, j, k) обозначим через L.

В этом случае уравнение дисперсионного анализа выглядит следующим образом:

(35)

где m - генеральное среднее случайной величины у,

ai, bj, gk - неизвестные параметры («эффекты» соответствующих факторов). Решение задачи дисперсионного анализа заключается в проверке гипотез о независимости результатов измерений от факторов a, b, c:

Ha : ai=0, i=1, n;

Hb : bj=0, j=1, n; (36)

Hc : gk=0, k=1, n.

Для этого по методу наименьших квадратов (МНК) находят оценки параметров минимизируя по указанным переменным (поочередно) функцию

(37)

Затем по каждому фактору вычисляется F-статистика. Величина F есть мера потерь при принятии гипотезы Н0. Чем больше F, тем хуже модель, отвергающая влияние соответствующего фактора. Таким образом, если вычисленное значение F больше Fкр, найденного по таблице для некоторого уровня значимости (и n-1, n2-Зn+2 степеней свободы), то гипотеза отвергается.

6.3. Корреляционный и регрессионный анализ

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

Результаты корреляционного анализа позволяют делать статистические выводы о степени зависимости между переменными.

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

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

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

Для этого строится так называемое уравнение регрессии, которое связывает зависимую переменную с независимыми и содержит неизвестные параметры. Если уравнение линейно относительно параметров (но необязательно линейно относительно независимых переменных), то говорят о линейной регрессии, в противном случае регрессия нелинейна.

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

Обозначим их х и у. Независимо от способа получения выборки имеются два предварительных шага для определения существования и степени линейной зависимости между х и у. Первый шаг заключается в графическом отображении точек (xi, yi) на плоскости (х, у) - т.е. в построении диаграммы рассеяния. Анализируя диаграмму рассеяния, можно решить, допустимо ли предположение о линейной зависимости между х и y (рис. 19).

Y

Y

Х

Х

a) rxy=0 б) rxy=1

в) 0< rxy<1 г) 0< rxy<1

Рис. 19- Графическое представление корреляции между переменными

Если rxv не равен нулю, то на втором шаге вычисляется его точное значение.

Чем больше по абсолютному значению rxv, тем сильнее линейная зависимость между переменными. При =1 имеет место функциональная линейная зависимость между х и у вида у = b0 + b1x, причем если rxv = +1, то говорят о положительной корреляции, т.е. большие значения одной величины соответствуют большим значениям другой; при rxv = -1 имеет место отрицательная корреляция; при 0 < rxv <1 вероятна либо линейная корреляция с рассеянием (рис. 19 в), либо нелинейная корреляция (рис. 19 г).

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

Поэтому результаты корреляционного анализа целесообразно уточнить проведя регрессионный анализ.

Регрессионный анализ позволяет решать две задачи:

  1.   устанавливать наличие возможной причинной связи между переменными;
  2.   предсказывать значения переменной по значениям независимых переменных. Эта возможность особенно важна в тех случаях, когда прямые измерения зависимой переменной затруднены.

Если предполагается линейная зависимость между х и у, то она может быть описана уравнением вида (i = 1, ..., n, n - объем испытаний), которое называется простой линейной регрессией у по х.

Величины b0 и b1 являются неизвестными параметрами, а ei - случайные ошибки испытаний.

Цель регрессионного анализа — найти наилучшие в статистическом смысле оценки параметров b0 и b1 (величину b1 обычно называют коэффициентом регрессии).

Зная значения b0 и b1 можно найти оценку переменной у при х= xi:

(38)

Каким же образом полученное уравнение (или, как говорят, регрессионная модель) может быть использовано для прогнозирования значений зависимой переменной y?

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

Разница между наблюдаемым и оцененным значением у при х = хi называется отклонением (или остатком). Величины отклонений могут быть использованы для проверки адекватности полученной модели. Для этого строится график d =f(y) или d = f(x) (рис. 20), и по его виду делается предварительное заключение о степени адекватности модели.

В случае нескольких независимых переменных имеет место множественная регрессия:

y = b0+b1 x1+... + bkxk + e (39)

Y

Х

Х

Y

а) б)

Рис. 20-Графическое представление функции отклонений:

а – модель адекватна; б – необходимо введение дополнительной независимой переменной.

В этом случае для отыскания оценок bi также используется метод наименьших квадратов (МНК).

В случае нелинейной регрессии основой для построения регрессионной модели опять-таки является МНК. Однако в этом случае для отыскания оценки bj строится система нелинейных уравнений (относительно bj), а для ее решений используются различные итерационные методы.

Как отмечалось ранее, эффективное использование процедур статистического анализа экспериментальных данных возможно только в том случае, если в распоряжении исследователя имеются соответствующие инструментальные средства.

Вопросы для самоконтроля

  1.  В чём заключается основная цель однофакторного дисперсионного анализа?
  2.  В чём заключается основная цель многофакторного дисперсионного анализа?
  3.  Дайте определение корреляционному анализу.
  4.  Дайте определение регрессионному анализу.
  5.  Задачи, решаемые с помощью регрессионного анализа.
  6.  Цель регрессионного анализа.
  7.  Опишите процесс анализа диаграммы рассеяния в корреляционном анализе.
  8.  Перечислите основные задачи регрессионного анализа.
  9.  Перечислите основные задачи корреляционного анализа.
  10.  В чём заключается основная цель регрессионного анализа?
  11.  Перечислите методы математической статистики используемые для отыскания аналитических зависимостей, связывающих между собой различные параметры модели.


7. Универсальные пакеты имитационного моделирования

Для использования в учебном процессе современных информационных технологий имитационного моделирования, рассмотрим и проанализируем три пакета имитационного моделирования: GPSS, Arena, Proof Animation. В этих пакетах решим задачу по имитационному моделированию.

Продемонстрируем создание модели участка термической обработки в указанных пакетах.

Постановка задачи. На участке термической обработки выполняют цементирование и закалку шестерён поступающих через каждые 30 ±8 минут. Цементирование занимает 20±8 мин, а закалка 20±8 мин. Качество шестерни определяется суммарным временем её обработки без учёта времени ожидания. Шестерни со временем обработки более 45 мин (первый сорт) покидают участок, со временем обработки от 35 до 45 мин (второй сорт) передаются на повторную закалку, а со временем обработки менее 35 мин (третий сорт) повторно проходят полную обработку и остаются того же сорта.

Стоимость шестерён первого, второго и третьего сорта равна 20, 12, и 7 единиц стоимости, соответственно.

Увеличение на k процентов (0≤ k ≤ 50) среднего времени цементирования требует k ×0.02 единицы стоимости для каждой шестерни. Увеличение на q процентов (0≤ q ≤ 50) среднего времени закаливания требует q×0.03 единицы стоимости для каждой шестерни. Эти изменения могут производиться независимо друг от друга.

Определить характеристики операций цементирования и закалки, при котором достигается максимум суммарной стоимости шестерён, выпускающихся за единицу времени.

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

Важным пунктом при имитационном моделировании является построение концептуальной модели. Модель участка термической обработки шестерён схематично представлена на рис. 21.

Сокращения, принятые на рисунке 21:

И – поступление шестерёнок,

В – проверка на сортность,

C2- шестерни 2-го сорта,

C3 – шестерни 3-го сорта,

1 – цементирование,

2 – закалка шестерён,

Г – готовые шестерни,

T – выход с участка.

Г

С2

СЗ

И

1

В

2

1

Т

Т

Рисунок 21 - Концептуальная модель

7.1. Среда имитационного моделирования GPSS/W

GPSS (General Purpose Simulation System - система моделирования общего назначения) - язык моделирования, который используется для построения событийных дискретных имитационных моделей и проведения экспериментов на ЭВМ.

В данном программном продукте хорошо реализована диагностика ошибок, так как система GPSS представляет собой язык и транслятор. Как каждый язык он содержит словарь и грамматику, с помощью которых могут быть разработаны модели систем определенного типа. Транслятор языка работает в две фазы. На первой фазе компиляции проверяется синтаксис и семантика написания строк GPSS-программы или всей программы в целом, а на второй (интерпретирующей), если синтаксис программы верен, осуществляется продвижение транзактов по модели от блока к блоку.

Модели систем на GPSS могут быть записаны в виде блок-схем или представлены в виде последовательности строк программы, эквивалентных блок-схеме.

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

Основными элементами этого языка являются транзакты и блоки, которые отображают динамические и статические объекты моделируемой системы.

Предназначение объектов системы различно. Выбор объектов в конкретной модели различно. Выбор объектов в конкретной модели зависит от характеристик моделируемой системы. Каждый объект имеет определенное число свойств, названных в GPSS числовыми атрибутами (СЧА).

В GPSS концепция передачи управления от блока к блоку имеет специфические особенности. Последовательность блоков GPSS показывает направления, в которых перемещаются элементы. Каждый такой элемент называется транзактом. Транзакты – это динамически элементы GPSS – модели.

Блоки этого языка представляют собой подпрограммы, написанные на макроассемблере или на языке Си, и содержат набор параметров для обращения к ним.

С точки зрения программы – транзакт это структура данных, которая содержит такие поля как: имя или номер транзакта, время появления транзакта, текущее модельное время, номер блока, в котором хранится транзакт, номер блока, куда он продвигается, момент времени начала продвижения, приоритете транзакта и др.

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

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

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

7.1.1 Построение модели участка термической обработки в GPSS/W

Постановка задачи и концептуальная модель участка термической обработки приведены в разделе 7. Описание модели на языке GPSS начнём с таблицы определений и блок-схемы.

7.1.1.1. Таблица определений

Единица времени 1 минута. В таблице 4 описываем элементы GPSS/W используемые в модели.


Таблица 4 - Таблица определений системы

Элементы GPSS

Интерпретация

Транзакты

1 сегмент модели

Таймер

2 сегмент модели

шестеренка

Приборы:

semen

цементирование

zakal

закалка

Очереди:

Sem

очередь, используемая для сбора статистики о цементировании

Zak

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

zzz

очередь, используемая для сбора статистики о 1 сорте шестерен

xxx

очередь, используемая для сбора статистики о 2 сорте шестерен

qqq

очередь, используемая для сбора статистики о 3 сорте шестерен

Функции:

Stoim

функция расчета стоимости шестерен

7.1.1.2. Блок-схема модели участка термической обработки деталей

Таймер - первый сегмент модели представлен на рис. 22. На рис. 23 приведён второй сегмент модели – участок термической обработки шестерён.

Время моделирования - 2400 минут.

2400

GENERATE

1

TERMINATE

Рисунок 22 – Таймер


semen

qqq

3

semen

ADVANCE

20±8

  sem

SIZE

sem

(30,8)

1,0

ASSIGN

MARK

TEST

L

P3

35

4, 7

ASSIGN

1, 1

ASSIGN

TRANSFER

4, 12

ASSIGN

1, 1

ASSIGN

TRANSFER

zakal

xxx

RELEASE

zakal

ADVANCE

20±8

SIZE

RELEASE

3, MP3

ASSIGN

TERMINATE

Stop+, P4

SAVEVALUE

P1

TEST

NE

1

4, 20

ASSIGN

TEST

G

P3

45

zak

GENERATE

 zak

zzz

zzz

Рисунок 23 - Блок схема участка термической обработки

7.1.1.3. Оценка адекватности модели

Выполним расчет ожидаемых от модели результатов с помощью операционного анализа сетей систем массового обслуживания (СМО).

  1.  Коэффициент использования узла рассчитывается по формуле (40):

U=B / T, (40)

где

B - общее время обслуживания требований узлом;

T = 2400 - время моделирования (заданный параметр).

Для того чтобы найти коэффициент использования узла надо найти, общее время обслуживания узлов цементирования и закаливания по формуле (41):

B=C*t, (41)

где

С - количество требований, которые покинули узел;

t - среднее время обработки узлом (заданный параметр).

Количество требований, которые покинули узел цементирования Сs = 86.

Количество требований, которые покинули узел закаливания (параметры, взятые из статистики) Сz = 107.

t = 20 – это среднее время обработки узлов цементирования и закаливания (заданный параметр).

Bs = 86*20=1720, общее время обслуживания требований узлом цементирования;

Bz = 107*20 = 2140 общее время обслуживания требований узлом закаливания

Подставляем найденные значения в формулу 1 для нахождения коэффициентов использования узлов.

Коэффициент использования узла цементирования:

Us = 1720/2400=0,72 = 72%

Коэффициент использования узла закаливания:

Uz = 2140/2400 = 0,89 = 89%

  1.   Среднее время обслуживания узлов цементирования и закаливания рассчитывается по формуле (42).

S=B / C, (42)

Среднее время обслуживания в узле цементирования Ss= 1720/86 =20.

Среднее время обслуживания в узле закаливания Sz= 2140/107 =20.

  1.   Интенсивность выходящего потока требований из узлов находится по формуле (43):

X= C / T, (43)

Xs=86/2400=0,035 интенсивность выходящего потока требований из узла цементирования;

Xz=107/2400=0,044 интенсивность выходящего потока требований из узла закаливания.

  1.   Производительность узлов цементирования и закаливания находится, по формуле (44).

X=U / S, (44)

где

Xs- производительность узла цементирования;

Xz- производительность узла закаливания;

Xs = 0,72/20=0,036 Xz=0,89/20=0,044

  1.   Количество требований поступивших в систему рассчитывается по формуле (45). 

А= T/r , (45)

где

r =30 – среднее время входа шестерни на участок термообработки;

A = 2400/30=80

Выполнив первый прогон модели мы получили статистику (приложение Д). Результаты статистики и расчетных показателей представлены в табл. 5.

Таблица 5- Сравнение показателей 

Коэффициенты

Статистика

Расчетные показатели

коэффициент использования узла

цементирование – 76%

закаливания – 93%

цементирование – 72%

закаливания – 89%

среднее время обслуживания узлов

цементирования -20

закаливания - 20

цементирования -22

закаливания - 25

число входов транзактов в модель

81

80

Сравнив характеристики, полученные расчётным путём с характеристиками, полученными при моделировании можно сделать вывод, что модель адекватна. Так как сравниваемые величины сравнимы.

7.1.1.4. Эксперименты с моделью и поиск наилучших решений

Всего мы можем варьировать проценты k (0 ≤ k ≤ 50), среднее время цементирования и q процентов (0≤ q ≤ 50) среднего времени закаливания. Составим таблицу эксперимента по промежутку от 0% до 50 % добавляемого времени на процессы цементирования и закалки с интервалом 10%. В результате был составлен план экспериментов, рассчитанных по следующим формулам (46), (47):

Tk =K + (), (46)

где

Tk – среднее время цементирования;

K – первоначальное значение времени цементирования (20 минут) ;

kn – процент среднего времени цементирования.

Tq = Q + (), (47)

где

Tq – среднее время закаливания;

Q – первоначальное значение времени закаливания (20 минут);

qN - процент среднего времени закаливания.

Эти изменения времени продолжительности закалки и цементирования могут производиться независимо друг от друга. После поведенных расчетов были получены значения среднего времени - табл. 6.

Таблица 6 - Время обработки шестерен

Увеличение времени на

k- цементирование

q- закаливание

0% = 20

0% = 20

10% = 22

10% = 22

20% = 24

20% = 24

30% = 26

30% = 26

40% = 28

40% = 28

50% = 30

50% = 30

Увеличение среднего времени цементирования требует k * 0.02 стоимости для каждой шестерни, увеличение среднего времени закаливания требует q* 0.03 единиц стоимости для каждой шестерни. Для расчета единицы стоимости по каждому сорту:

1 сорт - 20 - С1;

2 сорт – 12 – С2;

3 сорт – 7 - С3;

Стоимость процесса цементирования с увеличенным средним временем обработки рассчитывается по следующей формуле (48):

C=Сn - k * 0.02, (48)

где

Сn – стоимость шестерни первого, второго или третьего сорта;

k – процент увеличения среднего времени.

Стоимость процесса закаливания с увеличенным средним временем обработки рассчитывается по следующей формуле (49).

С=Сn - k * 0.03, (49)

где

Сn – стоимость шестерни первого, второго или третьего сорта;

k – процент увеличения среднего времени.

В случае изменения времени и процесса цементирования и процесса закаливания для вычисления стоимости одной шестерни, воспользуемся следующей формулой (50):

С=Сn - k * 0.02 - k * 0.03, (50)

где

k – время цементирования;

q – время закаливания.

В процессе вычисления получена таблица стоимостей (табл. 7).

В зависимости от времени обработки будет изменяться прибыль, получаемая от реализации уже готовых шестерен.

Таблица 7 - Стоимости шестерен с измененным временем

№ Эксперимента

Увеличение времени

Стоимость сорта

1сорт

2 сорт

3 сорт

1

к =10% q = 0

19,8

11,8

6,8

2

к =20% q = 0

19,6

11,6

6,6

3

к =30% q = 0

19,4

11,4

6,4

4

к =40% q = 0

19,2

11,2

6,2

5

к =50% q = 0

19

11

6

6

k =0 q = 10%

19,7

11,7

6,7

7

k =0 q = 20%

19,4

11,4

6,4

8

k =0 q = 30%

19,1

11,1

6,1

9

k =0 q = 40%

18,8

10,8

5,8

10

k =0 q = 50%

18,5

10,5

5,5

11

k = 10% q = 10%

19,5

11,5

6,5

12

k = 20% q = 10%

19,3

11,3

6,3

13

k = 30% q = 10%

19,1

11,1

6,1

14

k = 40% q = 10%

18,8

10,8

5,8

15

k = 50% q = 10%

18,7

10,7

5,7

16

k = 10% q = 20%

19,2

11,2

6,2

17

k = 20% q = 20%

19

11

6

18

k = 30% q = 20%

18,8

10,8

5,8

19

k = 40% q = 20%

18,6

10,6

5,6

20

k = 50% q = 20%

18,4

10,4

5,4

21

k = 10% q = 30%

18,8

10,8

5,8

22

k = 20% q = 30%

18,7

10,7

5,7

23

k = 30% q = 30%

18,5

10,5

5,5

24

k = 40% q = 30%

18,3

10,3

5,3

25

k = 50% q = 30%

18,1

10,1

5,1

26

k = 10% q = 40%

18,6

10,6

5,6

27

k = 20% q = 40%

18,4

10,4

5,4

28

k = 30% q = 40%

18,2

10,2

5,2

29

k = 40% q = 40%

18

10

5

30

k = 50% q = 40%

17,8

9,8

4,8

31

k = 10% q = 50%

18,3

10,3

5,3

32

k = 20% q = 50%

18,1

10,1

5,1

33

k = 30% q = 50%

17,9

9,9

4,9

34

k = 40% q = 50%

17,7

9,7

4,7

35

k = 50% q = 50%

17,5

9,5

4,5

7.1.1.5. Анализ и оценка результатов. Поиск наилучшего решения

В результате изменения среднего времени обработки шестерен так же будет изменяться прибыль от реализации, коэффициент занятости узла и число деталей, которые обрабатываются приборами. Как видно из плана экспериментов изменение стоимости сорта в зависимости от увеличения времени обработки велось упорядоченно, а не в разброс. Все данные по экспериментам приведены в приложении Е таблице Е.1

По данным из приложения Е таблица Е.1 был построен график (рисунок 24), на котором видно, что 17 прогон дает самую большую прибыль.

Из рисунка 2.4 видно, что оптимальными с точки зрения экономической эффективности являются термообработка со средней длительностью обработки:

  1.   процесс цементирования – 24,1 минуты;
  2.   процесс закаливания – 24,3 минуты.

Максимум суммарной стоимости шестерен было получено при увеличении среднего времени цементирования и закаливания на 20%. При этом максимальная прибыль составила 1459 единиц стоимости, эксперимент №17.


Рисунок 24 - Итоги моделирования


7.2. Среда имитационного моделирования Арена

Arena – один из наиболее эффективных инструментов имитационного моделирования. Arena позволяет строить имитационные модели, проигрывать их и анализировать результаты такого проигрывания. Модели с помощью Arena могут быть построены для самых разных сфер деятельности – производственных технологических операций, складского учета, банковской деятельности, обслуживания клиентов в ресторане и т.д. и т.п.

Пакет имитационного моделирования Arena поставляется компанией Systems Modeling Corporation (Севикли, Пенсильвания). Моделирующие конструкции, именуемые в пакете Arena модулями, объединены в шаблоны Basic Process(Основной процесс), Advanced Process (Дополнительный процесс), Advanced Transfer (Дополнительная передача) и другие.

Шаблон Basic Process содержит модули, которые используются во многих моделях (скажем, для моделирования поступления, ухода и обслуживания заявок).

Шаблон Advanced Process состоит из модулей, предназначенных для выполнения специальных логических функций, таких как выбор очереди при наличии в системе нескольких очередей или координации продвижения нескольких объектов в различных частях системы.

Шаблон Advanced Transfer содержит модули (например, конвейеры и транспортеры), применяемые для описания передачи объектов из одной части системы в другую.

Для создания модели в пакете Arena модули сначала перетаскивают в окно модели, а затем соединяют, чтобы обозначить движение объектов в моделируемой системе. Затем модули детализируют с помощью диалоговых окон или встроенных таблиц. В иерархии модели может быть число уровней.

Пакет Arena обеспечивает двухмерную анимацию и позволяет выводить на экран динамическую графику (гистограммы и графики временной зависимости).

7.2.1.Построение модели участка термической обработки в пакете Арена

Постановка задачи и концептуальная модель участка термической обработки приведены в разделе 7. Описание модели в пакете Арена начнём с таблицы определений и блок-схемы.

Блок-схема модели участка термической обработки деталей построенная в пакете Арена представлена на рисунке 25.

7.2.1.1. Таблица определений

В таблице 8 перечислены определения принятые в системе. Время моделирования - 2400 минут.


Рисунок. 25- Блок схема модели


Таблица 8 - Таблица определений системы

Элементы Арена

Интерпретация

Транзакты

1 сегмент модели

Шестеренка

Приборы:

Cementation

quenching

механизм цементирования

механизм для закаливания

7.2.1.2. Блок-схема модели участка термической обработки деталей

Дадим описание блоков используемых для построения модели участка термической обработки деталей.

В Арене аналогом блока Generate языка GPSS является блок Create, поэтому начнем с него, назовем его Postyplenie (рисунок 26)

Рисунок 26 - Блок Create

Запись UNIF (22,38) означает поступление шестеренок через 30±8 минут на участок термической обработки.

Entities per Arrival – это сколько шестеренок поступает за 1 раз. Max Arrivals – сколько всего поступает, в данном случае infinite – бесконечное количество.

Следующий блок Assign для привязки к Attribute 1 времени начала обработки TNOW встроенная функция для фиксирования времени начала (рисунок 27).

Рисунок 27 - Блок Assign

Блок Process, который мы назвали Cementation моделирует процесс цементирования, с указанным временем цементирования (рисунок 28).

Рисунок 28 - Блок Process

Блок закалки идентичен предыдущему блоку.

Второй блок Assign позволяет установить время, прошедшее с начала ее поступления на участок до времени, когда шестеренка прошла обработку. При этом новое значение заносится в Attribute 1 (рисунок 29).

Рисунок 29 - Второй блок Assign

Блок Decide необходим для проверки значения Attribute 1, т.е. времени обработки шестеренок. Согласно условию при времени обработки более 45 мин (первый сорт) покидают участок, если время обработки меньше, то переходим ко 2-му блоку Decide (рисунок 30).

Рисунок 30 - Блок Decide

Блок Dispose аналогичен блоку Terminate из GPSS (рисунок 31).

Рисунок 31 - Блок Dispose

Перед запуском необходимо настроить время выполнения моделирования, смоделируем 16 часов работы (рисунок 32).

Рисунок 32 - Общее время моделирования

7.2.1.3. Оценка адекватности модели

Расчеты выполняются аналогично, как и для модели написанной на языке GPSS (пункт 7.1.1.3)

Выполним расчет ожидаемых от модели результатов с помощью операционного анализа сетей СМО. Оценку адекватности модели проведем с помощью расчета ожидаемых от модели результатов с помощью операционного анализа сетей систем массового обслуживания. Результаты представлены в таблице 9. Статистика в приложении Ж.

Таблица 9 - Сравнение коэффициентов

Коэффициенты

Статистика

Расчетные показатели

коэффициент использования узла

цементирование – 74%

закаливание – 91%

цементирование – 73%

закаливание – 94%

среднее время обслуживания узлов цементирования и закаливания

цементирования -16

закаливание - 18

цементирования -20

закаливание - 20

A - число входов транзактов в модель

81

80

Сравнив характеристики, полученные расчётным путём с характеристиками, полученными при моделировании можно сделать вывод, что модель довольно адекватна. Так как сравниваемые величины сравнимы.

7.2.1.4. Эксперимент с моделью и поиск наилучшего значения

Выполним прогон с полученными в GPSS/W оптимальными значениями времени цементирования и закалки.

По результатам моделирования была получена статистика, данные которой схожи с данными статистики полученной при моделировании на GPSS/W из чего можно сделать вывод, что прогон с такими значениями действительно оптимален. Статистика представлена в Приложении 4.

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

Было установлено, что максимальная эффективность системы достигается при следующем распределении:

Среднее время цементирования - 24±8;

Среднее время закаливания - 24±8.

При этом максимальная прибыль составила 1436 единиц стоимости.

7.3. Среда моделирования Proof Animation

Программный комплекс, созданный фирмой Wolverine Software Corporation (США) в 1996 г., имеет студенческую (Student GPSS/H – Student Proof Animation) и профессиональную (GPSS/H Professional – Proof Professional) версии. Студенческая версия отличается ограничениями на время моделирования (2 мин.) и объем файлов (до 1250 байт). Она лишь показывает возможности программного обеспечения. Для применения профессиональной версии необходимо приобрести лицензию фирмы Wolverine Software и специальные ключи для работы с программами.

Анимационная оболочка Proof Animation рассчитана на 5 типов входных и 6 выходных файлов. Обычно используют 2 типа входных и 3 типа выходных файлов (рисунок 33).

Рисунок 33 - Входные и выходные файлы Proof Animation

Входными файлами являются:

layout file – файл описания статических и динамических элементов системы;

trace file – файл управления движением динамических элементов.

К выходным файлам относятся:

layout file – файл сохранения нарисованных элементов. Он подобен входному файлу layout file и предназначен для сохранения отредактированных элементов;

log file – файл регистрации ошибок. Язык Proof Animation может отображать на экране предупреждения или сообщения об ошибках и записывать их в файле регистрации ошибок с расширением log;

special trace file – файл управления движением динамических элементов на мнемосхеме системы. Он вырабатывается в процессе имитационного моделирования.

Инструкции языка ProofAnimation сводятся к заданию времени и конечных точек перемещения объектов. Используя меню на экране, пользователь может выбирать участки процесса для их увеличения или уменьшения, ускорять и замедлять процесс анимации. Сначала создают имитационную модель системы и с помощью ProofAnimation строят ее мнемосхему. Затем имитационную модель соединяют с файлом управления анимацией в ProofAnimation. В процессе имитационного моделирования формируются команды управления анимацией, по которым начинают двигаться объекты на мнемосхеме системы.

Мнемосхему системы строят из статических и динамических элементов, которые рисуют с помощью линий, дуг, прямоугольников, окружностей, встроенных в ProofAnimation. Обеспечиваются выбор цвета, ширины и типа линии; просмотр размеров и ориентации объекта до его ввода в рисунок; формирование любой кривой. Статическими элементами могут быть пояснительные надписи и таблицы для отображения показателей процесса. Динамические элементы накладываются на статический фон, меняя свои размеры, форму, цвет или положение по командам управления анимацией.

В компьютерной анимации основным является файл трассировки (Trace File) с расширением .atf. Он генерируется программой имитационного моделирования, например, GPSS/W, и в каждой линии содержит команду отображения движений динамических объектов с помощью ProofAnimation.

Для реализации задачи моделирования участка термической обработки в пакете Арена, мы строим модульную конструкцию представленную на рисунке 2.5.

7.3.1. Построение модели участка термической обработки в Proof Animation

7.3.1.1. Таблица определений

Ниже представлена таблица определений (Таблица 10)

Таблица 10 - Таблица определений

Элемент

Назначение

Транзакты

1 сегмент

2 сегмент

Шестеренка

Таймер

Приборы

Cem

Zak

Место, где цементируются шестерни

Место, где закаливаются шестерни

Очереди

Och1

Och2

Och_sort1

Och_sort2

Och_sort3

Очередь на цементирование

Очередь на закалку

Очередь для подсчета количества изделий 1-го сорта

Очередь для подсчета количества изделий 2-го сорта

Очередь для подсчета количества изделий 3-го сорта

Функции

Sort

Функция, определяющая сорт изделия в зависимости от времени его обработки

7.3.1.2. Блок-схема модели участка термической обработки деталей

Блок схема аналогична, как и для модели написанной в GPSS/W (пункт 7.1.1.2)

7.3.1.3. Создание анимационной модели процесса цементирования и закаливания

Первое, что необходимо сделать – это создать в Proof Animation общую картину технологического процесса, пути для передвижения транзактов по модели, а также сам транзакт (точнее его класс).

Для создания в Proof Animation общей картины технологического процесса, необходимо перейти в режим «Draw Mode» и при помощи существующих инструментов нарисовать участки, приборы, складские помещения и т.д. На этом же этапе нужно нарисовать линии: это будущие пути для движения транзактов (рисунок 34).

Рисунок 34 - Рисуем объекты

Для создания путей надо перейти в режим «Path Mode» и выделяя ранее нарисованные линии изобразить пути для передвижения транзактов (рисунок 35).

Рисунок 35 - Рисуем пути

И, наконец, для того, чтобы изобразить классы транзактов, необходимо перейти в режим «Class Mode» и нарисовать прототип транзакта (рисунок 36).

Рисунок 36 - Так выглядит шестеренка

Вторым шагом для создания анимационной модели будет создание имитационной модели в GPSS/W. Текст программы в GPSS/W представлен в приложении И. Статистика представлена в приложении Д.

После создания имитационной модели в текст программы необходимо вставить специальный операторы «Write», которые создадут трассировочный файл для анимационной модели с расширение «*.atf».

После того как будет создан трассировочный файл, можно будет запускать анимационную модель. Для этого нужно Proof Animation дать команду «File-Open Layout + Trace», затем перейти в режим «Run Mode» и запустить модель на выполнение нажатием кнопки на панели инструментов. В процессе выполнения технологического процесса обработки изделий на экране можно будет увидеть статистические данные, касающиеся длин очередей на цементирование и закалку, а также количество изделий каждого сорта (рисунок 37).

Рисунок 37 - Пример анимации модели

7.3.1.4. Оценка адекватности модели

Так как имитационная модель создана в GPSS/W с незначительными дополнениями позволяющими двигаться анимации в Proof Animation в соответствии с заданными условиями, оценка адекватности модели полностью аналогична (Пункт 7.1.1.3)

7.2.1.5. Эксперимент с моделью и поиск наилучшего значения

Итак, в ходе исследования была получена модель по участкам обработки с целью определения времени цементирования и закалки, при которых достигается максимальное значение суммарной стоимости шестерен. Было установлено, что максимальная эффективность системы достигается при следующем распределении:

Среднее время цементирования - 24±8

Среднее время закаливания - 24±8

При этом итоговая прибыль составит 1459 единиц стоимости.

7.4 Сравнительный анализ пакетов GPSS/W, Арена, Proof Animation.

При выборе программных средств имитационного моделирования следует учитывать возможности, которые условно можно объединить в следующие группы:

  1.  основные характеристики;
  2.  совместимое оборудование и программное обеспечение;
  3.  анимация;
  4.  средства получения различных распределений;
  5.  услуги, предоставляемые заказчиками и документация;
  6.  отчеты с выходными данными и графиками.

Рассмотрим более подробно каждую из представленных групп.

7.4.1. Основные характеристики

Гибкость при моделировании - возможность моделировать системы с различным уровнем сложности технологических операций.

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

Следующим важным свойством средств имитационного моделирования является простота в применении (и изучении). Графический интерфейс современных пакетов моделирования способствует поддержке и развитию данного свойства. Реализация графических элементов интерфейса в программе может быть представлена моделирующими конструктивными элементами. Диалоговое окно каждого конструктивного элемента содержит чересчур необходимое число параметров, обеспечивающих соответствующую гибкости программы. Управлять такими параметрами можно с помощью вкладок в диалоговых окнах.

С интерфейсами рассматриваемых программ можно ознакомиться на приведенных ниже рисунках. Так интерфейс пользователя GPSS/W представлен на рисунке 38, интерфейс пакета ARENA представлен на рисунке 39, а интерфейс пакета Proof Animation можно посмотреть на рисунке 40.

Рис. 38- Интерфейс пользователя GPSS/W

Рисунок 39 - Так Интерфейс пользователя Арена

Рисунок 40 - Интерфейс Proof Animation

Наиболее привычным и интуитивно понятным для пользователя представляется интерфейс сред Арены особенно на фоне довольно примитивного на первый взгляд интерфейса GPSS/W. Кроме того, помимо стандартного представления Арена позволяет создание собственных интерфейсов пользователя и данных с помощью Microsoft Visual Basic for Applications (VBA), имеет настраиваемые панели инструментов, контекстные меню и интерактивную справочную система.

Применительно для сложных систем может оказаться полезным иерархическое моделирование. Иерархия позволяет группировать несколько конструктивных основных элементов моделирования в новые структурные компоненты более высокого уровня. Иерархия является важной концепцией многих пакетов моделирования. Она также помогает избежать путаницы при графическом отображении сложной модели на экране. Из рассматриваемых пакетов лишь Арена поддерживает иерархическое моделирование.

Программное обеспечение должно быть снабжено хорошими средствами отладки, такими как интерактивный отладчик. В GPSS/W отладчик выглядит достаточно скудно, он указывает на текст, который вызвал у него непонимание, без возможности перейти к этому месту по ссылке. На рисунке 41 приведен вид отладчика GPSS/W с указанием варианта ошибки.

Рисунок 41 - Ошибка в GPSS/W

В среде Арена исправление ошибки представлено тестом с ссылкой на модуль в котором обнаружена ошибка. При нажатии на кнопку поиска происходит перенос в соответствующий модуль для исправления неисправностей (Рисунок 42)

Рисунке 42 - Исправление ошибки в Арена

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

В настоящее время большой интерес вызывает возможность импортировать данные из других приложений или экспортировать данные в другие приложения (например, таблицы Excel или базы данных). Арена поддерживает такую возможность, как повторное использование накопленного опыта и информации с помощью встроенных электронных таблиц и интерфейса со стандартными базами данных в формате Excel и Access. Пакеты GPSS/W и Proof Animation не поддерживают импортирование данных и других приложений.

  1.  Оборудование и программное обеспечение 

При выборе программного средства имитационного моделирования необходимо обращать внимание на то, для какой компьютерной платформы оно предназначено. Кроме того, следует также учесть необходимый объем оперативной памяти. Все рассматриваемые пакеты работают под WIN98/XP и показывают хорошие результаты работы в обучаемом режиме на базе Pentium III.

7.4.3. Анимация и динамическая графика 

Наличие во многих пакетах встроенных средств анимации – одна из причин роста интереса к имитационному моделированию. При использовании анимации все ключевые элементы системы представлены на экране пиктограммами, которые динамически изменяют свое положение, цвет и форму по мере развития имитационной модели во времени.

Анимацию используют:

  1.  для представления сути имитационной модели (или самого моделирования) руководителю или другим сотрудникам, которые не ознакомлены с техническими подробностями ее работы (или ранее не интересовались ими);
  2.  с целью отладки моделирующей компьютерной программы;
  3.  если надо показать, что имитационная модель не правильна;
  4.  чтобы предложить для системы более совершенный технологический процесс (не все можно определить только по численным результатам моделирования);
  5.  в обучении обслуживающего персонала;
  6.  при обмене информацией между участниками проекта.

Пакет GPSS/W вообще не поддерживает анимацию. Proof Animation поддерживает анимацию, но сложность заключается в том, что всю анимацию первоначально необходимо «прорисовывать» самостоятельно. Пакет Арена обеспечивает двухмерную анимацию и позволяет выводить на экран динамическую графику (гистограммы и графики временной зависимости).

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

7.4.4. Средства получения различных распределений

Если имитационная модель не снабжена надежными средствами статистического анализа, невозможно будет получать достоверные данные о работе модулируемой системы. Прежде всего, в программном средстве необходим хороший генератор случайных чисел, то есть механизм для генерирования независимых значений, равномерно распределенных в интервале [0,1]. Следует иметь в виду, что не все генераторы случайных чисел, которыми снабжены компьютеры или программное обеспечение, обладают удовлетворительными статистическими характеристиками.

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

По этому параметру пакеты имеют некое приближенное равенство.

Арене число потоков случайных чисел не ограничено. Более того, пользователь имеет доступ к 12 стандартным теоретическим распределениям вероятностей, а также к эмпирическим распределениям. В пакете встроено средство моделирования нестационарных процессов Пуассона, представляющих собой модель поступления объектов с зависящей от времени скорости поступления.

В GPSS/W более 20 встроенных распределений случайных чисел.

В Proof Animation встроено 25 статистических законов распределения.

7.4.5. Работа с документацией 

Для успешной работы с программным обеспечением необходима качественная документация.

По обеспечению литературой учебного, технического характера, а также иной документацией по работе с пакетом, как в печатном формате, так и в электронном виде у GPSS/W нет конкурентов. Это наиболее описываемый пакет имитационного моделирования в отечественной и зарубежной литературе. Иным образом обстоит дело с литературой и документацией по пакетам Арена и Proof Animation. Доступная информация по работе с этими пакетами носит весьма скудный и отрывочный характер, учебных изданий по работе с пакетами Арена и Proof Animation на сегодняшний день вовсе нет.

7.4.6. Отчеты с выходными данными и графика 

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

В Арене создание отчетов ведется с помощью Crystal Reports, который предоставляет богатые возможности формирования отчетов, включая графики в формате HTML, Word, Excel и др. В отчетных формах может производиться с помощью иерархии процесса автоматическая свертка статистических данных, которая позволяет видеть затраты, сроки и другую информацию на нижнем уровне, а также кумулятивные данные по отделам, рабочим центрам или предприятиям в целом, вестись подробный расчет себестоимости по операциям, настройка статистических данных и автоматический выбор доверительных интервалов.

GPSS/W предоставляет стандартный отчет в текстовой форме, без дополнительной детализации и не имеет возможности формирования отчетов по параметрам, задаваемым пользователем.

В Proof Animation расчета статистических показателей как таковых нет, есть возможность лишь установки простого счетчика прохождения объекта через точку. В связи с чем возникает повод рассматривать пакет Proof Animation как анимационную среду к пакету моделирования. (Например, имитационная модель сделана на GPSS/W, а анимация к ней на Proof Animation.)

7.4.7. Краткое резюме по анализу пакетов имитационного моделирования

Имитационное моделирование на универсальных языках в настоящее время за рубежом практически не применяется. Специализированные языки имитационного моделирования типа GPSS применяются для имитационного моделирования разнообразных дискретных систем.

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

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

Рассмотрев три представленных программных продукта по имитационному моделированию, можно сделать вывод что, Арена является более перспективным для изучения пакетом как наиболее полно включающая в себя все необходимые характеристики современной среды имитационного моделирования. Однако, не стоит исключать из рассмотрения и пренебрегать ставшим уже классическим GPSS/W, обладающий ясностью в построении моделей и имеющий мощную информационную поддержку. Особенно интересным представляется направление совместного использования GPSS/W и Proof Animation, что дает возможность использование простоты реализации алгоритма модели GPSS/W с предоставлением анимации процесса моделирования во времени средой Proof Animation.


ЛИТЕРАТУРА

  1.  Армстронг Дж. Р. Моделирование цифровых систем. - М.: Мир, 1992.- 174 с.
  2.  Бендат Дж., Пирсол А. Прикладной анализ случайных данных. - М.: Мир, 1989.- 540 с.
  3.  Бусленко Н.П. Моделирование сложных систем. - М.: Наука, 1978.- 400 с.
  4.  Варфоломеев В.И. Алгоритмическое моделирование элементов экономических систем. – М.: Финансы и статистика, 2000. – 208 с.
  5.  Гультяев А.К. MATLAB 5.3. Имитационное моделирование в среде Windows: Практическое пособие.-СПб.: КОРОНА принт, 2001. -400 с.
  6.  Емельянов А.А. Имитационное моделирование в управлении рисками. СПб.: Инжэкон, 2000. – 376 с.
  7.  Емельянов А.А., Власова Е.А., Дума Р.В. Имитационное моделирование экономических процессов/ Учеб. пособие. – М.: Финансы и статистика, 2002. -368 с.
  8.  Марков А.А. Моделирование информационно-вычислительных процессов. - М.: Изд-во МГТУ им. Н.Э. Баумана, 1999.-360 с.
  9.  Математическое моделирование: Методы, описания и исследования сложных систем / Под ред. А.А. Самарского. - М.: Наука, 1989.- 128 с.
  10.  Рыжиков Ю.И. Имитационное моделирование. Теория и технологии. – СПб.: КОРОНА принт; М.: Альтекс-А, 2004. – 384 с.
  11.  Советов Б.Я., Яковлев С.А. Моделирование систем. Практикум: Учеб. пособие. - М.: Высшая школа, 1999.-224 с.
  12.  Советов Б.Я., Яковлев С.А. Моделирование систем. Учебник для ВУЗов. - М.: Высшая школа, 2001.-344 с.
  13.  Томашевский В.Н., Жданова Е.Г. Имитационное моделирование в среде GPSS. –М.: Бестселлер, 2003. –412 с.
  14.  Шеннон Р. Имитационное моделирование систем - Искусство и наука. - М.: Мир, 1978.- 418 с.
  15.  Шрайбер Т.Дж. Моделирование на GPSS. - М.: Машиностроение, 1980.- 592 с.


Приложение
A

Описание программной реализации имитационной модели на GPSS/W

GENERATE

30,8

*Поступление шестерен на *термическую обработку, время *поступления 30 ± 8 минут

ASSIGN

1,0

*первому параметру *присваивается значение, 0 для *обозначения первого входа *шестерни на обработку

MARK

3

*в третьем параметре транзакта *ставим метку, начала отсчета *времени термической обработки *шестерни

semen

SEIZE

sem

*шестерня поступает на *цементирование

ADVANCE

20,8

*время обработки шестерни на *узле цементирования 20 ± 8 *минут

RELEASE

sem

*шестерня выходит из узла *цементирования

zakal

SEIZE

zak

*шестерня поступает на закалку

ADVANCE

20,8

*время обработки шестерни на *узле закаливания 20± 8 минут

RELEASE

zak

*шестерня выходит из узла *закаливания

ASSIGN

3,MP3

*в третьем параметре *запоминаем значение времени *термообработки шестерни

TEST NE

P1,1,zzz

*если определяется что параметр *не равен единице он идет *дальше, а если он равен *единице то переходит в блок с *именем zzz

TEST G

P3,45,qqq

*если шестерня обрабатывалась *больше 45 минут, проходит, *если меньше то уходит в блок *с именем qqq блокеходитьше, а *если он равен единице диницей *обработки шестерни

ASSIGN

4,20

*в четвертом параметре *запоминается стоимость 20 *единиц

zzz

SAVEVALUE

Stoim+,P4

*считаем прибыль от *производства

TERMINATE

qqq

TEST L

P3,35,xxx

*если шестерня обрабатывалась *больше 35 минут, проходит, *если *меньше то уходит в *блок *с именем xxx блокеходитьше, а *если он равен единице *обработки шестерни

ASSIGN

4,7

* в четвертом параметре *запоминается стоимость * 7 *единиц

ASSIGN

1,1

*отмечаем что шестерня уже *проходила *термическую *обработку

TRANSFER

,semen

*передаем шестерню на *повторную термическую *обработку

xxx

ASSIGN

4,12

* в четвертом параметре *запоминается стоимость *12 *единиц

ASSIGN

1,1

*отмечаем что шестерня уже *проходила термическую *обработку

TRANSFER

,zakal

*передаем шестерню на *повторное закаливание

*Таймер на рабочую неделю (5 дней по 8 часов) в минутах

GENERATE

2400

TERMINATE

1


Приложение Б

Первая статистика в GPSS/W

GPSS World Simulation Report - VOV.81.1

Monday, June 13, 2005 15:23:30

START TIME END TIME BLOCKS FACILITIES STORAGES

0.000 2400.000 24 2 0

NAME VALUE

QQQ 16.000

SEM 10000.000

SEMEN 4.000

STOIM 10002.000

XXX 20.000

ZAK 10001.000

ZAKAL 7.000

ZZZ 14.000

LABEL LOC BLOCK TYPE ENTRY COUNT CURRENT COUNT RETRY

1 GENERATE 81 0 0

2 ASSIGN 81 0 0

3 MARK 81 0 0

SEMEN 4 SEIZE 87 0 0

5 ADVANCE 87 1 0

6 RELEASE 86 0 0

ZAKAL 7 SEIZE 108 0 0

8 ADVANCE 108 1 0

9 RELEASE 107 0 0

10 ASSIGN 107 0 0

11 TEST 107 0 0

12 TEST 80 0 0

13 ASSIGN 52 0 0

ZZZ 14 SAVEVALUE 79 0 0

15 TERMINATE 79 0 0

QQQ 16 TEST 28 0 0

17 ASSIGN 6 0 0

18 ASSIGN 6 0 0

19 TRANSFER 6 0 0

XXX 20 ASSIGN 22 0 0

21 ASSIGN 22 0 0

22 TRANSFER 22 0 0

23 GENERATE 1 0 0

24 TERMINATE 1 0 0

FACILITY ENTRIES UTIL. AVE. TIME AVAIL. OWNER PEND INTER RETRY DELAY

SEM 87 0.742 20.458 1 82 0 0 0 0

ZAK 108 0.897 19.944 1 81 0 0 0 0

SAVEVALUE RETRY VALUE

STOIM 0 1231.300

FEC XN PRI BDT ASSEM CURRENT NEXT PARAMETER VALUE

 82 0 2406.033 82 5 6 1 0.000

 3 2384.306

83 0 2407.121 83 0 1

81 0 2416.219 81 8 9 1 1.000

 3 41.111

 4 10.700

84 0 4800.000 84 0 23


Приложение В

Сводные таблицы экспериментов

Таблица В.1 - Итоги моделирования

№ эксперимента

Исходн. данные

1

2

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

81

80

79

Обслужено транзактов

86

107

82

104

83

98

Осталось на обслуживании

1

1

1

1

1

1

Осталось не обслуженными

0

0

0

0

0

0

Среднее время обработки

20,4

19,9

22,2

19,8

23,9

20,1

Коэффициент занятости устройства

74%

89%

76,8%

86,8%

83,7%

82,9%

Прибыль

1334

1329,4

1324,2

№ эксперимента

3

4

5

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

81

79

78

Обслужено транзактов

81

93

79

87

77

81

Осталось на обслуживании

1

1

1

0

1

0

Осталось не обслуженными

0

0

0

0

0

0

Среднее время обработки

26,4

19,6

27,9

20,2

29,5

20,4

Коэффициент занятости устройства

0,90%

0,77%

0,93%

0,73%

0,96%

0,69%

Прибыль

1415,6

1420,6

1431

№ эксперимента

6

7

8

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

79

80

81


Продолжение табл. В.1

Обслужено транзактов

79

101

81

92

82

85

Осталось на обслуживании

1

1

1

1

1

1

Осталось не обслуженными

0

0

0

0

0

0

Среднее время обработки

20,2

21,5

20,1

24,1

20,4

26,3

Коэффициент занятости устройства

0,67%

0,91%

0,68%

0,93%

0,69%

0,93%

Прибыль

1319,9

1391,2

1455,9

№ эксперимента

9

10

11

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

81

80

80

Обслужено транзактов

80

81

80

75

81

99

Осталось на обслуживании

1

1

0

1

1

1

Осталось не обслуженными

0

1

0

5

0

0

Среднее время обработки

20,2

28,4

19,8

30,7

22,4

22

Коэффициент занятости устройства

0,68%

0,97%

0,66%

0,97%

0,75%

0,91%

Прибыль

1442,4

1361

1348

№ эксперимента

12

13

14

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

82

80

79

Обслужено транзактов

83

90

81

88

78

84

Осталось на обслуживании

1

1

0

1

1

1


Продолжение табл. В.1

Осталось не обслуженными

0

0

0

1

0

0

Среднее время обработки

24,7

22

26,7

21,6

28,2

21,7

Коэффициент занятости устройства

0,86%

0,83%

0,90%

0,80%

0,92%

0,76%

Прибыль

1445

1412,8

1391,6

№ эксперимента

15

16

17

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

78

80

82

Обслужено транзактов

77

78

80

91

82

87

Осталось на обслуживании

1

1

1

1

1

1

Осталось не обслуженными

0

0

0

1

0

0

Среднее время обработки

29,7

21,9

22,6

23,5

24,1

24,3

Коэффициент занятости устройства

0,96%

0,72%

0,76%

0,90%

0,83%

0,89%

Прибыль

1405,2

1361,4

1459

№ эксперимента

18

19

20

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

78

78

78

Обслужено транзактов

77

85

77

81

77

78

Осталось на обслуживании

1

1

1

1

1

1

Осталось не обслуженными

0

0

0

0

0

0

Среднее время обработки

26,1

23,2

28,3

23,5

29,5

24,1

Коэффициент занятости устройства

0,85%

0,83%

0,92%

0,80%

0,96%

0,79%

Прибыль

1356,8

1373,6

1382,4


Продолжение табл. В.1

№ эксперимента

21

22

23

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

81

80

78

Обслужено транзактов

82

85

79

81

77

82

Осталось на обслуживании

0

1

1

1

1

0

Осталось не обслуженными

0

1

0

0

0

0

Среднее время обработки

20,4

26,3

23,6

26,3

26,4

25,4

Коэффициент занятости устройства

0,69%

0,94%

0,78%

0,89%

0,86%

0,87%

Прибыль

1432,2

1434,6

1384,5

№ эксперимента

24

25

26

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

80

79

81

Обслужено транзактов

79

80

77

76

80

81

Осталось на обслуживании

1

1

1

1

1

1

Осталось не обслуженными

0

0

1

0

1

Среднее время обработки

26,8

27,1

30,2

25,9

22,4

28,4

Коэффициент занятости устройства

0,92%

0,88%

0,98%

0,83%

0,75%

0,97%

Прибыль

1411,4

1375,6

1426,8

№ эксперимента

27

28

29

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

80

79

79

Обслужено транзактов

79

80

78

80

77

77

Осталось на обслуживании

1

1

1

0

1

1


Продолжение табл. В.1

Осталось не обслуженными

0

0

0

0

0

0

Среднее время обработки

23,6

28,2

26,1

28

28,4

27,6

Коэффициент занятости устройства

0,78%

0,95%

0,86%

0,93%

0,92%

0,89%

Прибыль

1419,2

1403,6

1360

№ эксперимента

30

31

32

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

79

78

79

Обслужено транзактов

77

77

78

79

79

77

Осталось на обслуживании

1

0

1

0

0

1

Осталось не обслуженными

1

0

0

0

0

2

Среднее время обработки

30,2

28,1

22,7

29

24,2

29,9

Коэффициент занятости устройства

0,98%

0,90%

0,73%

0,96%

0,79%

0,97%

Прибыль

1370,6

1393,1

1367,6

№ эксперимента

33

34

35

цементр

закал

цементр

закал

цементр

закал

Сгенерировано транзактов

80

79

80

Обслужено транзактов

79

75

78

75

77

75

Осталось на обслуживании

1

1

1

1

1

1

Осталось не обслуженными

0

2

0

2

2

1

Среднее время обработки

26,3

30

27,6

30,2

29,9

30,5

Коэффициент занятости устройства

0,87%

0,95%

0,91%

0,95%

0,97%

0,96%

Прибыль

1342,5

1327,5

1312,5


Приложении Г

Статистика в Арене


Приложении Д

Текст программы для Proof Animation

GENERATE

,,,1

OPEN("task1.atf"),1

TERMINATE

0

INITIAL

X1,0

Sort

FUNCTION

P1,D3

35,3/45,2/56,1

GENERATE

30,8

VV3

VARIABLE

0

ASSIGN

2,0

WRITE(Catenate("TIME ", AC1))

WRITE(Catenate("CREATE det ", XN1))

WRITE(Polycatenate("PLACE ",XN1, " ON entry"))

ADVANCE

3

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON och1"))

ADVANCE

7

AAA

QUEUE

OCH1

SEIZE

Cem

DEPART

OCH1

MARK

11

ADVANCE

20,8

RELEASE

Cem

ASSIGN

1,MP11

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON cemzak"))

ADVANCE

3

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON och2"))

ADVANCE

10

BBB

QUEUE

OCH2

SEIZE

Zak

DEPART

OCH2

MARK

22

ADVANCE

20,8

RELEASE

Zak

ASSIGN

1+,MP22

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON test1"))

ADVANCE

3

TEST E

P2,2,ZZZ1

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON sort2"))

ADVANCE

10

TRANSFER

,PP2

ZZZ1

TEST E

P2,3,ZZZ2

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON sort3"))

ADVANCE

15

TRANSFER

,PP3

ZZZ2

ASSIGN

2,FN$Sort

TEST E

P2,2,BBB1

WRITE(Polycatenate("SET ",XN1," COLOR F17"))

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON det2"))

ADVANCE

25

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON och2"))

ADVANCE

10

TRANSFER

,BBB

BBB1

TEST E

P2,3,AAA1

WRITE(Polycatenate("SET ",XN1," COLOR F5"))

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON det3"))

ADVANCE

35

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON och1"))

ADVANCE

7

TRANSFER

,AAA

AAA1

WRITE(Polycatenate("SET ",XN1," COLOR F24"))

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " ON sort1"))

ADVANCE

15

PP1

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " 71 39"))

Queue

ochsort1

WRITE(Catenate("WRITE storage1 ",Q$ochsort1))

WRITE(Catenate("WRITE cost ",Q$ochsort2#12+Q$ochsort3#7+Q$ochsort1#20))

TRANSFER

,TTT

PP2

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " 71 29"))

Queue

ochsort2

WRITE(Catenate("WRITE storage2 ",Q$ochsort2))

WRITE(Catenate("WRITE cost ",Q$ochsort2#12+Q$ochsort3#7+Q$ochsort1#20))

TRANSFER

,TTT

PP3

WRITE(Catenate("TIME ", AC1))

WRITE(Polycatenate("PLACE ",XN1, " 71 19"))

Queue

ochsort3

WRITE(Catenate("WRITE storage3 ",Q$ochsort3))

WRITE(Catenate("WRITE cost",Q$ochsort2#12+Q$ochsort3#7+Q$ochsort1#20))

TTT

TERMINATE

0

GENERATE

,,999,1

WRITE("End");

CLOSE

,1

TERMINATE

0

GENERATE

1000

TERMINATE

1

START

1


Приложение Е

Описание Proof Animation

Инструменты меню.

Пункт меню Mode (режим) – предназначен для выбора одного из режимов анимации (Таблица 1.).

Таблица 1 - Режимы работы меню Mode

Инструмент

Действие

Run Mode

Управление скоростью и текущим временем анимации

Debug Mode

Выполнение анимации по шагам файла трассировки (E-Step) или системного времени (T-Step)

Draw Mode

Рисование и редактирование статических элементов анимации

Path Mode

Определение путей, по которым будут двигаться динамические объекты

Class Mode

Рисование и редактирование динамических объектов анимации

Presentation Mode

Управление заданным сценарием презентации – одного или нескольких сегментов анимации, управляемых из меню пользователя

Пункт меню Run Mode (режим движения) – при его выборе вы сможете выполнять операции управления анимацией (Таблица 2.).

Таблица 2 - Операции в режиме Run Mode

Инструмент

Действие

Go (Пуск)

Начало или продолжение выполнения анимации после паузы

Pause (Пауза)

Временная остановка анимации – используется для просмотра промежуточных результатов

Time (Время)

Отображение текущего времени анимации. Для изменения текущего времени необходимо щелкнуть левой клавишей мыши на значке или выбрать из пункта меню Run. Появится диалоговое окно с надписью «Please enter a time to jump to», в котором нужно ввести новое время. Используется для скачков во времени.

Speed (Скорость)

 

Отображение скорости относительно реального времени. Для изменения скорости щелкните мышью по значку или выберите из меню Run. Появится окно с надписью «Please enter simulation: viewing time ratio». Введите новый коэффициент скорости. Так можно прогнозировать ход процесса.

Пункт меню Draw Mode (режим рисования)

Вы можете рисовать статические элементы, например таблицы. После выбора режима появятся две полосы меню:

  1.  общие средства редактирования Box Edit (редактирование элемента), Trim (удаление элемента), Snap (переключатель) со стандартными меню Mode, File, View;
  2.  специальные средства создания статических элементов Line (прямая), Poliline (ломаная), Arc (дуга), Fillet (округление), Text (постоянный текст), Message (сообщение), Bar (полосы), Fill (заполнение)$.

Команда Box Edit предназначена для редактирования изображения элементов. Для этого нужно выбрать левой клавишей мыши команду Box Edit  и выделить прямоугольником редактируемую область. Появится панель инструментов для выполнения действий (таблица 3.).

Команду Trim применяют для удаления частей дуг и линий щелчком мыши. Команда Snap применяется для переключения ускоренных опций в режимы «да» и «нет». Специальная команда Line предназначена для рисования прямых линий следующим образом:

  1.  поместите курсор мыши в начальную точку;
  2.  нажмите левую клавишу мыши;
  3.  переместите курсор в конечную точку;
  4.  нажмите клавишу еще раз.

Таблица 3 - Действия при выборе Box Edit

Инструмент

Действие

Cut

Вырезает выделенную прямоугольную область, которую затем можно вставить

Paste

Вставляет ранее вырезанную прямоугольную область

Copy to paste

Делает копию прямоугольной области без ее вырезания

Names

Определяет как обрабатывать выделенные элементы при вставке многократных копий: автоматически (Automatic) или вручную (Manual)

Delta x

Определяет относительное значение X копии по отношению к оригиналу

Delta y

Определяет относительное значение Y копии по отношению к оригиналу

Scale

Изменяет масштаб выбранной прямоугольной области

Rotation

Вращает на заданное количество градусов выбранную прямоугольную область

Vertical Flip

Инвертирует элементы сверху вниз

Horizontal Flip

Инвертирует элементы слева направо

Color

Изменяет цвет выбранных объектов

Команда Arc предназначена для редактирования дуг и окружностей с помощью набора инструментов (таблица 4.).

Таблица 4 - Действия для команды Arc

Инструмент

Действие

Center x

Значение X центра Arc

Center y

Значение Y центра Arc

Start x

Значение X начальной отметки Arc

Start y

Значение Y начальной отметки Arc

End x

Значение X конечной отметки Arc

End y

Значение Y конечной отметки Arc

Radius

Значение радиуса Arc

Start <

Значение начальной позиции в градусах

End <

Значение конечной позиции в градусах

Full Circle

Опция для преобразования текущей Arc в полный круг

Direction

Выбор направления угла Arc (против или по часовой стрелке)

Rotate +90

Вращение Arc на 90 градусов по часовой стрелке

Track

Управляемый мышью атрибут Arc: Location (расположение), Radius (радиус), Angles (углы)

Color

Выбор цвета Arc

Команда Poliline предназначена для рисования ломаных линий и прямоугольников следующим образом:

  1.  поместите курсор мыши в начальную точку;
  2.  нажмите левую клавишу мыши;
  3.  переместите курсор мыши в следующую точку;
  4.  снова нажмите левую клавишу мыши и на экране появится первый сегмент;
  5.  переместите курсор в следующую точку;
  6.  нажмите левую клавишу мыши и на экране появится второй сегмент;
  7.  далее добавляйте сегменты таким же образом до получения желаемой формы.

Команда Fillets предназначена для вывода рисунка с округленными соединениями непараллельных линий. При ее выборе на экране появляется инструментальная панель. Перечень инструментов приведен в таблице 5.

Таблица 5 - Выполнение команды Fillets

Инструмент

Действие

Radius

Радиус для Fillets

Trim

Обрезание линий, соединенных Fillets

Clicks

Число нажатий кнопки для Fillets

Для применения Fillets следует:

  1.  нарисовать две непараллельные прямые;
  2.  выбрать пункт меню Fillets;
  3.  указать инструмент в меню Fillets;
  4.  подвести курсор к месту закругления;
  5.  нажать левую клавишу мыши.

Команда Text предназначена для вывода на экран статического текста с помощью выбранных инструментов, которые появятся в диалоговом окне при выборе команды (таблица 6).

Таблица 6 - Выполнение команды Text

Инструмент

Действие

X

Значение X левого нижнего первого символа вводимого текста

Y

Значение Y левого нижнего первого символа вводимого текста

Height

Значение высоты текста

Angle

Угол поворота против часовой стрелки строки текста

Font

Выбор типа шрифта: Fixed (с устанавливаемым пробелом), Prof (с пропорциональным пробелом)

Justify

Опция меню выравнивания строки текста

Edit Text

Редактирование текста

+Bigger

Увеличение на 10% высоты текста

-Smaller

Уменьшение на 10% высоты текста

Color

Изменение цвета текста

Для этого следует выбрать нужный инструмент и его параметры, подвести курсор в нижний левый угол поля текста и нажать левую клавишу мыши. В нижней части экрана появится поле для ввода текста. Наберите строку текста и нажмите клавишу Enter. Затем можно набрать следующую строку.

Команда Message предназначена для вывода результатов имитационных экспериментов как динамических сообщений на статическом поле. Для ее выполнения следует сделать:

  1.  ввести имя сообщения, которое далее будет использоваться командой Write в файле управления .atf;
  2.  выбрать нужный инструмент так же как по команде Text;
  3.  подвести курсор в угол поля текста;
  4.  нажать левую клавишу мыши;
  5.  ввести в появившемся поле прототип сообщения и нажать клавишу Enter.

Прототип будет отображаться на экране только в режиме Draw и давать представление о виде выводимого результата. Отображаемый текст появится после выполнения команды Write со ссылкой на команду Message.

Команда Bar определяет один из элементов в наборе.

Команда Fill заполняет цветом одну или более замкнутых областей.

Пункт меню Class Mode (режим выбора объектов)

Используется для ввода формы объекта – динамического элемента, движущегося на экране. Вы можете рисовать динамические объекты, такие как горнопроходческие машины, рабочие органы и места работы. Объекты могут быть созданы, уничтожены, помещены в координатную сетку, перемещены от одной отметки к другой, повернуты и т.д. Вы можете менять скорость движения, цвет и форму объекта. После выбора Class Mode в меню появится пункт Class с выпадающим списком команд: New Class (новый класс), Select Class (выбрать класс), Delete Class (уничтожить класс).

Создание нового класса начинается с ввода имени по запросу New Class Name. После имени появляется такое же меню, как для рисования статических элементов в режиме Draw. Теперь можно рисовать изображение объекта.

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

По команде Delete Class выбранный вами класс уничтожается.

Пункт меню File (файл) предназначен для следующих операций с файлами:

  1.  Open Layout&Trace – открыть файлы разметки и трассировки;
  2.  Open Layout only – открыть только файл разметки;
  3.  Save Layout – записать файл разметки;
  4.  Change Directory – изменить текущий каталог;
  5.  Change Disk – изменить текущий диск.

Для открытия файла анимации выберите курсором мыши первый или второй пункт меню. В центре экрана появится список из файлов анимации, находящихся в текущем каталоге. Выберите нужный вам файл и нажмите кнопку Открыть. Открытие файла анимации может происходить также непосредственно из командной строки MS-DOS. Для этого наберите spa filename1.lay filename2.atf .

Пункт меню View (вид). Меню View управляет размером, расположением и ориентацией окна анимации с помощью команд, описанных в таблице 7.

Таблица 7 - Команды меню View

Инструмент

Действие

Select View (выбрать вид)

Анимация содержит одно или несколько окон со своим расположением, размером и ориентацией. По этой команде все виды появятся в центре экрана. Выберите нужный вид, подведя к нему курсор.

Define View

Изменяет вид

Pan

Сдвигает окно просмотра на 25 % влево (Left 25%), вправо (Right 25%), вверх (Up 25%) или вниз (Down 25%) без изменения масштаба просмотра.

Zoom

Изменяет масштаб окна просмотра

Zoom Box

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

Zoom-to-fit

Автоматически выбирают масштаб для отображения графических элементов

Инструмент

Действие

Out +Back

Перемещает центр экрана

Rotate

Вращает окно просмотра вокруг центра га заданный опцией Degrees угол

Gird

Отображает масштабную сетку

Refresh

Повторно выводит изображение

В компьютерной анимации основным является файл трассировки (Trace File) с расширением .atf. Он генерируется программой имитационного моделирования, например, GPSS/H, и в каждой линии содержит команду отображения движений динамических объектов с помощью ProofAnimation.

Для написания файла управления вручную можно использовать текстовый редактор, создающий не форматируемые текстовые файлы (WordPad, NotePad).

Основными командами файла трассировки являются:

Time – используется для скачка модельного времени к определенному событию. После такой команды выполняются другие команды ProofAnimation. Если время, заданное командой Time, больше текущего времени, то ProofAnimation продолжает анимацию без чтения следующих линий файла трассировки. Когда наступает время Time, ProofAnimation начинает обработку следующих линий.

Create <имя класса> <номер объекта> - создает объект из класса.

Основным элементом в компьютерной анимации является Object (объект). Объект – это динамический элемент, который может перемещаться на экране. Над объектом выполняют следующие действия: создание, уничтожение, помещение в координатную точку, изменение цвета, изменение формы, перемещение по пути, перемещение от одной отметки до другой, вращение. При создании объекта вводится его спецификация – класс объектов. Это удобно, поскольку объект может наследовать свойства класса. Для имен Object Class устанавливают некоторые простые правила. Верхние и строчные символы букв обрабатывают как уникальные символы в именах идентификатора. Каждое имя должно начинаться с буквенного символа (A-Z или a-z). Имена могут быть длиной не более 16 символов. Перед тем как объект появится на экране, его сначала нужно создать в файле трассировки. Для этого используют команду Create.

Place <имя объекта> at X Y – помещает объект в координатное пространство ProofAnimation.

ProofAnimation имеет несколько команд, которые заставляют объект появляться на экране.

 Place...at – разместить объект в координаты (x,y).

 Place objectID at x y

 Place car at 20 30

Объект находится в неподвижном состоянии после размещения. Объект будет невидим, если его координаты находятся за экраном, или его цвет совпадает с цветом фона.

Place...in – разместить центральную точку объекта в центральную точку другого объекта.

 Place objectID1 in objectID2

 Place 26 in WaitArea

При этом объект 1 остается неподвижным, даже если объект 2 находится в движении. Если объект 2 движется (с помощью Move, Place...at, Place...on...at), то объект 1 переместится в точку, где находился объект 2 в момент выполнения команды.

Place...on – помещает объект на путь. Если объект имел заданную скорость, то после помещения на путь он будет двигаться с той же скоростью. Если объект не обладал заданной скоростью, но была задана скорость Класса объектов, то объект после помещения на путь будет двигаться с этой скоростью. Если ни объект, ни Класс объектов не имели заданной скорости, но путь имел заданную скорость, то объект будет двигаться с этой скоростью.

 Place objectID on pathname [squeeze]сжатый

 [at offset]сместить

[at end]в конец

[before objectID2] – перед объектом 2

 [after objectID2] – после объекта 2

Если не заданы дополнительные параметры, то объект будет помещен в начале пути.

 Place car on track

- поместить объект car в начало первого сегмента пути track.

 Place car on track at 10

- поместить объект car на путь track в 10 единицах от начала.

 Place car on track squeeze at end

- поместить объект car в конце пути track. Если в конце пути могут накапливаться несколько объектов, то параметр сжатия [squeeze] автоматически отодвинет накопившиеся объекты назад, освободив место для нового объекта. Если параметр сжатия не задан, а в конце пути накопились объекты, то при подходе нового объекта вы получите предупреждение, что нужно указывать, куда следует поместить новый объект: до или после имеющегося.

Destroy <имя объекта> - удаляет объект с экрана. При этом объект удаляется только с экрана, а на класс объектов данная команда не воздействует.

Set <имя объекта> Color – устанавливает и изменяет цвет объекта. В ProofAnimation используются цвета фона: BACKDROP (Black), LAYOUT (Lay) и цвета активного слоя: BLUE или F1, REDF2, WHITEF3, YELLOWF4, PINKF5, TANF6, GREENF7. Для определения цвета используется соответствующий номер с буквой F или английское название цвета.

Move <имя объекта> SPEED <скорость движения> <x> <y> [RELATIVE] – перемещает объект между двумя точками. При выполнении этой команды объект двигается по прямой линии между двумя точками. Объект сразу начинает движение из текущих координат к точке с координатами (x,y) с заданной скоростью. Достигнув заданных координат, он останется в этой точке на время, соответствующее модулю времени, определенному в команде Time. Если используется ключевое слово RELATIVE, то объект начнет перемещаться из текущих координат на заданное количество модулей в направлении X и Y.

 PLACE <имя объекта> on <имя пути> - перемещает объект по пути, заданном в режиме Path Mode. Если объект помещен на путь и скорость пути или объекта больше ноля, объект автоматически будет двигаться от начала пути до его конца, если другая команда файла трассировки (Destroy или End) не прервет движение.

ROTATE <имя объекта> to <угол> speed <скорость> <шаг> - вращает объекты. Угол поворота и шаг измеряются в градусах, продолжительность поворота в единицах времени ProofAnimation, скорость поворота в градусах на единицу времени.

WRITE <имя сообщения> <текст сообщения> - изменяет содержание сообщения. Прежде чем вывести динамическое сообщение, необходимо его создать и определить его прототип в цвете Backdrop в режиме Draw Mode по команде Message.

END – завершает анимацию. Файл трассировки обязательно должен заканчиваться командой End.


 

А также другие работы, которые могут Вас заинтересовать

44714. Варианты Палитры 2.2 MB
  Каждая страница содержит различные варианты касающиеся палитры. Эта полоса может быть открыта дважды щелкая палитре цветов Бруска Палитры или щелкая кнопкой Show Plette Options инструментальной панели Plette. Как только Брусок Вариантов Палитры открыт Вы можете тогда нажать по цвету в Бруске Палитры чтобы отобразить его свойства.
44715. Печать Особенностей 1.19 MB
  Однако иногда Вы можете хотеть печатать только некоторые страницы схемы. Чтобы просмотреть следующие или предыдущие страницы распечатки щелкните Next Pge или Prev Pge. Чтобы иметь две страницы отображенные сразу щелкните Two Pge. Содержание Страницы Pge Content Содержание страницы диалогового окна Параметров станицы обеспечивает варианты для того чтобы определить содержание распечатки.
44716. Окисление оксида азота в производстве азотной кислоты 246 KB
  Определение температуры газа на выходе из окислителя. Определение объема окислителя.2 Определение массового расхода NH3 по реакции: кг ч 2.3 Определение фактического расхода NH3: кг ч; Xабс=0.
44717. Degrees of Comparison of Adjectives and Adverbs 48.5 KB
  Prctise reding the following wordcombintions: erliest times useful power hotir engines solr energy solr evportion sunctivted processes surrounding ir sun’s rys stright lines the most effective wys the loss of energy glsslike mteril effective prevention trnsprent sheets of glss or plstic ctul pplictions typicl rrngements highpressure boilers lrge block of electric power. TEXT 5 Solr Power The sun’s energy mnifests itself s therml photoelectric nd photochemicl effects. Men hve tried to use solr energy since...
44718. Modal verbs. Nouns as attribute 88.7 KB
  II Prctise reding twosyllble words with the stress on the first syllble rdr rnging hrbour lnding trvel mesure becon presence wether echo signl timer system object constnt mountin strongest portion during. Prctise reding the following word combintions: cpble of determining the presence of objects their chrcter ll of them ultrhigh frequency rdio wve energy directionl ntenn in bem visul redble signls within the field of view of rdr the use of these timed pulses t the constnt velocity the fluorescent screen...
44719. Sequence of Tenses. Imperative Mood. Quantifiers and their equivalents 54 KB
  LBERT EINSTEIN 18791955 €œImgintion is more importnt thn knowledge†Einstein lbert Einstein ws born in Germny on Mrch 141879. t the ge of 21 fter four yers of university study lbert Einstein got job s clerk t n office. Einstein expressed his theory in the eqution E=mc roughly tht energy equls mss times the squre of the speed of light. lbert Einstein ws very tlented mn gret thinker.
44720. Infinitive (forms and functions) 33.55 KB
  The oceans cover 147 million square miles of the earth's total surface of 197 million square miles. Geographically, this vast expanse of water has been very thoroughly explored; the surface currents have been charted, the depths of the seas bordering the land have been carefully sounded. Yet, the nature of the ocean was practically unknown until recently, when new techniques and careful mapping did disclose new details of the ocean waters.
44721. Gerund (forms and functions) 114.28 KB
  Prctise reding the following twosyllble words with the stress on the second syllble: Include between employ pply design convert trnsform obtin Prctise reding the following mny syllble words: Electricity impossible ccumulte numerous resistnce temperture emergency photocell complicted Prctise reding the following words with double stress: Engineering semiconductor utomtion conductivity irrespective reproduce Memorize the spelling nd pronuncition of the following words: Vry ['vεərI]...
44722. Ing forms: Participle/Gerund/Verbal Noun 51 KB
  Trnsistors mde it possible to design compct smlldimensioned electronic devices which consume very little power. The trnsistors re successfully used for direct trnsformtion of het energy into electricl energy by mens of therml elements. In lter yers light sources nd lsers were built on the bsis of trnsistors.