Исследование системы массового обслуживания с двухуровневыми алгоритмами
Заказать уникальную дипломную работу- 45 45 страниц
- 8 + 8 источников
- Добавлена 26.07.2023
- Содержание
- Часть работы
- Список литературы
1. Построение математической модели изучаемой системы 5
массового обслуживания 5
1.1 Описание работы системы на содержательном уровне 5
1.2 Представление системы управления конфликтными потоками как системы массового обслуживания с переменной структурой 9
1.3 Доказательство марковости 17
2. Построение имитационной модели изучаемой системы массового обслуживания 18
2.1 Начальные положения 18
2.2 Математический аппарат, используемый при построении имитационной модели 19
Список литературы 45
Тут основные параметры это время моделирования , по умолчанию, это 10 000 тиков. defcycle(rezim):start_time = tm.time() #время старта рассчетов, чтобы потом посчитать длительность моделирования в реальном времениnp.random.seed() """ Блок ввода параметров системы:liambdas - [П1, П2] - интенсивности потоков П1 и П2bartlett_params - [R1, G1, R2, G2] - параметры R и G распределения Бартлетта для потоков П1 и П2condition_times - [Г1, Г2, Г3, Г4, Г5, Г6] - фиксированные времена пребывания в состояниях Г1-Г6streams_bandwidth - [Г1, Г3, Г5, Г6] - пропускная способность потоков насыщения в режимах зеленого света по потокамmax_stream_queue - [П1, П2] - максимальная возможная очередь по одному потоку, при котором может включится дообслуживание по другому потокуT_mod - время, в течение которого будет происходить моделированиеmodel_time - модельное времяstart_condition - [Гn, [x1, x2]] - начальное состояние системы: режим О.У.(1-6), очереди по потокам П1 и П2condition - [Гn, [x1, x2]] """T_mod = 10**4model_time = 0start_condition = np.array([1, np.array([0, 0])], dtype=object)condition = start_condition #запустим итеративный процесс слежки за системой в моменты смены режимов О.У.whilemodel_time < T_mod:""" 1) Определяем текущее состояние системы и время до следующего скачка. 2) Моделируем потоки за время в этом текущем состоянии. 3) Если состояние позволяет обслужить потоки, то обслуживаем. 4) Принимаем решение о следующем режиме О.У. 5) Записываем состояние системы в массив и повторяем цикл."""one_iteration(condition, condition_times,rezim)#запишем время скачка в модельное время и зациклимmodel_time += condition_times[condition[0]-1]# print(condition) #чтобы смотреть динамику системыprint(condition) #вычислим реальное время работы программыhours = int((tm.time()-start_time)//3600)minutes = int((tm.time()-start_time-3600*hours)//60)seconds = tm.time()-start_time-3600*hours-60*minutesprint(f'Времявыполнения {hours} hours {minutes} minutes {seconds:.4f} seconds')В конце печатается на экране последнее состояние светофора и длины очередей потоков.Далее рассмотрим функцию, которая и есть по сути двухуровневое управление и генерирует величину изменения режима обслуживания светофора для данного потока.То есть на входе длины очередей в потоках и текущее состояние светофора, на выходе величина дельты, согласно рисунку ниже из 1 главы.defcompute_delta(condition, old_pos):delta=0 #определимпрямую x2= x1ifold_pos==1:x1 = condition[1][0]x2 = condition[1][1]else:x2 = condition[1][0]x1 = condition[1][1] if 0<=x1<=x1_1:if 0<=x2<=x1:delta=+1elif x1
2. Кувыкина, Е.В. Общая постановка задачи об алгоритмическом управлении конфликтными потоками заявок при их нелокальном описании / Е.В. Кувыкина // Сборник научных трудов нижегородского филиала института машиноведения РАН. - 2007.
3. Народицкая, Е.В. Выбор последовательности моментов наблюдения при нелокальном описании потоков Бартлетта / Е.В. Народицкая // Труды III конференции молодых ученых НИИ ПМК и факультета ВМК. - 1982.
4. Федоткин, М.А. Оптимальное управление конфликтными потоками и маркированные точечные процессы с выделенной дискретной компонентой / М.А. Федоткин // Лит. матем. сб. - 1988. - т. 28, №4.
5. Чжун, К. Однородные цепи Маркова / К. Чжун. - М.: Мир, 1964. - 428 с.
6. Кофман, А. Массовое обслуживание. Теория и приложения / А. Кофман, Р. Крюон. - М.: Мир, 1965. - 302 с.
7. Феллер, В. Введение в теорию вероятностей и ее приложения, т. 2 / В. Феллер. - М.: Мир, 1984. - 765 с.
8. Шилдт, Г. Искусство программирования на С++ / Г. Шилдт. - СПб.: БХВ-Петербург, 2005. - 496 с.: ил.