УДК 519.854.2:004.023
НЕСТАЦИОНАРНАЯ ЗАДАЧА УПРАВЛЕНИЯ МАРШРУТАМ ТРАНСПОРТНОГО СРЕДСТВА1
Е.М. Бронштейн, A.A. Давлетбаев
Рассмотрена задача построения циклического маршрута, по которому можно доставить однородный груз от некоторого множества производителей потребителям с минимальными затратами, используя транспортное средство ограниченной вместимости. Предполагается, что стоимость транспортировки груза между пунктами зависит от времени. Построена соответствующая линейная целочисленная модель. Проведен вычислительный эксперимент.
Ключевые слова: маршрутизация, нестационарность, линейное целочисленное программирование, метод ветвей и границ.
введение
Рассматривается следующая задача. Транспортное средство (ТС) должно доставить однородный груз от некоторых производителей потребителям. Процесс погрузки и разгрузки весьма трудоемкий, поэтому в каждом пункте производства (потребления) ТС загружается (разгружается) один раз. В течение одного дня ТС может посетить несколько пунктов, их число находится в заданных пределах. Перевозку необходимо осуществить за заданное число дней. Состояние дорог изменяется, т. е. стоимость проезда между пунктами зависит от времени. В начальный момент ТС находится на базе, на которую должно вернуться по окончании перевозок. Требуется сформировать график перевозок с минимальной суммарной стоимостью.
Впервые оптимизационная задача транспортной логистики VRP (Vehicle Routing Problem) была сформулирована в работе [1]. За прошедшие полвека сформулировано множество подобных задач, в постановке которых отражаются различные ограничения, диктуемые практикой. Классификация таких задач приведена, например, в статье [2]. На сайте [3] аккумулируется информация об этой области исследований. Применяется множество методов решения, как точных, так и эвристических.
1 Работа выполнена при финансовой поддержке РФФИ (проект № 13-01-00005).
Задача, сформулированная в настоящей работе, является синтезом нескольких оптимизационных задач транспортной логистики:
— CVRP (Capacitated VRP), в этих задачах учитываются ограничения на вместимость ТС (см., например, работу [4]);
— MDVRP (Multiple Depot VRP), в отличие от классической задачи предполагается наличие нескольких баз, откуда товар нужно доставить (см., например, работу [5]);
— multi-depot vehicle routing problem with interdepot routes, в этих задачах предполагается, что ТС может догружаться по пути [6];
— TDVRP (Time Dependent Vehicle Routing Problem) — нестационарные задачи: предполагается, что характеристики транспортировки зависят от времени. Впервые такие задачи поставлены в работе [7], обычно предполагается, что эти параметры сохраняются в течение некоторого времени. Надо построить маршрут, обеспечивающий доставку грузов за минимальное время [8, 9].
Нестационарность в данной работе понимается аналогично нестационарной задаче коммивояжера [10, 11].
1. математическая модель
Обозначения:
N — число пунктов, занумерованных числами 0, 1, ..., N — 1 (база имеет номер 0);
а. — масса груза в пункте производства (в этом случае а1 > 0) или потребность в грузе в пункте потребления, равная \а\ (в этом случае а1 < 0); предполагается, что а0 > 0, а1 ф 0 при I = 1, ..., N — 1; считаем, что выполняется условие баланса (спрос равен предложению)
N -1
z а, = 0;
i = 0
(1)
S — вместимость ТС;
k
c,j, i, j = 0, ..., N — 1; k = 1, ..., N, — стоимость проезда из i-го пункта в j-й в k-й день;
и К^ — минимальное и максимальное
min max
число пунктов, которые можно обслужить за день;
P — число дней, за которое надо произвести доставку.
В качестве неизвестных аналогично работе [12] примем булевы переменные Xk, i, j = 0, ..., N - 1; k = 1, ..., N, равные единице тогда и только тогда, когда при k-м по порядку переезде ТС переезжает из i'-го пункта в j-й. Ограничения:
N N - 1
zz xk = 1, i = 1, ..., n- 1,
k = 1 j = о
(2)
(из каждого пункта ТС после погрузки или разгрузки выезжает один раз);
N N - 1
Z Z Xk = 1, j = 1, ..., N - 1, (3)
k = 1 i = 0
(в каждый пункт ТС для погрузки или разгрузки прибывает один раз);
N - 1 N - 1
ZZ Xk = 1, k = 1, ..., N, (4)
, = о j = о (k-й переезд всего один);
N - 1
z xn = 1
i = 0
(5)
(на ^м переезде ТС должно вернуться на базу из какого-нибудь другого пункта);
N - 1
z xk = 1
(6)
(в первый день ТС выезжает с базы в какой-нибудь другой пункт);
N - 1 N - 1
z xk = z xp+1, j=о, ..., n- 1, i = 0 p = 0
k = 1.....N - 1,
(7)
(из у-го пункта ТС совершит (к + 1)-й по порядку переезд тогда и только тогда, когда в к-й переезд в этот пункт ТС прибудет).
Предложение 1. Любое решение системы (2)—(7) порождает цикл, содержащий все вершины по одному разу (гамильтонов цикл), в котором к есть номер дуги в порядке прохождения.
Доказательство. Из условия (5) следует, что существует единственный пункт г1 ф 0, для которого
Хщ = 1. Пусть по индукции построена цепь (0, г1, ..., гк) такая, что X/ ^ = 1, ^ = 1, ..., к < И, г0 = 0. Из условия
N -1
(2) и равенства Х^ { = 1 следует, что 2 Хи = 1. Из
i = 0
N -1
равенства (6) X Xkp = 1, т. е. существует единствен-
p = о
ный пункт L, ,, для которого X,k ,+1 = 1. Проверим, что
к + 1 + 1
ik + 1 £ {i1, ..., ik}. Если бы выполнялось обратное, то существовал бы пункт i, s < к + 1, для которого X'¡,- = 1.
s s k + 1
Но это противоречит условию (2). Таким образом строится цепь (0, i1, ..., iN- 1), которая содержит все пункты.
В силу условий (4) и (2) XN i0 = 1. Тем самым, построен цикл с нужными свойствами. ♦
Следующее ограничение отражает недопустимость переполнения ТС и неотрицательность загрузки ТС на каждом шаге:
p N - 1 N - 1
о < z z z xk а, < S, p = 1, ..., N - 1. (8)
k = 1 j = 0 i = 0
В общем случае система (2)—(8) несовместна. Можно найти величину Smin — минимальную допустимую вместимость ТС — как решение линейной частично целочисленной задачи (2)—(7) c целевой функцией S ^ min (для этого можно воспользоваться и более простой задачей, см. работу [13]). Справедливо
Предложение 2 [13]. Если S > 2тах{|аг|}, то система (2)—(8) совместна, т. е. Smln < 2max{|a;|}.
Доказательство. Докажем, что всегда, пока не весь груз доставлен потребителям, найдется пункт производства, из которого ТС может вывезти груз, или пункт потребления, в который ТС может груз завезти. В первый день, поскольку а0 < S, груз из базы вывезти
j = 0
можно. Пусть в некоторый день загрузка ТС равна Ь. Возможны три ситуации.
а) Ь < £/2, и груз вывезен из всех пунктов производства; в силу условия (1) потребность в каждом из оставшихся пунктов потребления не превосходит Ь, т. е. маршрут можно продолжить;
б) Ь < £/2, и груз не вывезен из всех пунктов производства. В этом случае £ — Ь > £/2 > шах{|а;|}, т. е. груз можно вывезти из любого оставшегося с грузом пункта производства;
в) Ь > £/2: аналогично случаю б), груз можно завезти в любой пункт потребления. Предложение доказано. ♦
Далее определим отображение ф:{1, ..., N1 ^ ^ {1, ..., Р}, которое каждому переезду сопоставляет порядковый номер дня, в который этот переезд осуществляется. Эта функция неубывающая,
причем Кш1п < |ф-1(^)| < Ктах, 5 = 1, ..., Р. Целевой
функцией служит общая стоимость перевозок:
N N - 1 N - 1
XXX хк 4(к) ^ тт.
(8)
к = 1 ] = 0 1 = о
Легко проверить, что для допустимости задачи (1)—(9) необходимо и достаточно совместное выполнение условий ^ > ¿т^ РКт1п < Я < РКтах.
Частным случаем поставленной задачи (при а0 = N — 1, а1 = ... = aN_ 1 = —1, ск не зависит от к, Р = N Кт1п = Ктах = 1) является классическая задача коммивояжера, которая относится к классу МР-трудных. Задача (2)—(8), таким образом, относится к тому же классу.
В § 2 описано приведение задачи к линейной булевой форме. При этом размерность задачи возрастает.
2. линейная булева модель
Введем булевы переменные ук, к = 1, ..., N 5 = 1, ..., Р, равные единице тогда и только тогда, когда в 5-й день осуществляется к-й переезд. Ограничения на эти переменные имеют вид:
р
X ук5 = 1, к = 1, ..., N « = 1
(10)
(каждый отрезок пути проезжается в некоторый день);
N
Ктш < x У* < Кт* ^ = 1 ..., Р (П)
(ограничения на число отрезков пути, проезжаемых за один день);
УЬ + у(к + ^ - 1 < [5 < 5, г = 1
к = 1, ..., N - 1,
? ""> -*■ ?
(12)
(если к-й отрезок пути проезжается в 5-й день, а (к + 1)-й — в г-й, то 5 < г. Здесь [X] — булево числовое значение логической функции X). Целевая функция примет вид:
Р N N - 1 N - 1
x x x x 4 уь4 ^ тт.
5 = 1 к = 1 1 = 0 ] = о
(13)
Для исключения квадратичной нелинейности в целевой функции введем еще одно семейство бу-
„ к« к к5 ■■ п \т 1
левых переменных = хгуу , I, ] = 0, ..., N — 1; к = 1, ..., N 5 = 1, ..., Р.
Они задаются линейными ограничениями:
к« . к , к« 1 к« . к к« . Ь Ц > ха + У — 1, Ц < хц, Ц < У ,
/, ] = 0, ..., N — 1; к = 1, ..., N 5 = 1, ..., Р). (14) Целевая функция (13) принимает вид:
Р N N - 1 N - 1
x x x x 4' 4 ^ т1п.
(15)
к = 1
5 = 1 к = 1 1 = 0 ] = 0
Окончательно получаем следующую задачу. Найти булевы переменные 4«, хк, Ук', /, ] = 0, ..., N — 1; 5 = 1, ..., Р; к = 1, ..., N — 1, удовлетворяющие условиям (2)—(7), (9)—(12), (14), при которых достигается минимум целевой функции (15).
Число переменных и ограничений имеет порядок О^ Р). Полиномиальность числа ограничений существенна для использования стандартных решателей.
В частном случае допустимости посещения ежедневно только одного пункта для погрузки или разгрузки (т. е. при Р = N Кт1п = Ктах = 1) постановка задачи упрощается. Отпадает необходимость
к'
введения переменных У .
Задача принимает следующий вид. Найти булевы переменные Хк, /, ] = 0, ..., N — 1; к = 1, ..., N. удовлетворяющие условиям (2)—(7), при которых минимальна функция
N N - 1 N - 1
x x x хк 4 ^ ™п.
к = 1 1 = 0 1 = 0
3. вычислительный эксперимент
Вычисления проводились в пакете IBM ILOG CPLEX Optimization studio 12.2, установленном на компьютере с процессором Intel Core (тактовая частота 3,1 ГГц, ОЗУ 4 Гб).
Задача решалась двумя методами, реализованными в пакете:
— динамического поиска;
— ветвей и отсечений.
Первый метод — это «ноу-хау» фирмы IBM, никакие подробности не разглашаются. Применяемый в пакете метод ветвей и отсечений основан на непрерывных релаксациях.
При организации процесса вычислений задача модифицировалась для исключения из рассмотрения заведомо нулевых переменных X^, i = 0, ..., N — 1; к = 1, ..., N. Для этого вводились булевы переменные трех видов: (X'). = X01i, i = 1, ..., N — 1,
(X-)j = {+1) при i *j, i = 1
j и
при i > j, j = 1, ..., N - 2; к = 2,
(X"), = XN, i = 1
N - 1; ., N - 1, N - 1.
Например, для перестановки (2, 4, 3, 1, 0) при N = 4 равны единице следующие из введенных переменных: (X')2, (X'')2з, (X'')2з, (X'', (X"')!.
Соответственно вводились булевы переменные (X'(X'')|, (X'''). и модифицировались ограничения.
Исследовалась зависимость среднего времени решения задачи, числа итераций и числа ветвлений от параметров задачи. Исходные данные генерировались с помощью датчика псевдослучайных чисел.
Массы грузов ах — ам_ х генерировались целыми из отрезка [—20; 20], значение а0 определялось из условия (1), нули исключались. Если оказывалось, что а0 < 0, то все значения умножались на (-1).
Величины ск при / ф у генерировались целыми из отрезка [1; 20].
В соответствии с предложением 2, вместимость ^ принималась равной 2тах{|а;|}.
Для каждого числа пунктов генерировались 10 примеров.
1. Исследовалась зависимость характеристик решения от Ктах при Кт-п = 0, допустимое число дней Р принималось равным N. Для каждого набора па-
Таблица 1
Характеристики решения в зависимости от изменения k при различных n
K N
max 5 6 7 8 9
1 1,5/0/0,38 1,5/0/0,38 16/0/0,52 16/0/0,56 48/0/1 48/0/1 105/1/1,73 102/0/1,66 215/4,6/3,2 190/3,4/3,5
2 132/7/0,60 3,3 •103/220/1,4 1,5 104/650/5,4 8,7 104/2,7 10 3 /16 5,2 1071,0 104/133
84/9/0,66 2,5 •103/193/1,7 1,2 104/608/3,8 8,1 104/3,0 10 3 /13 7,2 105/2,1 104/103
3 158/10/0,53 3,8 •103/259/1,6 1,7 104/706/4,6 1,3 105/4,6 104/22 7,1 105/1,4 104/221
142/6/0,70 3,8 •103/287/1,8 1,3 104/764/4,0 9,8 104/3,5 10 4 /14 8,0 105/2,1 104/121
4 140/7/0,64 4,4 •103/298/1,4 2,0 104/821/6,2 1,4 105/4,5 103/21 7,8 105/1,5 104/286
120/4/0,66 3,4 •103/256/1,8 1,2 103/648/3,7 1,0 105/3,8 10 3 /16 9,3 105/2,5 104/153
5 145/6/0,58 4,2 •103/275/1,5 2,1 104/877/7,2 1,2 105/4,0 103/25 8,1 105/1,5 104/311
11/2/0,67 3,3 •103/248/1,9 1,3 103/737/4,0 9,8 104/3, 10 3 /15 8,8 105/2,2 104/147
6 — 5,0 •103/317/1,5 2,3 104/879/7,2 1,2 105/3,8 103/25 8,2 105/2,3 104/345
2,8 •103/203/1,7 1,4 104/743/4,3 1,4 105/4,7 103/20 8,3 105/2,2 104/136
7 — — 1,8 104/724/4,8 1,2 105/4,3 103/29 9,0 105/1,4 104/412
1,4 104/764/4,6 1,4 105/4,5 104/21 9,3 105/2,4 104/181
8 — — — 1,2 1,2 105/4,0 105/4,2 103/27 10 3 /19 8,8 1,1 105/1,4 106/2,7 104/370 104/210
9 9,2 1,1 105/1,6 106/2,7 104/410 104/202
Таблица 2
Характеристики решения в зависимости от изменения кт,п при различных n
Кшт
N
0 1 2
5 41/0/0,43 18/0/0,47 6/0/0,41
36/0/0,48 14/0/0,46 6/0/0,44
6 1,2-103/83/0,91 279/15/0,80 21/0/0,52
981/65/1,19 254/6/1,01 21/0/0,52
7 3,3-103/122/2,18 1,1-103/57/1,55 90/1/0,86
3,1-103/107/3,02 695/15/1,80 93/0/0,85
8 2,9-104/682/6,61 1,0-104/525/4,73 99/2/1,80
3,3-104/1,3-103/7,10 1,0-104/478/4,42 95/2/1,82
9 1,2-105/2,0-103/23,10 6,9-104/1,5-103/15,33 4,2-103/278/3,07
1,9-105/5,4-103/25,23 1,0-105/3,1-103/14,66 1,0-103/19/3,44
раметров N Ктах генерировалось по 10 примеров. Результаты эксперимента отражены в табл. 1, в ячейках приведены последовательно среднее число итераций, среднее число ветвей в дереве решений и среднее время выполнения (в секундах). Значения в верхних строках ячеек относятся к методу динамического поиска, в нижних — ветвей и отсечений.
Из табл. 1 видно, что в среднем время решения задачи, число итераций и число ветвей в дереве решений быстро возрастают с увеличением N. Поведение трех перечисленных показателей при изменении Ктах не имеет ярко выраженной тенденции. При N = 5, 6 существенной разницы в среднем времени выполнения задачи двумя методами не наблюдается; при больших N более эффективным оказался метод ветвей и отсечений.
2. Исследовалась зависимость параметров решения от Кт1п. При этом принималось Ктах = Р = [N/2]. Соответственно, Кт1п < 2 (табл. 2). Здесь также в ячейках приведены последовательно среднее число итераций, среднее число ветвей в дереве решений и среднее время выполнения (в секундах), верхние строки относятся к методу динамического поиска, нижние — ветвей и отсечений.
Вывод: время выполнения, число итераций и число ветвлений с увеличением N возрастают, а с увеличением Кт1п уменьшаются; оба метода одинаково эффективные. Отметим, что влияние роста Кт1п на вычислительные характеристики задачи вполне естественное: с ростом Кт1п сужается диапазон возможных значений числа пунктов, посещаемых в течение дня, это приводит к сокращению переборных процедур.
3. Отдельно исследовался случай К. = К = 1
^01п тах
при Р = N. Содержательно это означает, что ежедневно ТС должно посетить в точности один пункт. Из табл. 3 видно, что для числа пунктов от 5 до 15 существенной разницы во времени выполнения задачи двумя методами не наблюдается; для остальных N более эффективным оказался метод ветвей и отсечений.
Отмечается сильная зависимость эффективности решения от параметров конкретной задачи. Разница между максимальными и минимальными
Таблица 3
Характеристики решения в зависимости от изменения n
N Характеристики решения
5 2/0/0,31
2/0/0,30
10 639/16/1,09
574/18/1,17
15 2,0-104/475/6,74
2,2-104/610/6,11
20 2,5-105/4,3-103/59,17
2,7-105/5,1-103/47,87
21 5,8-105/8,8-103/225,99
7,5-105/1,3-104/149,64
22 6,9-105/9,0-103/182,91
8,7-105/1,4-104/169,21
23 1,2-106/1,4-104/834,25
1,8-106/2,9-104/516,92
значениями характеристик решений имеет значительный разброс при одной и той же размерности. Так, минимальное время решения при N = 23 меньше максимального при N = 20.
заключение
Сформулирована нестационарная задача доставки однородного груза от семейства производителей потребителям с ограничениями на число посещений пунктов потребления в один день. Построена соответствующая линейная целочисленная модель.
Проведен сравнительный анализ эффективности решения задачи двумя методами, реализованными в пакете IBM ILOG CPLEX Optimization studio 12.2. Дальнейшие направления исследований связаны с разработкой эффективных эвристических методов.
литература
1. Dantzig G.B., Ramser R.H. The Truck Dispatching Problem // Management Science. — 1959. — N 6. — P. 80—91.
2. Бронштейн Е.М., Заико Т.А. Детерминированные оптимизационные задачи транспортной логистики // Автоматика и телемеханика. — 2010. — № 10. — C. 133—147.
3. URL: http://neo.lcc.uma.es/vrp/ (дата обращения: 07.01.2014).
4. Ralphs T.K., Kopman L., Pulleyblank W.R., Trotter L.E. Jr. On the Capacitated Vehicle Routing Problem // Math. Program., Ser. B. — 2003. — Vol. 94. — P. 343—359.
5. Laporte G., Nobert Y., Taillefer S. Solving a family of multi-depot vehicle routing and location-routing problems // Transportation Science. - 1988. - Vol. 22. - P. 161-172.
6. Crevier B., Cordeau J.-F., Laporte G. The multi-depot vehicle routing problem with inter-depot routes // European Journal of Operational Research. - 2007. - Vol. 176. - P. 756-773.
7. Malandraky C., Daskin M.S. Time Dependent Vehicle Routing Problems: Formulations, Properties and Heuristic Algorithms // Transportation Science. - 1992. - Vol. 26. - P. 185-200.
8. Ichoua S., Gendreau M., Potvin J.-Y. Vehicle Dispatching With Time-Dependent Travel Times // European Journal of Operational Research. - 2003. - Vol. 144. - P. 379-396.
9. Stegers E. A Solution Method for Vehicle Routing Problems with Time-Dependent Travel Times. - Delft: Delft University of Technology, 2009. - 83 p.
10. Picard J.-C, Queyranne M. The time-dependent traveling salesman problem and its application to the tardiness problem in one-machine scheduling // Operations Research. - 1978. -Vol. 26. - N 1. - P. 86-110.
11. Gouveia L., Vob S. A classification of formulations for the (time-dependent) traveling salesman problem // European Journal of Operational Research. - 1995. - Vol. 83. - P. 69-82.
12. Picard J. C., Queyranne M. The time-dependent travelling salesman problem and its application to the tardiness in one-machine scheduling // Operations Research. - 1978. - Vol. 26. -P. 86- 110.
13. Бронштейн Е.М., Гиндуллин Р.В. Об одном классе задач маршрутизации // Математическое моделирование. -2011. - Т. 23, № 6. - С.123-132.
Статья представлена к публикации членом редколлегии
В.Н. Бурковым.
Бронштейн Ефим Михайлович - д-р физ.-мат. наук, профессор,
® (347) 273-79-67, И [email protected],
Давлетбаев Арвид Артурович - аспирант, И [email protected],
Уфимский государственный авиационный технический
университет.
Содержание сборника "Управление большими системами",
2014, вып. 47
У Усков А.А. Сетевой график с продолжительностями работ в виде нечетких чисел LR-типа. — С. 6—17.
У Емельянова Ю.П. Экспоненциальная устойчивость нелинейных дискретных 2D-систем. — С. 18—44.
У Зуев А.С. О подходе к реализации виртуальных четырехмерных сред человеко-компьютерного взаимодействия. — С. 45—76.
У Буре В.М., Мазалов В.В., Плаксина Н.В. Вычисление характеристик пассажиропотоков в транспортных системах. — С. 77—91.
У Антоненко А.В., Угольницкий Г.А. Модели мотивационного управления в электроэнергетике и проблемы их идентификации. — С. 92—124.
У Шумов В.В. Модель социального влияния и ее применение при анализе пограничной безопасности государства. — С. 125—166.
Гусев С.С. Построение модифицированного алгоритма идентификации динамического объекта управления по экспериментальным данным ядерной энергетической установки. — С. 167—186.
У Кочетков С.А., Уткин А.В., Уткин В.А. Робастное управление электромагнитным подвесом на
основе вихревых алгоритмов. — С. 187—211. У Мелентьев В.А. Вложение подсистем, лимитирующих длину и число путей между вершинами графа вычислительной системы. — С. 212—246.
Тексты статей доступны на сайте http://ubs.mtas.ru/