Курсовая работа: Разработка имитационной модели системы массового обслуживания

Курсовая работа: Разработка имитационной модели системы массового обслуживания




⚡ 👉🏻👉🏻👉🏻 ИНФОРМАЦИЯ ДОСТУПНА ЗДЕСЬ ЖМИТЕ 👈🏻👈🏻👈🏻




























































Министерство образования и науки Республики Казахстан
Карагандинский государственный технический университет
по дисциплине "Прикладная теория систем"

Тема: "Разработка имитационной модели системы

В теории систем большое место занимают системы способные описывать массовое обслуживание. Это связано с растущей глобализацией современного мира, а, соответственно, и с растущей актуальностью систем массового обслуживания. В связи этим, изучение данного раздела теории систем очень важно.
В данном курсовом проекте рассматривается система массового обслуживания, применимая для магазинов.
В теории систем массового обслуживания изучаются проблемы функционирования систем и наиболее часто возникающие ситуации в рассматриваемом процессе обслуживания. Для изучения данной проблемы необходимо рассматривать такие проблемы как - постановка в очередь, порядок обслуживания, выбывание из очереди, периодичность попадания в очередь. Из всего этого должны быть сделаны выводы о количестве аппаратов обслуживания. Это очень важный момент, так как позволяет уменьшить время простоя одного аппарата, а соответственно увеличить выгоду в целом. То есть моделирование систем массового обслуживания позволяет определить оптимальное количество аппаратов.
В данном курсовом проекте рассматривается система массового обслуживания - магазин.
Описание задачи: время работы с 8 до 20. Необходимо ввести различную периодичность поступления заявок в зависимости от времени суток. Также существует приоритет поступления заявок - помимо основных клиентов существуют клиенты, обслуживаемые вне очереди, для них периодичность поступления задаётся отдельно. Также необходима возможность ввода времени обслуживания клиента. Необходимо определить оптимальное число аппаратов обслуживания.
1. Выбор аппарата обслуживания. Если система только начала свою работу и приходит только первый клиент или же если свободны все аппараты, то он выбирается случайным образом. В обратном случае выбирается тот аппарат, очередь к которому меньше.
2. Выбирается случайным образом время, через которое должен появиться следующий клиент из заданного заранее промежутка.
3. Также случайным образом выбирается время, через которое клиент должен быть обслужен, либо должен покинуть очередь.
4. Определяется состояние клиента. Пойдёт ли он сразу на обслуживание либо будет ждать своей очереди.
5. С пункта первого по четвёртый процедура повторяется, но для клиентов с более высоким приоритетом.
Далее проверяется каждый клиент, находящийся в очереди.
6. Если клиент в данный момент обслуживается, то проверяется, не прошло ли время его обслуживания. Если прошло, то ему присваивается статус "Обслужен" и далее ищется следующий клиент для обслуживания.
7. Если клиент в данный момент ожидает обслуживания, то проверяется нельзя ли его поставить на обслуживание и если нельзя, то не вышло ли время его пребывания в очереди. Если вышло время пребывания, то клиенту присваивается статус "Выбыл".
8. Далее проверяется, не закончилось ли время работы системы. Если время закончилось, то процесс завершается и выводится отчёт о работе системы. Если же не закончилось, то процесс повторяется с первого пункта.
Работа программы начинается с её настройки. Так как здесь имитируется работа магазина, то обязательно необходимо определить начала работы (рис.1 - 1). Промежуток работы программы от 8: 00-20: 00. от выбранного промежутка зависит периодичность появления клиентов в магазине. Далее выбирается продолжительность работы магазина (рис.1 - 2).
Рисунок 1. Программная реализация СМО

В программе также есть возможность изменения промежутков формирования заявок на обслуживание и времени самого обслуживания для разных приоритетов и в зависимости от текущего времени обслуживания, что является очень важным моментом в работе данного СМО (рис.1 - 5). Существует два типа приоритетов: первый - это клиенты, обслуживаемые вне очереди и второй - клиенты, обслуживаемые всегда в порядке очереди. Для обслуживания так же есть параметр время ожидания (рис.1 - 4). Этот параметр показывает промежуток времени, в течение которого клиент может не дождаться начала обслуживания и покинуть очередь. Для того чтобы начать процесс моделирования необходимо нажать на кнопку “начать" (рис.1 - 6). Процесс моделирования можно остановить совсем, нажав кнопку “остановить" (рис.1 - 8) или приостановить временно с помощью кнопки “приостановить” (рис.1 - 7), его можно начать, заново нажав кнопку “Начать". Во время работы программы текущие результаты отображаются в таблице (рис.1 - 10). По окончанию работы программы выводится текстовый файл с основными результатами. Результаты работы программы можно также просмотреть, нажав кнопку “Отчёт” (рис.1 - 9).
Во время работы приложения также можно следить за изменением количества клиентов на диаграмме (рис.1 - 11).
В приложении имеется меню (Файл, Сохранить). Меню “Файл" содержит следующие пункты:
“Начать" - начинает процесс моделирования (идентичен кнопке “Начать”)
“Приостановить” - временно останавливает процесс моделирования (кнопка “Приостановить”),
“Остановить" - заканчивает процесс моделирования (кнопка “Остановить”),
“Сохранить отчёт" - сохраняет отчёт о работе приложения,
“Открыть отчёт" - открывает файл отчёта,
“Выход” - заканчивает работу приложения.
“Помощь" - справочная информация о программе,
“Разработчик” - информации о разработчике приложения.
Результатом работы над данным курсовым проектом стала программа, моделирующая систему массового обслуживания - магазин. При помощи данной программы можно делать выводы о работе системы, выбирать оптимальное количество аппаратов обслуживания для хорошей работы. Программное средство в ходе моделирования визуально показывает пользователю текущие результаты работы системы.
1. Лифшиц А.Л. Статистическое моделирование СМО, М., 1978.
2. Советов Б.А., Яковлев С.А. Моделирование систем, М: Высшая школа, 1985.
3. Гмурман В.Е. Теория вероятностей и математическая статистика, М: Высшая школа, 2001.
4. Пригодин Н.В. Системный подход в моделироании М., 1986.
m_Table2. SetTextMatrix (0,j,"№"); m_Table2. SetColWidth (j,350);
m_Table2. SetTextMatrix (0,j+1,"Получение"); m_Table2. SetColWidth (j+1,700);
m_Table2. SetTextMatrix (0,j+2,"Обслужен"); m_Table2. SetColWidth (j+2,700);
m_Table2. SetTextMatrix (0,j+3,"Состояние"); m_Table2. SetColWidth (j+3,800);
OCH. kol1 [i] =0; OCH. kol2 [i] =0;
Kli [i]. num1 [k] =0; Kli [i]. time1 [k] =0; Kli [i]. timeVib [k] =0;
Kli2 [i]. num1 [k] =0; Kli2 [i]. time1 [k] =0; Kli2 [i]. timeVib [k] =0;
LTimer1=SetTimer (ID_TIMER1,100,NULL);
void CSMODlg:: OnTimer (UINT uTime)
DWORD numElements [] = {m_CountOch, 2};
saRet. Create (VT_R8, 2, numElements);
tp= (atof (m_Table. GetTextMatrix (1,3)) - atof (m_Table. GetTextMatrix (1,2))) *100;
Klient2= (rand ()%tp) *0.01+atoi (m_Table. GetTextMatrix (1,2));
++OCH. kol1 [i] ; // общее количество для аппарата
++OCH. o2 [i] ; // количество с данным приоритетом
if (m_Table2. GetRows () < (OCH. kol1 [i] +3))
m_Table2. SetRows (m_Table2. GetRows () +1); iTabl++;
tp= (atof (m_Table. GetTextMatrix (1,5)) - atof (m_Table. GetTextMatrix (1,4))) *100;
Kli2 [i]. time1 [OCH. o2 [i]] =Tm+ (rand ()%tp) *0.01+atoi (m_Table. GetTextMatrix (1,4));
float prim=Kli2 [i]. time1 [OCH. o2 [i]] ;
Kli2 [i]. timeVib [OCH. o2 [i]] =Tm+rand ()% (m_Vibiv-m_DoVib) +m_DoVib;
Kli2 [i]. num1 [OCH. o2 [i]] =OCH. kol1 [i] ;
sek=floorf ( (Tm*100- (hr*60+min) *100) /60);
sprintf (a,"%2.0f:%2.0f:%2.0f",hr,min,sek);
m_Table2. SetTextMatrix (OCH. kol1 [i],1+i*4,a);
m_Table2. SetTextMatrix (OCH. kol1 [i], i*4,a);
m_Table2. SetTextMatrix (OCH. kol1 [i],3+i*4,"Выполняется");
m_Table2. SetTextMatrix (OCH. kol1 [i],3+i*4,"Ожидает");
if ( (OCH. kol1 [k] -OCH. Obsluzh1 [k]) <= (OCH. kol1 [i] -OCH. Obsluzh1 [i]))
++OCH. kol1 [i] ; // общее количество
++OCH. o1 [i] ; // количество с данным приоритетом
if (m_Table2. GetRows () < (OCH. kol1 [i] +3))
m_Table2. SetRows (m_Table2. GetRows () +1);
tp= (atof (m_Table. GetTextMatrix (2,3)) - atof (m_Table. GetTextMatrix (2,2))) *100;
Klient= (rand ()%tp) *0.01+atoi (m_Table. GetTextMatrix (2,2));
tp= (atof (m_Table. GetTextMatrix (2,5)) - atof (m_Table. GetTextMatrix (2,4))) *100;
Kli [i]. time1 [OCH. o1 [i]] =Tm+ (rand ()%tp) *0.01+atoi (m_Table. GetTextMatrix (2,4));
Kli [i]. timeVib [OCH. o1 [i]] =Tm+rand ()% (m_Vibiv-m_DoVib) +m_DoVib;
tp= (atof (m_Table. GetTextMatrix (3,3)) - atof (m_Table. GetTextMatrix (3,2))) *100;
Klient= (rand ()%tp) *0.01+atoi (m_Table. GetTextMatrix (3,2));
tp= (atof (m_Table. GetTextMatrix (3,5)) - atof (m_Table. GetTextMatrix (3,4))) *100;
Kli [i]. time1 [OCH. o1 [i]] =Tm+ (rand ()%tp) *0.01+atoi (m_Table. GetTextMatrix (3,4));
Kli [i]. timeVib [OCH. o1 [i]] =Tm+rand ()% (m_Vibiv-m_DoVib) +m_DoVib;
tp= (atof (m_Table. GetTextMatrix (4,3)) - atof (m_Table. GetTextMatrix (4,2))) *100;
Klient= (rand ()%tp) *0.01+atof (m_Table. GetTextMatrix (4,2));
tp= (atof (m_Table. GetTextMatrix (4,5)) - atof (m_Table. GetTextMatrix (4,4))) *100;
Kli [i]. time1 [OCH. o1 [i]] =Tm+ (rand ()%tp) *0.01+atoi (m_Table. GetTextMatrix (4,4));
Kli [i]. timeVib [OCH. o1 [i]] =Tm+rand ()% (m_Vibiv-m_DoVib) +m_DoVib;
Kli [i]. num1 [OCH. o1 [i]] =OCH. kol1 [i] ;
sek=floorf ( (Tm*100- (hr*60+min) *100) /60);
sprintf (a,"%2.0f:%2.0f:%2.0f",hr,min,sek);
m_Table2. SetTextMatrix (OCH. kol1 [i],1+i*4,a);
m_Table2. SetTextMatrix (OCH. kol1 [i], i*4,a);
m_Table2. SetTextMatrix (OCH. kol1 [i],3+i*4,"Выполняется");
m_Table2. SetTextMatrix (OCH. kol1 [i],3+i*4,"Ожидает");
// // // // // // // // выбывание из очереди // // // // // // // // // // // // // // //
for (int ki=0; kiКурсовая работа: Разработка имитационной модели системы массового обслуживания
Реферат: Приход национал-социалистов к власти в Германии
Законодательство О Рынке Ценных Бумаг Реферат
Курсовая работа по теме Автоматизация учета материалов на примере ООО 'Агротех-Гарант Нащекино' Аннинского района Воронежской области
Реферат: Неотомизм
Реферат: В центре внимания - маркетинг
Таганрог Дипломный
Реферат по теме Соотношение транспортирующей способности потока и стока наносов как условие формирования разных типов русел
Дописать Дипломную Работу Срочно Недорого
Реферат На Тему Русские Православные Монастыри И Их Роль В Развитии Национальной Культуры
Сочинение по теме Орестея. Еврипид
Реферат На Тему Ипотека
Статья: Особливості діяльності соціального педагога в дошкільному навчальному закладі
Контрольные Работы По Литературе 11 Класс
Дипломная работа по теме Значение ускоренной амортизации в воспроизводстве основных средств малых предприятий
Курсовая работа по теме Разработка программы на языке C++ Builder 6
Сочинение По Пословице Французские
Реферат На Тему Философия Френсиса Бэкона
Контрольная Работа На Тему Право Собственности Граждан На Жилое Помещение
Реферат по теме Верование в демонов в древние времена на Украине
Дипломная Работа На Тему Норборненна-2,5-Диен И Его Свойства
Курсовая работа: Розвиток творчих здібностей учнів на уроках математики
Доклад: Стратегии проникновения на внешний рынок
Дипломная работа: Педагогическая технология развития у учащихся направленности на диалогическое общение при групповой форме обучения на уроках физики при изучении темы "Основы электродинамики" в средней школе

Report Page