Е.И. Большакова - Задания практикума по объектно-ориентированному программированию (1162571), страница 4
Текст из файла (страница 4)
Например, если автомобиль приближается кидущей впереди него машине на некоторое фиксированное расстояние (5-10 м),он начинает притормаживать, пока его скорость не сравняется со скоростьюпередней машины.12Когда автомобиль достигает развязки, он въезжает на круг и проезжает понему до той дороги, на которую ему необходимо свернуть. Въезжать накруговую дорогу, двигаться по ней (перестраиваясь из одного ряда в другой), ивыезжать с нее на нужную дорогу автомобили должны в соответствии справилами дорожного движения.
После выезда на нужную дорогу автомобильпроезжает по ней до конца и исчезает.Кроме правил въезда/выезда и смены полос, в программе должны бытьзафиксированы законы торможения и ускорения автомобилей, которые в общемслучае зависят от допустимого сближения между автомобилями, дистанциивидимости, видов автомобилей (например, легковых и грузовых).В параметры моделирования необходимо включить диапазон возможныхскоростей автомобилей и интервал между их появлениями на дороге (отдельнодля каждой дороги, входящей в развязку, от этого зависит плотность потокаавтомашин на ней). Как параметр можно задавать и приоритет дорог развязкиВизуальная картина движения на круговой развязке должна включатьизображения всех дорог и движущихся машин.
Следует учесть, что изображениясамих автомобилей необходимо сделать крупнее, чем это определяетсямасштабом, иначе они будут плохо видны. Полезно использовать разные цветадля изображения различных состояний автомобиля (ускорение, торможение,остановка, поворот).Система контроля движения электропоездовРассматривается линейный участок железной дороги, соединяющий Nстанций (7≤ N ≤ 20).
Известно суточное расписание движения электропоездовмежду этими станциями (в одном направлении), которое включает Mмаршрутов (5≤ M ≤20). Каждый маршрут фиксирует:• станцию-пункт отправления и станцию-пункт назначения;• промежуточные станции маршрута, в которых электропоезд делает остановку;• время прибытия и отправки электропоезда в каждой станции маршрута.Фактическое движение электропоездов зависит не только от расписания,но и от некоторых непредвиденных событий, к числу которых относятсязадержки поездов на станциях маршрута, а также аварии поездов и поврежденияжелезнодорожных путей (которые на некоторое время нарушают движение).Требуется разработать систему контроля движения электропоездов,которая отслеживает их движение по маршрутам, регистрирует возникающиесобытия и отклонения движения от расписания, а также корректирует принеобходимости расписание, определяя время предполагаемого прибытияпоездов на каждую станцию маршрута.
Можно считать, что электропоездадвигаются по маршрутам с определенной скоростью (например, 70 км/час).Цель моделирования – изучение стабильности движения поездов призаданном расписании движения в условиях возникающих непредвиденныхсобытий. Период моделирования – один день.Случайные факторы движения (задержки и аварии) следует моделироватьстатистически, определив для каждого фактора свой вероятностный законраспределения. Интервал времени между возникновением двух непредвиденныхсобытий – случайная величина, изменяющаяся в некотором диапазоне13(например, для аварий – от 2 до 15 часов). Случайными величинами являютсятакже длительность ремонта после аварии и время задержки при остановкахэлектропоезда на станции.Кроме величин N, M и расписания движения, в изменяемые параметрымоделирования целесообразно включить: время суток начала моделированиядвижения электропоездов, шаг моделирования – 15 или 30 минут, диапазонизменения указанных случайных величин (от диапазона зависит частотавозникновения непредвиденных событий).В ходе моделирования на экране компьютера должна быть изображенасхема рассматриваемого участка железной дороги, на которой показанодвижение поездов в соответствии с расписанием, возникающие аварии инеисправности путей.
По запросу необходимо также показать расписаниедвижения, скорректированное в соответствии с уже случившимися событиями.По окончании моделирования должен быть выведен график смоделированногодвижения поездов, подсчитанная средняя задержка на станциях, общее времянарушения движения вследствие аварии.Полезной функцией создаваемой системы контроля является введение ирасчет дополнительного маршрута. При этом система по заданному времениотправления поезда, заданным станциям отправления и назначения должнаопределить расписание движения по новому маршруту (по возможности, безизменений старых маршрутов).
Время остановки электропоезда напромежуточных станциях должно быть в интервале от 2 до 5 минут.Возможное усложнение задачи – рассмотреть движение электропоездов нарассматриваемом участке дороги в обоих направлениях (по каждомунаправлению действует свое расписание). При этом авария поезда нарушаетдвижение только в одну сторону, а неисправность железнодорожного пути –движение в обоих направлениях.Система управления движением на линии метроНеобходимо разработать систему, контролирующую движение на линииметрополитена, соединяющей N станций (7≤ N ≤ 20).
На двух конечныхстанциях линии расположены депо, в которых стоят свободные поезда.Движение по линии осуществляется в обе стороны, известно стандартное времяперегона между каждыми двумя соседними станциями. Определен также графикдвижения поездов метро, зависящий от времени суток и дня недели. Графикзадает временной интервал между прибытием поездов на станцию и времяостановки поезда на станции (например, в час пик интервал равен 1 минуте, авремя стоянки – 2 минуты, в вечерние часы и в воскресные дни этот интервалдвижения увеличивается, время стоянки уменьшается).
Время работы метро – с6.00 утра до 12.00 ночи.Фактическое движение поездов метро зависит не только от графика, но иот непредвиденных задержек поездов на станциях. В этом случае на следующемперегоне между станциями поезд двигается с большей скоростью (при этомстандартное время перегона можно сократить лишь в полтора раза) и сокращаетвремя стоянки на следующей станции (но время стоянки не может быть менее 1минуты), пытаясь тем самым «нагнать» время задержки и восстановить график14движения на линии. В общем случае для восстановления графика движенияпотребуется такое ускоренное движение поезда на нескольких перегонах междустанциями (и сокращение времени его остановки на нескольких станциях), приэтом следующие за ним поезда вынуждены удлинять свою остановку настанциях – чтобы сохранить минимальный интервал между прибытием поездовна станцию (равный 1 минуте), требуемый для безопасности движения.Создаваемая система должна отслеживать движение поездов на линии,регистрировать (по обоим направлениям) возникающие на станциях задержки исоответствующим образом корректировать движение поездов.
Для тестированиясистемы требуется смоделировать процесс движения поездов нарассматриваемой линии. Период моделирования – некоторый отрезок суток(например, с 6 до 12 часов). Цель моделирования – изучение стабильностидвижения поездов на линии.При моделировании движения непредвиденные задержки поездов настанциях следует моделировать статистически: отклонение от времениотправления – случайная величина, изменяющаяся в некотором диапазоне(например, от 20 до 60 секунд), причем вероятность задержки зависит отвремени суток и дня недели (в час пик она выше).В число параметров моделирования следует включить величину N , шагмоделирования – отрезок времени от 30 до 120 секунд, период моделирования.В ходе моделирования на экране компьютера должна быть изображеналиния метро с названиями станций, показано движение поездов по обоимнаправлениям линии, указано – в виде табло на каждой станции – время,прошедшее после прибытия последнего поезда на станцию, и длительность егостоянки, а также время сдвига движения относительно исходного графика.
Поокончании моделирования следует предусмотреть вывод итоговой информации,в том числе количество и среднюю величину возникших задержек поездов,максимальный и средний интервал между прибытием поездов на станцию.Система управления воздушным движениемРассматривается работа аэропорта с N взлетно-посадочными полосами(2≤ N ≤ 10). Необходимо создать систему-диспетчер, обрабатывающую заявкина взлет и посадку самолетов нескольких авиакомпаний, и провестиэксперименты с ней, программно смоделировав поток заявок.Заявки на взлет и посадку формируются на основе действующегосуточного расписания полетов в данном аэропорту (оно включает расписаниевылетов и расписание прилетов самолетов) с учетом возможных отклонений отрасписания (из-за задержек загрузки топлива и по другим причинам).Отклонение от расписания моделируется как случайная величина, имеющаянормальное распределение в некотором интервале, например, от 0 до 120 минут.Для вылетов возможны только задержки, для посадок – как задержки, так идосрочные прилеты.