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

УДК 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);

а. — масса груза в пункте производства

N -1

z а, = 0;

i = 0

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 = о

(из каждого пункта ТС после погрузки или разгрузки выезжает один раз);

N N - 1

Z Z Xk = 1, j = 1, ..., N - 1,

k = 1 i = 0

(в каждый пункт ТС для погрузки или разгрузки прибывает один раз);

N - 1 N - 1

ZZ Xk = 1, k = 1, ..., N,

, = о j = о (k-й переезд всего один);

N - 1

z xn = 1

i = 0

(на ^м переезде ТС должно вернуться на базу из какого-нибудь другого пункта);

N - 1

z xk = 1

(в первый день ТС выезжает с базы в какой-нибудь другой пункт);

N - 1 N - 1

z xk = z xp+1, j=о, ..., n- 1, i = 0 p = 0

k = 1.....N - 1,

(из у-го пункта ТС совершит (к + 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.

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(к) ^ тт.

к = 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

(каждый отрезок пути проезжается в некоторый день);

N

Ктш < x У* < Кт* ^ = 1 ..., Р

(ограничения на число отрезков пути, проезжаемых за один день);

УЬ + у(к + ^ - 1 < [5 < 5, г = 1

к = 1, ..., N - 1,

? ""> -* ?

(если к-й отрезок пути проезжается в 5-й день, а (к + 1)-й — в г-й, то 5 < г. Здесь [X] — булево числовое значение логической функции X). Целевая функция примет вид:

Р N N - 1 N - 1

x x x x 4 уь4 ^ тт.

5 = 1 к = 1 1 = 0 ] = о

Для исключения квадратичной нелинейности в целевой функции введем еще одно семейство бу-

„ к« к к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п.

к = 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, И bro-efim@yandex.ru,

Давлетбаев Арвид Артурович - аспирант, И Arvid_NF@mail.ru,

Уфимский государственный авиационный технический

университет.

Содержание сборника "Управление большими системами",

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/