Основные этапы разработки имитационной модели (на примере модели банковского отделения)
Процедура проведения имитационных экспериментов с моделью исследуемой системы. Этапы имитационного моделирования. Построение концептуальной модели объекта. Верификация и адаптация имитационной модели. Метод Монте-Карло. Моделирование работы отдела банка.
Рубрика | Экономико-математическое моделирование |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 25.09.2011 |
Размер файла | 549,5 K |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Федеральное агентство по образованию
государственное общеобразовательное учреждение
высшего профессионального образования
РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ
УНИВЕРСИТЕТ
Воронежский филиал
Курсовая работа
по дисциплине: Имитационное моделирование экономических процессов
тема: «Основные этапы разработки имитационной модели (на примере модели банковского отделения)»
Выполнила:
Сенцова Т.И.
Проверил:
Буховец А.Г.
Воронеж 2010
Содержание
Содержание
Введение
1. Этапы имитационного моделирования
2. Метод Монте-Карло
3. Моделирование работы отдела банка
3.1 Результат исследования модели
Заключение
- Используемая литература
Введение
Имитационное моделирование представляет собой процедуру проведения имитационных экспериментов с моделью исследуемой системы, которая описывает закономерности функционирования моделируемого объекта (системы), которую по каким-либо причинам невозможно или нецелесообразно решать аналитически или нет возможности прямого измерения параметров.
Сочетание слов имитация и моделирование недопустимо и является тавтологией, но, рассматривая исторический процесс формирования этого термина, можно прийти к выводу, что это словосочетание определяет в моделировании такую область, которая относится к получению экспериментальной информации о сложном объекте, которая не может быть получена иным путем, как экспериментируя с его моделью на ПЭВМ.
Второй определяющей чертой термина является требование повторяемости, т.к. один отдельно взятый эксперимент ничего не значит. Имитационный объект имеет вероятностный характер функционирования. Для исследователя представляют интерес выводы, носящие характер статистических показателей, оформленных, может быть, даже в виде графиков или таблиц, в которых каждому варианту исследуемых параметров поставлены в соответствие определенные средние значения с набором характеристик их распределения, без получения зависимости в аналитическом виде.
Эта особенность является и достоинством, и одновременно, недостатком имитационным моделей. Достоинство в том, что резко расширяется класс изучаемых объектов, а недостаток - в отсутствии простого управляющего выражения, позволяющего прогнозировать результат повторного эксперимента. Но в реальной жизни также невозможно для сколько-нибудь сложного объекта получить точное значение экономического показателя, а только лишь его ожидаемое значение с возможными отклонениями.
Главной функцией имитационной модели является воспроизведение с заданной степенью точности прогнозируемых параметров её функционирования, представляющих исследовательский интерес. Как объект, так и его модель должны обладать системными признаками.
1. Этапы имитационного моделирования
Функционирование объекта характеризуется значительным числом параметров. Особое место среди них занимает временной фактор. В большинстве моделей имеется возможность масштабирования или введения машинного времени, т.е. интервала, в котором остальные параметры системы сохраняют свои значения или заменяются некоторыми обобщенными величинами. Таким образом, за счет этих двух процессов - укрупнения единицы временного интервала и расчета событий этого интервала за зависящий от мощности ПЭВМ временной промежуток и создается возможность прогноза и расчета вариантов управленческих действий.
Каждое сочетание параметров, соответствующих принятому интервалу времени, принято называть характеристиками состояния системы и, таким образом, моделирование сводится к описанию соотношений, преобразующих характеристики состояния системы. Для описания этого шага могут быть привлечены все возможные средства преобразования количественных характеристик: дифференциальное и интегральное исчисления, теория множеств, игр, вероятностные функции, датчики случайных чисел и т.д. Это и будет математической моделью подсистемы функционирования объекта.
Нужно отметить, что некоторые из языков ориентированы на решение задач, в которых процессы описаны только дифференциальными уравнениями и не являются в нашей трактовке языками имитационного моделирования.
Однако компиляторы или интерпретаторы с языков моделирования имеются далеко не на всех ПЭВМ, кроме того, авторы языка обычно накладывают ограничения на моделируемые процессы, которые не всегда устраивают экспериментатора. Процесс получения оптимального управленческого решения методами адаптивно-имитационного моделирования имеет циклический характер и состоит из нескольких этапов:
I. Формулировка комплекса задач исследования. Особенностью имитационного моделирования является снятие требования единственности целевого функционала и возможность присоединить к главной цели, например, достижению наименьшей себестоимости или производства продукции, дополнительные требования, которые будут обязательно учитываться при поиске оптимального плана управления производством, такие как надежность этого плана.
II. Построение концептуальной модели объекта предполагает изучение системных свойств объекта, взаимосвязей между его элементами и средой, структуризацию и выделение подсистем. Концептуальная модель очень важна для исследовательских задач, в ней должно содержаться гипотетическое представление о природе взаимосвязей в объекте, которое должно быть либо подтверждено, либо опровергнуто с четким разграничением бесспорных моментов и исследовательских гипотез, которые могут быть уточнены в процессе экспериментов.
III. Определение структуры и требований к моделируемой программе. Структура и требования к программе определяют ход и выполнение последующих этапов реализации исследований. В основном эти требования могут быть разбиты на 3 группы в соответствии с тремя целеполагающими установками.
Первая вытекает из целей исследования и направлена на результаты работы программ. Она устанавливает перечень характеристик состояния системы или их производных интегральных параметров, которые должны контролироваться экспериментатором в процессе моделирования при различных режимах. При первом прогоне - расширенный набор характеристик, позволяющий проконтролировать правильность хода эксперимента, убедиться в адаптивности моделируемого процесса, пусть даже с потерей времени на осуществление контроля. В дальнейшем данный вид контроля должен быть отключен для увеличения быстродействия.
Вторая часть требований определяется назначением результатов работы программы. В зависимости от целей эти результаты должны преобразовываться либо в графический вид (для окончательных результатов), либо преобразовываться в соответствующий формат входной информации (для передачи другим блокам модели, особенно если они используют различные языки программирования).
Третья часть требований содержит ограничения по времени для работы как всей программы в целом, так и ее блоков. При вынужденном прерывании работы блока по ограничению времени исследователь должен сделать вывод о неблагополучии в постановке задачи по данному блоку и необходимости согласования алгоритма с ресурсами времени.
IV. Построение математической модели исследуемой системы. Завершается окончательная формализация функционирования исследуемой системы в виде последовательности преобразований характеристик состояний системы в зависимости от модельного времени. Может включать в себя любые преобразования дискретных систем, которые могут быть осуществлены на ЭВМ.
V. Разработка программы моделирования.
Написание программы начинается с ее математического содержания. Прежде всего, это преобразование математических описаний элементов и учитываемых внешних воздействий к виду, который позволит реализовать пошаговое осуществление процесса функционирования на конкретной ЭВМ. Учитывая заданное начальное значение характеристик состояния системы, определяют алгоритм образования следующих друг за другом дискретных моментов модельного времени.
VI. Верификация и адаптация имитационной модели.
Заключительные этапы работы по построению модели не менее важны по степени ответственности. Чаще всего их именуют просто оценкой адаптации разработанной системы, часто забывая, что здесь имеют место две различных по существу проблемы.
Первая - насколько близка созданная модель реально существующему явлению, вторая - насколько пригодна данная модель для исследования новых, еще не опробованных значений аргументов и параметров системы.
Решение первой задачи, называемой многими авторами верификацией, чаще всего решается ретроспективным методом или методом контрольных точек. Обычно системе задаются такие значения параметров и начальных значений, в которые она должна прийти через определенное количество шагов модельного времени к состоянию, известному тем или иным образом исследователю.
Комплекс адаптивно-имитационных моделей дает возможность более точно учитывать стохастические и нелинейные зависимости технологических процессов и получать научно обоснованные и надежные в реализации управленческие решения. Но, вместе с тем, нельзя не сказать о недостатках метода:
- сложности при описании и построении нелинейных технологических зависимостей, требующих привлечения к экономическому исследованию специалистов смежных наук, переработки значительно большего количества информации и специальных методов исследования, не применявшихся ранее экономической наукой;
- необходимость итеративного подхода при отыскании оптимума методами многомерного планирования эксперимента, существенно увеличивающего время поиска оптимального решения;
- некоторое снижение точности результатов расчета за счет требований диалога с ЭВМ, вынуждающих применять в комплексе упрощенные алгоритмы моделей;
Из анализа этих недостатков видно, что в своей основе они имеют гносеологический характер и для получения качественно новых результатов исследователь должен преодолеть трудности такого характера. По поводу третьего недостатка, носящего технические черты, нужно заметить, что в процессе развития информационной техники увеличивается быстродействие ЭВМ и в качестве элементов-моделей можно будет включать все более сложные функциональные зависимости, которые повысят общую точность вычислений.
Задачей функционирования имитационного подкомплекса является расчет показателей экономической эффективности и надежности плана управления производством при заданных значениях изменяемых параметров. Заранее неизвестными являются лишь погодные условия, которые генерируются в соответствии с функциями распределения погодно-климатических факторов в одной из моделей имитационного подкомплекса.
Второй существенной особенностью функционирования является необходимость повторять расчет итоговых параметров модели определенное число раз, которое находится заранее по разработанной методике. Целью повторений является имитация различных вариантов возможных погодных условий микрозоны.
Основные задачи прогнозирования экономической эффективности адаптивно управляемых систем решаются с помощью имитационных моделей. Главными проблемами здесь являются моделирование стохастичности, несущее много черт чисто математической задачи, которую необходимо правильно поставить. Только после этого можно приступить к расчету обоснованных результатов моделирования.
Основой для построения стохастических функций являются их математические ожидания и среднеквадратические отклонения, имеющие распределение, которое в задачах моделирования принималось аналогично близким к нормальному. Для нас особый интерес представляет метод получения нормального распределения при помощи стандартного датчика случайных чисел.
Случайная величина с нормальным распределением описывается двумя параметрами: математическим ожиданием и стандартным отклонением. Датчик случайных чисел выдаёт равномерно распределённое число в интервале от 0 до 1. Для описания имитационного процесса весьма актуален вопрос выбора языка программирования. Хотя теоретически возможно описать модель на любом из широко распространенных универсальных проблемных языков Фортране, PL/1, Паскале, но опыт развития теории и практики имитационного моделирования в нашей стране и за рубежом показывает, что наиболее эффективным средством являются специальные имитационные языки, которых к настоящему времени создано уже немало и многие из них эффективно используются, особенно за рубежом, где ни один крупный проект не реализуется без проверки на имитационной модели. Наиболее известны языки: GPSS, GASP, SIMSCRIPT и DYNAMO, реализующие различные подходы к моделированию.
Выбор языка моделирования влечёт за собой принятие концепции авторов языка, что не может не сказаться на стратегии разработки, построения и совершенствования модели, ибо этот процесс существенно зависит от гибкости и мощности изобразительных средств языка, ресурсов, предоставляемыми пользователю.
Для моделирования на ЭВМ сложной системы нужен аппарат программирования, предусматривающий:
- способы организации данных, обеспечивающие простое и эффективное моделирование;
- удобные средства формализации и воспроизведения динамических свойств моделируемой системы;
- возможности имитации стохастических систем, т.е. процедуры генерирования и анализа случайных величин и временных рядов.
Реализация требований к имитационным моделям в рамках универсального языка программирования приводит к громоздким и неудобным для практического использования программам. В большинстве таких программ могут разобраться только их авторы, а любое изменение в постановке задачи требует переработки значительной части текста программы.
2. Метод Монте-Карло
имитационный моделирование банк программа
При исследовании сложных систем, подверженных случайным возмущениям используются вероятностные аналитические модели и вероятностные имитационные модели.
В вероятностных аналитических моделях влияние случайных факторов учитывается с помощью задания вероятностных характеристик случайных процессов (законы распределения вероятностей, спектральные плотности или корреляционные функции). При этом построение вероятностных аналитических моделей представляет собой сложную вычислительную задачу. Поэтому вероятностное аналитическое моделирование используют для изучения сравнительно простых систем.
Подмечено, что введение случайных возмущений в имитационные модели не вносит принципиальных усложнений, поэтому исследование сложных случайных процессов проводится в настоящее время, как правило, на имитационных моделях.
В вероятностном имитационном моделировании оперируют не с характеристиками случайных процессов, а с конкретными случайными числовыми значениями параметров ПС. При этом результаты, полученные при воспроизведении на имитационной модели рассматриваемого процесса, являются случайными реализациями. Поэтому для нахождения объективных и устойчивых характеристик процесса требуется его многократное воспроизведение, с последующей статистической обработкой полученных данных. Именно поэтому исследование сложных процессов и систем, подверженных случайным возмущениям, с помощью имитационного моделирования принято называть статистическим моделированием.
Статистическая модель случайного процесса - это алгоритм, с помощью которого имитируют работу сложной системы, подверженной случайным возмущениям; имитируют взаимодействие элементов системы, носящих вероятностный характер.
При реализации на ЭВМ статистического имитационного моделирования возникает задача получения на ЭВМ случайных числовых последовательностей с заданными вероятностными характеристиками. Численный метод, решающий задачу генерирования последовательности случайных чисел с заданными законами распределения, получил название "метод статистических испытаний" или "метод Монте-Карло".
Так как метод Монте-Карло кроме статистического моделирования имеет приложение к ряду численных методов (взятие интегралов, решение уравнений), то целесообразно иметь различные термины.
Итак, статистическое моделирование - это способ изучения сложных процессов и систем, подверженных случайным возмущениям, с помощью имитационных моделей.
Метод Монте-Карло - это численный метод, моделирующий на ЭВМ псевдослучайные числовые последовательности с заданными вероятностными характеристиками.
Методика статистического моделирования состоит из следующих этапов:
1)Моделирование на ЭВМ псевдослучайных последовательностей с заданной корреляцией и законом распределения вероятностей (метод Монте-Карло), имитирующих на ЭВМ случайные значения параметров при каждом испытании;
2)Преобразование полученных числовых последовательностей на имитационных математических моделях.
3)Статистическая обработка результатов моделирования.
Обобщенный алгоритм метода статистических испытаний:
Компьютерное моделирование как новый метод научных исследований основывается на:
-построении математических моделей для описания изучаемых процессов;
-использовании новейших вычислительных машин, обладающих высоким быстродействием (миллионы операций в секунду) и способных вести диалог с человеком.
Суть компьютерного моделирования состоит в следующем: на основе математической модели с помощью ЭВМ проводится серия вычислительных экспериментов, т.е. исследуются свойства объектов или процессов, находятся их оптимальные параметры и режимы работы, уточняется модель. Например, располагая уравнением, описывающим протекание того или иного процесса, можно изменяя его коэффициенты, начальные и граничные условия, исследовать, как при этом будет вести себя объект. Имитационные модели - это проводимые на ЭВМ вычислительные эксперименты с математическими моделями, имитирующими поведение реальных объектов, процессов или систем.
Реальные процессы и системы можно исследовать с помощью двух типов математических моделей: аналитических и имитационных.
В аналитических моделях поведение реальных процессов и систем (РПС) задается в виде явных функциональных зависимостей (уравнений линейных или нелинейных, дифференциальных или интегральных, систем этих уравнений). Однако получить эти зависимости удается только для сравнительно простых РПС. Когда явления сложны и многообразны исследователю приходится идти на упрощенные представления сложных РПС. В результате аналитическая модель становится слишком грубым приближением к действительности. Если все же для сложных РПС удается получить аналитические модели, то зачастую они превращаются в трудно разрешимую проблему. Поэтому исследователь вынужден часто использовать имитационное моделирование.
Имитационное моделирование представляет собой численный метод проведения на ЭВМ вычислительных экспериментов с математическими моделями, имитирующими поведение реальных объектов, процессов и систем во времени в течении заданного периода. При этом функционирование РПС разбивается на элементарные явления, подсистемы и модули. Функционирование этих элементарных явлений, подсистем и модулей описывается набором алгоритмов, которые имитируют элементарные явления с сохранением их логической структуры и последовательности протекания во времени.
Имитационное моделирование - это совокупность методов алгоритмизации функционирования объектов исследований, программной реализации алгоритмических описаний, организации, планирования и выполнения на ЭВМ вычислительных экспериментов с математическими моделями, имитирующими функционирование РПС в течении заданного периода.
Под алгоритмизацией функционирования РПС понимается пооперационное описание работы всех ее функциональных подсистем отдельных модулей с уровнем детализации, соответствующем комплексу требований к модели.
"Имитационное моделирование" (ИМ)- это двойной термин. "Имитация" и "моделирование" - это синонимы. Фактически все области науки и техники являются моделями реальных процессов. Чтобы отличить математические модели друг от друга, исследователи стали давать им дополнительные названия. Термин "имитационное моделирование" означает, что мы имеем дело с такими математическими моделями, с помощью которых нельзя заранее вычислить или предсказать поведение системы, а для предсказания поведения системы необходим вычислительный эксперимент (имитация) на математической модели при заданных исходных данных.
Основное достоинство ИМ:
1)возможность описания поведения компонент (элементов) процессов или систем на высоком уровне детализации;
отсутствие ограничений между параметрами ИМ и состоянием внешней среды РПС;
2)возможность исследования динамики взаимодействия компонент во времени и пространстве параметров системы;
Эти достоинства обеспечивают имитационному методу широкое распространение.
Таким образом, метод имитационного моделирования является наиболее перспективным для оперативного планирования логистического обеспечения, т.к. этот аппарат обеспечивает наибольшую адекватность экономико-математических моделей процесса обеспечения. Данный метод позволяет не только прогнозировать протекание процесса при изменении определенных факторов, но и находить такое сочетание управляемых факторов, которое обеспечивает наиболее эффективное протекание процесса.
3. Моделирование работы отдела банка
Представлен отдел банка по приему коммунальных платежей, в котором находится два оператора, а так же этот же отдел, но в котором операторы заменены на один автоматизированный аппарат. Задача состоит в том, чтобы определить, стоит ли менять операторов на автомат и к чему это приведет.
Создадим новую модель нажатием комбинации Ctrl+N. Переименуем класс Main в Model. Имя проекта создается только латинскими буквами. В свойствах эксперимента Simulation зададим выполнение модели в режиме реального времени с выполнением одной единицы модельного времени в одну секунду. В этой модели под единицей модельного времени мы будем понимать одну минуту работы банковского отделения. В окне проекта открываем вкладку Вид/Библиотеки. В списке библиотек открываем библиотеку Enterprise Library. В главное окно выносим необходимые нам объекты.
Создадим блок-схему модели. Для этого создайте и соедините объекты так, как показано на рисунке:
Source
Объект Source генерирует заявки (entities) определенного типа через заданный временной интервал. Заявки представляют собой объекты, которые производятся, обрабатываются, обслуживаются, или еще каким-нибудь образом подвергаются действию моделируемого процесса: это могут быть клиенты в системе обслуживания, детали в модели производства, документы в модели документооборота. В нашем примере заявками будут посетители банка, а объект Source будет моделировать их приход в банковское отделение. В свойстве объекта interarrivalTime укажем, как часто в отделение приходят клиенты.
Функции
Тип возвращаемого значения |
Имя |
Описание |
|
int |
getArrivals() |
Возвращает номер последней созданной заявки (первая созданная заявка имеет номер 0). |
|
void |
reset() |
Вычисляет заново время до создания следующей заявки. |
Параметры
Тип |
Имя |
Значение по умолчанию |
Описание |
|
code |
onExit |
Код, выполняемый, когда заявка покидает объект. |
||
Class |
newEntity |
Entity.class |
Тип создаваемой заявки. |
|
generationType |
distribution |
Определяет, как источник будет создавать заявки - базируясь на законе распределения (distribution) или согласно расписанию (arrivalList). |
||
double |
firstArrivalTime |
0 |
Абсолютное время создания первой заявки. Имеет смысл только тогда, когда создание подчиняется закону распределения. Если выбран тип генерации arrivalList, то время прибытия первой заявки будет соответствовать первому значению в этом списке. |
|
code<double> |
interarrivalTime |
exponential(1) |
Выражение, вычисляющее время до создания следующей заявки, если генерация заявок подчиняется закону распределения (в параметре generationType выбрано distribution). |
|
code<int> |
entitiesPerArrival |
1 |
Выражение, вычисляющее число заявок, создающихся за один раз. Если используется расписание arrivalList, то этот параметр игнорируется, а число создаваемых заявок определяется соответствующим значением в таблице. |
|
LookupTable |
arrivalList |
null |
Если заявки создаются согласно расписанию (в поле параметра generationType выбрано arrivalList), то здесь должна быть задана табличная функция, задающая времена прибытия заявки, и число заявок, прибывающее в каждый конкретный раз. |
|
int |
period |
aperiodic |
Если используется расписание (arrivalList), то этот параметр задает период прибытия заявок в модельных единицах времени. Параметр не используется, если создание заявок подчиняется закону распределения. |
|
int |
arrivalsMax |
infinity |
Максимальное число генераций. |
Queue
Объект Queue моделирует очередь, он хранит поступающие заявки в определенном порядке: FIFO (заявки помещаются в очередь в порядке поступления), LIFO (заявки помещаются в порядке, обратном поступлению), RANDOM (заявки помещаются в произвольные места очереди) или PRIORITY (заявки помещаются в очередь в соответствии со значением своих полей priority). Заявка может покинуть объект Queue различными способами:
* “обычным способом” через порт output, когда объект, следующий в блок-схеме за этим объектом, готов принять заявку
* через порт outputTimeout, после того, как заявка проведет в очереди заданное количество времени (если включен режим таймаута)
* через порт outputPreempted, будучи вытесненной другой поступившей заявкой при заполненной очереди (если включен режим вытеснения)
* “вручную”, путем вызова фунцкии remove(int i)
В первом случае объект Queue покидает заявка, находящаяся в самом начале очереди (в нулевой позиции). Если заявка направлена в порт outputTimeout или outputPreempted, то она должна покинуть объект мгновенно. Если включена опция вытеснения preemption, то объект Queue всегда готов принять новую заявку, в противном случае при заполненной очереди заявка принята не будет. В свойстве capacity зададим максимальную длину очереди.
Переменные
Тип |
Имя |
Описание |
|
Entity |
Entity |
Текущая заявка. |
|
int |
Position |
Позиция очереди, в которую помещена только что прибывшая заявка. |
|
double |
timeoutValue |
Значение таймаута, установленное для только что прибывшей заявки. |
Функции
Тип возвращаемого значения |
Имя |
Описание |
|
void |
block() |
Блокирует входной порт. |
|
void |
unblock() |
Разблокировывает входной порт. |
|
boolean |
blocked() |
Возвращает true, если входной порт заблокирован, и false - если нет. |
|
int |
size() |
Количество заявок в очереди. |
|
Entity |
get( int i ) |
Возвращает заявку из i-й позиции (ближайшей к выходу считается позиция 0). |
|
Entity |
remove( int i ) |
Удаляет заявку из i-й позиции и возвращает ее. |
|
boolean |
canEnter() |
Возвращает true, если новая заявка может быть помещена в очередь. Если включен режим вытеснения, то это происходит всегда; иначе это эквивалентно size()<capacity. |
|
TimedDataSet |
getStatsSize() |
Возвращает статистику размера очереди. |
|
void |
resetStats() |
Производит сброс накопленной статистики. |
Параметры
Тип |
Имя |
Значение по умолчанию |
Описание |
|
code |
onEnter |
Код, выполняемый, когда заявка поступает в объект. |
||
code |
onExitPreempted |
Код, выполняемый, когда заявка покидает объект через порт outputPreempted, будучи вытесненной другой заявкой. |
||
code |
onExitTimeout |
Код, выполняемый, когда заявка покидает объект через порт outputTimeout в результате истечения таймаута ее пребывания в очереди. |
||
code |
onAtExit |
Код, выполняемый, когда заявка перемещается в нулевую позицию очереди и готова покинуть объект. |
||
code |
onExit |
Код, выполняемый, когда заяка покидает объект или через порт output, или после вызова функции remove(). |
||
int |
queueType |
FIFO |
Тип очереди. Может быть одним из следующих: FIFO LIFO RANDOM PRIORITY |
|
integer |
capacity |
100 |
Вместимость очереди. |
|
integer |
entitiesToAnimate |
all |
Количество заявок, которое будет отображено на анимации. |
|
boolean |
preemption |
false |
Если true, то включен режим вытеснения. |
|
boolean |
timeout |
false |
Если true, то включен режим таймаута. |
|
Code double> |
timeoutTime |
infinity |
Выражение, вычисляющее значение таймаута для заявки. Применяется только при включенном режиме таймаута (timeout равен true). |
|
boolean |
statsEnabled |
false |
Если true, то для этого объекта будет собираться статистика. |
|
ShapeBase |
animationShape |
Шаблон анимации очереди. Тип зависит от выбранного аниматора. |
||
int |
animationType |
AUTO |
Тип аниматора очереди. Может быть одним из следующих: AUTO SINGLE SET BAG ARRANGED QUEUE |
|
boolean |
animationForward |
true |
Направление движения заявок на анимации, если объект отображается на анимации ломаной линией. |
Delay
Задерживает заявки на заданное время. Одновременно могут быть задержаны сразу несколько заявок (не более заданной вместимости объекта capacity). В отличие от объекта Server, заявки задерживаются независимо друг от друга - время задержки вычисляется отдельно для каждой заявки. Как только время задержки истекает, заявка тут же покидает объект. Если объект Delay заполнен полностью, то новую заявку он не примет.
Вместимость объектов Delay может изменяться с помощью объекта Schedule. Объект Schedule автоматически управляет вместимостью в соответствии с заданными значениями времен до следующей поломки и до починки (TTF и TTR) и рабочим расписанием.
Переменные
Тип |
Имя |
Описание |
|
Entity |
entity |
Текущая заявка. |
|
double |
delayTimeValue |
Значение задержки для текущей заявки. |
Функции
Тип возвращаемого значения |
Имя |
Описание |
|
void |
block() |
Блокирует входной порт. |
|
void |
unblock() |
Разблокировывает входной порт. |
|
boolean |
blocked() |
Возвращает true, если входной порт заблокирован, и false - если нет. |
|
int |
size() |
Число задержанных (находящихся в объекте) в данный момент заявок. |
|
Entity |
get( int i ) |
Возвращает i-ю заявку. |
|
boolean |
canEnter() |
Возвращает true, если новая заявка может быть принята, т.е. если вместимость объекта Delay еще не достигнута. |
|
TimedDataSet |
getStatsUtilization() |
Возвращает статистику использования объекта. |
|
void |
resetStats() |
Сбрасывает статистику, собранную объектом. |
Параметры
Тип |
Имя |
Значение по умолчанию |
Описание |
|
code |
onEnter |
Код, выполняемый, когда заявка поступает в объект. |
||
code |
onExit |
Код, выполняемый, когда заявка покидает объект. |
||
code<double> |
delayTime |
triangular( 0.5, 1, 1.5 ) |
Выражение, вычисляющее время задержки для текущей заявки. |
|
double |
scale |
1 |
Если в качестве значения параметра delayTime выбрано length of polyline, то время задержки |
|
будет равно длине анимационной фигуры объекта (ломаной линии), умноженной на этот коэффициент. Поэтому этот коэффициент часто выбирается равным 1/speed. |
||||
int |
capacity |
1 |
Вместимость объекта. |
|
boolean |
statsEnabled |
false |
Если true, то для объекта собирается статистика, если false, то нет. |
|
ShapeBase |
animationShape |
Шаблон анимации объекта. Тип зависит от аниматора. |
||
int |
animationType |
AUTO |
Тип аниматора. Может быть одним из следующих: AUTO SINGLE SET BAG ARRANGED MOVEMENT |
|
boolean |
animationForward |
true |
Задает направление движения заявок на анимации в том случае, если объект отображается ломаной линией. |
|
Schedule |
schedule |
without_schedule |
Имя объекта, задающего расписание изменения вместимости объекта. |
Комментарии
Когда выполняется код параметра onEnter, значение времени, на которое должна быть задержана заявка, доступна как delayTimeValue.
Время задержки может быть стохастическим (как, например, значение по умолчанию), детерминированным, может зависеть от заявки или любой другой информации. Если, предположим, Вы хотите задерживать заявки типа Packet на время, пропорциональное значению поля size, тогда Вам нужно написать: ((Packet)entity).size*k.
Вместимость объекта Delay может быть изменена динамически путем вызова функции set_capacity(), или с помощью объекта Schedule. Один объект Schedule может управлять вместимостями сразу нескольких объектов Delay. Если вместимость была уменьшена до значения, меньшего, чем число заявок, находящихся в объекте в данный момент времени, то эти заявки останутся в объекте Delay до истечения своих времен задержек. Поэтому функция size() (возвращающая число задерживаемых объектом заявок в данный момент времени) в этом случае будет возвращать значение, большее вместимости capacity объекта. Объект примет новые заявки только после того, как лишние заявки покинут объект, и size() снова будет меньше capacity.
Sink
Уничтожает поступившие заявки. Обычно используется в качестве конечной точки потока заявок. Объект Sink автоматически подсчитывает входящие заявки и высчитывает среднюю интенсивность входящего потока.
Переменные
Тип |
Имя |
Описание |
|
Entity |
entity |
Текущая заявка. |
Функции
Тип возвращаемого значения |
Имя |
Описание |
||
void |
block() |
Блокирует входной порт объекта. |
||
void |
unblock() |
Разблокировывает входной порт объекта. |
||
boolean |
blocked() |
Возвращает true, если входной порт заблокирован, и false - если нет. |
||
int |
getCount() |
Возвращает число прошедших заявок. |
||
void |
reset() |
Обнуляет значение счетчика заявок и производит сброс статистики среднего значения интервала между поступлением заявок. |
||
double |
getAvgInterarrivalTime() |
Возвращает среднее значение интервала поступления заявок. |
||
double |
getAverageRate() |
Возврашает среднюю интенсивность входящего потока заявок. |
Параметры
Тип |
Имя |
Значение по умолчанию |
Описание |
|
code |
onEnter |
Код, выполняемый, когда заявка поступает в объект. |
Комментарии
Не подсоединенный ни к одному порту выходной порт не сможет произвести вывод заявок, поэтому если Вам нужно удалить заявки, в конце блок-схемы нужно поместить объект Sink или Exit.
Задание параметров
Элемент |
Параметр |
Значение |
Описание |
|
Source1 |
interarrivalTime |
exponential( 0.23 ) |
Скорость генерации заявок (клиентов) |
|
Source2 |
exponential( 0.35 ) |
|||
Source3 |
exponential( 0.23 ) |
|||
Source4 |
exponential( 0.35 ) |
|||
queue1,2 |
capacity |
25 |
Количество клиентов в очереди |
|
Queue3 |
50 |
|||
KAS1,2 |
delayTime |
triangular( 4, 6, 8 ) |
Выражение, вычисляющее время задержки для текущей заявки. |
|
ATM |
triangular( 1, 3, 5 ) |
|||
Все элементы с данным параметром |
StatsEnable |
true |
Сбор статистики для анализа |
Анимация
В анимации будут отображены очереди к обоим кассирам в первом случае и очередь к автомату во втором, а так же количество людей, прошедших через обе модели.
Далее мы можем проанализировать данные при различных параметрах интенсивности и задержки клиентов при обработке их заявок, количество прошедших заявок, и сделать вывод о том, стоит ли менять двух оператор на один автоматизированный аппарат и при каких параметрах это будет более выгодно.
3.1 Результат исследования модели
В ходе данной курсовой работы были рассмотрены и сравнены две модели.
В первой клиентов обслуживали двое кассиров (объект Delay). Было введено время задержки в свойстве delay time: triangular(4, 6, 8). Обслуживание одного клиента занимает примерно 6 минут. Время обслуживания распределено по треугольному закону со средним значением, равным 6, минимальным - равным 4 и максимальным - 8 минутам.
Во второй модели для обслуживания клиентов двое кассиров были заменены одним автоматизированный аппаратом (ATM - объект Delay). Было введено время задержки в свойстве delay time: triangular(1, 3, 5). Обслуживание одного клиента занимает примерно 3 минут. Время обслуживания распределено по треугольному закону со средним значением, равным 3, минимальным - равным 1 и максимальным - 5 минутам.
Интенсивности входов для обеих моделей были одинаковы: exponential(0,35) для первого входа и exponential(0,23) для второго входа.
В ходе эксперимента было отмечено, что очередь к ATM сразу стала постепенно заполняться, в то время, как очереди к кассирам были пустыми. Первая очередь к кассиру1 начала заполняться только через 19 единиц модельного времени, а очередь к кассиру2 - через 29 единиц времени.
К этому же времени через ATM прошло 10 заявок, а через кассиров только 6. Через 150 единиц времени через ATM прошло 49 заявок, через кассиров - 47. Как видно эти значения стали почти равными. Но чрез 500 единиц времени через кассиров уже прошло больше заявок, чем через ATM: 165 и 163 соответственно. А через 100 единиц модельного времени через ATM прошло 33 заявки, а через кассиров 331 заявка. После проведения дальнейшего эксперимента было установлено небольшое колебание и незначительное опережение то одной модели, то другой. Это позволило сделать вывод, что при заданных задержках обработки заявки и интервалов поступления заявки два ATM выполняет такую же работу, что и два кассира, но средств на содержание его требуется меньше, что делает его использовании более предпочтительным.
Заключение
Основным недостатком аналитических моделей является то, что они неизбежно требуют каких-то допущений, в частности, о «марковости» процесса. Приемлемость этих допущений далеко не всегда может быть оценена без контрольных расчетов, а производятся они методом Монте-Карло. Образно говоря, метод Монте-Карло в задачах исследования операций играет роль своеобразного ОТК. Статистические модели не требуют серьезных допущений и упрощений. В принципе, в статистическую модель «лезет» что угодно -- любые законы распределения, любая сложность системы, множественность ее состояний. Главный же недостаток статистических моделей -- их громоздкость и трудоемкость. Огромное число реализации, необходимое для нахождения искомых параметров с приемлемой точностью, требует большого расхода машинного времени. Кроме того, результаты статистического моделирования гораздо труднее осмыслить, чем расчеты по аналитическим моделям, и соответственно труднее оптимизировать решение (его приходится «нащупывать» вслепую). Правильное сочетание аналитических и статистических методов в исследовании операций -- дело искусства, чутья и опыта исследователя. Нередко аналитическими методами удается описать какие-то «подсистемы», выделяемые в большой системе, а затем из таких моделей, как из «кирпичиков», строить здание большой, сложной модели.
В ходе проделанного эксперимента мы выяснили, что при заданных изначально параметрах в первом случае с двумя операторами обе очереди заполнялись медленнее, чем очередь к автомату, а количество прошедших обработанных заявок за равный промежуток времени были приблизительно одинаковыми. Но так как затраты на автомат значительно ниже, чем предполагаемые выплаты операторам, то можно сделать вывод, что банку будет выгоднее заменить двух оператор одним автоматом.
Используемая литература
1. В.В. Емельянов, В.И. Майорова, Ю.В. Разумцова Принятие оптимальных решений в интеллектуальных имитационных системах: Учебное пособие по курсам <Методы системного анализа и синтеза> и <Моделирование технологических и производственных процессов>. - М.: Изд-во МГТУ им. Н.Э. Баумана, 2002.
2. Закгейм А.Ю. Введение в моделирование химико-технологических процессов. - М.: Химия, 1992. - 237 с.
3. Дж. Мур, Л. Уздерфорд, Г. Эппен, Ф. Гулд, Ч. Шмидт Экономическое моделирование в Microsoft Excel шестое издание. - М., Спб., Киев.: Издательский дом «Вильямс», 2004.
4. Вентцель Е.С. «Исследование операций», Москва «Советское радио» 1972 г.
5. Соболь И.М. «Метод Монте-Карло», Москва «Наука»,1985 г.
6. «Экономико-математические методы и прикладные модели», под ред. Федосеева В.В. , Москва «Юнити» 2001 г.
7. Справочное руководство по Enterprise Library
8. Учебное пособие по Enterprise Library
9. «Экономико-математические методы и прикладные модели», под ред. Федосеева В.В. , Москва «Юнити» 2001 г.
10. www.xjtek.ru
Размещено на Allbest.ru
Подобные документы
Понятие имитационного моделирования, применение его в экономике. Этапы процесса построения математической модели сложной системы, критерии ее адекватности. Дискретно-событийное моделирование. Метод Монте-Карло - разновидность имитационного моделирования.
контрольная работа [26,7 K], добавлен 23.12.2013Статические и динамические модели. Анализ имитационных систем моделирования. Система моделирования "AnyLogic". Основные виды имитационного моделирования. Непрерывные, дискретные и гибридные модели. Построение модели кредитного банка и ее анализ.
дипломная работа [3,5 M], добавлен 24.06.2015Построение модели, имитирующей процесс работы отдела обслуживания ЭВМ, разрабатывающего носители с программами для металлорежущих станков с ЧПУ. Этапы решения задач по автоматизации технологических процессов в среде имитационного моделирования GPSS World.
курсовая работа [64,6 K], добавлен 27.02.2015Исследование особенностей разработки и построения модели социально-экономической системы. Характеристика основных этапов процесса имитации. Экспериментирование с использованием имитационной модели. Организационные аспекты имитационного моделирования.
реферат [192,1 K], добавлен 15.06.2015Динамические, стохастические, дискретные модели имитационного моделирования. Предпосылки, технологические этапы машинного моделирования сложной системы. Разработка имитационной модели автоматизированного участка обработки деталей, ее верификация.
дипломная работа [224,3 K], добавлен 05.09.2009Теоретические основы имитационного моделирования. Пакет моделирования AnyLogic TM, агентный подход моделирования. Разработка имитационной модели жизненного цикла товара ООО "Стимул", модели поведения потребителей на рынке и специфика покупателей.
курсовая работа [2,0 M], добавлен 26.11.2010Построение имитационной модели "AS-IS" подсистемы управления производственными запасами ООО "Фаворит", адаптация программного обеспечения. Функциональные возможности табличного процессора MS Excel, VBA for Excel. Математическое обеспечение модели.
курсовая работа [1,4 M], добавлен 12.07.2011Случайная выборка из генеральной совокупности. Сущность метода Монте-Карло. Определение адекватности принятой эконометрической модели. Линейная регрессионная модель вида. Система нормальных уравнений в матричной форме. Параметры регрессионной модели.
контрольная работа [323,5 K], добавлен 08.12.2010Разработка проекта имитационной модели функционирования системы, отдельные элементы которой могут отказывать во время работы. Закон распределения времени безотказной работы всей системы. Вероятность не отказа работы в течении заданного промежутка времени.
курсовая работа [694,9 K], добавлен 04.02.2011Сущность экономико-математической модели, ее идентификация и определение достаточной структуры для моделирования. Построение уравнения регрессии. Синтез и построение модели с учетом ее особенностей и математической спецификации. Верификация модели.
контрольная работа [73,9 K], добавлен 23.01.2009