Предполагаемые отличия

 

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

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

Моделирование

 

Для моделирования лифтовой системы были написаны две программы на языке C++.

Будем исследовать модель 50-ти этажного здания с 4-ю лифтами. Прежде всего, приведём описание окна работающей программы:


 

Первый столбец, состоящий из цифр – это номера этажей. Следующие два столбца отображают запросы с этажей вверх и вниз в виде треугольников. Далее большими прямоугольниками обозначаются лифты, маленькими (вдоль шахты каждого из лифтов) этажи назначения. Под шахтой каждого из лифтов находится число, характеризующее пройденное лифтом расстояние. Далее следует надпись: «Суммарное время ожидания лифтов пассажирами равно: …». И приглашение для ввода запроса. При нажатии на [Enter] система запрашивает номер этажа, на котором находиться пассажир, и направление в котором он желает двигаться. Если лифт достиг запроса, у пассажира спрашиваются этажи назначения.

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


Эксперименты

 

Результаты экспериментов сведём в таблицу:

Номер эксперимента Пройденные пути для №1 Время ожидания лифта для №1 Пройденные пути для №2 Время ожидания лифта для №2
1 36, 58, 78, 79 136 79, 78, 58, 36 140
2 49, 70, 84, 0 92 94, 48, 70, 0 115
3 34, 48, 49, 49 124 48, 49, 49, 38 128
4 49, 88, 0, 0 65 49, 88, 49, 68 105
5 49, 89, 0, 0 92 49, 89, 49, 49 99

 

Эксперимент №1

Тест направлен на моделирование ситуации, когда одновременно поступает множество запросов с верхних этажей на движение вниз, а именно:

· 50 вниз (40, 30, 20)

· 40 вниз (38, 36, 1)

· 30 вниз (20, 2, 1)

· 20 вниз (3, 5)

Как и следовало ожидать суммарные пути, пройденные лифтами равны. Время ожидания не существенно разниться. Полученные результаты объясняются тем, что не было запросов, которые можно было подхватить по движению, по этому преимущество набора правил №1 и не имеют места.

Эксперимент №2

Тест содержит один запрос, который может быть выполнен параллельно с развозом пассажиров, запросы поступили одновременно:

· 1 вверх (20, 30, 40, 50)

· 10 вверх (38, 44, 45, 49)

· 45 вниз (30, 20, 10, 5)

· 36 вниз (30, 1)

Здесь уже начинают наблюдаться преимущества модели использующей набор правил №1. Суммарный пройденный путь меньше, время ожидания так же меньше. При этом обе модели задействовали по 3 лифта для выполнения задачи.

Эксперимент №3

Одновременно поступают запросы:

· 35 вверх (45, 48, 49)

· 36 вверх (40, 50)

· 37 вверх (50,43,44)

· 20 вниз (1)

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

Эксперимент №4

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

· 10 вверх (15, 27, 36, 45, 50)

· 45 вниз (1, 8, 15, 40)

Когда лифт, среагировавший на запрос с 10-ого этажа, погрузил пассажиров и получил этажи назначения, производится запрос:

· 15 вверх (34, 50)

Когда лифт, среагировавший на запрос с 45-ого этажа, погрузил пассажиров и получил этажи назначения, производится запрос:

· 35 вниз(1)

Чего и следовало ожидать, на лицо существенный выигрыш, как во времени ожидания лифтов, так и в пройденном расстоянии.

Эксперимент №5

Усугубим ситуацию, в начальный момент времени поступают запросы:

· 5 вверх (7, 29, 46, 49, 50)

· 50 вниз (10, 28, 35, 45)

Когда лифт, среагировавший на запрос с 5-ого этажа, погрузил пассажиров и получил этажи назначения, производится запрос:

· 10 вверх (35, 45)

Когда лифт, среагировавший на запрос с 50-ого этажа, погрузил пассажиров и получил этажи назначения, производится запрос:

· 30 вниз (10)

Когда лифт, среагировавший на запрос с 10-ого этажа, погрузил пассажиров и получил этажи назначения, производится запрос:

· 47 вверх (50)

Хоть и превышение в скорости реакции на запрос, модели использующей набор правил №1 не существенно, пройденное лифтами расстояние примерно на 70% меньше.




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: