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

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




































Главная

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

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


посмотреть текст работы


скачать работу можно здесь


полная информация о работе


весь список подобных работ


Нужна помощь с учёбой? Наши эксперты готовы помочь!
Нажимая на кнопку, вы соглашаетесь с
политикой обработки персональных данных

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Раздел 1. Теоретический анализ методов и алгоритмов имитационного моделирования
1.2 Равномерное распределение случайной величины
1.3 Мультипликативный конгруэнтный метод
1.4 Моделирование непрерывных случайных величин
1.5 Моделирование дискретных распределений
1.6 Нормальный закон распределения случайной величины
1.7 Достоинства и недостатки метода имитационного моделирования
1.8 Этапы имитационного моделирования
Раздел 2. Описание практической части проведенного исследования
2.3 Алгоритм имитационного моделирования
2.5 Разработка программной реализации имитационной модели
Раздел 3. Проведение машинного эксперимента и оценка полученных результатов
3.2 Машинный эксперимент с результатами моделирования
В общем, моделирование можно считать универсальным методом описания физических, технических, организационных и других систем. До появления вычислительной техники в основном исследовались и применялись аналитические модели. Любой закон описывающий поведение некоторой системы, связывающий характеризующие ее величины, должен рассматриваться как модель этой системы. Например, закон Ома описывающий величины физических процессов в электрической цепи является моделью. Эта модель абстрагируется от частных характеристик конкретного процесса и определяется соотношение существующих его параметров. Таким образом характеризующей чертой любой модели является абстрагирование. Указанная простейшая модель может быть отнесена к классу аналитических моделей, поскольку является аналитическим соотношением, допускающим непосредственное получение числовых результатов после постанови известных числовых параметров в соответствующее выражение. Такими же моделями независимо от уровня их сложности являются математические соотношения, описывающие связь параметров различных физических и технических систем. Например, система дифференциальных уравнений описывающие потоки жидкостей движения тел в различных средах, системы уравнений описывающие связь электронных характеристик, сложных радиоэлектронных устройств, системы уравнений для расчетно-сложных механических конструкций и т.д.
Однако с усложнением системы в построении моделей, в которых мы нуждаемся, их точное аналитическое описание становится все более проблематичными. Кроме того есть необходимость в изучении поведения системы в условиях изменяющихся случайным образом внешних воздействий. Эти два фактора усложнение и случайный характер воздействий приводит к необходимости создания другого класса моделей так называемых имитационных.
Моментом появления имитационного моделирования экономических процессов как отдельного подхода к исследованию сложных систем обычно считают 1949г. - год выхода статьи известных американских физиков Джона Неймона и Улома. Они то время работали и занимались разработкой ядерного оружия в Лос Аламской лаборатории. Сложность исследуемых ими процессов была столь велика, что задача не поддавалась решению обычными аналитическими методами. Ученым пришла в голову счастливая мысль применить статистические законы теории вероятности для решения задач. Точность полученного решения оказалась удовлетворительным и с тех пор указанный подход называемый методом статистических испытаний или иначе методом Монте-Карло интенсивно исследовался и развивался.
Данный метод называется методом Монте-Карло, потому что в этом методе существенным образом используется набор случайных чисел.
Программные средства имитационного моделирования начали широко развиваться в 70-е гг. наиболее известными предметами программных продуктов является компилятор языка стимула и система GPSS. Современный объектно-ориентированный подход впервые появился на языке стимула. Поскольку язык был ориентирован на моделирование систем, в нем реализована возможность инкапсуляции методов обработки для элементов данных вместе с этими данными и возможность наследования свойств объектов и их описаний.
Построение имитационной модели проходит следующие этапы:
При построение модели должен быть проведен анализ предметной области Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
в которой функционирует исследуемая система.
Формализация структуры взаимосвязи информационных и других потоков циркулирующих в системе.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Определение статистических характеристик внешних воздействий, установление видов законов распределения характеризующих эти воздействия и их параметры.
Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
Завершается Размещено на http://www.allbest.ru/
Размещено на http://www.allbest.ru/
формализация описанием модели с помощью языка выбранной системы выполнения имитационной модели.
Методом имитационного моделирования мы можем решать два класса задач в некотором смысле противоположным друг другу. Это задачи синтеза и анализа.
Синтез системы производится многоэтапным уточнением структуры по результатам имитационного эксперимента
Задача анализа в чистом виде для существующей системы с известной структурой для уточнения и оптимизации параметров ее функционирования. При этом оценивается степень загруженности отдельных звеньев системы, выявляются узкие зрения, работа которых определяет в значительной мере общую производительность системы.
Цель курсовой работы по дисциплине «Имитационное моделирование экономических процессов» - ознакомление с современными концепциями построения моделирующих систем, с основными приемами имитационного моделирования, встраиваемыми в общую процедуру преобразования информации от структурирования и формализации составляющих предметных областей до интерпретации обработанных данных и приобретенных знаний, связанных с описанием экономических процессов. Данная работа представляет собой работу по созданию и реализации математической модели системы массового обслуживания для получения необходимых нам результатов на основании исходных данных и известных математических зависимостей. Целью данной курсовой работы является анализ работы коммерческого банка по выдаче кредитов; моделирование работы кредитной системы коммерческого банка созданием программы на языке С++, имитирующую работу кредитной системы коммерческого банка; сравнение полученных результатов моделирующей программы с результатами работы реального объекта.
Раздел 1. Теоретический анализ методов и алгоритмов имитационного моделирования
1.1 Достоинства и недостатки метода имитационного моделирования
В нашей курсовой работе мы использовали метод имитационного моделирования. У данного метода моделирования можно выделить некоторые достоинства и недостатки.
Основные достоинства метода имитационного моделирования:
1. Имитационная модель позволяет описать моделируемый процесс с большой адекватностью, чем другие.
2. Имитационная модель обладает гибкостью варьирования, структуры алгоритмов и параметров системы.
3. Применение ЭВМ существенно сокращает продолжительность испытаний по сравнению с натуральным экспериментом, если он возможен, а также их стоимость.
4. Имитационная модель позволяет описать моделируемый процесс с большой адекватностью, чем другие.
5. Имитационная модель обладает гибкостью варьирования, структуры алгоритмов и параметров системы.
6. Применение ЭВМ существенно сокращает продолжительность испытаний по сравнению с натуральным экспериментом, если он возможен, а также их стоимость.
Основные недостатки метода имитационного моделирования:
1. Решение, полученное на имитационной модели, всегда носит частный характер, т.к. оно соответствует фиксированным элементам структуры, алгоритмам поведения и значениям параметров системы.
2. Большие трудозатраты на создание модели и проведение экспериментов, а также обработку их результатов. Если использование системы предполагает участие людей при проведении машинного эксперимента на результаты может оказать влияние так называемый «Хауторнский эффект», заключающийся в том, что люди зная, что за ним наблюдают, могут изменить свое обычное положение. Таким образом, использование термина имитационное моделирование предполагает работу с такими математическими моделями, с помощью которых результаты исследуемой операции нельзя заранее вычислить или предсказать. Поэтому необходим эксперимент имитации на модели при заданных исходных данных. Сущность машинной имитации заключается в реализации численного метода проведения на ЭВМ экспериментов с математическими моделями, описывающими поведение сложной системы в течении заданного или формируемого периода времени.
В тексте на любом естественном языке можно выделить четыре основных элемента: символы, слова, словосочетания и предложения. Алгоритмический язык также содержит такие элементы, только слова называют лексемами (элементарными конструкциями ), словосочетания - выражениями, предложения - операторами. Лексемы образуются из символов, выражения из лексем и символов, операторы из символов выражений и лексем.
- прописные и строчные латинские буквы и знак подчеркивания;
- специальные знаки “{},| []()+-/%*.\':;&?<>=!#^
Данные отображают в программе окружающий мир. Цель программы состоит в обработке данных. Данные различных типов хранятся и обрабатываются по-разному. Тип данных определяет:
1) внутреннее представление данных в памяти компьютера;
2) множество значений, которые могут принимать величины этого типа;
3) операции и функции, которые можно применять к данным этого типа.
В зависимости от требований задания программист выбирает тип для объектов программы. Типы Си++ можно разделить на простые и составные. К простым типам относят типы, которые характеризуются одним значением. В Си++ определено 6 простых типов данных:
double (вещественный с двойной точностью)
Существует 4 спецификатора типа, уточняющих внутреннее представление и диапазон стандартных типов
В языке Си++ нет встроенных средств ввода и вывода - он осуществляется с помощью функций, типов и объектов, которые находятся в стандартных библиотеках. Существует два основных способа: функции, унаследованные из Си и объекты Си++.
В конце 40-х годов американские физики применили для вычисления на ЭВМ сложных квадратур метод, основанный на вероятностных законах. Этот метод был назван ими методом Монте-Карло, имея в виду Монте-Карло как мировой центр игр, исход которых определяется случаем. Суть метода станет ясной из следующего примера. Предположим, что требуется определить площадь s под некоторой кривой у =f( x )>о на отрезке [х 1, х 2 ], то есть вычислить значение определённого интеграла (1). Это можно сделать следующим образом. Будем выбирать случайные точки в прямоугольнике (х1,0), (x1,а), (х 2 ,а), (х 2 ,0), площадью а(х 2 -х 1 ) (см. рис.1) и считать число точек т, попавших под кривую у = f(х). Тогда при общем числе п выбранных точек, отношение т/n, очевидно, будет приближённо равным отношению искомой площади s под кривой у = f(х) на отрезке [х 1, х 2 ] к площади а(х 2 -х 1 ) прямоугольника. Откуда искомая площадь может быть вычислена по формуле , причём вычисленное таким образом значение будет тем ближе к точному значению интеграла (1), чем больше точек п взято и чем более равномерно распределены точки внутри прямоугольника.
Проблема состоит в том, чтобы получить на ЭВМ случайные числа с равномерным распределением. Действительно, ЭВМ представляет собой детерминированное устройство, которое при одних и тех же условиях всегда выдает один и тот же результат. Одним из очевидно напрашивающихся представляется решение получить случайную последовательность каким-либо из известных физических методов, например с помощью рулетки, какие используются в казино, после чего записать эти случайные числа во внешнюю память ЭВМ с целью последующего использования в программе. Однако это потребовало бы значительных затрат времени для получения достаточно длинной случайной последовательности, с одной стороны, и внешней памяти для её сохранения, с другой. Следует отметить также тот факт, что в момент появления метода ресурсы внешней памяти ЭВМ были весьма ограничены. Другим возможным решением было бы применить непосредственно какой-либо физический метод генерации случайных чисел с помощью специально сконструированного для этих целей подключаемого к ЭВМ аппаратного устройства и далее получать с его помощью случайные числа непосредственно во время работы программы. В качестве основы для такого устройства можно было бы использовать какой-либо электронный прибор, например электронную лампу, вырабатывающие случайные уровни потенциала, обусловленные тепловыми флуктуациями. Такие устройства могут быть сконструированы, однако возникают проблемы с устойчивостью их работы во времени и при изменении условий окружающей среды; существует также проблема сертификации подобного устройства. В итоге исследователи остановились на более простой и оказавшейся в дальнейшем продуктивной идее генерации вместо случайной так называемой псевдослучайной, последовательности чисел с помощью специально разработанного для этих целей алгоритма.
1.6 Генерация псевдослучайных чисел на ЭВМ
Известно, что многие широко используемые в математике алгоритмы приводят к числовым последовательностям, элементы которых не поддаются детерминированному определению в том смысле, что не известно закона, выражающегося математической формулой и позволяющего определить значение элемента последовательности по его номеру в ней без предварительного вычисления предшествующих элементов. Таковыми являются, например, последовательность простых чисел и последовательность десятичных цифр представления иррационального вещественного числа. Эти и подобные им числовые последовательности могут, следовательно, рассматриваться так, как если бы они были случайными, или, иначе говоря, - как псевдослучайные последовательности.
Для получения псевдослучайной последовательности Фон Нейманом был придуман простой в вычислительном отношении алгоритм, известный как метод квадратов. Метод состоит в многократном повторении процедуры, состоящей в возведении в квадрат некоторого числового значения и взятия средних цифр полученного результата. Пусть, например, мы выбрали в качестве исходного значения число w o =7654. Тогда и 0 2 =7654 2 =58583716 и и 1 = 5837, и 1 2 =5837 2 =34070569 и и 2 =0705, и так далее. Однако, вскоре у метода обнаружился недостаток, заключающийся в существенной неравномерности статистических частот различных числовых значений элементов получаемой этим методом последовательности.
Были проведены широкие исследования для поиска алгоритмов вычисления псевдослучайных чисел, обеспечивающих лучшую равномерность. В результате был найден очень простой и эффективный в вычислительном отношении, так называемый мультипликативный конгруэнтный метод, свободный от указанного недостатка. Этот метод основан на рекуррентном вычислении элементов псевдослучайной последовательности как результата выполнения операции сравнения по некоторому заданному основанию. Переход к следующему числу последовательности производится простым умножением результата сравнения на некоторую заданную константу. На практике операции вычисления произведения и взятия сравнения по заданному основанию совмещены. В качестве основания сравнения используется величина 2 m , где т - разрядность целочисленного регистра ЭВМ, в котором хранится результат вычисления произведения. При целочисленном умножении этого результата на заданную константу достаточно большой величины происходит переполнение, вследствие чего в регистре результата сохраняются лишь т младших разрядов произведения. Это число и будет фактически результатом операции сравнения вычисленного произведения с числом 2 т (напомним, что операцией сравнения по некоторому основанию называется вычисление остатка от деления первого операнда на это основание).
Формально схема вычисления может быть определена следующим образом: u o =C, u i +1 =u i c(mod2 m ), где u i . - i-й член псевдослучайной последовательности, с - некоторая константа, т -разрядность целочисленного регистра ЭВМ. Качество полученной псевдослучайной последовательности зависит от выбранного значения константы C. Установлено, что хороший результат достигается при выборе её значения равным максимальной нечётной степени числа 5, помещающегося в числовом регистре фиксированной разрядности. Для 32-х разрядного регистра ЭВМ это будет число 5 13 . Ниже приведён исходный текст процедуры генерации указанным методом псевдослучайной последовательности чисел, равномерно распределённых в интервале [0,1], и гистограмма распределения, построенная по первой тысяче вычисленных с помощью этой функции значений.
1.7 Моделирование дискретной случайной величины
Предположим вначале, что нам требуется смоделировать простейшую дискретную случайную величину, принимающую два значения с равными вероятностями. Эта случайная величина моделирует выбрасывание жребия или монеты. Если мы имеем в своём распоряжении генератор псевдослучайных последовательностей, описанный в предыдущем параграфе, то задача может быть решена следующим, достаточно очевидным, способом. Поскольку псевдослучайное число, получаемое с помощью функции rand(), распределено равномерно в интервале (0,1), то одинаково вероятно, будет ли очередное полученное значение принадлежать левой половине этого интервала [0,0.5) или правой [0.5,1]. По этой причине мы можем одно из двух значений нашей случайной величины поставить в соответствие первому из этих двух подинтервалов, а другое - второму, и далее выдавать значения в зависимости от того к какому из этих двух подинтервалов будет принадлежать очередное выпавшее значение генератора rand(). Эта схема, очевидно, легко обобщается на дискретную случайную величину, принимающую более двух значений. За каждым значением мы должны в этом случае "закрепить" некоторый подинтервал значений функции rand() с длиной, равной вероятности этого значения моделируемой дискретной случайной величины, - причём так, чтобы интервалы, закрепленные за различными значениями случайной величины не пересекались бы между собой. Поскольку сумма вероятностей всех значений случайной величины равна единице, и таков же диапазон значений, принимаемых псевдослучайной величиной, генерируемой функцией rand(), то эти подинтервалы полностью покроют диапазон возможных значений, принимаемых случайной величиной, генерируемой функцией rand(). Теперь мы должны лишь всякий раз определять, к какому из множества выбранных указанным выше образом подинтервалов принадлежит очередное выданное функцией rand() значение, и выдавать соответствующее ему значение моделируемой дискретной случайной величины. Формально этот метод может быть представлен в следующем виде. Пусть у - случайная величина, равномерно распределённая на отрезке [0,1] (в нашем случае - это результат очередного выполнения функции rand()) и о, - моделируемая дискретная случайная величина. Тогда мы выдаем по получении очередного значения g случайной величины г такое значение xi, дискретной случайной величины о,, для которого верно двойное неравенство . Этим исчерпывается решение задачи моделирования дискретной случайной величины с заданным распределением. Вышеприведённый алгоритм легко реализуется программно, - например так, как в нижеприведённой функции int discrete(float p[]).
Функция принимает массив вероятностей моделируемой дискретной случайной величины и выдаёт индекс очередного её сгенерированного значения. Следует учесть, что поскольку индексация массивов в языке С начинается с нуля, также с нуля индексируются значения разыгрываемой случайной величины. То есть функция выдаёт значения в диапазоне от 0 до k-1 для дискретной случайной величины, принимающей к значений.
1.8 Моделирование случайной величины, равномерно распределённой в интервале (а,b)
Мы используем метод обратной функции для моделирования равномерного и показательного распределений. Решаем уравнение
Для этого, подставив выражение для плотности равномерного распределения на место р(х), вначале вычислим интеграл в левой части уравнения,
а затем для вычисления значений и равномерно распределённой в интервале (а,b) случайной величины о, через значения g случайной величины г равномерно распределённой в интервале (0,1) просто выразим переменную и через переменную g из уравнения
Заметим, что полученная формула очевидна. Действительно, для пересчёта равномерно распределённой в интервале (0,1) случайной величины в случайную величину, равномерно распределённую в интервале (а,b), мы должны вначале "растянуть" диапазон значений единичной длины в диапазон значений длины (b-а) умножая значение g на (b-а), а затем переместить полученный результат из интервала (0,1) в интервал (а, b), прибавив к нему значение а. Запись полученной формулы в виде функции языка С:
float uniform (float a, float b) {return rand () * (b-a)+a ; }
позволит нам программно генерировать случайные величины с равномерным распределением в любом заданном конечном интервале значений (а, b).
1.9 Моделирование случайной величины с показательным распределением
Так же как и в предыдущем параграфе для моделирования равномерного распределения, решаем задачу методом обратной функции. Исходное уравнение имеет вид
Вначале вычислим значение интеграла в левой части уравнения:
Теперь выразим и через g из полученного уравнения . Получим формулу . Поскольку случайная величина (1-г) имеет такое же распределение, как и случайная величина г, то для получения значения и случайной величины о с показательным распределением по значению g случайной величины г с равномерным распределением в интервале (0,1) используем более простую формулу
Функция языка С для моделирования показательного распределения может быть реализована, таким образом, в следующем виде:
float exponential (float lambda) { return -log (rand ())/lambda ; }
Далее в таблице приведены первые 100 значений псевдослучайной последовательности, моделирующей случайную величину, имеющую показательное распределение с параметром л = 1, сгенерированные с помощью этой функции, а также их среднее значение, оценка дисперсии и две гистограммы: первая, построенная по первым 100 значениям из таблицы и вторая - по первой 1000 значений, также сгенерированных с помощью приведённой выше функции.
С помощью программы для генерирования показательного распределения можно моделировать простейший пуассоновский поток событий. Дело в том, что для простейшего пуассоновского потока событий с интенсивностью л интервалы времени между двумя последовательными событиями потока распределены по показательному закону с параметром л.
1.10 Моделирование нормального распределения
Функция плотности нормального распределения не интегрируется в элементарных функциях. Поэтому метод обратной функции, использовавшийся нами выше для моделирования равномерного и показательного распределений здесь неприменим. Можно воспользоваться центральной предельной теоремой и получать значения нормально распределённой последовательности как сумму независимых равномерно распределённых случайных величин. Этот алгоритм достаточно прост в реализации и поэтому часто используется. Однако мы выберем иной, аналитический подход. Можно показать, что величины, вычисляемые по формулам , , где и - две независимые случайные величины с равномерным распределением в интервале (0,1), имеют стандартное нормальное распределение. Поэтому нормальное распределение с параметрами у, т можно реализовать вычислением величины . Вот функция для генерации псевдослучайной последовательности с нормальным распределением этим методом:
float gauss(float mean, float sigma)
{return sqrt(-2*log(rand()))*sin(2*M_PI*rand())*sigma+mean;}
и гистограмма, построенная по первой тысяче значений, выданных этой функцией в результате её вызова с параметрами т = 0, о = 1:
1.11 Моделирование СМО с N обрабатывающими устройствами без очереди с отказами
Первый этап моделирования состоит в определении происходящих в системе событий и логики их обработки. В нашей системе происходят события двух типов. Первый - поступление в систему очередного требования. Второй - завершение обслуживания требования устройством. Логическая последовательность обработки событий этих двух типов следующая - сначала обрабатывается завершение обслуживания требования устройством, затем - распределение очередного поступившего в систему требования обрабатывающему устройству. Эта последовательность диктуется логикой обслуживания требований в системе. Если в какой-либо дискретный момент времени в систему поступает очередное требование и одновременно с этим завершается обработка какого-либо из уже находящихся в системе, то вначале необходимо обработать завершение обслуживания, и лишь затем поступление нового требования в систему. Это диктуется тем, что вновь поступившему требованию требуется свободное устройство, которое появится, возможно, лишь в результате завершения обслуживания какого-либо из уже обрабатывающихся системой требований. В самом общем виде завершение обработки состоит в высвобождении занятого устройства и увеличении на единицу счётчика числа обработанных требований. Точно так же, обработка поступления состоит в выборе свободного устройства и передаче ему требования на обработку, или, в случае отсутствия такового устройства, в отказе в обработке данного требования. Указанные два обработчика событий включаются в основной цикл отсчёта дискретных моментов времени периода моделирования, как показано ниже:
//основной цикл: for (t=0; tИмитационное моделирование системы ипотечного кредитования курсовая работа. Программирование, компьютеры и кибернетика.
Практическое задание по теме Расчет оптимальной структуры плана производства продукции
Сочинение Недоросль Говорящие Фамилии
Дипломная работа: Бизнес-планирование магазина. Скачать бесплатно и без регистрации
Итоговое Сочинение 2022 Реальные Темы
Реферат: Advertising Critique Essay Research Paper A critique
Курсовая работа по теме Учбово-педагогічне співробітництво в освітньому процесі
Реферат: Хозяйственная деятельность ООО Рубин и неиспользованные резервы
Институт Референдума Как Форма Народовластия Диссертация
Реферат: Планирование бюджета маркетинга
Имидж Аптеки Реферат
Курсовая работа по теме Разработка конструкции специального вертикально-сверлильного станка 2Н125
Мифология Как Ранняя Форма Мировоззрения Реферат
Реферат по теме "Прометей" Скрябина. Свето-музыкальная концепция.
Курсовая работа по теме Выкладка товаров в продовольственном отделе универмага 'Центральный' и её совершенствование за счет внедрения современных достижений в области мерчандайзинга
Как Сдать Декабрьское Сочинение 2022
Курсовая работа: Анализ затрат на один рубль продукции
Контрольная Работа География 9 Класс Огэ
Методичка: Методы оптимизации, исследование операций и теория игр. Скачать бесплатно и без регистрации
Оформление Реферата Оглавление Образец
Реферат: Подбор персонала 2
Менеджмент - Менеджмент и трудовые отношения учебное пособие
Курманджан-датка - мать кыргызской нации - История и исторические личности курсовая работа
Арабская биология в эпоху средневековья - Биология и естествознание реферат


Report Page