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

Формализация модели и входящего потока заявок

В расчетно-теоретической части необходимо строго описать физические и временные параметры системы. Задай число этажей (обычно от 9 до 16 для наглядности), предельную вместимость кабины в пассажирах или килограммах, время перемещения между соседними этажами (например, 2 секунды), а также фиксированное время открытия, посадки и закрытия дверей (например, 3-5 секунд). Поток заявок целесообразно смоделировать через пуассоновский процесс, задавая интенсивность генерации вызовов в зависимости от сценария. Рекомендуется просчитать три типовых режима: утренний пик (доминирует подъем с первого этажа на верхние), вечерний пик (массовый спуск на первый этаж) и межпиковый период со случайным распределением между произвольными этажами.

Программная реализация алгоритмов диспетчеризации

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

  • Обслуживание в порядке поступления (FIFO/FCFS), где кабина берет первую поступившую заявку, полностью ее выполняет и только потом переходит к следующей, что создает огромные задержки при встречных потоках.
  • Алгоритм SCAN или классический элеваторный алгоритм, при котором кабина непрерывно движется в выбранном направлении до крайнего запрошенного этажа, подбирая по пути всех попутных пассажиров, и меняет направление только при отсутствии вызовов впереди.
  • Алгоритм LOOK, оптимизирующий SCAN за счет того, что лифт разворачивается сразу на последнем этаже с активной заявкой, не доезжая впустую до границы здания.
  • Алгоритм кратчайшего времени поиска (SSTF), выбирающий ближайший к текущему положению этаж с заявкой, который дает хороший результат при низкой нагрузке, но приводит к голоданию запросов с дальних этажей при интенсивном потоке.

Сбор метрик и сравнительный анализ эффективности

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

Критерии оценки работы преподавателем

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

Частые вопросы

Обязательно ли делать сложный графический интерфейс (GUI)?

В курсовой работе по информатике функционал моделирования и корректный сбор числовой статистики важнее сложной 3D-графики. Достаточно консольного вывода с текстовой визуализацией этажей или простого плоского 2D-интерфейса на pygame, tkinter, PyQt или Canvas, если визуализация требуется по заданию научного руководителя.

Где брать реальные распределения пассажиропотока для симуляции?

Реальные профили трафика лифтов описаны в отраслевых стандартах CIBSE Guide D (Transportation systems in buildings) и публикациях доктора Йормы Силвеннойнена (Jorma Suur-Askola, KONE). Для учебной работы достаточно взять стандартные расчетные коэффициенты прибытия пассажиров из этих справочников или учебных пособий по расчету вертикального транспорта.