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

advertisement
НЕСТАЦИОНАРНАЯ ЗАДАЧА ПОСТРОЕНИЯ МАРШРУТА
ТРАНСПОРТНОГО СРЕДСТВА
Е.М.БРОНШТЕЙН, А.А.ДАВЛЕТБАЕВ,
Уфимский государственный
авиационный технический
университет, Уфа, Россия
bro-efim@yandex.ru
Рассмотрена задача построения циклического маршрута, по
которому можно доставить однородный груз от некоторого
множества производителей потребителям транспортным
средством ограниченной вместимости с минимальными
затратами. При этом предполагается, что стоимость
транспортировки груза между пунктами зависит от
времени.
Построена
соответствующая
линейная
целочисленная
модель.
Проведен
вычислительный
эксперимент.
Ключевые слова: маршрутизация, нестационарность,
линейное целочисленное программирование.
Рассматривается следующая задача. Транспортное средство
(ТС) должно доставить однородный груз от некоторых
производителей потребителям. Процесс погрузки и разгрузки
является весьма трудоемким, поэтому в каждом пункте
производства и потребления ТС загружается (разгружается) один
раз. Будем считать, что переезд между пунктами вместе с
погрузкой (разгрузкой) занимает один день. Состояние дорог
изменяется, т.е. стоимость проезда между пунктами зависит от
времени. ТС в начальный момент находится на базе, на которую
должно вернуться по окончании перевозок. Требуется
сформировать график перевозок с минимальной суммарной
стоимостью.
Задача, сформулированная в данной работе, является синтезом
нескольких оптимизационных задач транспортной логистики:
- CVRP (Capacitated VRP), в этих задачах учитываются
ограничения на вместимость ТС (см., например, [1]);
67
- MDVRP (Multiple Depot VRP), в отличие от классической
задачи предполагается наличие нескольких баз, откуда товар
нужно доставить (см., например, [2]);
- multi-depot vehicle routing problem with inter-depot routes, в
этих задачах предполагается, что ТС может догружаться по пути
[3],
- TDVRP (Time Dependent Vehicle Routing Problem) –
нестационарные задачи: предполагается, что характеристики
транспортировки зависят от времени [4].
Классификация оптимизационных задач транспортной
логистики приведена в [5].
Обозначения
N – общее число пунктов, занумерованных числами 0,1,…, N–
1 (база обозначена числом 0);
ai - вес груза в пункте производства (в этом случае ai>0) или
потребность в грузе, равная |ai| (в этом случае ai<0). Полагаем, что
a0≥0, ai≠0 при i=1,…, N–1. Считаем, что справедливо равенство
N −1
(1)
∑a
i =0
i
= 0;
S – вместимость ТС;
cijk (i, j = 0,..., N − 1; k = 1,..., N ) - стоимость проезда из i-го
пункта до j-го в k-й день.
В качестве неизвестных примем булевы переменные
k
X ij , равные 1 тогда и только тогда, когда в k-й день ТС переезжает
из i-го пункта в j-й.
Ограничения:
N N −1
∑∑ X
k =1 i = 0
k
ij
= 1 ( j = 1,..., N − 1)
(2)
(из каждого пункта ТС после погрузки или разгрузки выезжает
один раз);
N N −1
∑∑ X
k =1 j = 0
k
ij
= 1 (i = 1,..., N − 1)
68
(3)
(в каждый пункт ТС для погрузки или разгрузки прибывает один
раз);
N −1 N −1
∑∑ X
i =0 j =0
k
ij
(4)
= 1 ( k = 1,..., N )
(каждый день ТС совершает одну поездку);
N −1
∑X
i =1
N
i0
(5)
=1
(в N-ый день ТС должно вернуться на базу из какого-нибудь
другого пункта);
N −1
∑X
j =1
1
0j
(6)
=1
(в первый день ТС выезжает с базы в какой-нибудь другой пункт);
N −1
∑ X ijk =
i =0
N −1
∑X
p =0
(7)
k +1
jp
( j = 0,..., N − 1; k = 1,..., N − 1)
(из j-го пункта ТС выедет в (k+1)-й день тогда и только тогда,
когда в k-й день в этот пункт прибудет);
Предложение 1. Любое решение системы (2)-(7) порождает
цикл, содержащий все вершины по одному разу (гамильтонов
цикл), в котором последовательные дуги проходятся в
последовательные дни.
Доказательство. Из условия (6) следует, что существует
единственный пункт i1≠0, для которого X 01i1 = 1 . Пусть по
индукции
X
s
is −1is
построена
(0,i1,…,ik)
такая,
что
= 1 ( s = 1,..., k , k < N , i0 = 0). Из условия (2) и равенства
X ikk −1ik = 1 следует, что
N −1
∑X
i =0
цепь
k
iik
=1 . Из равенства (7)
N −1
∑X
p =0
k +1
ik p
= 1 , т.е.
существует единственный пункт ik+1, для которого X ikk i+k1+1 = 1.
Проверим, что ik+1∉{i1,…,ik}. Если бы выполнялось обратное, то
существовал бы пункт is (s< k+1), для которого X iss ik +1 = 1. Но это
69
противоречит условию (2). Таким образом строится цепь (0,i1,…,iN1), которая, содержит все пункты. В силу условий (5) и (3)
X iNN −1 0 = 1. Тем самым, построен цикл с нужными свойствами.
Следующее
ограничение
отражает
недопустимость
переполнения ТС и неотрицательность загрузки ТС в любой из
дней.
p N −1 N −1
(8)
k
0 ≤ ∑∑∑ X ij ai ≤ S ( p = 1,..., N − 1).
k =1 j = 0 i = 0
В общем случае система (2)-(8) несовместна. Справедливо
следующее утверждение.
Предложение 2. Если S≥2⋅max{|ai|}, то система (2)-(8)
совместна.
Доказательство. Докажем, что в любой день найдется пункт
производства, из которого ТС может вывезти груз, или пункт
потребления, в который ТС может груз завезти. В первый день,
поскольку a0≤S, груз из базы вывезти можно. Пусть в некоторый
день загрузка ТС равна b. Возможны три ситуации.
a) b≤S/2 и груз вывезен из всех пунктов производства. В силу
условия (1) потребность в каждом из оставшихся пунктов
потребления не превосходит b, т.е. маршрут можно продолжить.
b) b≤S/2 и груз не вывезен из всех пунктов производства. В
этом случае S–b≥S/2≥max{|ai|}, т.е. груз можно вывезти из любого
оставшегося с грузом пункта производства.
c) b≥S/2. Аналогично предыдущему, груз можно завезти в
любой пункт потребления. Предложение доказано.
Целевой функцией является общая стоимость перевозок:
N N −1 N −1
∑∑∑ X
k =1 j = 0 i = 0
c → min .
k k
ij ij
(9)
(2)-(9) – задача линейного целочисленного программирования.
Число неизвестных равно N3, число ограничений имеет порядок
О(N2). Частным случаем поставленной задачи (при a0=N–1,
a1=…=aN–1= –1, cijk не зависит от k) является классическая задача
коммивояжера, которая относится к классу NP-трудных. Задача
(2)-(9), таким образом, относится к тому же классу.
70
Вычислительный эксперимент проводился в пакете IBM ILOG
CPLEX Optimization studio 12.2, установленном на ПК с
процессором Intel Core (тактовая частота 3,1 Ггц, ОЗУ 4 Гб).
Задача решалась двумя методами, реализованными в пакете:
- динамического дерева,
- ветвей и отсечений.
Получена зависимость среднего времени решения задачи от
размерности. Исходные данные генерировались с помощью
датчика псевдослучайных чисел.
Веса грузов a1 − aN–1 генерировались целыми из отрезка
[−20;20], a0 определялось из условия (1), нули исключались. При
этом если оказывалось, что a0<0, то все значения умножались на
(−1).
Величины cijk при i≠j генерировались целыми из отрезка
[1;20].
Для каждого числа пунктов генерировалось 10 примеров.
Результаты эксперимента отражены в табл. 1, в ячейках приведено
среднее время выполнения в секундах. Для решения задач
размерности большей 22 ресурсов ПК не хватило.
Таблица 1
Число пунктов
Метод
динамического
дерева
Метод ветвей и
отсечений
Результаты эксперимента
5
10
15
20
0,14 0,41 4,12 57,85
0,14
0,40
4,14
61,35
21
194,35
22
265,80
203,16
257,82
Вычислительный эксперимент показал, что оба метода в
среднем решают задачу достаточно эффективно до числа пунктов
22, причем если при числе пунктов до 21 скорость решения
первым методом выше, то для 22 пунктов метод ветвей и
отсечений оказался несколько более эффективным. Обнаружен
резкий рост сложности задачи при росте числа пунктов от 20 до 22.
Работа выполнена при поддержке Российского фонда
фундаментальных исследований (проект 13-01-00005).
71
Литература
1. 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.
2. Laporte G., Nobert Y., Taillefer S., Solving a family of multidepot vehicle routing and location-routing problems //
Transportation Science. – 1988. – Vol. 22. – P. 161 – 172.
3. 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.
4. Malandraky C., Daskin M.S. Time Dependent Vehicle Routing
Problems: Formulations, Properties and Heuristic Algorithms //
Transportation Science. – 1992. – Vol. 26. – P. 185 – 200.
5. Бронштейн Е.М., Заико Т.А. Детерминированные
оптимизационные задачи транспортной логистики //
Автоматика и телемеханика. – 2010. – №10. – C. 133 – 147.
72
Download