Моделирование работы лодочной станции

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

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

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

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

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

«Моделирование работы лодочной станции»

Содержание

  • Содержание
  • Введение
  • 1. Принцип функционирования моделируемой системы
    • 1.1 Постановка задачи
    • 1.2 Блок - схема алгоритма функционирования моделируемой системы
    • 1.3 Выбор концептуальной модели
  • 2. Формализация модели
    • 2.1 Группировка событий
    • 2.2 Переменные модели
    • 2.3 Алгоритм имитации модели
      • 2.3.1 Процедура планирования событий
      • 2.3.2 Процедура группировки событий
      • 2.3.3 Процедура извлечения первой записи из календаря
      • 2.3.4 Процедура инициализации
      • 2.3.5 Главный модуль
      • 2.3.6 Процедура поиска алгоритма обработки события
      • 2.3.7 Процедура обработки события первого класса
      • 2.3.8 Процедура обработки события второго класса
      • 2.3.9 Процедура обработки события третьего класса
      • 2.3.10 Процедура обработки события четвёртого класса
      • 2.3.11 Процедура обработки события пятого класса
      • 2.3.12 Процедура формирования отчёта по прогону (Outputn)
      • 2.3.13 Формирования итогового отчёта (Output)
  • 3. Выбор программного обеспечения
  • 4. Программа имитационного моделирования
  • 5. Результаты моделирования
  • 6. Анализ результатов
    • 6.1 Расчёт оптимального числа прогонов
    • 6.2 Установление закона распределения
  • Заключение
  • Список использованной литературы

Введение

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

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

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

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

Применение ЭВМ при анализе и решении аналитических моделей ограничивается лишь автоматизацией вычислений. Для имитационной модели ЭВМ является ее непосредственным компонентом[3].

С учетом сказанного имитационный эксперимент можно рассматривать как материализацию "мысленного эксперимента".

Целью данного курсового проекта является создание имитационной модели.

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

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

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

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

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

1. Принцип функционирования моделируемой системы

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

На лодочной станции клиентов обслуживают 2 менеджера и 1 кассир. Менеджеры обслуживают клиентов, после чего клиент оплачивает заказ кассиром.

Интервал прихода клиентов составляет от 4 до 17 минут. Они обслуживаются:

-у первого менеджера - от 3 до 12 минут;

-у второго менеджера - от 5 до 16 минут;

-у кассира - от 1 до 5 минут.

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

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

Требуется смоделировать процесс работы лодочной станции в течение 6 часов. Необходимо определить:

- количество пришедших клиентов;

- количество клиентов, обслуженных первым менеджером;

- количество клиентов, обслуженных вторым менеджером;

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

- количество клиентов, оплачивающих заказ;

- количество клиентов, обслуженных кассиром;

- возникновение чрезвычайной ситуации (ЧС).

1.2 Блок - схема алгоритма функционирования моделируемой системы

Рисунок 1 Блок-схема алгоритма функционирования системы

Блок-схема не учитывает обслуживание клиентов из очереди. При освобождении менеджера на обслуживание поступает клиент с наибольшим временем ожидания.

1.3 Выбор концептуальной модели

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

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

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

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

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

2. Формализация модели

2.1 Группировка событий

Для разработки имитационной модели рассмотрим пять классов событий:

1. Приход клиента.

2. Обслуживание клиента первым менеджером.

3. Обслуживание клиента вторым менеджером.

4. Обслуживание клиента кассиром.

5. Чрезвычайная ситуация (отключение света).

2.2 Переменные модели

При моделировании системы использовались следующие переменные: f_Cal - файл календаря;

f_Och - файл очереди;

f_Report - файл отчётов;

Ttbeg - время начала имитации;

Ttfin - время окончания имитации;

Tnow - текущее время;

Lo - длина очереди;

Ni - номер изъятия клиента из очереди;

Nl - номер постановки клиента в очередь;

Tsob - время свершения события;

Atribut - атрибут события;

Key - код события;

Nrns - номер текущего погона;

Nnrns - общее количество прогонов;

A3 - массив для копирования календаря в электронную память;

A2 - массив предварительной компоновки записи для ее дальнейшей пересылки в календарь событий;

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

Busy_L2 - флаг занятости для второго менеджера;

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

Kol_NClientN - количество не обслуженных клиентов за все прогоны;

Kol_Client - количество пришедших клиентов;

Kol_ClientN - количество пришедших клиентов за все прогоны;

Kol_Client_L1 - количество клиентов, обслуженных первым менеджером;

Kol_Client_L1N - количество клиентов, обслуженных первым менеджером за все прогоны;

Kol_Client_L2 - количество клиентов, обслуженных вторым менеджером;

Kol_Client_L2N - количество клиентов, обслуженных вторым менеджером за все прогоны;

Kol_Client_L3 - количество клиентов, обслуженных кассиром;

Kol_Client_L3N - количество клиентов, обслуженных кассиром за все прогоны;

Deb - количество клиентов-клиентов на касс;

DebN - количество клиентов-на кассу за все погоны;

TExtr - время устранения причин задержки;

Flag - флаг обнаружения ЧС;

KolChs - количество ЧС.

2.3 Алгоритм имитации модели

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

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

Модуль SCHDL передает в календарь все сведения о событии: его атрибут, код класса KEY и интервал свершения DTIME, отсчитываемый от текущего времени TNOW.

Собственно имитация работы моделируемой системы начинается с выбора из календаря первого события с минимальным временем свершения TSOB (процедура RMOVE). Информация об извлеченном событии используется для проведения ряда операций. Так, интервал свершения DTIME дает возможность обновить системное время:

TNOW=TNOW+DTIME

Код класса KEY необходим для поиска соответствующего алгоритма обработки (реализации) события. Атрибуты события используются для определения направления действий при реализации события.

После планирования или извлечения события необходимо совершить сортировку календаря (процедура GRUP), потому что события в календаре должны быть расставлены по возрастанию времени свершения.

Поиск программы обработки события осуществляет специализированная процедура EVENT, в которую при ее вызове передается код события. По коду события программа EVENT либо вызывает саму подпрограмму обработки, либо ищет у себя внутри встроенные элементы алгоритма реализации события.

После обработки (реализации) события проверяются условия окончания прогона. Если прогон можно продолжить, идет обращение в календарь для извлечения очередного ближайшего по времени события. Если прогон должен быть завершен, то накопленная в процессе прогона информация обрабатывается и формируется отчет по прогону (OUTPUTN). Затем проверяются условия окончания всех прогонов. Если прогоны продолжаются, управление передается процедуре INTLC для выполнения очередного прогона. При завершении всех прогонов составляется итоговый отчет по всей имитации (OUTPUT).

Все основные шаги по дискретно-событийной имитации будут повторяться для любых моделируемых объектов. Поэтому управление ходом имитации независимо от задачи поручают отдельной процедуре системного типа - процессору имитации СЛАМ, вызываемому из модуля (Рисунок 2).

2.3.1 Процедура планирования событий

Процедура планирования событий SCHDL является системной, так как не зависит от объекта моделирования и имеет три формальных параметра:

Kevnt - код планируемого события (1,2,3,4,5);

Dtime - время свершения события;

A1 - атрибут события (в данной модели один).

Процедура начинается с формирования записей календаря с помощью массива А2, куда записываются kevnt, tnow+dtime, a1. Далее переписываем календарь из физической памяти в электронную (массив А3).

С оператора For j:=1 to nnq do начинается поиск первой свободной записи в календаре (запись с кодом события равным 0). На место найденной записи записываются данные из массива А2 (новое запланированное событие). После этого файл календаря переписывается с новой записью.

2.3.2 Процедура группировки событий

Процедура GRUP является системной, без параметров. GRUP сортирует записи в файле календаря по возрастанию времени свершения события.

После копирования в A3 календаря осуществляется проверка состояния первой записи. Если она пустая, значит из календаря ранее выбрано событие с минимальным временем свершения и, следовательно, достаточно сдвинуть календарь на одну запись влево. Это делают два цикла For j:=1 to nnq-1 dо и For i:=1 to 3 do, обнуляющие последнюю запись a3[i,j+1]:=0. Далее календарь из массива A3 переписывается в файл f_Cal, так как произошли изменения.

Если первая запись календаря не пуста, значит, процедура вызвана после планирования какого-то события и необходимо расставить записи по возрастанию их времени свершения (запланированное событие могло иметь любое время свершения). Для этого с оператора For j:=1 to nnq-1 do начинается сравнение времени свершения J-й записи с аналогичным параметром остальных записей и перемещение этой записи на нужное место календаря (массива A3). Перед каждой такой последовательностью действий, оператором If a3[2,j]=0 j-я запись проверяется по коду события. Если код равен нулю - календарь кончился, и он перезаписывается в файл f.

Перед сортировкой календаря оператор K=J запоминает номер j-й записи, а оператор z:=a3[3,j] - ее время свершения. Следующий за ними оператор For l:=j+1 to nnq do: проверяет код очередной, сопоставляемой с j, записи l; сравнивает время двух записей; запоминает (обновляет k, z) номер и время свершения записи l. Если проверяемый код записи l равен нулю, календарь кончился и происходит обмен данными между записями j и l (k), так как ищутся записи со временем меньшим, чем у записи j. Если время свершения записи l оказывается больше или равным тому же для записи j, переходим к следующей записи календаря.

2.3.3 Процедура извлечения первой записи из календаря

Данная операция осуществляется процедурой RMOVE.

Вначале осуществляется копирования календаря в массив А3. Затем из его первой записи извлекаются: время свершения TSob события, код Key и атрибут Atribut. Затем код события обнуляется a3[2,1]:=0. Далее календарь переписывается. После всего вызывается процедура GRUP для поддержания порядка в календаре (Рисунок).

Рисунок 3 Блок-схема процедуры извлечения первой записи

2.3.4 Процедура инициализации

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

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

- время начала имитации (Tnow:=Ttbeg);

- номер очередного прогона (Nrns:=Nrns+1);

- обнуление текущей длины очереди (Lo:=0);

- обнуление номера постановки заявки в очередь (Nl:=0);

- обнуление номера изъятия заявки из очереди (Ni:=0);

- обнуление флага занятости первого менеджера (Busy_L1:=False);

- обнуление флага занятости второго менеджера (Busy_L2:=False);

- обнуление флага обнаружения ЧС (Flag:=False);

- обнуление количества пришедших клиентов (Kol_Client:=0);

-обнуление количества клиентов, обслуженных первым

менеджером (Kol_Client_L1:=0);

-обнуление количества клиентов, обслуженных вторым

менеджером (Kol_Client_L2:=0);

-обнуление количества клиентов, обслуженных кассиром (Kol_Client_L3:=0);

- обнуление кодов всех событий (a3[2,j]:=0) (Рисунок 5).

Рисунок 4 Блок-схема процедуры инициализации

2.3.5 Главный модуль

В главном модуле задаются следующие всепрогонные переменные.

Ttbeg := 0;

Ttfin := 360;

Nrns := 0;

Kol_ClientN := 0;

Kol_Client_L1N := 0;

Kol_Client_L2N := 0;

Kol_Client_L3N := 0;

Kol_NClientN := 0;

DebN := 0;

KolChS := 0;

А также вводится количество прогонов(Рисунок 6).

Рисунок 5 Блок-схема главного модуля

После задания пользовательских переменных управление передаётся процессору имитации SLAM.

2.3.6 Процедура поиска алгоритма обработки события

Процедура поиска алгоритма обработки события EVENT содержит оператор выбора Case j of, реализующий выбор требуемой процедуры по коду извлечённого события (key).

В системе имитации используется 5 классов событий и, следовательно, может происходить выбор между процедурами: Sob1, Sob2, Sob3, Sob4, Sob5. Данные процедуры рассмотрены ниже.

2.3.7 Процедура обработки события первого класса

Данная процедура называется Sob1 и служит для обработки события “Приход клиента”. В этой процедуре фиксируется приход клиента, считается число пришедших клиентов на кассу (Deb:=Deb+1). Клиент становится в очередь, если текущая длина очереди больше нуля (Lo>0) или оба менеджера заняты. Если один из менеджеров свободен, то планируется процедура обслуживания у этого менеджера. Также планируется событие “приход клиента”, атрибут которого Atribut=round(random(10)).

2.3.8 Процедура обработки события второго класса

Эта процедура (Sob2) облуживания у первого менеджера. Здесь фиксируется число клиентов, обслуженных первым менеджером. Проверяется, свободен ли кассир, и если да (Atribut=1), то идет планирование события обслуживания у кассира. Если текущая длина очереди больше нуля, то планируется обслуживание из очереди. Текущая длина очереди уменьшается на единицу, номер изъятия увеличивается на единицу, атрибут клиента с позиции номера изъятия считывается из файла очереди и заносится в процедуру планирования.

2.3.9 Процедура обработки события третьего класса

Эта процедура (Sob3) облуживания у второго менеджера. Она аналогична Sob2. Здесь фиксируется число клиентов, обслуженных вторым менеджером. Проверяется, является ли клиент на кассу, и если да (Atribut=1), то идет планирование события обслуживания у кассира. Если текущая длина очереди больше нуля, то планируется обслуживание из очереди.

2.3.10 Процедура обработки события четвёртого класса

Эта процедура (Sob4) облуживания у кассира. Здесь фиксируется число клиентов, обслуженных кассиром (Kol_Client_L3:=Kol_Client_L3+1).

2.3.11 Процедура обработки события пятого класса

Процедура обработки события данного класса (Sob5) вызывается в случае наступления чрезвычайной ситуации (отключение света). При этом работа лодочной станции приостанавливается на время устранения причин задержки. Это отражается в увеличении времени свершения событий в календаре, код которых отличен от 0 и 1, на время устранения причин задержки. События с кодом, равным единице, не учитываются, так как приход клиентов не связан с отключением света.

2.3.12 Процедура формирования отчёта по прогону (Outputn)

Процедура формирует отчёт по прогону. На экран и в файл отчётов будут выводиться данные:

- произошла ли ЧС;

- количество пришедших клиентов;

- количество клиентов, обслуженных первым менеджером;

- количество клиентов, обслуженных вторым менеджером;

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

- количество клиентов на кассу;

- количество клиентов на кассу, обслуженных кассиром.

Процедура также запоминает полученные данные, которые впоследствии учитываются при составлении итогового отчёта:

- количество ЧС за все прогоны (KolChS:= KolChS +1);

-количество пришедших клиентов за все прогоны (Kol_ClientN:= Kol_ClientN + Kol_Client);

- количество клиентов, обслуженных первым менеджером за все прогоны (Kol_Client_L1N:= Kol_Client_L1N+ Kol_Client_L1);

- количество клиентов, обслуженных вторым менеджером за все прогоны (Kol_Client_L2N:= Kol_Client_L2N+ Kol_Client_L2);

- количество не обслуженных клиентов за все прогоны (Kol_NClientN:= Kol_NClientN+ Kol_NClient);

- количество клиентов на кассу за все прогоны (DebN:= DebN+ Deb);

- количество клиентов на кассу, обслуженных кассиром за все прогоны

( Kol_Client_L3N:= Kol_Client_L3N+ Kol_Client_L3).

2.3.13 Формирования итогового отчёта (Output)

На экран и в файл отчётов Report.txt выводятся данные:

- количество ЧС;

- среднее количество пришедших клиентов;

- среднее количество клиентов, обслуженных первым менеджером;

- среднее количество клиентов, обслуженных вторым менеджером;

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

- среднее количество клиентов на кассу;

- среднее количество клиентов на кассу, обслуженных кассиром.

3. Выбор программного обеспечения

имитационный лодочный заказ

Для реализации имитационной модели воспользуемся универсальным языком программирования. В качестве такого языка будем использовать язык Borland Pascal 7.0.

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

4. Программа имитационного моделирования

После запуска программы (файл Work.exe) необходимо ввести количество прогонов модели.

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

Оптимальная последовательность действий при имитации модели:

- запустить программу Work.exe;

- установить параметры моделирования;

- запустить модель на выполнение;

- просмотреть результаты;

- просмотреть результаты анализа (запомнить значение оптимального количества прогонов);

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

- запустить модель на выполнение с новым числом прогонов;

- просмотреть результаты;

- выйти из программы.

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

5. Результаты моделирования

После запуска программы введём количество прогонов модели равное 10. В результате имитации получим данные, по каждому из прогонов. Ниже приведен отчет по первому прогону.

Прогон №1

Количество пришедших клиентов: 36

Количество клиентов, обслуженных первым менеджером: 29

Количество клиентов, обслуженных вторым менеджером: 7

Количество не обслуженных клиентов: 0

Количество клиентов на кассу: 1

Количество клиентов на кассу, обслуженных кассиром: 1

Прогон №2

Количество пришедших клиентов: 36

Количество клиентов, обслуженных первым менеджером: 31

Количество клиентов, обслуженных вторым менеджером: 5

Количество не обслуженных клиентов: 0

Количество клиентов на кассу: 4

Количество клиентов на кассу, обслуженных кассиром: 4

Прогон №3

Количество пришедших клиентов: 36

Количество клиентов, обслуженных первым менеджером: 25

Количество клиентов, обслуженных вторым менеджером: 11

Количество не обслуженных клиентов: 0

Количество клиентов на кассу: 5

Количество клиентов на кассу, обслуженных кассиром: 5

Прогон №4

Количество пришедших клиентов: 32

Количество клиентов, обслуженных первым менеджером: 27

Количество клиентов, обслуженных вторым менеджером: 5

Количество не обслуженных клиентов: 0

Количество клиентов на кассу: 4

Количество клиентов на кассу, обслуженных кассиром: 3

Прогон №5

Количество пришедших клиентов: 34

Количество клиентов, обслуженных первым менеджером: 27

Количество клиентов, обслуженных вторым менеджером: 6

Количество не обслуженных клиентов: 1

Количество клиентов на кассу: 1

Количество клиентов на кассу, обслуженных кассиром: 1

Прогон №6

Количество пришедших клиентов: 37

Количество клиентов, обслуженных первым менеджером: 29

Количество клиентов, обслуженных вторым менеджером: 7

Количество не обслуженных клиентов: 1

Количество клиентов на кассу: 5

Количество клиентов на кассу, обслуженных кассиром: 5

Прогон №7

Количество пришедших клиентов: 34

Количество клиентов, обслуженных первым менеджером: 28

Количество клиентов, обслуженных вторым менеджером: 6

Количество не обслуженных клиентов: 0

Количество клиентов на кассу: 4

Количество клиентов на кассу, обслуженных кассиром: 4

Прогон №8

Количество пришедших клиентов: 33

Количество клиентов, обслуженных первым менеджером: 29

Количество клиентов, обслуженных вторым менеджером: 2

Количество не обслуженных клиентов: 2

Количество клиентов на кассу: 4

Количество клиентов на кассу, обслуженных кассиром: 4

Прогон №9

Количество пришедших клиентов: 35

Количество клиентов, обслуженных первым менеджером: 30

Количество клиентов, обслуженных вторым менеджером: 5

Количество не обслуженных клиентов: 0

Количество клиентов на кассу: 2

Количество клиентов на кассу, обслуженных кассиром: 2

Прогон №10

Количество пришедших клиентов: 35

Количество клиентов, обслуженных первым менеджером: 28

Количество клиентов, обслуженных вторым менеджером: 6

Количество не обслуженных клиентов: 1

Количество клиентов на кассу: 3

Количество клиентов на кассу, обслуженных кассиром: 3

После отображения всех прогонов, выводится итоговый отчёт (рис.5):

Количество ЧС: 1

Среднее количество пришедших клиентов: 35

Среднее количество клиентов, обслуженных первым менеджером: 28

Среднее количество клиентов, обслуженных вторым менеджером: 6

Среднее количество не обслуженных клиентов: 0

Среднее количество клиентов на кассу: 3

Среднее количество клиентов на кассу, обслуженных кассиром: 3

Результаты по всем прогонам приведены в таблице 1.

Таблица 1 Результаты моделирования

№ прогона

Кол-во пришедших клиентов

Кол-во клиентов, обслуженных 1-м менеджером

Кол-во клиентов, обслуженных 2-м менеджером

Кол-во не обслуж. клиентов

Кол-во клиентов-на кассу

Кол-во клиентов на кассу, обслуж. кассиром

ЧС

1

36

29

7

0

1

1

2

36

31

5

0

4

4

3

36

25

11

0

5

5

4

32

27

5

0

4

3

5

34

27

6

1

1

1

6

37

29

7

1

5

5

7

34

28

6

0

4

4

8

33

29

2

2

4

4

ЧС

9

35

30

5

0

2

2

10

35

28

6

1

3

3

Среднее

35

28

6

0

3

3

1

6. Анализ результатов

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

6.1 Расчёт оптимального числа прогонов

Число независимых повторных прогонов для достижения заданной доверительной вероятности 1- б равно

,

где

среднеквадратическое отклонение переменной X; q - половина доверительного интервала (точность оценки). Поскольку сами параметры , основаны на статистике, сначала делают любые I прогонов, находят (по разбросу выборок X), (по таблице t-распределения Стьюдента для заданной доверительной вероятности и m=I-1), а затем уточняют I по и q.

В качестве параметра для расчёта необходимого числа прогонов возьмём количество пришедших клиентов (см. таблицу 1).

(равное 10.

m=10-1;

=2.26216;

(ед. клиентов).

(ед. клиентов).

Подставим полученные значения в формулу для расчёта оптимального числа прогонов:

В результате анализа получаем, что оптимальное количество прогонов, которое обеспечивает оценку математического ожидания с точностью 5% равно 11.

6.2 Установление закона распределения

Процедура проверки гипотез требует определения нулевой гипотезы (H0) и альтернативной (H1). Проверка ведется по выбранным критериям. -критерий (критерий согласия Пирсона) используют при наличии гистограмм:

,

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

где

для выбранного . Значение сравнивают с :

1) приемлемо, если (гипотеза H0);

2) не приемлемо, если (гипотеза H1).

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

На основе таблицы 2, приведённой ниже, построим гистограмму (Рисунок 7).

Таблица 2 Результаты моделирования при оптимальном числе прогонов (11)

№ прогона

Кол-во пришедших клиентов

Кол-во клиентов, обслуженных 1-м менеджером

Кол-во клиентов, обслуж. 2-менеджером

Кол-во не обслуж. клиентов

Кол-во клиентов на кассу

Кол-во клиентов на кассу, обслуж. кассиром

ЧС

1

35

27

7

1

4

4

2

37

33

4

0

4

4

3

34

30

4

0

1

1

4

37

30

5

2

2

2

5

34

29

3

2

3

3

6

35

26

9

0

3

3

7

34

28

5

1

3

3

8

37

30

7

0

2

2

9

33

32

1

0

3

3

10

36

30

6

0

0

0

11

34

28

5

1

5

5

Среднее

35

29

5

1

3

3

Найдём минимальное и максимальное значения количества пришедших клиентов и разность между этими значениями:

Хmin=33;

Хmax=37;

R= Хmax -Хmin=37-33=4.

Таким образом, в интервале от 33 до 37 мы имеем 10 значений. Сгруппируем эти значения в пять классов(33,34,35,36,37). Интервал будет равен двум.

Рисунок 6 Гистограмма прихода клиентов

Гипотеза H0: полученные данные удовлетворяют нормальному закону распределению.

Гипотеза H1: полученные данные не удовлетворяют нормальному закону распределению.

m=K-1=5-1=4;

Найдём математическое ожидание, дисперсию и среднеквадратичное отклонение результатов для определения теоретических вероятностей попадания в i-й интервал ().

MX= 35;

уX2 = 4,84

уX = 2.221

Подставим полученные значения в формулу для :

11,543>9.48773

Мы получили > , значит, выполняется гипотеза Н1, то есть полученные данные не удовлетворяют нормальному закону распределению.

Проверим следующие гипотезы:

Гипотеза H0: полученные данные удовлетворяют равномерному закону распределению.

Гипотеза H1: полученные данные не удовлетворяют равномерному закону распределению.

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

= 1/K = 1/5=0.2.

Подставим это значение в формулу для .

3<9.48773

Мы получили <, значит, выполняется гипотеза Н0, то есть полученные данные удовлетворяют равномерному закону распределению. С вероятностью ошибки 5% можно утверждать, что выходные данные подчиняются равномерному закону распределения в интервале от 33 до 37.

Заключение

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

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

Список использованной литературы

Одиноков В.Ф. Дискретное событийное моделирование: методические указания. / Одиноков В.Ф. - Рязань: 1999. - 12 с.

Маркин А.В., Тихонов В.П. Моделирование случайных величин: Методические указания к лабораторным работам/ Маркин А.В., Тихонов В.П. -Рязань: РРТИ; 1988. - 32 с.

Тихонов В.П. Факторное планирование с моделями систем: Методические указания/ Тихонов В.П.- Рязань: РРТИ, 1991. - 20 с.

Советов Б.Я., Яковлев С.А. Моделирование систем: Курсовое проектирование: Учеб. пособие для вузов по спец. АСУ. / Советов Б.Я., Яковлев С.А. - М.: Высш. шк., 1988. - 135 с.

Прицкер А. Введение в имитационное моделирование и язык СЛАМ II: Пер. с англ./ Прицкер А. - М.: Мир, 1987. - 646 с.

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


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

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

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

  • Анализ работы станции скорой помощи: прием вызовов, обслуживание пациентов, движение автомобилей. Формализация имитационной модели, ее программирование с помощью системы моделирования AnyLogic. Использование программы для расчета времени оказания помощи.

    контрольная работа [1004,2 K], добавлен 25.07.2013

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

    контрольная работа [1,1 M], добавлен 08.09.2010

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

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

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

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

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

    дипломная работа [4,0 M], добавлен 06.12.2013

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

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

  • Анализ системы управления организацией ОАО Ошмянский "Сырзавод". Разработка системы оформления заказов клиентов. Основание для разработки автоматизированного рабочего места и требования к программе. Описание АРМа "Оформление предварительных заказов".

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

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

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

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

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

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