Реферат по предмету "Экономико-математическое моделирование"


Имитационное моделирование работы парикмахерской

Введение
Имитационноемоделирование основано на прямом описаниимоделируемого объекта. Существенной характеристикой таких моделей являетсяструктурное подобие объекта и модели. Это значит, каждому существенному с точкизрения решаемой задачи элементу объекта ставится в соответствие элемент модели.При построении имитационной модели описываются законы функционирования каждогоэлемента объекта и связи между ними. Работа с имитационной моделью заключаетсяв проведении имитационного эксперимента. Процесс, протекающий в модели в ходеэксперимента, подобен процессу в реальном объекте. Поэтому исследование объектана его имитационной модели сводится к изучению характеристик процесса,протекающего в ходе эксперимента.
В теориисистем массового обслуживания (в дальнейшем просто – CMО) обслуживаемый объектназывают требованием. В общем случае подтребованием обычно понимают запрос наудовлетворение некоторой потребности, например, обслуживание автомобиля назаправочной станции, разговор с абонентом, посадкасамолета, покупка билета, получение материалов на складе и т д.
Напервичное развитие теории массового обслуживания оказали особое влияние работыдатского ученого А.К. Эрланга (1878-1929).
Теориямассового обслуживания – область прикладнойматематики, занимающаяся анализом процессов в системах производства,обслуживания, управления, в которых однородные события повторяются многократно,например, на предприятиях бытового обслуживания; в системах приема, переработкии передачи информации; автоматических линиях производства. В теории СМО рассматриваются такие случаи, когда поступлениетребований происходит через случайные промежутки времени, а продолжительностьобслуживания требований не является постоянной, т.е. носит случайный характер.В силу этих причин одним из основных методовматематического описания СМО является аппарат теории случайных процессов. Основной задачей теории СМО является изучениережима функционирования обслуживающей системы и исследование явлений,возникающих в процессе обслуживания. Так, одной изхарактеристик обслуживающей системы является время пребывания требования вочереди. Очевидно, что это время можно сократить засчет увеличения количества обслуживающих устройств. Однако каждоедополнительное устройство требует определенных материальных затрат, при этомувеличивается время бездействия обслуживающего устройства из-за отсутствия требованийна обслуживание, что также является негативным явлением. Следовательно, втеории СМО возникают задачиоптимизации: каким образомдостичь определенного уровня обслуживания (максимального сокращения очереди илипотерь требований) при минимальных затратах, связанных с простоем обслуживающихустройств.
Цель курсовой работы по дисциплине «Имитационное моделированиеэкономических процессов» — ознакомление с современными концепциями построениямоделирующих систем, с основными приемами имитационного моделирования, встраиваемымив общуюпроцедуру преобразования информации от структурирования иформализации составляющих предметных областей до интерпретации обработанныхданных и приобретенных знаний, связанных с описанием экономических процессов.Данная работа представляет собой работу по созданию и реализации математическоймодели системы массового обслуживания для получения необходимых нам результатовна основании исходных данных и известных математических зависимостей.
Целью данной курсовой работы является моделирование работыпарикмахерской, создав программу на языке С++, анализ работы парикмахерской;имитирующую работу парикмахеров за определенное время; время и ценуобслуживания одного клиента, выручку парикмахерской, средний размер очереди,число отказов и т д.
Глава 1 Теоретический анализ методов решения задачи
 
1.1 Анализ предметной области
Одной из динамично развивающихся сфер является сфера оказания парикмахерскихуслуг. Парикмахерская — это предприятие, занимающееся предоставлением услуг длянаселения по уходу за волосами (стрижка, завивка, создание причёски, окраска,мелирование и другие виды работ с красителями, бритьё и стрижка бород и усов идр.) в оборудованном специально для этого помещении. Как правило, впарикмахерских дополнительно оказываются следующие виды услуг: маникюр,педикюр, косметические услуги и услуги визажиста. В настоящее время впарикмахерской можно получить услуги солярия и косметолога.
Парикмахерские,согласно действующему стандарту, в зависимости от ассортимента и качестваоказываемых услуг бывают следующих видов:
· парикмахерская;
· парикмахерская-салон;
· парикмахерская-люкс.
Специалисты,работающие в парикмахерской, называются парикмахерами. Парикмахер, парикмахер-стилист —специалист в области создания стиля человека с помощью причёски. Средипарикмахеров существуют следующие специализации:
· Специалист по мужским стрижкам (мужской мастер).
· Специалист по окрашиванию волос (парикмахер-колорист).
· Специалист по женским прическам (женский мастер).
· Специалиста по мужским и женским стрижкам
Виды услуг,предлагаемые парикмахерами:
· Лечение волос
· Стрижка волос
· Окраска волос (колорирование)
· Укладка волос
 
1.2Теоретический обзор методов решения задачи
1.2.1 МетодМонте-Карло
В конце40-х годов американские физики применили для вычисления на ЭВМ сложных квадратурметод, основанный на вероятностных законах. Этот метод был назван ими методомМонте-Карло, имея в виду Монте-Карло как мировой центр игр, исход которыхопределяется случаем. Суть метода станет ясной из следующего примера. Предположим,что требуется определить площадь s под некоторой кривой />наотрезке />, тоесть вычислить значение определённого интеграла /> (1).Это можно сделать следующим образом. Будем выбирать случайные точки впрямоугольнике/> площадью/> (см.рис.1) и считать число точек />,попавших под кривую />.Тогда при общем числе />выбранныхточек, отношение />, очевидно,будет приближённо равным отношению искомой площади /> подкривой />наотрезке /> к площади/>прямоугольника.Откуда искомая площадь может быть вычислена по формуле/>причёмвычисленное таким образом значение будет тем ближе к точному значению интеграла(1), чем больше точек /> взятои чем более равномерно распределены точки внутри прямоугольника.
/> />
/>
/>/>/>/>
/>/> />
/> />
Рис.1.Искомаяплощадь S
Проблемасостоит в том, чтобы получить на ЭВМ случайные числа с равномернымраспределением. Действительно, ЭВМ представляет собой детерминированное устройство,которое при одних и тех же условиях всегда выдает один и тот же результат.
Одним изочевидно напрашивающихся представляется решение получить случайнуюпоследовательность каким-либо из известных физических методов, например с помощьюрулетки, какие используются в казино, после чего записать эти случайные числаво внешнюю память ЭВМ с целью последующего использования в программе. Однакоэто потребовало бы значительных затрат времени для получения достаточно длиннойслучайной последовательности, с одной стороны, и внешней памяти для её сохранения,с другой. Следует отметить также тот факт, что в момент появления метода ресурсывнешней памяти ЭВМ были весьма ограничены. Другим возможным решением было быприменить непосредственно какой-либо физический метод генерации случайных чиселс помощью специально сконструированного для этих целей подключаемого к ЭВМаппаратного устройства и далее получать с его помощью случайные числанепосредственно во время работы программы.
В качествеосновы для такого устройства можно было бы использовать какой-либо электронныйприбор, например электронную лампу, вырабатывающие случайные уровни потенциала,обусловленные тепловыми флуктуациями. Такие устройства могут бытьсконструированы, однако возникают проблемы с устойчивостью их работы во времении при изменении условий окружающей среды; существует также проблема сертификацииподобного устройства. В итоге исследователи остановились на более простой иоказавшейся в дальнейшем продуктивной идее генерации вместо случайной такназываемой псевдослучайной, последовательности чисел с помощью специальноразработанного для этих целей алгоритма.

1.2.2 МетодНеймана
Дляполучения псевдослучайной последовательности Фон Нейманом был придуман простойв вычислительном отношении алгоритм, известный как метод квадратов.Метод состоит в многократном повторении процедуры, состоящей в возведении вквадрат некоторого числового значения и взятия средних цифр полученногорезультата. Пусть, например, мы выбрали в качестве исходного значения число />.Тогда /> и />, /> и />, итак далее. Однако вскоре у метода обнаружился недостаток, заключающийся всущественной неравномерности статистических частот различных числовых значенийэлементов получаемой этим методом последовательности.
1.2.3Мультипликативный конгруэнтный метод
Этот методоснован на рекуррентном вычислении элементов псевдослучайной последовательностикак результата выполнения операции сравнения по некоторому заданному основанию.Переход к следующему числу последовательности производится простым умножениемрезультата сравнения на некоторую заданную константу. На практике операциивычисления произведения и взятия сравнения по заданному основанию совмещены. Вкачестве основания сравнения используется величина />,где m– разрядность целочисленногорегистра ЭВМ, в котором хранится результат вычисления произведения.
Прицелочисленном умножении этого результата на заданную константу достаточнобольшой величины происходит переполнение, вследствие чего в регистре результатасохраняются лишь mмладших разрядовпроизведения. Это число фактически и будет результатом операции сравнениявычисленного произведения с числом />,(напомним, что операцией сравнения по некоторому основанию называетсявычисление остатка от деления первого операнда на это основание).
Формальносхема вычисления может быть определена следующим образом: />= С, />(mod/>),где /> i-ый член псевдослучайнойпоследовательности, С – некоторая константа, m – разрядность целочисленного регистраЭВМ. Качество полученной псевдослучайной последовательности зависит отвыбранного значения константы С. Установлено, что хороший результат достигаетсяпри выборе ее значения равным максимальной нечетной степени числа 5,помещающегося в числовом регистре фиксированной разрядности. Для 32-хразрядного регистра ЭВМ это число будет />.
1.2.4 Равномерноераспределение
Случайная величина ξ, с равномерным распределением наотрезке [а,b] описывается функциейплотности вероятности:
P(x)=/>               />
/>
a                       b
Рис.2 Равномерное распределение
Математическоеожидание
/>
Для вычисления дисперсии вначале вычислим математическое ожиданиеквадрата этой случайной величины:
/>
Теперь:
/>=/>
1.2.5Моделирование дискретной случайной величины
Предположимвначале, что нам требуется смоделировать простейшую дискретную случайнуювеличину, принимающую два значения с равными вероятностями. Эта случайнаявеличина моделирует выбрасывание жребия или монеты. Если мы имеем в своемраспоряжении генератор псевдослучайных последовательностей, описанный в предыдущемпараграфе, то задача может быть решена следующим, достаточно очевидным,способом. Поскольку псевдослучайное число, получаемое с помощью функции rand(), распределено равномернов интервале (0,1), то одинаково вероятно, будет ли очередное полученноезначение принадлежать левой половине этого интервала [0,0.5) или правой [0.5,1]. По этой причине мы можем одно из двух значений нашей случайная величинапоставить в соответствие первому из этих двух подинтервалов, а в другое –второму, и далее выдавать значения в зависимости от того к какому из этих двухподинтервалов будет принадлежать очередное выпавшее значение генератора rand(). Эта схема, очевидно,легко обобщается на дискретную случайная величина, принимающую более двухзначений. За каждым значением мы должны в этом случае «закрепить» некоторыйподинтервал значений функции rand() с длиной, равной вероятности этого значения моделируемойдискретной случайная величина, — причем так, чтобы интервалы, закрепленные заразличными значениями случайные величины не пересекались бы между собой.Поскольку сумма вероятностей всех значений случайная величина равна 1, и таковже диапазон значений, принимаемых псевдослучайной величиной, генерируемойфункцией rand(), то эти подинтервалы полностью покроют диапазон возможныхзначений, принимаемых случайная величина, генерируемой функцией rand().
Теперь мыдолжны лишь всякий раз определять, к какому из множеству выбранных указаннымвыше образом подинтервалов принадлежит очередное выданное функцией rand() значение, и выдаватьсоответствующее ему значение моделируемой дискретной случайная величина.
Формальноэтот метод может быть представлен в следующем виде. Пусть /> –случайная величина, равномерно распределенная на отрезке [0,1] (в нашем случае– это результат очередного выполнения функции rand()) и /> –моделируемая дискретная случайная величина с распределением />.Тогда мы выдаем по получении очередного значения g случайной величины /> такоезначение /> дискретнойслучайной величины />,для которого верно двойное неравенство /> .Этим исчерпывается решение задачи моделирования дискретной случайной величины сзаданным распределением. Вышеприведенный алгоритм легко реализуется программно,- например так, как в нижеприведенной функции int discrete (float p[]):
unsigned int discrete (float p[])
{
         float s, r;
         int k=0;
         s=p[0]; r=rand();
         while (s
          {
k++;
          s=s+p[k];
          }
return k;
}
Функцияпринимает массив вероятностей моделируемой дискретной случайной величины ивыдает индекс очередного ее сгенерированного значения. Следует учесть, чтопоскольку индексация массивов в языке С начинается с нуля, также с нуляиндексируются значения разыгрываемой случайной величины. То есть функция выдаетзначения в диапазоне от 0 до к-1 для дискретной случайной величины, принимающейк значений. Ниже для иллюстрации приведен ряд из 100 значений выданныхпрограммой, использующей вызов данной функции для массива вероятностей p={0.5, 0.5}:
0 1 1 1 0 00 1 1 1 1 1 1 0 1 0 0 1 1 0 1 1 0 0 0 0 0 1 0 1 0 0 0
1 0 1 0 0 10 1 0 0 1 1 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0
1 0 1 0 1 11 0 0 1 1 0 1 0 1 0 0 1 1 1 1 0 0 0 0 1 0 1 0 0 0 0 1
1.2.6Моделирование случайной величины, равномерно распределенной в интервале (a,b)
/>Мыиспользуем метод обратной функции для моделирования равномерного ипоказательного распределений. Решаем уравнение />.Для этого, подставив выражение для плотности равномерного распределения наместо />,вначале вычислим интеграл в левой части уравнения:
/>,
а затем длявычисления значений uравномерно распределенной винтервале (a,b) случайной величины /> череззначения gслучайной величины />,равномерно распределенной в интервале (0,1) просто выразим переменную uчерез переменную gиз уравнения />:
/>
Заметим,что полученная формула очевидна. Действительно, для пересчета равномернораспределенной в интервале (0,1) случайной величины в случайную величину,равномерно распределенную в интервале (a,b), мы должны вначале «растянуть»диапазон значений единичной длины в диапазон значений (b-a) умножая значения gна (b-a), а затем переместить полученный результат из интервала (0,1) винтервал (a,b), прибавив к нему значение a.
Записьполученной формулы в виде функции языка С:
float uniform (float a, float b) {return rand()*(b-a)+a;}
позволитнам программно генерировать случайные величины с равномерным распределением влюбом заданном конечном интервале значений (a,b).
 

Глава 2Имитационное моделирование процесса
 
2.1 Постановка задач (Вариант №2)
Провестиимитационное моделирование работы парикмахерской. Количество парикмахеров впарикмахерской – n. Время моделирования –t часов. Интервал времени между двумяпоследовательными посещениями парикмахерской клиентами моделировать случайнойвеличиной τ1 с дискретным равномерным распределением в диапазонезначений [τ1min,…,τ1max] минут. Время обслуживания одного клиента моделировать случайнойвеличиной τ2с распределением P(τ2). Цена обслуживания клиентаопределяется функцией времени обслуживания вида c=aτ2.
Если вмомент прибытия очередного клиента парикмахеры заняты, то клиент помещается вочередь. Максимальная длина очереди 10 чел. Если длина очереди максимальна, топроизводится отказ в обслуживании очередного клиента.
Рассчитать:
§  количество обслуженных клиентов за период моделирования;
§  выручку парикмахерской R за период моделирования;
§  средний размер очереди;
§  число отказов r.
Параметрымодели:
§  n=2;
§  t=8;
§  τ1min =1, τ1max =15;
§  P(τ2) = ( 10 12 13 14 15 16 17 18 19)
( 0,05 0,05 0,050,05 0,05 0,2 0,2 0,2 0,15)
(первая строка — значение случайной величины в минутах, вторая — соответствующие вероятности);
§  а=3
Определить методом машинного эксперимента параметр τ1max, максимизирующий выручку R при условии r=0. Средство реализации модели – программа на языке С++.
2.2 Общий алгоритм моделирования процесса
Алгоритмимитационного моделирования процессов данного типа структурируется вокругследующих групп основных компонентов:
1. Организация цикла перебора отсчетов дискретного временимоделирования, т.е. собственно организация процесса как последовательностиотдельных состояний системы в дискретном времени;
2. Наполнение этого цикла множеством независимых обработчиковслучайных событий происходящих в моделируемой системе.
Такимобразом, мы имеем общий способ построения алгоритмов подобного типа, которыйвключает следующие основные компоненты:
1. Анализ событий в системе и проектирование структур данныхнеобходимых для хранения информации связанный с этими событиями;
2. Разработка отдельных алгоритмов обработки этих событий включающихв общем случае модификацию параметров состояния системы и моделированиеследующего события того типа, обработка которого производится этим алгоритмом;
Связываниеотдельных разработанных выше алгоритмов и структур данных в единой программе.
2.3 Моделирование программы с заданнымипараметрами
В данной курсовой работе необходимо провести имитационноемоделирование работы Парикмахерской. Для моделирования данной задачи мыиспользуем СМО с N обрабатывающими устройствами без очереди с отказами. Алгоритмпоставленной задачи, которая рассмотрена в п. 2.2. необходимо реализовать наязыке программирования С++.
В качестве параметров модели используем следующие компоненты имакроопределения:
· Т — время моделирования (в мин.);
· RIN — генератор случайного потока поступающих в систему требований;
· RОN — генератор интервалов времени обработки требованияобрабатывающим устройством;
· n– общее число мест в кафе.
Исходный текст программы начинается с определения параметровмодели и прочих исходных данных. Все они определяются с помощью директивыпрепроцессора "#define". Макросы RIN и RОN определяют вызовы функций, моделирующих распределение интерваловвремени между событиями прихода посетителей и интервалов времени от начала дозавершения обслуживания посетителей, соответственно. А макрос Trafik определяет вызов функции,моделирующую средний трафик пользователей. Сами функции моделирования случайныхпоследовательностей, распределенных по различным законам, определены в файле Rand.срр, текст которогоподключается к тексту модели процесса с помощью директивы препроцессора "#include" в первой строкетекста программной реализации модели. Константа «Т» определяетдлительность периода моделирования в единицах дискретного времени моделирования(в минутах). Константа «n» задаёт число обрабатывающих посетителей. ton[i]=-1 определяет специальное значение дляэлемента массива ton[ ], означающее, что место освободилось (компьютер свободен).Поскольку массив ton[ ] предназначен для хранения моментов времени ухода посетителя,которые могут принимать лишь неотрицательные значения, то в качестве такого,сигнализирующего о незанятости компьютера значения, взято первое неиспользуемоеотрицательное число — "-1".
Все переменные определяются как длинные целочисленные переменные.Это связано с тем, что диапазона значений простого типа int — от -32768 до 32767 можетбыть недостаточно для представления используемых значений данных модели. Далееследует собственно моделирующий алгоритм:
1.Инициализация переменных:
1.1. Инициализация массива ton[ ] – все парикмахеры помечаютсякак свободные присваиванием элементам массива значения "-1":
" for(i=0;i
2. Цикл перебора дискретных отсчётов времени периодамоделирования:
2.1. Определение числа итераций цикла перебора дискретных отсчётовпериода моделирования: «for(j=0;j
2.1.1.Обработка ухода посетителя парикмахерской:
2. 1.1.1. Определение числа итераций цикла перебора устройств:
«for(i=0;itсов-
падает с уходом посетителя ton[i]: “if(ton[j]==i)”, и вход
в тело цикла “{”,
2.1.1.1.1. освобождение места (парикмахера): “ ton[j]=-1;”;
2. 1.1. 2. 2. увеличение на единицу числа обслуживаемых
посетителей: «nPos++»;
2. 1.1.3. Конец цикла 2.1.1.1.: "}".
2.1.2. Обработка прихода новогопосетителя:
2. 1.2.1. Поиск первого свободного обрабатывающегоустройства:
«j=0;  while(ton[j]!=-1)j++;
2. 1.2.2. Генерация момента прихода впарикмахерскую нового посетителя и сохранение его в переменной tin: “tin=ceil(RIN)+i;”
2.2. Конец блока цикла 2.1.: „}“.
3. Завершение процесса моделирования:
3.1. Вывод результатов моделирования.
2.4 Разработка программной реализацииалгоритма
В данном разделе мы разрабатываемпрограммную реализацию имитационного моделирования работы Парикмахерской.Помимо общих переменных, которые были описаны выше в п.2.3., в этом разделеможно описать и частные переменные, которые используются в программе,разработанной на языке программирования С++:
В программной реализации используютсяследующие частные переменные:
· i, j — используются для хранения вспомогательных индексных значений;
· t — дискретные отсчёты времени периода моделирования;
· tin – входящий поток, время прихода посетителя (момент поступления всистему следующего требования);
· ton [ ] — моменты завершения обработки требований соответствующимиэлементам массива обрабатывающими устройствами, то есть массив для сохраненияинтервалов времени ухода посетителей;
· Cena–цена обслуживания клиента;
· r– число отказов пользователям;
· m– число обслуженных посетителей;
R-выручка парикмахерской запериод моделирования
Программная реализация алгоритмапроизводится в несколько этапов:
1. Подключение в программу заголовочныхфайлов:
#include //включение в программу текстов заранее подготовленных файлов
#includeiostream.h> //содержит потоки данныхввода/вывода
#includemath.h> //хранятся математическифункции
#include //
#include //
# include //содержитописания данных
#define //определение параметров модели и прочихисходных данных на глобальном уровне, описанной в п.
#define RCLIENTS x1[discrete(p1)]
float x1[]={7,8,9,10,11,12,13,14,15};
float p1[]={0.05, 0.05, 0.05, 0.2, 0.2, 0.2, 0.05, 0.05, 0.15};
#define CENA x2[discrete(p2)]
floatx1[]={10,12,13,14,15,16,17,18,19};
floatp1[]={0.05, 0.05, 0.05,0.05, 0.05, 0.2, 0.2, 0.2, 0.15};
#defineC(125*125*125*125*5)//объявление мультипликативного конгруэнтного метода, которое описывается вп.1.3.
#definen2// общее число парикмахеров
#defineT(8*60*30) // период моделирования (в мин.)
2. Генерация мультипликативным конгруэнтнымметодом псевдослучайной последовательности чисел:
floatrand(void) //генерацияпсевдослучайной последовательности с равномерным распределением
{
static unsigned long int u=C;
// static – модификатор для того, чтобы локальная переменная u сохраняла значение междудвумя последующими обращениями к этой функции
u=u*C; //С — константа
returnu/float(0xfffffffful); // (0xfffffffful) – максимально беззнаковые целоечисло, заданное в шестнадцатеричной форме.
}
3. Вызов функций моделирования:
//функция моделирования показательного распределения, описанная вп.1.7.
unsigned int discrete( float p[ ])
{
float s, r;
int k=0;
s=p[ ];
r=rand( );
while (s
{
k++;
s+=s+p[k];
}
returnk;
}
4. Инициализация
unsigned long int i,j,cost, R,r,n,k;
float t, tin;
m=0; k=0; R=0;
5. Запускпрограммы
tin=RIN;
for(i=0;i
6. Обработказавершения
for(j=0;j
{
         m++;
          ton[j]=-1;
}
7.Обработка очередного входящего события
if(i==tin)
{
          j=0; while((ton[j]!=-1)&& (j
          if(j!=N)
          {
         i=RCLIENTS;
n++;
for(;t
if(rand1()
{
cost=cost+a*CENA;
k++;
}
          } else r++;
          tin=RIN+i;
}
}
8. Выводимыерезультаты:
cout
cout
cout
cout
cout
getch();
}
2.5 Моделирование программы с заданными параметрами
Запустивпрограмму, написанную на языке С++, мы получили следующие результаты согласноисходным данным:
 

/>
Рис3.Результат выполнения разработанной программы
При данномколичестве парикмахеров– 2, было рассчитано:
· Общее количество посетителей-25 человек;
· Общее количество обслуженных клиентов-20человек;
· Oбщее количество отказов-5 человек;
· Полученная прибыль составила 13690руб.
2.6 Машинный эксперимент с разработанноймоделью
Врезультате машинного эксперимента с разработанной моделью мы получили следующиеданные, приведенные в таблице 1:
Таблица 1.Полученные результаты задачиКоличество парикмахеров Общее кол-во посетителей Число обслуженных Число отказов Выручка /> /> /> 1 17 13 4 8398 /> 2 25 20 5 13690 /> 3 45 27 18 17530 /> 4 57 33 24 16890 /> 5 64 43 21 26540 /> 6 78 51 27 23540 /> 7 89 63 26 26540 /> 8 110 76 34 31790 /> 9 124 81 43 37950 /> 10 140 97 43 39890 />
Изменяячисло парикмахеров в салоне, мы получаем следующие графики:
/>
Рис 4.График зависимости дохода Парикмахерской от количества мастеров
По даннымтаблицы видим что увеличивается с увеличением числа парикмахеров в салоне до7,дальше результат не меняется и остается на постоянном уровне.
/>
Рис.5.График зависимости количества посетителей от числа парикмахеров
Здесь мыможем заметить то же самое, что поток клиентов в салон увеличивается доопределенного предела, а после остается не изменным.
Изменяячисло отказов поступающим требованиям, получим следующий график:
/>
Рис.6.График зависимости обслуженных требований от числа парикмахеров
Здесь мывидим, что чем больше в салоне мастеров, то тем больше число обслуженныхклиентов.
/>
Рис.7.График зависимости отказов поступающим требованиям от числа парикмахеров
Этот графикпоказывает нам, что число отказов поступающим требованиям уменьшается приувеличении числа мастеров в салоне.
 

Заключение
Одной изнаиболее крупных отраслей развития технологий с применением ЭВМ, являетсяматематическое моделирование, которое достаточно просто (в отличие отаналогового моделирования) может быть реализовано на ЭВМ разных модификаций ивозможностей. Математическое моделирование тесно связано с имитационныммоделированием. Одним из разделов математического моделирования являются моделисистем массового обслуживания и их изучение.
В данномкурсовом проекте была построена имитационная модель процесса работы Парикмахерскойс использованием программы С++, которая рассчитывает общий объем полученнойвыручки, количество обслуженных посетителей, число отказов общее количествопосетителей. Результатом данного курсового проекта является имитационная модельработы процесса обслуживания клиентов Парикмахерской. Модель реализована наязыке программирования высокого уровня Си++. Текст программы состоит изследующих функций:
Программаявляется рабочей. Выдает на экран вероятностные и статистические характеристикиработы процесса обслуживания клиентов в Парикмахерской в соответствии спостановкой задачи.
Наосновании проделанной работы, можно сделать следующие выводы:
1.  Математическая модель системы массового обслуживания, созданнаянами, адекватна реальному объекту;
2.  Проведенные исследования показали эффективность нашей модели испособов “приведения её в действие” при определении необходимых нам параметровпо сравнению с ручным способом моделирования и расчетов параметров;
3.  Созданная модель имеет достаточную, для таких моделей, степеньуниверсальности, т.к. диапазон входных параметров системы можно легко и быстроизменить.
Список использованной литературы
 
1.  Методические указания к выполнению курсового проекта по дисциплине«Имитационное моделирование экономических процессов».- Махачкала, ГОУ ВПО ДГТУ,2008, 51 стр.
2.  «Машинные имитационные эксперименты с моделями экономическихсистем» под ред. Нейлера;
3.  Кеольтон В., Лод А. «Имитационное моделирование. Классика CS» издание 3-е, 2004г.;
4.  Варфоломеев В.И. «Алгоритмическое моделирование элементовэкономических систем». — М.: Финансы и статистика, 2000г.
5.  Клейнрок Л. «Теория массового обслуживания.»-М.:Машиностроение,1979.-432 с.
6.  Прицкер А. «Введение в имитационное моделирование»-М.:Мир,1987.-644с.
7.  Емельянов А.А., Власова Е.А., «Имитационное моделированиеэкономических процессов» — М. Финансы и статистика,2002.
8.  Соболь И.М. «Численные методы Монте-Карло».-М.Наука,1973.
9.  Бахвалов Н.С. «Численные методы» – М.: Наука, 1973

Приложение
 
Программа,реализующая моделирование работы Парикмахерской.
#include
#include
#include
#include
#include
#define VACANCY (-1)
#define T (200*8*60)
#define RCLIENTS x1[discrete(p1)]
float x1[]={7,8,9,10,11,12,13,14,15};
float p1[]={0.05,0.05,0.05,0.2,0.2,0.2,0.05,0.05,0.15};
#define RCOST x2[discrete(p2)]
float x2[]={10,12,13,14,15,16,17,18,19};
float p2[]={0.05,0.05,0.05,0.05,0.05,0.2,0.2,0.2,0.15};
#define a 3
#define L 10
#define RAND (125*125*125*125*5)
float rand1(void)
{
static unsigned long int u=RAND;
u*=RAND;
return u/(float(0xFFFFFFFF)+1.0);
}
unsigned int discrete(float p[])
void main (void)
{
unsigned long int i,j,cost,k,n,r,R;
float t,tin;
n=0; k=0; R=0;
for(t=RIN;t
{
i=RCLIENTS;
n+=i;
for(;i
if(rand1()
{
cost=cost+a*RCOST;
k++;
}
}
cout
cout
cout
cout
cout
}


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

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

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

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.