183468 (Имитационное моделирование на основании предварительно установленных зависимостей)
Описание файла
Документ из архива "Имитационное моделирование на основании предварительно установленных зависимостей", который расположен в категории "". Всё это находится в предмете "экономико-математическое моделирование" из , которые можно найти в файловом архиве . Не смотря на прямую связь этого архива с , его также можно найти и в других разделах. Архив можно найти в разделе "контрольные работы и аттестации", в предмете "экономико-математическое моделирование" в общих файлах.
Онлайн просмотр документа "183468"
Текст из документа "183468"
КАФЕДРА
Экономической кибернетики
имитационное моделирование на основании предварительно установленных зависимостей.
г. Желтые Воды 2004
Содержание
-
Постановка задачи _________________________________ 3
-
Метод решения задачи _________________________________ 5
-
Программное решение _________________________________ 8
-
Руководство пользователя_______________________________ 11
-
Листинг программы _________________________________ 12
Постановка задачи
В современном мире гарантией эффективной работы любого предприятия служит рациональное использование денежных средств и трудового фактора. Так для расчета экономического эффекта работы кассового зала необходимо провести имитационное моделирование на основании предварительно установленных зависимостей.
Допустим, что клиенты в зал прибывают с интервалом, исчисляемым в минутах (см. рис. 1).
Рис. 1 – «Приход клиентов в зал»
Приход клиентов в зал описывается пуассоновским потоком с интенсивностью r, который определяется следующим образом:
(1.1)
где: r – интенсивность потока;
k – время между приходами клиентов.
Параметр k может принимать дискретные значения от нуля до бесконечности. Причем k=0 означает приход сразу двух клиентов.
Предположим, в зале имеется N касс. Математическое ожидание обслуживания клиентов в банке обозначим . Обслуживание клиентов у касс происходит по экспоненциальному закону распределения случайной величины ( - время обслуживания клиентов) с плотностью распределения :
(1.2)
Примечание:
Если в зале есть свободные кассы, то клиент становится на обслуживание к ближайшей из них (т.е. к кассе с минимальным номером). Если все кассы заняты – клиент становится в очередь к той кассе, где очередь минимальна. Если очереди одинаковы, то клиент становится в любую из них.
Для решения поставленной задачи необходимо разработать алгоритм имитационного моделирования работы кассового зала за 24-часовый рабочий день. А также определить время простоя касс и количество клиентов в очереди не обслуженных на момент закрытия банка.
-
-
Метод решения задачи
Имитационное моделирование на ЭВМ процесса функционирования автоматизированной системы управления работой кассового зала позволяет получить численное решение поставленной задачи. Суть рассматриваемого приближенного метода решения состоит в проведении ряда случайных испытаний вероятностной модели исследуемой системы и получении совокупности реализаций случайных процессов изменения состояния.
В результате многократной реализации случайных процессов определяются оценки вероятности тех или иных событий и средние значения случайных величин. Имитационное моделирование связано с необходимостью воспроизведения случайных событий и величин, распределенных по произвольному закону. Существует несколько способов генерации случайных величин и формирования их распределений. Модель системы управления работой кассового зала включает в себя:
-
Приход клиентов в зал ;
-
Время обслуживания клиентов у касс .
По условию поставленной задачи приход клиентов в зал описывается пуассоновским потоком с интенсивностью r. Для лучшего понимания сути распределения Пуассона необходимо знать основные определения:
Интенсивность потока – среднее число событий, которое появляется в единицу времени.
Поток – последовательность событий, которые наступают в случайные моменты времени.
Закон распределения Пуассона выражается формулой (1.1).
Будем моделировать интервал времени между двумя последовательно зашедшими в банк клиентами методом Монте-Карло с датчиком случайных чисел на интервале [0 - 1].
Совокупность независимых случайных событий, образующих полную группу, характеризуется вероятностями появления каждого из событий , причем . Для моделирования этой совокупности случайных событий используется генератор случайных чисел, равномерно распределенных в интервале [0 - 1]. При делении отрезка [0 - 1] на n частей, численно равных , возникновение события устанавливается путем определения нахождения случайного числа Х в пределах интервала при проверке условия , где изменяется от нуля до n. При имеем ; при имеем и так далее. При подстановке в формулу (1.1) получим:
;
;
и так далее.
Причем (мин.) – максимальное количество ожидания клиентов.
Так как опыт проводится многократно, то, очевидно, что частота попадания случайных чисел на каждый из отрезков, определяющихся их длиной, и соответствует полученным вероятностям
Моделирование времени обслуживания клиентов у касс происходит по экспоненциальному закону распределения, формула которого представлена выше (формула (1.2)).
Время обслуживания клиентов , как и любая иная случайная величина, описывается функцией распределения , определяемая как вероятность случайного события, заключающегося в том, что время обслуживания клиентов меньше некоторого заданного времени :
Эта вероятность рассматривается как функция во всем диапазоне возможных значений величины . Функция распределения любой случайной величины является неубывающей функцией времени . Примерный вид функции дан на рисунке 3.
Рис. 3 – «Функция распределения экспоненциального закона»
Так как значения не могут быть отрицательными, то . При величина стремится к единице. Таким образом, функция распределения времени обслуживания клиентов:
(1.3)
где - параметр распределения (среднее время обслуживания клиентов у кассы).
Соответственно плотность распределения:
(1.4)
Для моделирования времени обслуживания клиента у кассы проинтегрируем функцию распределения :
(1.5)
От датчика случайных чисел равномерно распределенных на интервале [0 - 1] получаем очередное число Х, которое подставляем в формулу (1.5) и вычисляем :
(1.6)
Из соотношения (1.6) найдем соответствующее Х, которое будем принимать за случайное число, обозначающее время обслуживания данной кассой.
-
-
ПРОГРАММНОЕ РЕШЕНИЕ
Программа имитационного моделирования работы кассового зала написана на языке C с помощью среды разработки Borland C++ 3.1.
Б лок-схема имитационного моделирования работы кассового зала
Ввод кол-ва касс m
Параметр распределения Пуассона
Ввод lambda
Ввод tau_min и tau_max
мин. и мак. время обслу- живания клиентов у касс
Ввод hours
Время моделирования работы кассового зала в ч.
Математическое ожи-дание и средн. кв. от-клонение
Ввод MO и SKO
Создание и обнуление массива и переменных
i : : = 1
Нет
Да
Нет
Да
Нет
Да
Нет
Да
tau[i]--
t_free++
i++
Нет
Да
enter++
enter_time_=time_to()
i=1; INDPAS=1
Нет
Да
tau[i]=_tau()
INDPAS=0
i++
Да
Нет
Да
Нет
refuse++
Да
Нет
serve++
current_time++
stand=0; i=1
Да
Нет
stand++
i++
serve-=stand;
t_free_av=(float)t_free/m; serve_av=(float)serve/enter;
refuse_av=(float)refuse/enter;
Коррек. кол-во обслуженных
Вычислим ср. время простоя
Вычислим ср. % обслуженных
Вычисл. ср. % необслуженных
Вывод результатов
Исходный текст программы состоит из одного файла Kas1.c который содержит реализацию таких функций программы:
– float RND_DIG (void) - Функция возвращающая СЧ в диапазоне [0, 1];
– void massive (void) - Функция выделяющая память под массив времени обслуживания у каждой из касс;
– float _tau(void) - Функция возвращающая время обслуживания у кассы;
– float time_to(void) - Функция определяет время входа следующего клиента. Промежутки между входами распределены по закону Пуассона с параметром lambda;
– void inf (void) - Функция вывода информации пользователю.
РУКОВОДСТВО пользователя
-
Программа имитационного моделирования работы банка расположена по следующему адресу:
A:\Kas1.exe
-
На запрос программы:
«Введите количество касс в кассовом зале ж\\д вокзала:»
Вводим предполагаемое (данное) количество касс обслуживающих клиентов.
-
На запрос программы:
«Введите параметр распределения Пуассона для определения времени между входами пассажиров в зал:»
Вводим lambda – Параметр распределения Пуассона
4. На запрос программы:
«Введите минимальную продолжительность обслуживания у касс»
Вводим tau_min – минимальную продолжительность обслуживания.
-
На запрос программы:
«Введите максимальную продолжительность обслуживания у касс»
Вводим tau_max – максимальную продолжительность обслуживания.
-
На запрос программы:
«Введите время моделирования работы зала(в ч.):»
Вводим hours - время моделирования работы зала.
-
На запрос программы:
«Введите математическое ожидание времени обслуживания у касс:»
Вводим MO - математическое ожидание.
-
На запрос программы:
«Введите среднеквадратическое отклонение времени обслуживания у касс:»
Вводим SKO - среднеквадратическое отклонение.
8. После просмотра результатов, нажмите любую клавишу для завершения работы.