Лабораторные МКМ-1 (3). Задача об ассортименте продукции
Скачать 1.49 Mb.
|
Примечание: В редакторе Excel для получения интервала в минутах можно воспользоваться функцией ВРЕМЯ(ч;м;с), преобразующей заданные в виде чисел часы, минуты и секунды в формат времени Excel. Моделирование СМО в Excel Пример 2. Пусть моделируется СМО без отказов с 1 прибором обслуживания, в которой интервал времени между поступившими заявками и время обслуживания заявок – случайная величина, имеющая равномерное распределение в интервале (1;10) и (1;8) соответственно. В этом случае таблица имитационной модели будет выглядеть так: Таблица 4
В этой таблице вычисления производятся следующим образом: Шаблон листа Excel представлен в Таблице 5. Столбец B формируется путем прибавления случайного временного интервала (СЛУЧМЕЖДУ (1;10)) к времени прибытия предыдущей заявки. Так как этот интервал является количеством минут, то случайное число необходимо преобразовать в значение времени в минутах с помощью функции ВРЕМЯ. Столбец С представляет собой случайный интервал времени – время обслуживания заявки. Столбец D – время начала обслуживания. В случае, если предыдущая заявка к моменту поступления текущей уже закончила обслуживаться, то есть время поступления текущей заявки больше времени выбытия предыдущей заявки, начало обслуживания совпадает со временем прибытия, иначе – со временем выбытия предыдущей заявки. Столбец G – время выбытия заявки – равен сумме времени начала обслуживания (столбец D) и продолжительности обслуживания (столбец С). Столбец Е – время пребывания в системе – равен разности между временем выбытия и временем поступления заявки. Столбец F – время в очереди – это время в минутах, разность между временем пребывания в системе и временем обслуживания. Поскольку нулевая разность может вызвать ошибку преобразования типов, в ячейке установлена система проверки. Столбец I - номер обслуживаемого клиента (на момент поступления текущей заявки). Во всех строках, кроме первых 2, рассчитывается как номер последнего клиента, время выбытия которого меньше времени поступления текущей заявки. Расчет выполняется с помощью функции ВПР. Функция ВПР (<искомое значение>;<таблица>;<требуемый столбец>) ищет значение, равное или меньшее <искомого значения> в левом столбце <таблицы> и возвращает значение, находящееся в <требуемом столбце> той же строки. В данном случае <искомое значение> представляет собой время поступления заявки, <таблица> состоит из столбцов Время выбытия и Номер клиента, а так как <требуемый столбец>=2, то функция возвращает номер клиента, обслуживаемого на момент поступления текущей заявки. Столбец J – длина очереди на момент поступления заявки – разница между номером обслужившегося на данный момент клиентом и номером текущего клиента, с вычетом клиента, обслуживаемого на данный момент.
2. Моделирование СМО в MathCad Задачу из Примера 2 можно решить аналогичным образом в MathCad. Для упрощения модели можно задавать время не в формате времени, а в количестве минут (модельного времени), прошедших с начала запуска модели. В таком случае модуль MathCad может выглядеть следующим образом: В данном модуле также используется таблица (K), строки которой соответствуют обслуживаемым заявкам (n строк – n заявок), а столбцы распределены следующим образом (нумерация начинается с 1, что задано свойством ORIGIN=1): 1 – номер клиента (заявки) 2 – время поступления (число минут с начала работы) 3 – время обслуживания (в минутах) 4 – время начала обслуживания 5 – время окончания обслуживания 6 - длина очереди 7 – время пребывания в очереди 8 – время пребывания в системе Задав количество заявок (n=45) получаем следующие результаты: Поскольку обычно время между соседними заявками и время обслуживания заявки – случайные величины, распределенные по экспоненциальному закону, то можно использовать генератор случайных чисел с соответствующим распределением. 3. Моделирование СМО в MATLAB Пример 3. Пусть моделируется СМО без отказов с 1 прибором обслуживания, в которой интервал времени между поступившими заявками и время обслуживания заявок – случайная величина, имеющая экспоненциальное распределение в интервале со средними 12 и 10 мин. соответственно. Модуль в MATLAB будет выглядеть следующим образом: (нумерация и распределение столбцов такое же, как и в предыдущем примере) n=20; K(1,1)=1; K(1,2)=round(Random('exp',12)) K(1,3)=round(Random('exp',10)) K(1,4)=K(1,2) K(1,5)=K(1,4)+K(1,3) K(1,6)=0 K(1,7)=K(1,4)-K(1,2) K(1,8)=K(1,5)-K(1,2) for i=2:n K(i,1)=i; K(i,2)=K(i-1,2)+round(Random('exp',12)) K(i,3)=round(Random('exp',10)) if K(i,2) K(i,4)=K(i-1,5) else K(i,4)=K(i,2) end; K(i,5)=K(i,4)+K(i,3) K(i,7)=K(i,4)-K(i,2) K(i,8)=K(i,5)-K(i,2) m=0; for j=1:i-1 if K(j,5) m=m+1; end; end; K(i,6)=i-m-1 end; Результат моделирования представлен в таблице: ЛАБОРАТОРНАЯ РАБОТА №5 Получение и обработка результатов моделирования Подготовительная часть. Для выполнения лабораторной работы необходимо повторить следующие вопросы: Пуассоновское и показательное распределения случайной величины; Критерий согласия Колмогорова Методы получения результатов моделирования (метод подынтервалов, метод циклов) Теоретическая часть. Оценка статистических данных. Пример 1. В городе имеется транспортное агентство для обслуживания населения. Число заявок на обслуживание случайно и представлено выборкой 1. Время перевозок (включая время возвращения в гараж), так же случайно и представлено выборкой 2. Выборка 1 число заявок на перевозку за день Х1 =
Выборка 2 Время обслуживания одной заявки в часах. Х2 =
|