Компьютерное моделирование
Рассмотрение случаев применения имитационного моделирования экономических процессов. Характеристика теории систем массового обслуживания. Определение задач компьютерного моделирования. Изучение математических предпосылок создания имитационной модели.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курс лекций |
Язык | русский |
Дата добавления | 06.04.2018 |
Размер файла | 738,7 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
4.1.2 Управление модельным временем
Масштаб времени - это число, которое задает длительность моделирования одной единицы модельного времени, пересчитанной в секунды, в секундах астрономического реального времени при выполнении модели. Относительный масштаб времени - это дробь, показывающая, сколько единиц модельного времени помещается в одной единице процессорного времени при выполнении модели в компьютере.
Можно выделить четыре разновидности масштаба времени:
1. Реальный масштаб времени - вводится значение выбранной единицы измерения модельного времени, выраженное в секундах. Например, если в качестве единицы модельного времени выбран 1 ч, а в качестве масштаба задать число 3600, то модель будет выполняться со скоростью реального процесса, а интервалы времени между событиями в модели будут равны интервалам времени между реальными событиями в моделируемом объекте (с точностью до поправок на погрешности при задании исходных данных). Относительный масштаб в этом случае равен 1:1.
2. Максимально ускоренный масштаб времени - задается число 0. В этом случае время моделирования определяется чисто процессорным временем выполнения модели. Например, если в модели произошли три события, причем длительность модельного времени между первым и вторым событиями составляет 1 мин, а между вторым и третьим интервал модельного времени равен 24 ч, то в компьютере соответствующие интервалы астрономического времени - это длительность выполнения управляющих программ имитатора, т.е. оба интервала приблизительно равны. Они зависят от используемого процессора ЭВМ и могут измеряться малыми долями секунды. Это обстоятельство позволяет достигнуть максимального быстродействия модели и автоматически исключать из процесса моделирования непроизводительные отрезки модельного времени (например, в ночное время фирма не работает). Относительный масштаб в этом случае практически трудно определить.
3. Пропорционально ускоренный масштаб времени - вводится значение выбранной единицы измерения модельного времени, выраженное в секундах. Причем это значение меньше выбранной единицы. Например, если в качестве единицы модельного времени выбран 1 ч, а в качестве масштаба задать число 0,1, то модель будет выполняться быстрее реального процесса. Причем 1 ч реального процесса будет моделироваться в ЭВМ в течение 0,1 с (с учетом погрешностей), т.е. примерно в 36 000 раз быстрее. Относительный масштаб равен 1:36000.
4. Замедленный масштаб времени - вводится значение выбранной единицы измерения модельного времени, выраженное в секундах. Причем это значение меньше выбранной единицы. Например, если в качестве единицы модельного времени выбран 1 ч, а в качестве масштаба задать число 7 200, то модель будет выполняться медленнее реального процесса. Причем 1 ч реального процесса будет моделироваться в ЭВМ в течение 2 ч, т.е. примерно в 2 раза медленнее. Относительный масштаб равен 2:1. Замедленный масштаб не представляет интереса для проведения исследований с моделями. Однако замедленная работа необходима при исследовании самого имитатора и характеристик его координатора (например, при калибровке общего модельного таймера).
4.1.3 Принципы построения моделирующих алгоритмов
Состояние системы характеризуется вектором состояний Z(t). Организуем счетчик системного времени, который в начальный момент показывает время t0. Прибавим интервал времени t, тогда счетчик будет показывать t1= t0 +t. Вычислим значения Z(t0+t), затем перейдем к моменту времени t2= t1 +t и т.д. Если шаг t достаточно мал, то таким путем можно получать приближенные значения Z.
Рассмотренный принцип построения моделирующих алгоритмов называется принципом t. Это наиболее универсальный принцип, позволяющий определить последовательные состояния процесса функционирования системы через заданные интервалы времени t. Но с точки зрения затрат машинного времени он иногда оказывается неэкономичным.
При рассмотрении процессов функционирования некоторых систем можно обнаружить, что для них характерны два типа состояний:
1) особые, присущие процессу функционирования системы только в некоторые моменты времени (моменты поступления входных или управляющих воздействий, возмущений внешней среды и т. п.);
2) не особые, в которых процесс находится все остальное время.
Особые состояния характерны еще и тем обстоятельством, что функции состояний Z(t) в эти моменты времени изменяются скачком, а между особыми состояниями изменение координат Z(t) происходит плавно и непрерывно или не происходит совсем. Таким образом, следя при моделировании системы только за ее особыми состояниями в те моменты времени, когда эти состояния имеют место, можно получить информацию, необходимую для построения функций Z(t). Очевидно, для описанного типа систем могут быть построены моделирующие алгоритмы по «принципу особых состояний». Обозначим скачкообразное (релейное) изменение состояния z как z, а «принцип особых состояний» -- как принцип z.
Например, для системы массового обслуживания (Q-схемы) в качестве особых состояний могут быть выбраны состояния в моменты поступления заявок на обслуживание в прибор П и в моменты окончания обслуживания заявок каналами К, когда состояние системы, оцениваемое числом находящихся в ней заявок, меняется скачком.
Отметим, что характеристики процесса функционирования таких систем с особыми состояниями оцениваются по информации об особых состояниях, а не особые состояния при моделировании не рассматриваются. «Принцип z» дает возможность для ряда систем существенно уменьшить затраты машинного времени на реализацию моделирующих алгоритмов по сравнению с «принципом t». Логика построения моделирующего алгоритма, реализующего «принцип z», отличается от рассмотренной для «принципа t» только тем, что включает в себя процедуру определения момента времени t, соответствующего следующему особому состоянию системы. Для исследования процесса функционирования больших систем рационально использование комбинированного принципа построения моделирующих алгоритмов, сочетающего в себе преимущества каждого из рассмотренных принципов.
Рассмотрим соответствующие способы управления временем в модели системы на примере, показанном на рис. 1, где по оси реального времени отложена последовательность событий в системе {si} во времени, причем события s4 и s5, происходят одновременно (рис. 1, а). Под действием событий si, изменяются состояния модели zi, в момент времени tzi, причем такое изменение происходит скачком z.
В модели, построенной по принципу t (рис. 1, б), моменты системного времени будут последовательно принимать значения t'1=t, t'2=2t , t'3=3t, t'4=4t, t'5=5t. Эти моменты системного времени t'j(t) никак не связаны с моментами появления событий, которые имитируются в модели системы. Системное время при этом получает постоянное приращение, выбираемое и задаваемое перед началом имитационного эксперимента.
В модели, построенной по «принципу z» (рис. 1, в), изменение времени наступает в момент смены состояния системы, и последовательность моментов системного времени имеет вид t''1=tz1, t''2= tz2 , t''3= tz3, t''4= tz4, t''5= tz5, т.е. моменты системного времени t''k (z) непосредственно связаны с моментами появления событий в системе si.
У каждого из этих методов есть свои преимущества с точки зрения адекватного отражения реальных событий в системе и затрат машинных ресурсов на моделирование. При использовании «принципа z» события обрабатываются последовательно и время смещается каждый раз вперед до начала следующего события. В модели, построенной по «принципу t», обработка событий происходит по группам, пакетам или множествам событий. При этом выбор t оказывает существенное влияние на ход процесса и результаты моделирования, и если t задана неправильно, то результаты могут получиться недостоверными, так как все события появляются в точке, соответствующей верхней границе каждого интервала моделирования. При применении «принципа z» одновременная обработка событий в модели имеет место только тогда, когда эти события появляются одновременно и в реальной системе. Это позволяет избежать необходимости искусственного введения ранжирования событий при их обработке в конце интервала t.
При моделировании по «принципу t» можно добиться хорошей аппроксимации: для этого t должно быть малым, чтобы два неодновременных события не попали в один и тот же временной интервал. Но уменьшение t приводит к увеличению затрат машинного времени на моделирование, так как значительная часть тратится на корректировку «часов» и отслеживание событий, которых в большинстве интервалов может и не быть. При этом даже при сильном «сжатии» t два неодновременных события могут попасть в один и тот же временной интервал t, что создает ложное представление об их одновременности.
Для выбора принципа построения машинной модели необходимо знать: цель и назначение модели; требуемую точность результатов моделирования; затраты машинного времени при использовании того или иного принципа; необходимый объем машинной памяти для реализации модели, построенной по принципу t и z; трудоемкость программирования и отладки.
Рис. 4.1. Способы управления временем в модели системы
4.1.4 Механизм планирования событий и модельный таймер
Рассмотрим механизм планирования событий. В процессе моделирования образуются управляющие структуры данных.
Эти блоки уничтожаются при завершении моделирования. Если в процессе прогона модели появляется новый транзакт, то на все время его существования образуется блок управления транзактом. При входе транзакта в узел возникает блок управления событием, который уничтожается после выхода транзакта из этого узла. Если транзакт захватывает какое-то количество единиц ресурса определенного типа, то к нему присоединяется блок управления ресурсом с идентификатором этого ресурса; в этом блоке отмечается используемое количество единиц. Если ресурс полностью освобожден, то блок управления ресурсом уничтожается.
В действительности они не уничтожаются; они переводятся в соответствующие списки отработанных структур, откуда будут извлечены вновь при возникновении новых транзактов и событий. По окончании одного прогона модели все блоки, включая отработанные, будут уничтожены специальной программой - «мусорщиком».
Число управляющих структур в любой конкретный момент случайно. Конфигурация взаимосвязей также изменяется от события к событию.
В моделях в результате неправильно проведенного структурного анализа может возникать блокировка. Имитатор предоставляет специальные приемы для борьбы с этим явлением. Разработчик моделей имеет возможность автоматической проверки состояний интересующих его узлов и в случае необходимости разблокирования их.
4.1.5 Способы реализации непрерывных моделей
Непрерывные компоненты модели представляют процессы перемещения товаров транспортными средствами с учетом дорожной сети, химическое производство или окружающую среду вокруг объекта экономики. Непрерывные компоненты, если они необходимы, могут быть представлены:
* разностными уравнениями;
* расчетными формулами, реализующими конкретный математический метод.
При реализации непрерывных компонентов очередной интервал (или шаг интегрирования) - это отрезок времени между двумя ближайшими событиями в стохастической сети.
Контрольные вопросы
Чем принципиально отличается модельное время от астрономического?
Какие бывают масштабы времени при имитационном моделировании (указать разновидности)?
Какие типы состояний характерны для систем при рассмотрении процессов их функционирования?
Чем характерны особые состояния системы?
Что необходимо знать для выбора принципа построения машинной модели?
4.2 Основные правила моделирования
4.2.1 Языковые средства
Стохастическая сеть, в виде которой представляется имитационная модель, не является вычислительным алгоритмом. Попытки представить имитационную модель в виде набора алгоритмов приводят к написанию больших (и сложных) моделирующих программ. Такой подход называется алгоритмическим моделированием; он не всегда доступен экономисту, даже имеющему подготовку в области программирования. Например, запрограммированная на языке Visual Basic алгоритмическая модель, состоящая из очереди и обслуживающего прибора (всего два узла), занимает несколько страниц текста на этом языке программирования.
Реальная модель экономического процесса может состоять из десятков (сотен) узлов. Поэтому нужны особые языковые средства, не являющиеся языком программирования, которые бы позволили в лаконичном (по сравнению с текстом компьютерной программы) виде описать модель. Эти средства должны учитывать особенности узлов, жизненных циклов транзактов, условий прохождения транзактов по дугам, их размножения и гибели, а также функциональные особенности взаимодействия процессов, связанных с финансовыми, материальными и информационными ресурсами.
Языковые взаимосвязанные средства, предназначенные для описания имитационных моделей экономических процессов подразделяются на пять связанных частей:
формализация запуска имитационной модели; инициализация объектов и структур данных;
описание узлов с помощью общих операторов управления транзактами, событиями и узлами модели;
функциональное описание процессов управления материальными и денежными ресурсами;
формализация структурного анализа - управление переходами между слоями модели при многоуровневой декомпозиции;
описание сигнальных управляющих функций.
Данные средства по форме записи являются функциями, через параметры которых реализуются синтаксические связи между объектами (узлами, транзактами, ресурсами и событиями) имитационной модели.
4.2.2 Структурный анализ имитационной модели
Важным для системного подхода является определение структуры системы -- совокупности связей между элементами системы, отражающих их взаимодействие. Структура системы может получаться извне с точки зрения состава отдельных подсистем и отношений между ними, а также внутри, когда анализируются отдельные свойства, позволяющие системе достигать заданной цели, т. е. когда изучаются функции системы. В соответствии с этим наметился ряд подходов к исследованию структуры системы с ее свойствами, к которым следует прежде всего отнести структурный и функциональный. При структурном подходе выявляются состав выделенных элементов системы S и связи между ними. Совокупность элементов (связей между ними позволяет судить о структуре системы последняя в зависимости от цели исследования может быть описана на разных уровнях рассмотрения. Наиболее общее описание структуры -- это топологическое описание, позволяющее определить в самых общих понятиях составные части системы и хорошо формализуемое на базе теории графов.
Менее общим является функциональное описание, когда рассматриваются отдельные функции, т. е. алгоритмы поведения системы, и реализуется функциональный подход, оценивающий функции, которые выполняет система, причем под функцией понимается свойство, приводящее к достижению цели. Поскольку функция отображает свойство, а свойство отображает взаимодействие системы S с внешней средой Е, то свойства могут быть выражены в виде либо некоторых характеристик элементов Si(j) и подсистем Si системы, либо системы S в целом.
При наличии некоторого эталона сравнения можно ввести количественные и качественные характеристики систем. Для количественной характеристики вводятся числа, выражающие отношения между данной характеристикой и эталоном. Качественные характеристики системы находятся, например, с помощью метода экспертных оценок.
Проявление функций системы во времени S(t), т. е. функционирование системы, означает переход системы из одного состояния в другое, т. е. движение в пространстве состояний Z. При эксплуатации системы S весьма важно качество ее функционирования, определяемое показателем эффективности и являющееся значением критерия оценки эффективности. Существуют различные подходы к выбору критериев оценки эффективности. Система S может оцениваться либо совокупностью частных критериев, либо некоторым общим интегральным критерием.
Следует отметить, что создаваемая модель М с точки зрения системного подхода также является системой, т. е. S'=S'(M), и может рассматриваться по отношению к внешней среде Е. Наиболее просты по представлению модели, в которых сохраняется прямая аналогия явления. Применяют также модели, в которых нет прямой аналогии, а сохраняются лишь законы и общие закономерности поведения элементов системы S. Правильное понимание взаимосвязей как внутри самой модели М, так и взаимодействия ее с внешней средой Е в значительной степени определяется тем, на каком уровне находится наблюдатель.
Простой подход к изучению взаимосвязей между отдельными частями модели предусматривает рассмотрение их как отражение связей между отдельными подсистемами объекта. Такой классический подход может быть использован при создании достаточно простых моделей.
При моделировании необходимо обеспечить максимальную эффективность модели системы. Эффективность обычно определяется как некоторая разность между какими-то показателями ценности результатов, полученных в итоге эксплуатации модели, и теми затратами, которые были вложены в ее разработку и создание.
Модель состоит из двух характерных частей: секции инициализации и блока описания стохастической сети.
Описание узлов графа, условий прохождения транзактов и моделирование дискретных компонентов производится с помощью программных ветвей.
Процесс построения графа имитационной модели сопровождается структурным анализом исследуемого процесса. При структурном анализе возникает задача перехода между слоями: нижние слои модели содержат декомпозицию узлов, расположенных выше. Декомпозиция - это детализация одного узла с помощью совокупности других узлов.
Существуют четыре разновидности декомпозиции процессов:
1) общий случай декомпозиции сложного процесса;
2) декомпозиция процессов перечисления денег (платежей, бухгалтерских проводок и др.);
3) декомпозиция процессов выделения ресурсов;
4) абстрактное объединение группы процессов в один псевдопроцесс.
4.2.3 Модель бизнес-процесса «Эффективность предприятия»
Рассмотрим модель бизнес-процесса предприятия (небольшой компании). Предприятие занимается выпуском товара небольшими партиями. Размер партии известен. Имеется рынок, где эта продукция продается. Размер партии покупаемого товара в общем случае -случайная величина.
Структурная схема бизнес-процесса содержит три слоя. На двух слоях расположены автономные процессы «Производство» (рис. 1) и «Сбыт» (рис. 2), схемы которых независимы друг от друга (нет путей для передачи транзактов). Опосредованное взаимодействие этих процессов осуществляется только через ресурсы: материальные ресурсы в виде готовой продукции и денежные ресурсы (в основном через расчетный счет).
Управление денежными ресурсами происходит на отдельном слое - в процессе «Денежные операции» (рис. 3).
Рис. 4.2. Схема бизнес-процесса Производство: hold, rels - управление запретами /разрешениями
Рис. 4.3 Схема процесса реализации продукции сбыт
Рис. 4.4 Схема управления потоками Денежные операции
Данная модель позволяет решать следующую оптимизационную задачу, используя, например, методы регрессионного анализа. Введем целевую функцию: время задержки платежей с расчетного счета Трс. Основные управляющие параметры - это цена единицы продукции, объем выпускаемой партии, сумма кредита, запрашиваемого в банке. Зафиксировав все остальные параметры (время выпуска партии, число производственных линий, интервал поступления заказа от покупателей, разброс размеров продаваемой партии, стоимость комплектующих изделий и материалов для выпуска партии, стартовый капитал на расчетном счете), можно минимизировать Трс для конкретной рыночной ситуации. Минимум Трс достигается при одном из максимумов среднего размера денежной суммы на расчетном счете. Причем вероятность рискового события - неуплаты долгов по кредитам - близка к минимуму (это можно доказать во время статистического эксперимента с моделью).
Первый процесс «Производство» реализует основные .элементарные процессы. Узел 1 имитирует поступления распоряжений на изготовление партий продукции от руководства компании. Узел 2 -попытка получить кредит. В этом узле появляется вспомогательный транзакт - запрос в банк. Узел 3 - ожидание кредита этим запросом. Узел 4 - это администрация банка: если предыдущий кредит возвращен, то предоставляется новый (в противном случае запрос ждет в очереди). Узел 5 осуществляет перечисление кредита на расчетный счет компании. В узле 6 вспомогательный запрос уничтожается, но информация о том, что кредит предоставлен, - это «шлагбаум» на пути следующего запроса на получение другого кредита (операция hold).
Основной транзакт-распоряжение проходит через узел 2 без задержки. В узле 7 производится оплата комплектующих, если на расчетном счете есть достаточная сумма (даже если кредит не получен). В противном случае происходит ожидание либо кредита, либо оплаты продаваемой продукции. В узле 8 транзакт становится в очередь, если все производственные линии заняты. В узле 9 осуществляется изготовление партии продукции. В узле 10 возникает дополнительная заявка на возврат кредита, если ссуда ранее была выделена. Эта заявка поступает в узел И, где происходит перечисление денег с расчетного счета компании в банк; если денег нет, то заявка ожидает. После возврата кредита эта заявка уничтожается (в узле 12); в банке появилась информация о том, что кредит возвращен и компании можно выдать следующий кредит (операция rels).
Транзакт-распоряжение проходит узел 10 без задержки, а в узле 13 он уничтожается. Далее считается, что партия изготовлена и поступила на склад готовой продукции.
Второй процесс «Сбыт» имитирует основные функции по реализации продукции. Узел 14 - это генератор транзактов-покупателей продукции. Эти транзакты обращаются на склад, и если там есть запрашиваемое количество товара, то товар отпускается покупателю; в противном случае покупатель ждет. Узел 16 имитирует отпуск товара и контроль очереди. После получения товара покупатель перечисляет деньги на расчетный счет компании (узел 17). В узле 18 покупатель считается обслуженным; соответствующий ему транзакт больше не нужен и уничтожается.
Третий процесс «Денежные операции» имитирует проводки в бухгалтерии. Запросы на проводки поступают с первого слоя из узлов 5, 7, П (процесс «Производство») и из узла 17 (процесс «Сбыт»). Пунктирными линиями показано движение денежных сумм по счету 51 («Расчетный счет», узел 20), счету 60 («Поставщики, подрядчики», узел 22), счету 62 («Покупатели, заказчики», узел 21) и по счету 90 («Банк», узел 19). Условные номера примерно соответствуют плану счетов бухгалтерского учета.
Узел 23 имитирует работу финансового директора. Обслуженные транзакты после бухгалтерских проводок попадают обратно в те узлы, откуда они поступили; номера этих узлов находятся в параметре транзакта tupdown.
4.2.4 Большая модель
Параллельное и последовательное соединение элементарных моделей образует большую модель (рис. 4). Она отвечает шенноновскому разбиению событий на классы, каждому классу соответствует свой уровень модели. Основное свойство большой модели -- однородность структуры, основной элемент которой -- элементарная модель, что обеспечивает возможность неограниченно увеличивать сложность (разнообразие) большой модели путем простого увеличения числа элементарных моделей. Это свойство позволяет большой модели прогрессировать в смысле ответственности за выдаваемые рекомендации и решения. Возможность последовательно переходить от более низкого уровня к более высокому может быть использована для решения сложных задач.
Структура большой модели позволяет ввести обратную связь, например, через вероятности фактов, т.е. можно откорректировать вероятности фактов в зависимости от опыта решения той же задачи в предыдущих случаях. Это свойство позволяет модели быть в известной степени обучающейся. Структура модели может учитывать не только количественную оценку фактов, но и их качественную сторону, которая в данном случае не рассматривается.
Проиллюстрируем работу большой модели на примере.
Рис. 4.4 Блок-схема большой модели
Пример. Рассмотрим некоторое объединение. Пусть оно планирует предприятиям основные показатели работы и выделяет соответствующие средства. Объединение выполняет двоякую роль: с одной стороны, стремится получить максимальную прибыль, а с другой -- не потерять свой рынок на перспективу, т.е. устанавливать разумные цены. Оптимальное объединение этих сторон часто затруднительно. В таком положении, прежде чем планировать объемы выпускаемой продукции, прибыль, цены и т.п., целесообразно оценить предприятия с помощью критерия по какой-нибудь модели, позволяющей сохранить рынок и получить максимальную прибыль. Моделирование помогает не только оптимально увязывать цены с прибылью, но и позволяет наблюдать за качественным изменением показателей работы предприятий, изучать динамику изменения показателей, давать сравнительную оценку эффективности предприятий, влиять на показатели различными мероприятиями, анализировать устойчивость работы предприятий с помощью пробных возмущений (составляя при этом различные аварийные планы), оценивать влияние климатических, географических, экономических, стратегических, социологических, технических и других факторов, воздействующих на работу предприятий. Сформулируем общие требования к такой модели.
Учитывать все основные показатели работы предприятий.
Реально отображать состояние предприятий.
Быстро реагировать на изменение показателей работы.
Иметь способности к коррекции параметров.
Быть применимой при исследованиях.
Быть стандартной для каждого типа предприятий.
Быть наглядной и сравнительно простой.
Позволять вести обработку данных на компьютере.
Контрольные вопросы
Что такое разомкнутые модели?
Как создаются замкнутые модели?
Что такое функциональные модели?
Что такое структурные модели?
Что такое динамические модели?
Сколько независимых (автономных) процессов содержит модель бизнес-процесса «Эффективность предприятия»? Является ли процесс получения кредита автономным?
Какими параметрами можно воздействовать на эту модель, чтобы получить закономерности спроса и предложения при условии рентабельности фирмы?
Через какие ресурсы автономные процессы оказывают влияние друг на друга?
Каким образом имитируется производственная мощность фирмы?
Что образует большую модель?
Сформулировать общие требования большой модели.
Тема 5. Процесс создания моделей
5.1 Функциональные, структурные, динамические модели
Основные объекты имитационной модели
Основные функции моделирующей системы:
предоставление средств для формализованного описания дискретных компонентов, дисциплин выполнения различных работ, для задания структуры графа и привязки объектов модели к координатной сетке общего информационного поля;
осуществление координации событий, определение путей прохождения транзактов, изменение состояний узлов и передачу управления моделям непрерывных компонентов.
Шесть основных понятий, на которых базируется концепция моделирующей системы:
Граф модели - это объект имитационной модели, представляющий направленный граф, объединяющий все процессы имитационной модели независимо от количества уровней структурного анализа. Все процессы независимо от количества уровней структурного анализа, объединяются в виде направленного графа (многослойный иерархический).
Транзакт - это формальный запрос на какое-либо обслуживание. Транзакт в отличие от обычных заявок, которые рассматриваются при анализе моделей массового обслуживания, имеет набор динамически изменяющихся особых свойств и параметров. Пути движения транзактов по графу модели определяются логикой функционирования компонентов модели.
Транзакт является динамической единицей любой модели, работающей под управлением имитатора.
Транзакт может выполнять следующие действия:
Порождать группы (семейства) других транзактов;
Поглощать другие транзакты конкретного семейства;
Захватывать ресурсы и использовать их некоторое время, а затем освобождать;
Определять времена обслуживания, накапливать информацию о пройденном пути и иметь информацию о своем дальнейшем пути и о путях других транзактов.
Основные параметры транзактов:
Уникальный идентификатор транзакта;
Идентификатор (номер) семейства, к которому принадлежит транзакт;
Наборы различных ресурсов, которые транзакт может захватывать и использовать какое-то время;
Время жизни транзакта;
Приоритет - неотрицательное число;
Параметры обслуживания в каком-либо обслуживающем устройстве (включая вероятностные характеристики).
Примеры транзактов:
- телекоммуникационный пакет;
- покупатель;
- заявка на товар;
- автомобиль;
- обрабатываемая деталь;
- работник и т.д.
Узлы графа модели представляют собой центры обслуживания транзактов. В узлах транзакты могут задерживаться, обслуживаться, порождать семейства новых транзактов, уничтожать другие транзакты. Транзакт всегда принадлежит одному из узлов графа модели и независимо от этого относится к определенной точке пространства или местности, координаты которой могут изменяться.
Событие - факт входа из узла одного транзакта. Разработчик модели практически не может управлять событиями вручную. Функция управления событиями отдана специально управляющей программе - координатору, автоматически внедряемому в состав модели.
Ресурс независимо от его природы в процессе моделирования может характеризоваться тремя общими параметрами: мощностью, остатком и дефицитом. Мощность - это макс. число ресурсных единиц. Остаток ресурса - число незанятых на данный момент единиц. Дефицит ресурса - количество единиц ресурса в суммарном запросе транзактов, стоящих в очереди к данному ресурсу.
Пространство - географическое, декартова плоскость. Узлы, транзакты и ресурсы могут быть привязаны к точкам пространства и мигрировать в нем.
Внутренняя реализация модели использует объектно-ориентированный способ представления процессов. Транзакты, узлы, события и ресурсы - основные объекты имитационной модели.
В различных моделирующих системах имеются разные способы представления узлов графа. Это связано с отличительными свойствами таких систем. Например, в системе GPSS узлы называются блоками; причем количество различных типов блоков более сотни, что затрудняет восприятие графа модели. В системе Pilgrim имеется всего 17 типов узлов, которые функционально перекрывают все возможности блоков GPSS и предоставляют дополнительные средства, которые в GPSS отсутствуют:
* возможность работы с непрерывными процессами;
* моделирование пространственной динамики;
* работу с ресурсами, представляющими собой деньги и материальные ценности, счета бухгалтерского учета, банковские счета.
Генератор транзактов (с бесконечной емкостью) - это тип узла-генератора имитационной модели. Они создают новые транзакты и передают их в другие узлы модели. Параметры генератора в случае необходимости можно изменить посредством информационного воздействия из другого узла с помощью сигнала (сигнал - это специальная функция, выполненная транзактом, находящимся в одном узле, в отношении другого узла).
Очередь (с относительными приоритетами или без приоритетов) - тип узла имитационной модели. Если приоритеты не учитываются, то транзакты упорядочиваются в очереди в порядке поступления. Когда приоритеты учитываются, транзакт попадает не в «хвост» очереди, а в конец своей приоритетной группы. Приоритетные группы упорядочиваются от «головы» очереди к «хвосту» в порядке уменьшения приоритета. Если транзакт попадает в очередь и не имеет своей приоритетной группы, то группа с таким приоритетом сразу возникнет: в ней будет один вновь поступивший транзакт.
Очередь с пространственно-зависимыми приоритетами - тип узла имитационной модели. Транзакты, попадающие в такую очередь, привязаны к точкам пространства. Очередь обслуживается специальным узлом, работающим в режиме пространственных перемещений. Смысл обслуживания транзактов: необходимо посетить все точки пространства, с которыми связаны (или из которых поступили) транзакты. При поступлении каждого нового транзакта, если он не единственный в очереди, происходит переупорядочение очереди таким образом, чтобы суммарный путь посещения точек был минимальным.
В узле обслуживания с многими параллельными каналами обслуживание может быть в порядке поступления транзакта в освободившийся канал либо по правилу абсолютных приоритетов. Если такое правило задано и возникает ситуация, при которой в «голове» очереди на обслуживание находится транзакт с ненулевым приоритетом, все каналы заняты, причем в одном из каналов на обслуживании находится транзакт с более низким приоритетом, то выполняется следующее:
* обслуживание неприоритетного транзакта прерывается;
* неприоритетный транзакт удаляется из канала в стек временного хранения;
* канал занимает более приоритетный транзакт.
После освобождения канала прерванный транзакт возвращается в канал и дообслуживается столько времени, сколько оставалось на момент прерывания.
Реально возможны прерывания в прерываниях, когда на вход узла поступают все более приоритетные транзакты, а обслуживание происходит медленно. Поэтому глубина стека временного хранения не ограничена.
Терминатор - тип узла имитационной модели. Транзакт, поступающий в терминатор, уничтожается. В терминаторе фиксируется время жизни транзакта.
Управляемый терминатор транзактов - тип узла имитационной модели. В нем уничтожается (или поглощается) заданное число транзактов, принадлежащих конкретному семейству. Требование на такое действие содержится в уничтожающем транзакте, поступающем на вход узла. Он ждет поступления в узел транзактов указанного семейства и уничтожает их. После поглощения уничтожающий транзакт покидает узел.
Различают два типа моделей: разомкнутые и замкнутые (так же, как и в теории стохастических сетей). Разомкнутые модели позволяют сравнительно легко реализовать исследование внутренних процессов в фирме, но они не учитывают взаимосвязи с объектами внешней среды: рынком, госбюджетом, населением и другими. Замкнутые модели выглядят сложнее (в смысле графа стохастической сети), но позволяют учесть влияние внешней среды и исследовать связь объекта экономики с другими объектами, финансово-кредитными учреждениями, рынком.
5.2 Событийный и процессно-ориентированный подход к построению моделей
Существуют два различных подхода к построению имитационных моделей, они связаны с определенными элементами абстракций, важнейшими из которых являются понятия события и процесса.
Событием называется последовательность логически связанных действий, происходящих в некоторый фиксированный момент модельного времени. Появление события связано с изменением состояния модельной среды. Примером события может служить генерация сообщений, передача сообщения по каналу связи, обработка сообщения узлом и т.п.
Событийный подход основан на формировании потока событий (рис. 1). Такой поток образует сгруппированные последовательности действий:
Группы событий последовательно, происходящих в один и тот же момент времени, условно заключены в скобки. События образуют первую группу, события - вторую, а - группу N. Обозначим модельное время осуществления событий тогда для последовательности времен справедливо упорядочение
Если выполняемые внутри группы действия, связанные с одиночным событием, назвать процессом, то можно сказать, что часть процессов, определенных в группе, выполняются квазипараллельно. Соответствующее этим определениям понятие события было раскрыто выше. Собственно события являются элементами, с которыми оперирует управляющий алгоритм системы моделирования. С одной стороны, появление событий связано с изменениями в модельной среде. С другой, исполнение действий, связанных с событием, приводит к изменениям модельной среды. Действия, связанные с каждым событием, должны быть описаны в модели, а также должны быть составлены условия возникновения события.
Как правило, условия описываются отношениями связанных с событием переменных. В результате выполнения события значения некоторых модельных переменных могут измениться; это приводит к тому, что возникают условия, необходимые для выполнения другого события. При выполнении последовательности действий, связанной с выполнением некоторого события, можно изменить условия, связанные с его последующим вызовом. Таким образом, в результате выполнения потока событий изменяется среда моделирования; это приводит к возникновению новых условий, новые условия приводят к выполнению новых событий. Моделирование развивается по такой схеме сколь угодно долго.
Рис. 5.1. Событийный подход
Несколько другая картина характерна для процессно-ориентированного подхода. Языки, реализующие процессно-ориентированный подход, имеют в своем составе блоки или операторы, позволяющие описать процесс продвижения компонентов через систему. В моделях, использующих подобную схему, описываются не события и условия их возникновения, а процесс, развивающийся в ней.
Для этого используются средства языка системы моделирования. Естественно, эти средства должны быть достаточно представительными для того, чтобы описывать широкий круг процессов. В частности, для процессного подхода необходимыми являются средства явного (или неявного) определения участков модели, на которых необходимо представление квазипараллельных процессов.
Оба подхода имеют как достоинства, так и недостатки. К достоинствам процессно-ориентированного представления моделей следует отнести компактность и наглядность (рис. 2). Здесь стрелками показано направление развития процессов. Событийные модели обладают большей гибкостью, но они уступают процессно-ориентированным системам в простоте и наглядности составления моделей.
5.3 Моделирование работы с материальными ресурсами
Материальные ресурсы подразделяются на две разновидности: неперемещаемые и перемещаемые. Неперемещаемый ресурс выделяется в определенном месте (как в реальности, так и в модели). Например, мастер в парикмахерской - это один элемент ресурса, выделяемый клиенту для обслуживания (стрижки и бритья). Этот элемент не может перемещаться вместе с клиентом (транзактом). После обслуживания одного клиента он либо приступит к обслуживанию следующего, если есть очередь, либо будет отдыхать.
Рис. 5.2. Графическое представление примера процесса продвижения транзактов
Перемещаемый ресурс выделяется клиенту, после чего клиент использует его в других местах и возвращает только при отсутствии необходимости дальнейшего использования. Например, ресурс - это гараж; клиенту можно выделить три грузовика для использования в работах, проводимых в других местах (естественно, не в гараже).
Неперемещаемый ресурс представляет собой "базу", на которой расположены (или к которой приписаны) какие-то ресурсные единицы; их можно использовать только на базе. Поток транзактов поступает в очередь к ресурсу.
Неперемещаемый ресурс имитируется в виде многоканального обслуживающего прибора (накопителя). Каждой ресурсной единице соответствует один канал обслуживания. Канал принимает в себя транзакт (или захватывается транзактом) на время, которое может зависеть от атрибутов узла, транзакта и других параметров.
По истечении времени обслуживания канал (элемент ресурса) безусловно освобождается, а транзакт переходит в следующий узел. Очередь может быть как с приоритетами, так и без приоритетов. Каналы могут работать в режиме прерывания обслуживания менее приоритетных транзактов более приоритетными.
В моделях автоматически определяются задержка в очереди и загрузка неперемещаемого ресурса. Число свободных каналов - это остаток ресурса, а количество транзактов в очереди к ресурсу - это дефицит ресурса. Мощность базируемого ресурса N - величина постоянная.
Перемещаемый ресурс представляет собой "склад" единиц ресурса, количество которых известно. Число таких складов не регламентировано. Транзакт попадает в очередь к складу и требует выделения определенного числа единиц ресурса. Склад ресурсов может описываться в имитационной модели различными способами.
Обслуживание транзакта заключается в выделении ему требуемого числа единиц ресурса. Транзакт "путешествует" с захваченными единицами по графу модели до тех пор, пока в соответствии с определенными условиями он не вернет все (или часть) единицы ресурса. Транзакт может несколько раз становиться в очередь к одному и тому же ресурсу, получая дополнительные единицы.
Существует интересная особенность при работе с перемещаемыми ресурсами: транзакт может отдать какие-либо единицы ресурса не только на тот склад, на котором он их получил, но и на другой. При таком перераспределении (или "похищении") на этих двух складах произойдет изменение мощностей: на одном она уменьшится, а на другом - увеличится. Например, в GPSS перемещаемый ресурс может быть описан ячейками памяти, значения которых изменяются оператором SAVEVALUE: при захвате ресурса транзактом значение захваченного объема ресурса присваивается соответствующему параметру транзакта, а значение ячейки соответственно уменьшается на данную величину захваченного ресурса; при возврате ресурса параметр транзакта обнуляется, а значение ячейки памяти, определяющее общий объем свободного ресурса увеличивается на величину возвращенного ресурса.
5.4 Имитация информационных ресурсов
Информационные ресурсы - это необходимые сведения, оперативная информация (например, биржевая информация из сайтов Интернета), временно предоставляемые права на что-либо, документация и иные нематериальные ценности, без которых невозможно выполнение важной функции. Эти ресурсы подразделяются на две разновидности:
- стартовый информационный ресурс, без которого нельзя начинать выполнение функции (например, права или разрешение на ее выполнение, инструкция по сборке принципиально нового устройства);
- оперативный информационный ресурс, постоянно необходимый при выполнении функции (например, оперативная диспетчерская информация, отсутствие которой делает невозможной посадку самолета на аэродром).
Стартовый информационный ресурс дает возможность отправить заявку на выполнение какой-либо функции, т.е. поместить транзакт в очередь на обслуживание. В языках имитационного моделирования может быть реализован различными способами, например, логическими переключателями (LOGIC R, LOGIC S, GATE LS).
Оперативный информационный ресурс может описываться также разными способами - одним из них является использование операторов захвата и освобождения прибора (В GPSS - PREEMPT, RETURN).
5.5 Денежные ресурсы
Денежный ресурс представляет собой «емкость», в которой содержится определенное количество ресурса, измеряемого числом с плавающей точкой. Обычно эту емкость отождествляют со счетом бухгалтерского или банковского учета. В узле, описывающем данный ресурс, образуется очередь транзактов, в которых содержится запрос на перевод денежных средств с данного счета на какой-либо другой. Эта очередь может быть организована по приоритетному принципу: чем меньше денег требует транзакт перевести с данного счета, тем он приоритетнее. Можно устанавливать приоритеты и по-другому, например по такой приоритетной таблице: сначала налоги, затем - зарплата, а после этого - все остальные платежи.
5.6 Многокритериальные целевые функции планирования объемов производства продукции, товаров или услуг
Планирование производства, выпуска товаров или оказания услуг эффективно лишь тогда, когда выполнена установленная схема планирования. Существует как минимум две основные методические схемы -- ресурсная и программно-целевая. Ресурсная схема предполагает распределение ресурсов исходя в основном из экономической эффективности их использования. Долгосрочные последствия ресурсных планов или их политические, социальные и иные оценки остаются в головах плановых работников и в явном виде не подвергаются системному анализу (рис. 3).
Рис. 5.3. Ресурсная схема планирования
Рис. 5.4. Программно-целевая схема планирования
Программно-целевая схема составления планов (рис. 4) предполагает в качестве предварительного этапа формирование целей, стоящих перед объектом планирования. Как правило, цели объекта формируются в виде дерева целей, которое в конечном счете задает целевые программы. Эти программы представляют собой системный анализ, отображающий оценки потребностей в продукции, товарах или услугах; альтернативные способы или направления их обеспечения и долговременные последствия выполнения вариантов планов. Целевые программы формируют структуру плановых показателей и их величину в числовой форме. Эти плановые показатели являются исходными при планировании потребных для их реализации ресурсов. Ресурсы бывают материальные, финансовые, информационные, научно-технические и иные. Указанные ресурсы должны быть четко структурированы, т.е. расчленены на составляющие, распределены по подразделениям, обеспечивающим их выпуск в строго заданный период или момент времени.
В ресурсной схеме планирования отсутствует выработка целей и построение целевых программ. Программно-целевая схема планирования считается более совершенной, поэтому рассмотрим методику формирования целевых функций для имитационной модели, воспроизводящей такую схему планирования.
Предположим, что необходимо спланировать выпуск продукции, товаров или услуг. Для краткости здесь и далее будем называть это планированием объемов выпуска продукции.
Контрольные вопросы
Какие основные функции выполняет моделирующая система?
Чему в реальной действительности соответствует граф модели?
Как определяется транзакт?
Что такое событие?
Какие бывают ресурсы (дать определение и указать разновидности)?
Как связаны узлы модели с ее графом?
Что такое пространственное моделирование?
Чем отличается генератор транзактов с бесконечной емкостью от узлов других типов?
Какой процесс можно назвать очередью (с приоритетами или без приоритетов)?
Как функционирует узел обслуживания с многими параллельными каналами?
Какие две основные функции выполняет терминатор, убирающий транзакты из модели?
Какие различают типы моделей?
Какие существуют подходы к построению имитационных моделей?
Что называется событием?
Какой ресурс представляет собой склад перемещаемых ресурсов?
В чем заключается различие между перемещаемыми и неперемещаемыми материальными ресурсами в имитационных моделях?
Что такое стартовый и оперативный информационные ресурсы?
Как моделируется работа с денежными ресурсами?
Какие существует основные методические схемы?
Что предполагает программно-целевая схема составления планов?
Что предполагает ресурсная схема планирования?
Размещено на Allbest.ru
...Подобные документы
Характеристика функций имитационного моделирования. Знакомство с особенностями имитационного моделирования агрегированной системы массового обслуживания. Анализ программы GPSSWorld: рассмотрение возможностей, способы составления имитационной модели.
курсовая работа [1,6 M], добавлен 27.05.2013Понятие компьютерной модели и преимущества компьютерного моделирования. Процесс построения имитационной модели. История создания системы GPSS World. Анализ задачи по прохождению турникета на стадион посредством языка имитационного моделирования GPSS.
курсовая работа [291,3 K], добавлен 11.01.2012Компьютерное моделирование - вид технологии. Анализ электрических процессов в цепях второго порядка с внешним воздействием с применением системы компьютерного моделирования. Численные методы аппроксимации и интерполяции и их реализация в Mathcad и Matlab.
курсовая работа [1,1 M], добавлен 21.12.2013Система GPSS World как мощная универсальная среда моделирования как дискретных, так и непрерывных процессов, предназначенная для профессионального моделирования самых разнообразных процессов и систем. Системы массового обслуживания. Листинг программы.
курсовая работа [499,6 K], добавлен 25.12.2013Особенности систем массового обслуживания и сущность имитационного моделирования с использованием GPSS. Структурная схема модели системы и временная диаграмма. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [214,2 K], добавлен 23.06.2011Разработка решения задачи имитационного моделирования системы массового обслуживания (СМО), на примере склада продукции. Построение концептуальной модели системы. Сравнение результатов имитационного моделирования и аналитического расчета характеристик.
курсовая работа [75,5 K], добавлен 26.06.2011Основы технологии моделирования Arena. Построение простой имитационной модели. Моделирование работы системы обслуживания покупателей на кассе супермаркета. Построение модели IDEF3. Анализ результатов имитационного моделирования и аналитического решения.
курсовая работа [659,1 K], добавлен 24.03.2012Теоретические основы моделирования систем в среде имитационного моделирования AnyLogic. Средства описания поведения объектов. Анимация поведения модели, пользовательский интерфейс. Модель системы обработки информации в среде компьютерного моделирования.
курсовая работа [1,5 M], добавлен 15.05.2014Имитационное моделирование как один из наиболее широко используемых методов при решении задач анализа и синтеза сложных систем. Особенности имитационного моделирования систем массового обслуживания. Анализ структурной схемы системы передачи пакетов.
курсовая работа [1,2 M], добавлен 28.05.2013Основные понятия теории моделирования. Виды и принципы моделирования. Создание и проведение исследований одной из моделей систем массового обслуживания (СМО) – модели D/D/2 в среде SimEvents, являющейся одним из компонентов системы MATLab+SimuLink.
реферат [1,2 M], добавлен 02.05.2012Методика системного исследования реальной динамической сложной системы посредством разработки ее имитационной модели. Разработка программы реализации алгоритма имитационного моделирования системы массового обслуживания "Интернет-провайдерская фирма".
курсовая работа [2,0 M], добавлен 20.01.2010Разработка имитационной модели "Перекресток" для анализа бизнес-процессов предприятия и принятия решения в сложных условиях. Алгоритм построения имитационной модели на основе CASE-средств. Обзор программного обеспечения для имитационного моделирования.
дипломная работа [2,6 M], добавлен 22.11.2015Язык GPSS как один из наиболее эффективных и распространенных языков моделирования сложных дискретных систем. Транзакт - элемент системы массового обслуживания. Решение задач на основе моделирования с применением языка GPSS, создание имитационной модели.
курсовая работа [54,7 K], добавлен 25.11.2010Построение модели системы массового обслуживания с помощью ЭВМ с использованием методов имитационного моделирования. Моделирование проводилось с помощью GPSS World Student version, позволяющего достоверно воссоздать систему массового обслуживания.
курсовая работа [555,7 K], добавлен 29.06.2011Программные средства имитационного моделирования систем массового обслуживания. Программная среда Matlab, ее структура и основные компоненты, функциональные особенности, а также назначение. Разработка подсистем моделирования. Инструкция пользователя.
дипломная работа [3,3 M], добавлен 10.07.2017Сфера применения имитационного моделирования. Исследование и специфика моделирования системы массового обслуживания с расчетом стационарных значений системы и контролем погрешности получаемых значений. Реализация ее в GPSS и на языке высокого уровня Java.
курсовая работа [818,7 K], добавлен 23.05.2013Создание имитационной модели системы массового обслуживания с помощью языка имитационного моделирования GPSS/PC - моделирование обработки на участке 500 деталей. Определение загрузки второго станка на вторичной обработке и вероятности появления отходов.
курсовая работа [602,3 K], добавлен 30.11.2010Общие сведения о математических моделях и компьютерном моделировании. Неформальный переход от рассматриваемого технического объекта к его расчетной схеме. Примеры компьютерного моделирования простейших типовых биотехнологических процессов и систем.
реферат [25,9 K], добавлен 24.03.2015Определение функциональных характеристик систем массового обслуживания (СМО) на основе имитационного моделирования; синтез СМО с заданными характеристиками. Разработка программы на языке SIMNET II; расчет процесса работы СМО; подбор требуемого параметра.
лабораторная работа [623,8 K], добавлен 11.03.2011Построение имитационной модели системы массового обслуживания, список и содержание ее активностей. Блок-схема алгоритма моделирования и текст процедуры. Моделирование случайных независимых величин и процессов. Оптимизация системы массового обслуживания.
курсовая работа [4,0 M], добавлен 28.05.2013