Основные этапы разработки имитационной модели (на примере модели банковского отделения)

  • Вид работы:
    Дипломная (ВКР)
  • Предмет:
    Менеджмент
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    294,33 kb
  • Опубликовано:
    2011-09-25
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Основные этапы разработки имитационной модели (на примере модели банковского отделения)

Федеральное агентство по образованию

государственное общеобразовательное учреждение

высшего профессионального образования

РОССИЙСКИЙ ГОСУДАРСТВЕННЫЙ ТОРГОВО-ЭКОНОМИЧЕСКИЙ

УНИВЕРСИТЕТ

Воронежский филиал




Курсовая работа

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

тема: «Основные этапы разработки имитационной модели (на примере модели банковского отделения)»

Выполнила:

Сенцова Т.И.

Проверил:

Буховец А.Г.





Воронеж 2010

Содержание

Содержание

Введение

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

. Метод Монте-Карло

. Моделирование работы отдела банка

.1 Результат исследования модели

Заключение

Используемая литература

Введение

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

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

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

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

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

1. Этапы имитационного моделирования

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Случайная величина с нормальным распределением описывается двумя параметрами: математическим ожиданием и стандартным отклонением. Датчик случайных чисел выдаёт равномерно распределённое число в интервале от 0 до 1. Для описания имитационного процесса весьма актуален вопрос выбора языка программирования. Хотя теоретически возможно описать модель на любом из широко распространенных универсальных проблемных языков Фортране, PL/1, Паскале, но опыт развития теории и практики имитационного моделирования в нашей стране и за рубежом показывает, что наиболее эффективным средством являются специальные имитационные языки, которых к настоящему времени создано уже немало и многие из них эффективно используются, особенно за рубежом, где ни один крупный проект не реализуется без проверки на имитационной модели. Наиболее известны языки: GPSS, GASP, SIMSCRIPT и DYNAMO, реализующие различные подходы к моделированию.

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

Для моделирования на ЭВМ сложной системы нужен аппарат программирования, предусматривающий:

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

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

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

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

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

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

Сбор статистики для анализа


Анимация


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

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

.1 Результат исследования модели

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

В первой клиентов обслуживали двое кассиров (объект Delay). Было введено время задержки в свойстве delay time: triangular(4, 6, 8). Обслуживание одного клиента занимает примерно 6 минут. Время обслуживания распределено по треугольному закону со средним значением, равным 6, минимальным - равным 4 и максимальным - 8 минутам.

Интенсивности входов для обеих моделей были одинаковы: 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 с.

.        Дж. Мур, Л. Уздерфорд, Г. Эппен, Ф. Гулд, Ч. Шмидт Экономическое моделирование в Microsoft Excel шестое издание. - М., Спб., Киев.: Издательский дом «Вильямс», 2004.

4.       Вентцель Е.С. «Исследование операций», Москва «Советское радио» 1972 г.

5.       Соболь И.М. «Метод Монте-Карло», Москва «Наука»,1985 г.

.        «Экономико-математические методы и прикладные модели», под ред. Федосеева В.В. , Москва «Юнити» 2001 г.

7.       Справочное руководство по Enterprise Library

8.       Учебное пособие по Enterprise Library

9.       «Экономико-математические методы и прикладные модели», под ред. Федосеева В.В. , Москва «Юнити» 2001 г.

10.     www.xjtek.ru <http://www.xjtek.ru>

Похожие работы на - Основные этапы разработки имитационной модели (на примере модели банковского отделения)

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!