Имитационная модель банка

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

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 01.06.2015
Размер файла 630,5 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

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

Размещено на http://www.allbest.ru/

Содержание

  • Введение
  • 1. Постановка задачи
  • 2. Описание метода решения
  • 3. Разработка модели
  • Логико-математическое описание моделируемой системы
  • Равномерное распределение
  • Нормальное распределение
  • Экспоненциальное распределение
  • Треугольное распределение
  • Разработка упрощенной схемы объекта моделирования
  • Временная диаграмма функционирования объекта моделирования
  • Блок-схема основной программы
  • Перевод модели на язык программирования
  • Текст программы
  • Верификация имитационной модели
  • Валидация имитационной модели
  • Заключение
  • Список литературы

Введение

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

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

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

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

Таким образом, основное назначение имитационного моделирования состоит в следующем:

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

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

· оценить различные варианты технических решений при поиске оптимальной структуры информационной сети.

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

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

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

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

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

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

Основные недостатки метода имитационного моделирования:

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

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

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

Цель курсовой работы по дисциплине "Имитационное моделирование" состоит в разработке имитационной модели банка на языке программирования С++.

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

Структура курсовой работы включает в себя введение, постановку задачи, основной части, заключения и списка литературы.

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

имитационная модель банк верификация

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

Курсовая работа написана на _____ страницах машинописного текста, содержит 1 рисунок, 1 график и 3 блок-схемы.

1. Постановка задачи

Рассматривается модель банка, в котором два кассира сидят в помещении, а два обслуживают клиентов, подъезжающих на автомобилях. Часть клиентов, поступающих в банк, пытается сначала обслуживаться у автомобильных кассиров. Время между поступлениями этик клиентов распределено экспоненциально с математическим ожиданием 0.75 мин. Пространство перед автомобильными кассирами ограничено. В очереди к первому кассиру могут находиться три автомобиля, а в очереди ко второму - четыре. Время обслуживания первым автомобильным кассиром нормально распределено с математическим ожиданием 0,5 мин и среднеквадратичным отклонением 0,25 мин. Продолжительность обслуживания вторым кассиром распределена равномерно на интервале 0,2-1,0 мин. Если прибывший на автомобиле клиент не может встать в очередь к автомобильным кассирам из-за отсутствия свободного места, он оставляет машину на стоянке и следует к кассирам, сидящим в здании банка. Отметим, что эти кассиры начинают работу на час позже автомобильных.

Другая часть клиентов поступает прямо на обслуживание к кассирам в помещении банка. Интервал между их прибытиями распределен экспоненциально с математическим ожиданием 0,5 мин. Они встают в одну очередь с клиентами, прибывшими на автомобилях. К обоим кассирам стоит одна очередь. В очереди не может стоять более 7 клиентов. Клиенты, поступившие в банк, когда очередь заполнена до предела, не обслуживаются и покидают банк. Время обслуживания у обоих кассиров в здании банка имеет треугольное распределение на интервале 0,1 - 1,2 мин с модой 0,4 мин. Проимитируйте работу банка за 8 ч. Получите оценки для среднего времени пребывания в банке для обоих типов клиентов и вероятности отказа в обслуживании клиента.

2. Описание метода решения

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

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

1. Формулирование проблемы: описание исследуемой проблемы и определение целей исследования.

2. Разработка модели: логико-математическое описание моделируемой системы в соответствии с формулировкой проблемы.

3. Подготовка данных: идентификация, спецификация и сбор данных.

4. Трансляция модели: перевод модели на язык, приемлемый для используемой ЭВМ

5. Верификация: установление правильности машинных программ.

6. Валидация: оценка требуемой точности и соответствия имитационной модели реальной системе.

7. Стратегическое и тактическое планирование: определение условий проведения машинного эксперимента с имитационной моделью.

8. Экспериментирование: прогон имитационной модели на ЭВМ для получения требуемой информации.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

3. Разработка модели

Логико-математическое описание моделируемой системы

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

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

1. Экспоненциальное распределение

2. Нормальное распределение

3. Равномерное распределение

4. Треугольное распределение

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

Равномерное распределение

Случайная величина о с равномерным распределением на отрезке [a,b] описывается функцией плотности вероятности:

.

Математическое ожидание

Для вычисления дисперсии сначала вычислим математическое ожидание квадрата этой случайной величины:

Теперь

Нормальное распределение

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

где m - математическое ожидание случайной величины;

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

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

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

Математическое ожидание случайной величиныХ. распределено по нормальному закону, равноmx=m, а дисперсияDx=у2.

Вероятность попадания случайной величиныХ, распределенной по нормальному закону, в интервале (б, в) выражается формулой

,

где - табулированная функция

Экспоненциальное распределение

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

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

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

Функция распределения:

1 - et при t?0,0

при t<0,

где б >0 - параметр экспоненциального закона,

t - время обслуживания.

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

Треугольное распределение

Функция плотности вероятности треугольного распределения имеет вид:

µ=у=

Треугольно распределенная на отрезке [а,b] случайная X с модой m связана со случайной величиной R, распределенной равномерно на [0,1], соотношением:

Разработка упрощенной схемы объекта моделирования

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

Рис. 1. Формализованная схема функционирования объекта моделирования

Временная диаграмма функционирования объекта моделирования

Построим временную диаграмму функционирования объекта моделирования (модели банка) (рис. 2).

Рис 2. Временная диаграмма объекта моделирования.

Блок - схемы программных блоков и основной программы

Распределения и генераторы псевдослучайных чисел

Ниже будут использованы следующие обозначения: Х-случайная величина; F (x) - функция плотности вероятности X; F (x) - функция вероятности Х; а - минимальное значение; b - максимальное значение; т - мода; м - математическое ожидание M [X]; 2 - дисперсия M [ (X - м2)]; - среднеквадратическое распределение; б - параметр функции плотности вероятности; - параметр функции плотности вероятности.

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

Рис. 3. Генератор равномерно распределенных случайных чисел (RR (d1,d2))

Рис. 4. Генератор нормально распределенных случайных чисел (Rnorm (a,b,m))

Блок-схема основной программы

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

В блок-схеме алгоритма используются следующие обозначения:

t1 - момент времени поступления новой заявки на обслуживание;

t2 - момент времени окончания обслуживания очередной заявки;

Тм - общее время моделирования;

Z - состояние системы (при Z=0 система свободна, при Z=1 система обслуживает очередную заявку);

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

фоб - время обслуживания заявки;

Nn, Nоб, N - соответственно количество потерянных, обслуженных и общее число заявок.

В начале моделирования задаются исходные данные t1 = ?, t2 = ? (заявки не поступают и отсутствуют на обслуживании), Тм =0,=Z=0, N=0 (блок 2). Затем, в соответствии с принятым законом поступления потока заявок, моделируется момент времени поступления первой заявки t1 = фз (блок 3). При первом сравнении t1>t2 (блок 4). Поэтому управление передается на блок 5, в котором значение количества поступивших заявок Nувеличивается на 1. В блоке 6 осуществляется проверка состояния системы. На первом шаге (испытании) система свободна (Z = 0). В этом случае начинается обслуживание поступившей заявки, заключающееся в формировании времени обслуживания фоби текущего момента времени окончания обслуживанияt2=t1об. При поступлении заявки на обслуживание система переходит в занятое состояние (Z = 1, блоки 7-9). Затем в блоках 10,11 моделируются интервал времени между поступлениями обслуживаемой и следующей заявкой ф3 и текущий момент времени поступления следующей заявкиt1=t13.

На следующем шаге сравниваются сформированные значения t1, и t2. Если следующая заявка поступит раньше окончания текущей заявки (t1 <t2, Z = 1), то она получает отказ в обслуживании. Значение потерянных заявокNn, увеличивается на 1 (блок 12). Затем в блоках 13, 14 моделируются новые значения ф3, t1. Новое значение t1 будет теперь сравниваться с прежним значением t2.

Перевод модели на язык программирования

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

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

Языками высокого уровня являются:

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

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

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

4. Бейсик - создавался в 60-х годах также для обучения программированию. Для него имеются и компиляторы и интерпретаторы, является одним из самых популярных языков программирования.

5. Си - был создан в 70 - е годы первоначально не рассматривался как массовый язык программирования. Он планировался для замены ассемблера, чтобы иметь возможность создавать такие же эффективные и короткие программы, но не зависеть от конкретного процессора. Он во многом похож на Паскаль и имеет дополнительные возможности для работы с памятью. На нем написано много прикладных и системных программ, а также операционная система Unix.

6. Си++ - объектно-ориентированное расширение языка Си, созданное Бьярном Страуструпом в 1980 г.

Для реализации своего задания по курсовой работе я выбираю высокоуровневый язык программирования С++.

Алфавит языка СИ++ включает: прописные и строчные латинские буквы и знак подчеркивания; арабские цифры от 0 до 9; специальные знаки "{},| [] () +-/%*. \':; &? <>=! #^; пробельные символы.

Данные отображают в программе окружающий мир. Цель программы состоит в обработке данных. Данные различных типов хранятся и обрабатываются по-разному. Тип данных определяет: внутреннее представление данных в памяти компьютера; множество значений, которые могут принимать величины этого типа; операции и функции, которые можно применять к данным этого типа. В зависимости от требований задания программист выбирает тип для объектов программы. Типы Си++ можно разделить на простые и составные. К простым типам относят типы, которые характеризуются одним значением. В Си++ определено 6 простых типов данных:

· int (целый)

· char (символьный)

· wchar_t (расширенный символьный)

· bool (логический)

· float (вещественный)

· double (вещественный с двойной точностью)

Существует 4 спецификатора типа, уточняющих внутреннее представление и диапазон стандартных типов

· short (короткий)

· long (длинный)

· signed (знаковый)

· unsigned (беззнаковый)

В языке Си++ нет встроенных средств ввода и вывода - он осуществляется с помощью функций, типов и объектов, которые находятся в стандартных библиотеках. Существует два основных способа: функции унаследованные из Си и объекты Си++.

Для написания программы мы будем использовать язык С+ +.

Используемые в программе обозначения:

Tprib - время прибытия сотрудника;

T_obsl - время обслуживания сотрудника;

T_okon - время обслуживания сотрудника;

Tpr - время пребывания сотрудника в системе;

K-количествообслуженных;

Sr_och - средняя продолжительность пребывания сотрудника в очереди;

N_obsl - среднее число находящихся на станции сотрудников;

t_oj - средняя продолжительность пребывания сотрудников в очереди;

N_o - среднее число сотрудников в очереди.

Текст программы

#include<iostream. h>

#include<math. h>

#include<stdio. h>

#include<conio. h>

#include<stdlib. h>

double RR (double d1,double d2)

{

double R;

randomize ();

R=0;

R=d1+ (d2-d1) *random (100) /100;

return R;

}

doubleRnorm (double a, double b, double m)

{

double d1,d2,X=0;

int j;

randomize ();

d1= (a-sqrt (3*b*m)) /m; d2= (a+sqrt (3*b*m)) /m;

for (j=0; j<m; j++)

X=X+RR (d1,d2);

return X;

}

void main ()

{

clrscr ();

intj, i=1;

doubleTprib=0, Tokon=0, Tpr, k=0, T3 [100], X=0, d1=10, d2=25;

float T,t,a=6,b=2.5,m=12,Z=1,u,p,p0,v, sr_och,t_oj, N_obsl, t_sis;

cout<<"\n Vvedite T: ";

cin>>T;

cout<<"\n Vvedite v: ";

cin>>v;

a: t=RR (d1,d2);

cout<<"t= "<<t;

Tprib=Tprib+T;

if (Tprib<T)

{

b: if (Tprib>Tokon)

{

Tpr=Tokon-T3 [i];

X=X+Rnorm (a,b,m);

k=k+1;

Z=Z-1;

cout<<Tpr;

if (Z==0)

{

Tokon=1000; goto a;

}

}

else

{

for (j=1; j<Z-1; j++)

T3 [j] =T3 [j+1];

t=t+RR (d1,d2); goto b;

}}

else

{

if (Z==0)

{

Z=1;

T3 [1] =Tprib;

t=t+RR (d1,d2);

Tokon=Tprib+t; goto a;

}

else

Z=Z+1;

{

X=X+Rnorm (a,b,m);

}

u=1/t;

p=v/u;

p0=pow ( (pow (p,1) +pow (p,2) /2) + (pow (p,3) /6) * (1/1-p/3),-1);

sr_och=pow (p,4) / (2* (pow (3-p,2))) *p0;

t_oj=sr_och/u;

N_obsl=sr_och+p;

t_sis=t_oj+1/u;

cout<<"\n Sredneechislosotrydnikov v oceredi: "<<sr_och;

cout<<"\n Srednyaprodoljprebivaniyasotrydnika v ocheredi: "<<t_oj;

cout<<"\n Sredneechislosotrydnikovnahodyashihsa v sisteme: "<<N_obsl;

cout<<"\n Srednyayaprodoljitprebivaniya v sisteme: "<<t_sis;

getch ();

}

Верификация имитационной модели

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

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

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

Валидация имитационной модели

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

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

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

Заключение

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

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

Программа разработана на языке программирования высокого уровня Си++ и занимает 4 Кбайт памяти

Список литературы

1. Лычкина Н.Н. "Имитационное моделирование экономических процессов". - Инфа-М, 2012 г.

2. Методические указания по выполнению курсовой работы по дисциплине "Имитационное моделирование экономических процессов" для студентов специальности 080801 - "Прикладная информатика в экономике". - Махачкала, ДГТУ.

3. Сайт учебно-методической и профессиональной литературы для студентов и преподавателей технических, естественнонаучных и гуманитарных вузов. URL: http://twirpx.com.

4. Кеольтон В., Лод А. "Имитационное моделирование. Классика CS" издание 3-е, 2011 г.

5. Шеннон Р. "Имитационное моделирование систем - искусства и науки".Н. Новгород, 2010 г. - С. 12-17.

6. Емельянов А.А. "имитационное моделирование экономических процессов". - Москва: Феникс, 2011 г.

Размещено на Allbest.ru


Подобные документы

  • Определение назначения и описание функций имитационных моделей стохастических процессов систем массового обслуживания. Разработка модели описанной системы в виде Q-схемы и программы на языке GPSS и C#. Основные показатели работы имитационной модели.

    курсовая работа [487,4 K], добавлен 18.12.2014

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

    курсовая работа [1,0 M], добавлен 18.08.2009

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

    курсовая работа [154,1 K], добавлен 19.05.2011

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

    курсовая работа [343,1 K], добавлен 04.06.2012

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

    курсовая работа [1,1 M], добавлен 29.04.2014

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

    курсовая работа [4,0 M], добавлен 28.05.2013

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

    курсовая работа [628,0 K], добавлен 28.10.2013

  • Понятие стратегического планирования, разработка схем программных блоков и основной программы. Структурная схема имитационной модели, создание модели на языке моделирования General Purpose Simulation System. Математическое описание моделируемой системы.

    дипломная работа [2,6 M], добавлен 12.08.2017

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

    курсовая работа [49,2 K], добавлен 07.09.2012

  • Направления деятельности ООО "Тирион" и разработка модели "AS-IS" функционирования магазина по обслуживанию покупателей. Возможности табличного процессора MS Excel. Описание интерфейса и физической структуры программного обеспечения имитационной модели.

    курсовая работа [990,6 K], добавлен 13.12.2011

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.