УДК 004.4:656.222.4
Н.Н. Клеванский, Е.Ф. Кравцов
МАТЕМАТИЧЕСКОЕ МОДЕЛИРОВАНИЕ ФОРМИРОВАНИЯ НАЧАЛЬНЫХ МНОГОПЕРИОДНЫХ РАСПИСАНИЙ
Представлены результаты математического моделирования процесса формирования начальных многопериодных расписаний на примере расписания железнодорожного транспорта.
Расписание, период, железнодорожное расписание.
N.N. Klevansky, Е^. Kravtsov MATHEMATICAL MODELING FOR INITIAL MULTIPERIODIC TIMETABLE
Mathematical modeling resultants are described here for initial multiperi-odic railway timetable.
Timetable, period, railway timetable.
Задача расписания является задачей формирования и оптимизации процесса обслуживания конечного множества требований (заявок) на осуществление действий (работ, операций) в системе, содержащей ограниченные ресурсы [1]. Для каждого требования в качестве исходных данных указываются допустимые наборы ресурсов, а расписание обслуживания требований - это однозначное отображение, в котором каждому требованию в определенный промежуток времени ставится в соответствие определяемый набор ресурсов.
В зависимости от предметной области обслуживаемых процессов возможны два типа задач формирования расписаний:
- задачи на быстродействие (минимизация времени расписания) обслуживания требований;
- задачи на эффективность обслуживания требований для задаваемого интервала времени, внутри которого формируется расписание.
В дальнейшем будут рассмотрены задачи второго типа. Расписания могут включать один интервал, а также могут быть многоинтервальными. Характерной одноинтервальной задачей является задача распределения дисциплин учебного плана по семестрам обучения. Большинство расписаний являются многоинтервальными - расписания занятий, экзаменов, движения транспорта и т. д.
Расписания могут быть одно- и многопериодными. К однопериодным расписаниям относятся расписания, в которых период обслуживания любого требования соответствует интервалу расписания. Например, расписание школьных занятий, интервал и период которого равен одной неделе. В многопериодных расписаниях требования имеют различные периоды обслуживания. Например, расписание занятий в вузе содержит занятия, проводимые как каждую неделю, так и раз в две недели. Интервал многопериодного расписания равен наименьшему общему кратному периодов обслуживания требований.
Одним из видов многопериодного многоинтервального расписания является железнодорожное расписание. В данной работе представлено моделирование формирования начального расписания железнодорожного транспорта на основе многокритериальной выборки с использованием переопределяемых коэффициентов загруженности.
Проверка корректности предлагаемых решений проведена на базе разработанного тестового задания для пассажирского железнодорожного транспорта. Тестовое задание включает три группы элементов. Первая группа состоит из элементов, описывающих структуру железнодорожной сети, вторая группа описывает маршруты следования поездов, третья группа описывает периодичность отправления поездов. Структура железнодорожной сети определяется количеством перегонов между станциями. Тестовое задание (рис. 1) содержит сетевидные, паутинообразные и магистральные фрагменты сети. Нумерация станций и перегонов на рис. 1 осуществлена случайным образом, поэтому можно считать эти номера их идентификаторами. Маршруты определяют последовательность станций и перегонов по пути следования поезда.
Перечисленные элементы тестового задания количественно определяют конкуренцию поездов маршрутов за перегоны и перроны станций. Качественно конкуренция определяется периодичностью отправления поездов маршрутов. Тестовое задание содержит как ежедневные маршруты, так и маршруты, отправляющиеся несколько раз в неделю (табл. 1).
Согласно данным табл. 1, тестовое задание предназначено для формирования недельного расписания сети. Присутствие в тестовом задании маршрутов, отправляющихся по четным или нечетным дням, потребовало бы формирования двухнедельного расписания сети.
Тестовое задание имеет следующие характеристики: количество станций - 100; (в табл. 2 приведены их характеристики), количество перегонов - 128 (из них 51 одноколейный), общее количество маршрутов - 100, количество поездов маршрутов - 471 в неделю.
Рис. 1. Железнодорожная сеть тестового задания
Периодичность отправления поездов маршрутов
Таблица 1
Количество отправлений поездов маршрутов каждую неделю Периодичность, сутки Количество маршрутов по типам (пассажирский/скорый)
1 7 8/
2 7 16/2
3 7 4/7
4 7 6/7
5 7 2/
6 7 4/
7 1 14/30
ИТОГО 54/46
Таблица 2
Типы станций тестового задания
Количество перегонов, граничащих со станцией Количество станций Тип станции
1 12 тупиковая
2 50 обычная
3 14 узловая
4 20 узловая
5 2 узловая
6 2 узловая
Математическая модель для решения задачи формирования начального расписания железнодорожного транспорта включает следующее.
Железнодорожная сеть N характеризуется следующим набором атрибутов
AN = Kl, an2, an3, an4, an5 , an6 , an7, an8 , an9 } •
- an1 - количество станций сети;
- an2 - количество перегонов сети;
- an3 - количество маршрутов сети;
- an4 - количество включенных в расписание сети маршрутов;
- an5 - коэффициент загруженности сети по маршрутам;
- an6 - количество поездов маршрутов сети за период расписания;
- an7 - количество включенных в расписание сети поездов маршрутов;
- an8 - коэффициент загруженности сети по поездам маршрутов;
- an9 - общий коэффициент загруженности сети.
Сеть содержит конечное множество станций S. Каждая станция характеризуется следующим наб°р°м атрибутов As = {a^ as 2, ^ as 4, as5 , as 6, ^, as8, a^ as10 , as11, a,12} •
- as1 - количество путей станции с платформами для пассажиров;
- as2 - количество путей станции для проезда транспорта без остановки;
- as3 и as4 - координаты расположения станции;
- as5 - количество маршрутов станции;
- as6 - количество включенных в расписание сети маршрутов станции;
- as7 - коэффициент загруженности станции по маршрутам;
- as8 - количество поездов маршрутов станции за период расписания;
- as9 - количество включенных в расписание сети поездов маршрутов станции;
- asio - коэффициент загруженности станции по поездам маршрутов;
- ах11 - общий коэффициент загруженности станции;
- ах12 - идентификатор станции.
Коэффициент загруженности 1-й станции по маршрутам определяется выражением
ах 7 = . (1)
ап4 - ап5
Коэффициент загруженности 1-й станции по поездам маршрутов определяется выражением
а^ю = . (2)
апб - ап7
Общий коэффициент загруженности 1-й станции является многокритериальной оценкой и определяется как мультипликативная свертка выражений (1) и (2)
а\ц = а\7 X а\ю. (3)
Между станциями сети имеется конечное множество перегонов Ь. Каждый перегон характеризуется следующим набором атрибутов АЬ = (ап, а12, а13} :
- ац - тип пути перегона - одноколейный или двухколейный путь;
- а2 - длина перегона - расстояние между граничными станциями перегона;
- а3 - идентификатор перегона.
Отношение между станциями и перегонами сети (элементами множеств £ и Ь) является отношением «два ко многим». Для включения этого отношения в модель вводится множество Е. Каждый элемент множества Е характеризуется следующим набором атрибутов
Ар = {а13 , ах12 , ау 1 } :
- а3 - идентификатор перегона;
- ах12 - идентификатор станции;
- ар - идентификатор элемента множества Е.
Маршрутом Я! будем полагать множество поездов 7}, имеющих одинаковые последовательности станций и время прохождения через них в разные дни. В железнодорожной сети планируется движение конечного множества поездов маршрутов Я различной периодичности. Каждый элемент множества Я характеризуется следующим набором атрибутов
АЯ = {аг1, аг2 , аг3 , аг^ аг5 , аг6, аг7}:
- аГ1 - номер маршрута;
- а2 - наименование маршрута;
- аг3 - тип маршрута - скорый/пассажирский;
- аг4 - коэффициент загруженности маршрута по количеству поездов маршрута за период расписания;
- аг5 - коэффициент загруженности маршрута по общим коэффициентам загруженности станций маршрута;
- аг6 - общий коэффициент загруженности маршрута;
- аг7 - идентификатор маршрута.
Каждый маршрут расписания является последовательностью станций и перегонов сети, задаваемых множеством Р. Каждый элемент множества Р характеризуется следующим набором атрибутов АР = {ау 1, аг 8, ар1, ар 2, аё 3}:
- ау1 - идентификатор элемента множества Е;
- аг8 - идентификатор маршрута расписания;
- ар1 - наличие/отсутствие остановки на станции;
- ар2 - номер элемента множества Р в последовательности станций и перегонов маршрута;
- ар3 - идентификатор элемента множества Р.
Исходя из специфики работы пассажирского железнодорожного транспорта, период расписания сети Б кратен календарным суткам. Каждый элемент множества Б характеризуется следующим набором атрибутов АБ = {ад, ай2, ай3} :
- аС11 - наименование суток периода расписания;
- а<й - номер суток периода расписания;
- а^3 - идентификатор суток периода расписания.
Поезда Т маршрутов сети характеризуются следующим набором атрибутов
АТ = аС3, аА}:
- аг8 - идентификатор маршрута расписания;
- а^з - идентификатор суток периода расписания;
- а(3 - идентификатор поезда маршрута расписания.
Коэффициент загруженности }-го маршрута по суткам периода расписания определяется выражением
Коэффициент загруженности }-го маршрута по общим коэффициентам загруженности станций определяется выражением
Многокритериальная оценка (коэффициент) загруженности }-го маршрута определяется как мультипликативная свертка выражений (4) и (5)
Наличие в тестовом задании одноколейных перегонов и поездов с различной скоростью движения потребовало включения в математическую модель семафоров для предотвращения «виртуальных» столкновений поездов. Каждому элементу множества Г соответствуют два семафора - разрешения/запрета въезда на перегон и и на станцию V .
Каждый тип семафора характеризуется идентичным набором атрибутов
- аи1, ау1 - время закрытия (красный свет);
- аи2, ау2 - время открытия (зеленый свет);
- аг8 - идентификатор маршрута расписания;
- ар - идентификатор элемента множества Е;
- а^3 - идентификатор суток периода расписания.
В процессе формирования начального расписания сети количество элементов множеств и и V постоянно накапливается с возможным изменением значений атрибутов аи1, ау1,
аи2-> а^2.
Для формирования начального расписания движения поездов сети вводится множество заявок (требований) Q, элементы которого характеризуются следующим набором атрибу-
количество поездов маршрута
(4)
количество суток периода расписания
сумма коэффициентов загруженности станций маршрута
(5)
(6)
А ~ Ні, «и2, «/1, «г8, «с1Э} и А ~ {«VI, ау2, «/1, «г8, «йЭ}-
тов ^ {aql, ач2, ач3, аг 3, ау 1, аа3}:
- ад1 - время прибытия поезда на станцию;
- ад2 - время отправления поезда со станции;
- а^д3 - идентификатор заявки;
- а(3 - идентификатор поезда маршрута расписания;
- a.fl - идентификатор элемента множества F;
- ad3 - идентификатор суток периода расписания.
На начальном этапе формируется полный набор элементов множества Q. Значениями атрибута ad3 принимаются значения идентификаторов суток отправления поезда. Значениями атрибутов aqt и aq2 устанавливаются значения NULL.
СЕТЬ
Станции : SMALLINT Перегоны : SMALLINT Маршруты : SMALLINT Маршруты_в : SMALLINT A_n_5 : REAL Поезда : SMALLINT Поезда_в : SMALLINT A_n_8 : REAL А п 9:REAL
СЕМАФОР_П
Красный :Т1МЕ(0)
Зеленый : TIME (О)
FK Маршруг_Ю : INTEGER FK Станция_перегон_Ю : INTEGER FK Сутки_Ю : INTEGER
СТАНЦИЯ
Станция_Ю : INTEGER Перроны : SMALLINT Пути : SMALLINT X: REAL Y: REAL
Маршруты : SMALLINT Маршруты_в : SMALLINT A_s_7 : REAL Поезда : SMALLINT Поезда_в : SMALLINT A_s_10 : REAL A s 11 : REAL
ПЕРИОД
Сутки_Ю : INTEGER Номер : SMALLINT Наименование :CHAR(10)
МАРШРУТ
РК Маршруг_Ю : INTEGER Номер : SMALLINT Наименование : CHAR(50) Тип : CHAR(1 5)
A_r_5 : REAL A_r_6 : REAL A_r_7 : REAL
1..*
ДИСТАНЦИЯ
Дистанция_Ю : INTEGER Маршрут_Ю : INTEGER Станция_перегон_Ю : INTEGER Остановка : BIT(1)
Номер : SMALLINT
1.. *
СТАНЦИЯ_ПЕРЕГОН
РК Станция_перегон_Ю : INTEGER FK Станция_Ю : INTEGER №]Перегон_Ю : INTEGER
ПЕРЕГОН
Перегон_Ю : INTEGER Тип : SMALLINT Длина : REAL
1.. *
ПОЕЗД Поезд_Ю : INTEGER Маршрут_Ю : INTEGER Сугки_Ю : INTEGER
СЕМАФОР С
Красный :TIME(0)
Зеленый : TIME (О, О)
Маршрут_Ю : INTEGER Станция_перегон_Ю : INTEGER Сугки_Ю : INTEGER
1.. *
РАСПИСАНИЕ
Заявка_Ю : INTEGER Поезд_Ю : INTEGER Станция_перегон_Ю : INTEGER Сугки_Ю : INTEGER Прибытие : Т1МЕ(0, О) Отправление : Т1МЕ(0, О)
Рис. 2. Схема базы данных железнодорожного расписания
Введенные множества образуют реляционную модель, представленную на рис. 2 схемой базы, в которой находится исходная информация.
Задача формирования начального железнодорожного расписания сводится к опреле-нию времен прибытия и отправления поездов на станции сети.
Метод формирования начального расписания включает четыре группы действий:
1. Выбор наиболее загруженного маршрута среди не включенных в расписание маршрутов по величине аг6.
2. Выбор времени отправления выбранного маршрута.
3. Последовательная проверка возможности проезда поездов маршрута через семафоры станций и перегонов.
4. Включение поездов маршрута в расписание.
Метод начинается с предварительного расчета всех коэффициентов загруженности (1)-(6), после чего начинается работа четырех групп.
Группы действий 2 и 3 образуют внутренний цикл. Цикл завершается при возможности проезда поездов выбранного маршрута через семафоры всех необходимых станций и перегонов во все дни отправления. В случае отсутствия возможности проезда хотя бы через один семафор осуществляется возврат к выбору другого времени отправления (группа 2). Выбор времени отправления поездов маршрута производится с учетом равномерности загрузки начальных станций маршрутов.
Группы 1 и 4 образуют внешний цикл. Цикл завершается при включении всех поездов всех маршрутов в расписание. Группа 4 осуществляет обновление атрибутов станций, мар-
шрутов и сети согласно выражениям (1)-(6). Здесь же осуществляется добавление новых значений атрибутов семафоров станций и перегонов.
Предложенный метод реализован в среде СУБД средствами встроенного структурированного языка запросов и показал свою работоспособность. База данных содержит информацию тестового задания.
ЛИТЕРАТУРА
1. Танаев В.С. Введение в теорию расписаний / В.С. Танаев, В.В. Шкурба. М.: Наука, 1975. 354 с.
Клеванский Николай Николаевич -
кандидат технических наук, доцент кафедры «Программное обеспечение вычислительной техники и автоматизированных систем»
Саратовского государственного технического университета
Кравцов Евгений Федорович -
аспирант кафедры
«Программное обеспечение вычислительной техники и автоматизированных систем»
Саратовского государственного технического университета
Статья поступила в редакцию 03.06.09, принята к опубликованию 17.07.09
Klevansky Nikolay Nikolayevich -
Candidate of Technical Sciences,
Assistant Professor
of the Department of «Computer Software and Automated Systems» of Saratov State Technical University
Kravtsov Evgeny Fyodorovich -
Post-graduate student
of the Department of «Computer Software
and Automated Systems»
of Saratov State Technical University