УДК 681.3
И.В. МАКСИМЕЙ, Е.И. СУКАЧ, П.Л. ГИРУЦ
ОПРЕДЕЛЕНИЕ ИНТЕГРАЛЬНОГО МАКСИМАЛЬНОГО ПОТОКА В РЕГИОНАЛЬНОЙ СЕТИ С ПОМОЩЬЮ ИМИТАЦИОННОГО МОДЕЛИРОВАНИЯ
Abstract: The usage of simulation model of a regional transport network is offered. It takes into consideration the influence of casual integral streams and a probable ageing of the roads for finding an integral maximum stream in a network and distinguishing “the narrow places” in a network of roads.
Key words: imitation models, transport networks, a maximum stream.
Анотація: Пропонується розглянути використання моделі регіональної транспортної мережі, яка враховує вплив випадкових внутрішніх потоків та імовірнісне старіння доріг для пошуку інтегрального максимального потоку в мережі і знаходження „вузьких місць” у мережі доріг.
Ключові слова: імітаційні моделі, транспортні мережі, максимальний потік.
Аннотация: Предлагается использование имитационной модели региональной транспортной сети, учитывающей влияние случайных внутренних потоков и вероятностное старение дорог, для нахождения интегрального максимального потока в сети и определения „узких мест” в сети дорог.
Ключевые слова: имитационные модели, транспортная сеть, максимальный поток.
1. Введение
Широкий класс систем, имеющих важное практическое и научное значение, описывается с
использованием сложных структур, представленных в виде графов. Графы нашли применение
практически во всех отраслях научных знаний: физике, биологии, химии, математике, истории,
лингвистике, социальных науках, технике и т.п. Наибольшей популярностью графовые модели
используются при исследовании коммуникационных сетей, систем информатики, химических и
генетических структур, электрических цепей и других систем сетевой структуры.
Одну из областей, использующих графовые структуры, определяют задачи исследования
транспортных сетей. В настоящее время за счёт резкого увеличения числа транспортных средств в
сетях дорог существенно возросли требования к рациональной организации транспортных потоков.
С этой целью, как правило, оценивают максимальный поток в сети, находят наиболее эффективное
распределение потока, выявляют узкие места и своевременно их ликвидируют. Одновременно с
этими задачами оценивают суммарные затраты транспортных средств при их движении из
начального пункта в конечный.
Для решения задачи нахождения максимального потока в транспортной сети обычно
используется алгоритм Форда-Фалкерсона [1]. По своему характеру это итеративный алгоритм,
идея которого заключается в постепенном наращивании потока через сеть до тех пор, пока его
величина не достигнет максимума и дальнейшее увеличение потока перестанет быть возможным.
Однако алгоритм Форда-Фалкерсона имеет ряд ограничений, которые на практике не
выполняются. Во-первых, пропускные способности ветвей сети должны быть целыми
неотрицательными детерминированными числами. В реальной сети пропускная способность не
является постоянной и зависит от таких вероятностных факторов, как загруженность, состояние
дороги, параметры внешней среды. Загруженность на различных участках дороги бывает
различной и зависит от наличия внутренних транспортных потоков на данном участке, которые
могут рассматриваться как помехи при передвижении транспортной единицы из начального пункта
сети в конечный. Состояние дороги определяется её изношенностью, условиями эксплуатации,
влиянием погодных условий. Параметры внешней среды изменяются в зависимости от времени
года и времени суток. Как правило, в транспортной сети перечисленные факторы являются взаимосвязанными.
Во-вторых, выполнение алгоритма Форда-Фалкерсона предлагается начинать с некоторого, уже существующего в сети, начального потока, в то время как выбор начального потока не изменяет величину максимального потока, а изменяет распределение максимального потока в сети.
В-третьих, задача о поиске максимального потока решается для единственного потока через сеть, т.е. в самой сети должен быть только один вход - узел сети, через который транспортные средства попадают в сеть, и только один выход - узел сети, через который они выходят из сети.
Исходя из вышеизложенного, в качестве выхода из положения исследователи вынуждены прибегать к имитационному моделированию транспортных потоков в сети, позволяющему учесть большое число внешних факторов и как можно ближе привязать программную модель к её реальному представлению [2]. В статье рассматривается задача нахождения интегрального максимального потока в сети, имеющей заданное количество входов и выходов, определяющих некоторое направление движения транспорта в сети. Предлагается метод определения максимального потока в региональной сети для заданного направления, снимающий ограничения алгоритма Форда-Фалкерсона. Метод позволяет определить максимальный поток и его распределение по ветвям сети, обладающее наилучшей эффективностью среди остальных вариантов распределения потоков в сети, пропускные способности ветвей которой изменяются во времени случайным образом.
2. Формальное описание объекта моделирования
Объектом моделирования является система транспортных потоков на участке автомобильных дорог некоторого региона. Определим транспортную сеть при помощи ориентированного, не имеющего циклических дуг графа G размерности N с пронумерованными вершинами (О,N). Поскольку граф представляет транспортную сеть, то каждое его ребро описывается следующими характеристиками: пропускной способностью дороги между узлами транспортной сети; длиной дороги между узлами транспортной сети; стоимостью перемещения одной транспортной единицы по дороге между узлами транспортной сети; величиной потока на дороге между узлами транспортной сети.
Под пропускной способностью дороги (ветви графа) будем понимать максимально возможное количество единиц транспорта, которое способна пропустить через себя ветвь за выбранную единицу времени. Длина дороги задаётся в условных единицах. Величина потока определяет количество единиц транспорта, движущееся по участку сети.
Ставится задача исследования транзитных транспортных потоков региона в заданном географическом направлении. Каждое направление характеризуется множеством транзитных потоков, т.е. потоков от различных начальных входов на одной границе транспортной сети к различным конечным выходам на противоположной границе. Все потоки рассматриваемого участка
дорог региональной сети разделяются по направлениям: Север-Юг, Запад-Восток, Юг-Север и Восток-Запад.
В сети предполагается существование внутренних потоков. Это потоки, транспортные средства которых движутся в направлении от одного внутреннего узла сети к другому внутреннему узлу сети. Они отнимают некоторую часть ресурсов транспортной сети, влияя тем самым на величину основных транзитных потоков.
Для проведения исследований выберем одно из направлений, например, Запад-Восток (7У). Для рассматриваемого направления начальные узлы потоков расположены на западной границе транспортной сети региона, а конечные узлы потоков расположены на восточной границе сети региона. Зададим множества начальных узлов - «входов» транзитных потоков
|21,22,...,2ш} , где , г = 1,т - номера начальных вершин транзитных потоков, которые расположены на западной границе региона; конечных узлов - «выходов» транзитных потоков {VI,У2,..., Уп} , где Уг, г = 1,п - номера конечных вершин транзитных потоков, которые
расположены на восточной границе региона. Различные сочетания «входов» и «выходов» определяют транзитные потоки [г, ,у, } (где г = 1,ш , у = 1,п) для выбранного направления (7У).
Характеристики участков транспортной сети, заданной графом (О,N), определяются при помощи следующих матриц.
Матрица распределения начального потока X0 = х0 содержит элементы х®
II г II г
(г,у = 1,...,N), каждый из которых определяет величину начального транзитного потока на ветви транспортной сети от г -того узла к у -тому.
Матрица пропускных способностей С (; ) = ||сгу (; )|| содержит элементы (;) (; = 1,...,Тт , Тт
- время моделирования; г,] = 1,..., N), которые определяют пропускную способность дороги транспортной сети от г -того узла к у -тому, изменяющуюся во времени в зависимости от износа
участка дороги и параметров внешней среды. Значения матрицы С(;) = ||сгу(;)|| обновляются на каждом шаге и поступают из имитационной модели износа участков транспортной сети [3].
Матрица расстояний Ь = /.Ц содержит элементы /(г,у = 1,...,N), которые определяют
расстояние в транспортной сети от г -того узла к у -тому. Если /у = 0 , то в транспортной сети г -тый узел не связан с у -тым узлом.
Матрица стоимостей Q = Цд-Ц содержит элементы д. (;) (г, у = 1,..., N), которые
определяют стоимость проезда единицы потока в транспортной сети от -того узла к у -тому.
Матрица Т = |Ы| содержит элементы ;п, которые задаются отношением Ъу = —
у у х у
(г,у = 1,...,N) и определяют время движения транспортных единиц потока от г-ого узла к у -тому.
Матрица внутренних потоков XПР =||хРР|| = ||^у (т)|| содержит элементы х™ (у, j = 1,...,N), которые определяют величину внутреннего потока на ветви транспортной сети от г -того узла к j -тому. Здесь ¥ц (т) - функция распределения величины внутреннего потока на ветви из г -того узла транспортной сети в j -тый.
Из-за влияния внутренних потоков на пропускные способности ветвей транспортной сети рассчитывается матрица С(V) = С(V)- XПР(? = 1,..Тт). При расчетах максимального потока
вместо матрицы пропускных способностей ) используется матрица С(V) .
Для каждого из потоков ZіУ., і = 1,т , . = 1,п по отдельности транспортная задача
решается методом, основанным на сочетании метода Монте-Карло и детерминированного алгоритма Форда-Фалкерсона [4].
В результате для каждого из потоков , і = 1,т; . = 1,п получаем следующие выходные характеристики: величину максимального потока р0^; величину эффективности Ф..,
' У У
соответствующую найденному максимальному потоку; распределение величин транспортных
потоков в сети X
.
X.
, к, I = 1...Ы.
3. Алгоритм поиска интегрального максимального потока транспортной сети в заданном направлении
Для нахождения интегрального максимального потока транспортной сети в заданном направлении (7У) для каждого временного интервала составляются матрицы величин максимальных потоков и эффективностей этих потоков, элементами которых являются значения максимальных потоков и эффективностей потоков по каждому сочетанию входа и выхода. Матрицу величин потоков
обозначим р = 0>тах |, і = 1,т, . = 1,п . Матрицу эффективностей потоков обозначим Ф = Ф.. ,
і = 1,т , . = 1,п . Полученные матрицы нормируются по максимальному элементу:
р =\\РЛ =
тахр
, ф* = ф* =
ф„
тах фу
, і = 1,т , . = 1,п .
В результате все элементы матриц р*, Ф* удовлетворяют неравенствам 0 < р* < 1,
0 < Ф* < 1. В прямоугольной системе координат р*0Ф* отмечаем точки (р*; Ф*). Причем, в силу
У ' V' У У '
того, что элементы матриц нормированы по максимальному элементу, все точки будут находиться в пределах единичного квадрата, левый нижний угол которого совмещен с началом координат.
Все точки единичного квадрата сравниваются при помощи некоторой метрики. Составляется список потоков, в котором все элементы ранжируются от «наихудшего» по эффективности к «наилучшему» в соответствии с данными единичного квадрата. Одновременно
составляется матрица достижимости D = р.. , г = 1,т, / = 1,п , где di: = 1, если есть поток из III у II У
того входа в / -тый выход, и dij = 0 , если нет потока из г -того входа в / -тый выход.
Список просматривается, начиная с потока, наихудшего по эффективности. Текущий поток исключается из списка, если его исключение не оставляет ни одну начальную вершину без исходящего потока и не оставляет ни одну конечную вершину без входящего потока. При
исключении из списка потока, который идет из г -того входа в / -тый выход, модифицируется
матрица достижимости D, в которой на пересечении г -той строки и / -того столбца единица заменяется нулем.
Таким образом, текущий поток из г -того входа в / -тый выход исключается из списка в том
случае, если после его исключения и модификации матрицы достижимости D в её г -той строке будет хотя бы одна единица и в / -том столбце также будет хотя бы одна единица. Если же исключение потока ведет к тому, что в матрице достижимости г -тый столбец либо / -тая строка будет состоять из нулей, то поток из списка потоков не исключается, и в списке переходим к следующему потоку.
В результате отбраковки потоков получаем множество наиболее эффективных потоков
2Уэ = , У.}, таких, что каждый из входов связан транзитным потоком, по крайней мере, с одним
выходом. То есть каждый из входов транспортной сети имеет, по крайней мере, один исходящий из него поток, а каждый из выходов сети имеет хотя бы один входящий в него поток.
Для множества таких потоков 2УЭ применяется принцип суперпозиции, когда соответствующие им матрицы распределения потоков Ху = Цх^Ц суммируются, образуя матрицу
интегрального транзитного потока по выбранному направлению ||Е Х||. Причём, задача суперпозиции потоков решается таким образом, чтобы в сети могли одновременно существовать все оставшиеся потоки из множества 2Уэ.
С этой целью составляется общее множество дуг сети DN = {< dij,п >}. Элементами
этого множества являются пары < d.., п >, состоящие из указателя насыщенной дуги di/ из г -того
У У
узла в / -тый, и числа п, показывающего, насколько интегральный поток для этой дуги превышает ее пропускную способность.
Из множества насыщенных дуг DN выбирается элемент, у которого величина п максимальная. Этот элемент списка < dj, п1 > описывает дугу, для которой величина п1
суммарного потока, построенного из оставшихся транзитных потоков, больше всего превышает пропускную способность дуги. Поэтому в каждом из транзитных потоков множества DN, где встречается эта выбранная дуга, необходимо уменьшить поток в п1 раз для того, чтобы после выполнения суперпозиции оставшихся потоков дуга dj оказалась насыщенной. Уменьшение
У
производится для каждого потока из множества {2гУ}} по всем путям, которые насыщали рассматриваемую дугу в ходе выполнения алгоритма Форда-Фалкерсона, пропорционально их вкладу в насыщение дуги. После этого множество DN перестраивается в силу того, что было произведено уменьшение каждого из транзитных потоков, что повлекло изменение величин п для ветвей сети, которые были задействованы при уменьшении потока.
Описанные действия выполняются до тех пор, пока во множестве DN находится хотя бы один элемент, у которого п больше нуля. Как только у всех элементов множества DN величины п станут отрицательными либо равными нулю, процесс уменьшения транзитных потоков заканчивается и в качестве решения задачи находится результирующий интегральный поток. При этом потоки распределены таким образом, что после применения к ним принципа суперпозиции величины результирующего суммарного потока на дугах не превышают их пропускных способностей.
В результате выполнения алгоритма суперпозиции потоков в соответствии с теоремой Форда-Фалкерсона [1] величина потока на любом разрезе сети будет максимальной, а сам суммарный поток будет состоять из уменьшенных транзитных потоков.
4. Пример определения интегрального максимального потока для участка региональной сети
Для иллюстрации работы алгоритма нахождения интегрального потока рассмотрим участок региональной транспортной сети, представленный в виде графа на рис. 1.
Множество входов в сети представлено вершинами 1 и 2. Множество выходов задаётся вершинами 9 и 11. В сети рассматриваются следующие транзитные потоки: (1,...,9), (1,...,11), (2,...,9) и (2.11).
Для каждого из указанных транзитов решается задача о максимальном потоке по отдельности, в результате чего получаем четыре матрицы максимальных потоков для этих транзитов (ртах1_9, ртах-м1, ртах2_9, ртах2_11), соответственно четыре матрицы эффективностей (Ф-|_9,
1 9
Ф-М1, Ф2_9, Ф2_11), а также соответствующие распределения величин потоков по ветвям сети (X-
,Х1_11, Х2_9, Х2_11).
Для формирования списка наиболее эффективных потоков отбрасываем наименее эффективные потоки таким образом, чтобы не оставить ни один вход без хотя бы одного выходящего потока и ни один выход хотя бы без одного входящего потока. Для рассматриваемого примера наиболее эффективными потоками оказались потоки 1—9 с величиной потока 41 единица,
1 —»11 с величиной потока 43 единицы и 2—9 с величиной потока 34 единицы.
19 111 2 9
Суммируя матрицы максимальных потоков ||Х-||, ||Х - || и ||Х-||, получаем матрицу
интегрального транзитного потока Е X. Путём поэлементного вычитания матрицы Е X
из
матрицы пропускных способностей сети С получаем матрицу С - ЕX , которая имеет следующий вид:
С - Е XI=
' 0 5 -19 - 6 0 0 0 0 0 0 0"
0 0 0 - 3 -17 0 0 0 0 0 0
0 0 0 17 0 - 20 0 0 0 0 0
0 0 0 0 0 -15 4 0 0 0 0
0 0 0 16 0 0 3 3 0 0 0
0 0 0 0 0 0 0 0 -16 -18 0
0 0 0 0 0 19 0 0 0 -11 0
0 0 0 0 0 0 18 0 0 16 0
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 -18 0 0
ч 0 0 0 0 0 0 0 0 0 0 0,
Отрицательные значения элементов матрицы показывают на недостаточную пропускную способность соответствующих ветвей сети в случае движения через сеть одновременно всех оставленных потоков. Выбираем ветвь, суммарный поток на которой наиболее превышает её пропускную способность. Для рассматриваемого примера эта ветвь (3,6) - наименьший элемент
матрицы ||С - Е Х||.
Выбираем все пути, которые насыщали ветвь (3,6) в ходе решения задачи о максимальном потоке для каждого из транзитных направлений и величины А, на которые увеличивался поток по этим путям.
Для транзитного направления 1 — 9 это будут пути:
— (1,3)—(3,6) — (6,9), А=16;
— (1,3)—(3,6) — (6,10) —— (10,9), А=4.
Для транзитного направления 1 — 11:
(1,3)—(3,6) — (6,10) —— (10,11), А=20.
В транзитном направлении 2— 9 ни один из путей в ходе решения задачи о максимальном потоке не проходил через вершину (3,6).
Для того, чтобы суммарный поток смог пройти через ветвь (3,6), уменьшаем потоки транзитных направлений по выбранным путям так, чтобы весь суммарный поток уменьшился на 20 единиц, причем по каждому пути поток уменьшается пропорционально величине А. Для транзитного направления 1— 9 поток по пути 1 уменьшаем на 8 единиц, а поток по пути 2 уменьшаем на 2 единицы. Для транзитного направления 1—11 поток по пути 1 уменьшаем на 10
единиц. С этой целью отнимаем от элементов матриц || Х1_9||, || Х'_"||, соответствующих узлам путей величины, на которые уменьшается поток по пути.
Далее пересчитываются значения элементов матрицы ||С - Е Х||. В результате получаем
новую матрицу, у которой элемент (3,6) равен 0, так как поток через ветвь сети (3,6) был уменьшен. Процесс уменьшения рассматриваемых потоков повторяется до тех пор, пока в матрице
||С - Е Х|| будут оставаться отрицательные элементы. Когда все элементы матрицы ||С - Е Х||
окажутся неотрицательными, это будет означать, что пропускных способностей ветвей сети достаточно для того, чтобы все уменьшенные транзитные потоки смогли существовать в сети одновременно. В этом случае алгоритм уменьшения транзитных потоков заканчивается и
решением задачи о максимальном потоке будет суммарная матрица ||Е Х||. Для рассматриваемого графа путём последовательных уменьшений была получена следующая матрица Е X :
,1 11,
1Е XI=
' 0 12 20 17 0 0 0 0 0 0 0"
0 0 0 10 17 0 0 0 0 0 0
0 0 0 0 0 20 0 0 0 0 0
0 0 0 0 0 14 13 0 0 0 0
0 0 0 0 0 0 8 9 0 0 0
0 0 0 0 0 0 0 0 16 20 0
0 0 0 0 0 2 0 0 0 19 0
0 0 0 0 0 0 0 0 0 0 9
0 0 0 0 0 0 0 0 0 0 0
0 0 0 0 0 0 0 0 23 0 16
ч 0 0 0 0 0 0 0 0 0 0 0,
Величина потока после уменьшения по транзиту 1—9 составила 24 единицы, по транзиту 1—11 — 25 единиц, по транзиту 2—9 — 15 единиц. Суммарная величина трех потоков составила 64 единицы.
Как видно из примера, суммарная величина интегрального максимального потока больше, чем любая величина максимального потока для рассматриваемых потоков, найденная для случая одного потока в сети, что свидетельствует о наиболее полном использовании ресурсов сети.
5. Заключение
Таким образом, задача о поиске максимального потока может решаться для транспортных сетей со множеством входов и множеством выходов. При этом предложенный метод позволяет определить интегральный максимальный поток для нескольких потоков и его распределение в заданном
направлении, учитывая случайный характер пропускных способностей, изменяющих свою величину в зависимости от внешних воздействий на сеть. Причем результирующий поток будет не просто максимальным потоком в транспортной сети, но и лучшим по эффективности.
СПИСОК ЛИТЕРАТУРЫ
1. Жогаль С.И., Максимей И.В. Задачи и модели исследования операций: Учебное пособие. - Ч. 1: Аналитические модели исследования операций. - Гомель: БелГУТ, 1999. - 109 с.
2. Максимей И.В. Имитационное моделирование на ЭВМ. - Москва: Радио и связь, 1983. - 232 с.
3. Сукач Е.И. Применение имитационного моделирования для исследования динамики транспортных потоков региона // Известия Гомельского государственного университета имени Ф. Скорины. - 2006. - № 4 (37). - С. 96-99.
4. Гируц П.В. Метод имитации объектов графовой структуры // Известия Гомельского государственного университета имени Ф. Скорины. - 2006. - № 4 (37). - С. 17-20.
Стаття надійшла до редакції 20.09.2007