Формализации задач погрузки и доставки
Автор: Бронштейн Е.М., Гиндуллина Э.В., Гиндуллин Р.В.
Рубрика: Математика
Статья в выпуске: 1 т.9, 2017 года.
Бесплатный доступ
Задачи маршрутизации типа «one-to-one» или Traveling Salesman Problem with Pickup and Delivery (TSPPD) заключаются в формировании цикла минимальной длины, обеспечивающего доставку грузов от производителей потребителям при условии доставки груза от каждого производителя конкретному потребителю. Такая задача, в частности, возникает при доставке пассажиров (например, таксопарком). Установлены некоторые свойства поставленной задачи. Построен ряд квадратичных, линейных целочисленных и частично целочисленных формализаций таких задач, в которых число ограничений растет полиномиально с ростом числа пунктов. В частности, в качестве переменных используются булевы элементы матрицы перестановки, двухиндексные и трехиндексные переменные, описывающие отношение предшествования и некоторые другие. При таких формализациях возможно непосредственное использование оптимизационных пакетов. В частности, был проведен вычислительный эксперимент с использованием пакета CPLEX 12.6. Рекордной по производительности на случайно сгенерированных данных оказалась линейная смешанная трехиндексная модель. Установлено, что добавление некоторых дополнительных ограничений существенно повышает эффективность решения, в то время, как использование некоторых других ограничений эффективность снижают. В ряде случаев фактором, препятствующим решению задачи большей размерности, явилась ограниченность оперативной памяти. При некоторых дополнительных ограничениях задача решалась для множеств пунктов, предлагаемых библиотекой, предложенной в университете г. Гейдельберга (Германия). В этом случае при использовании линейной смешанной трехиндексной модели получены решения задач весьма большой размерности (до 391 пары пунктов). Перспективы применения моделей, предложенных в статье, заключаются в расширении оперативной памяти компьютеров и совершенствовании оптимизационного пакета CPLEX. Некоторые исследователи отмечают, что CPLEX 11 (2007) работает почти в 30 000 раз быстрее, чем CPLEX 1 (1991).
Маршрутизация, оптимизация, задача погрузки и доставки
Короткий адрес: https://sciup.org/147158925
IDR: 147158925 | DOI: 10.14529/mmph170102
Текст научной статьи Формализации задач погрузки и доставки
Впервые задача маршрутизации транспортных средств (VRP – Vehicle Routing Problem) была поставлена в [1]. За истекшие десятилетия рассматривалось множество модификаций VRP. Информация по этой тематике аккумулируется на сайте [2]. Один из подходов к классификации подобных задач приведен в [3].
Предполагается, что граф, вершинами которого являются пункты производства и потребления, а дугами – соответствующие пути, является полным. При формализации этой задачи в качестве неизвестных используются булевы величины – элементы матрицы перестановки или индикаторы непосредственных переходов между пунктами. В первом случае целевая функция оказывается квадратичной, но при этом не может возникнуть подциклов. Во втором задача априори является линейной. Исследовались в основном формализации второго типа, причем число ограничений часто принималось экспоненциально зависящим от числа пунктов, непосредственное применение оптимизационных пакетов при этом затруднительно. Задача успешно решалась методами ветвей и границ или ветвей и отсечений (генерации столбцов). В недавней работе [4] развивается аналогичный подход для задачи с временными окнами и несколькими транспортными
Математика
средствами, приводится оригинальная модификация второго подхода. Модели с полиномиально растущим числом ограничений там названы компактными.
В статье приводятся формализации, основанные как на первом, так и втором подходах, с числом ограничений, полиномиально зависящим от числа пунктов. В частности, применяются различные методы линеаризации задачи, которые являются адаптацией описанных в обзорах [5, 6] приемов, применявшихся к квадратичной задаче о назначениях [7].
При реализации некоторых из предложенных подходов в каких-либо программных средах понадобится переход от логических переменных b к их числовым значениям [ b ]. Заметим, что для популярного пакета CPLEX подобного преобразования не требуется.
Постановка задачи. Квадратичная формулировка
Пусть P = {1, ..., n } - пункты вывоза грузов веса q i - для i -го пункта, D = { n +1, ... , 2 n } -пункты доставки грузов. Полагаем, что в ( n+i )-м пункте вес груза отрицательный (- q i ). Множество пунктов есть V = P и D и {0}, где нулевой пункт является базой. Транспортное средство (ТС) вместимости S должно объехать все пункты по циклу таким образом, чтобы доставить грузы из i -го пункта в ( n+i )-й при всех i . Маршрут должен начинаться и заканчиваться в базовом пункте. Известны расстояния между всеми парами пунктов су . Требуется найти допустимый цикл минимальной длины. Разумеется, задача относится к классу NP-трудных, поскольку в случае, когда пункты каждой пары совпадают и вместимость ТС большая, получим классическую задачу коммивояжера.
Сформулируем несколько свойств данной задачи.
Минимально допустимая вместимость ТС равна max{ q i }. Действительно, очевидно, что при S < max{ q i } организовать перевозку невозможно. При S = max{ q i } допустимым, например, является маршрут 0-1-( n +1)-2-( n +2)-...- n -2 n -0. Тем самым, эта задача существенно отличается от более общей задачи транспортировки однородного груза, для которой задача вычисления минимально допустимой вместимости ТС является NP-трудной.
При неограниченной вместимости ТС число допустимых маршрутов равно (2 n )!/2 ” . Действительно, всего перестановок пунктов (2 n )!, при этом, каждая из допустимых перестановок порождает 2 ” перестановок, полученных всевозможными перестановками пар пунктов с номерами i , ( n+i ) при i = 1, 2,..., n . Этот результат получен в [8] более сложным рассуждением.
При S > max{ q i } любой допустимый отрезок маршрута можно продолжить. Действительно, если после прохождения отрезка ТС не содержит груза и при этом есть необслуженные пункты, то в качестве следующего можно принять любой пункт, в котором есть груз. Если в ТС груз есть, то при некотором i груз в i -м пункте забрали, но в ( n+i )-й не доставили. Следующим пунктом маршрута можно принять ( n+i )-й.
В качестве переменных примем булевы величины x ip ( i, p = 0, 1,..., 2 n ), равные 1, если i -м в цикле проходится p -й пункт (величины xip образуют матрицу перестановки). Ограничения имеют вид:
Z £, xip = 1( p = 0,...,2 n),(1)
Z pn=0 хф = 1( i = 0,...,2 n),(2)
x00 = 1,(3)
Z 2 i ( xi (p+n) - xip )> 1 (p = 1»-»2 n )•
Условие (4) задает правильность последовательности прохождения пунктов.
Действительно, из условия (2) следует, что при некоторых однозначно определенных i ', i " справедливы равенства x i -( n + p ) = x i ‘ p = 1. Тогда из условия (4) следует, что i " - i ' > 1. Поскольку i ', i " это номера пунктов p , ( n+p ) в порядке прохождения в цикле, то нужное свойство выполняется.
Z м Z p L q p x ip ^ s ( r = 1,...,2 n - 1). (5)
Условие (5) отражает ограничение на вместимость ТС.
Целевая функция:
Z 2 n x"'2 n X"'2 n -1 V’2 n
p = 1 L r = 0 L i = 1 x ip x ( i + 1) r c pr + L i = n + 1 x (2 n ) i c i 0 ^ min .
В задаче (1)–(6) O( n 2) булевых переменных и O( n ) ограничений.
Линейная задача 1
Введением дополнительных булевых переменных в целевой функции (6) можно избавиться от нелинейности.
Пусть yipr = xipx(i+1)r (i = 0,1,...,2n-1, p,r = 0,1,...,2n). Легко проверить, что эти величины можно задать линейными условиями yzpr ^ xip + x(i+1) r - 1, x.p + x(i+1)r - 2ypr ^ 0.(8)
Целевая функция примет вид
Z2 n 2 n 2 n-12 p=1Lr=0L i=1 yiprcpr + Li=n+1 x(2n)ici0 ^ min.
В линейной булевой задаче (1)–(5), (7)–(9) число переменных и число ограничений имеют порядок O( n 3).
Линейная задача 2
С помощью преобразования, предложенного в [9], можно уменьшить число переменных, причем часть из них рассматривать как непрерывные.
Введем вещественные переменные zip = xip L 2 = 01 x ( i + 1 ) rcpr . Целевая функция (6) примет линейную форму
Е2 n х-' 2 n-1 2 n . /1/xx p=1L.=1 zip + 1 i=n+1 x(2 n) ic.0 ^ min. (10)
Пусть Q = min { 1 ^2=0 max i ( c ij ) , L J^ max j ( c ij ) } • Величина Q определяется только матрицей расстояний, причем при любых допустимых значениях переменных x и любых i,p справедливы оценки 0 < L 2 = ox ( i + 1) r c pr < Q •
Легко проверить, что связь переменных x и z задается неравенствами
0 < Z ip < QX ip , (11)
Ir r = 0 x ( i + 1) r c pr Q ( 1 xip ) < z ip < Ir r = 0 x ( i + 1) r c pr • (12)
В задаче (1)–(5), (9)–(12) число булевых переменных, вещественных переменных, ограничений имеют порядок O( n 2).
Линейная задача 3
Здесь описано преобразование, которое позволяет снять условие целочисленности с основ- ных переменных xip за счет введения существенно меньшего числа булевых переменных. Пусть
P log 2 ( 2 n + 1 ) ] ) .
As = | i e { 0,1,...,2 n } :mod 2 ;^ ^ = 0 ( s = 0,1,
Иными словами, A s состоит из тех чисел, в двоичном разложении которых на s -м месте расположен 0.
Введем переменные u = L. x„ ( s = 0,1,...,log2(2 n + 1).
sp i G Asip x 2 x 7
Полагаем
X ip G [0,1].
Проверим, что при выполнении условий (1), (13) и булевости переменных usp , переменные x ip – булевые.
Пусть напротив x ip g (0, 1) при некоторых i, p. В силу условия (1) существует еще один индекс j * i , при котором x jp g (0, 1). Существует такое значение s , для которого на s -й позиции в разло-
Математика
жениях чисел i и j расположены разные символы. Пусть для определенности i е A s , j с A s . Но
1 = Е x p = Е i е X + E i c A s x ip = u sp + Е i с A s x ip *
В силу выбора s оба слагаемых в правой части положительные, т.е. значение usp не может быть булевым. Противоречие.
Применяя конструкцию из предыдущего пункта, получим смешанную задачу, в которой число булевых переменных равно O( n log(2 n )), непрерывных переменных и ограничений O( n 2).
Линейная задача 4
К квадратичной модели можно применить линеаризацию иного типа. Пусть A i - порядковый номер i -го пункта в порядке прохождения от базы, т.е. решение уравнения x ki = 1 относительно k . Справедливо равенство Е 2 = 0 Е k = 1 x ki = 2п — A + 1, поскольку Е k = 1 xki = 0 при s < A i и е k = 1 x ki = 1 при s - A i .
Через величины A i ограничения записываются следующим образом:
правильность порядка прохождения пунктов A i < A n+i ( i = 1,..., n );
ограничения на вместимость: Е 2 = 1 % [ A - k ] - S ( k = 1,...,2 n - 1).
Целевая функция: Е ^x Е 2 = c ij [ A i + 1 = A j ] + Е 2"n + 1 c io [ A i = 2 n ] . ^ min.
Линейная задача 5
Двухиндексная формализация является наиболее распространенной. Пусть t ij – булевы переменные, равные 1, если в цикле дуга из i -го пункта ведет в j -й.
Ограничения:
Е 2=0 tj = 1( j = °,1,-,2 n),(14)
Е2=0 tj = 1( i = 0,1,...,2 n),(15)
tii = 0 (i = 0, ..., 2n).(16)
Эти условия означают, что ТС из каждого пункта выезжает, в каждый пункт въезжает. При выполнении условий (14)–(16) цикл может разбиваться на подциклы, состоящие более, чем из одного пункта. Для того, чтобы этого избежать, следуя [10], введем вещественные переменные A i , удовлетворяющие ограничениям:
0 - A , - 2 n ( i = 0,..., 2 n ), A 0 = 0, (17)
A i - A j + (2 n +1) t ij - 2 n ( iJ = 0, ..., 2 n ). (18)
Из условий (14)–(18) следует, что величины A i автоматически целые, равные, как и в предыдущей модели, номерам пунктов в порядке прохождения в цикле. Правильность последовательности прохождения пунктов приобретает простую форму и ограничения на вместимость имеют тот же вид, что и в выше.
2 n 2 n
Целевая функция: е, = 0 Е j = 0 c y t ij ^ min.
В этой модели число булевых переменных и ограничений имеет порядок O( n 2), вещественных O( n ).
Линейная задача 6
Введение иных вспомогательных переменных позволяет модифицировать линейную модель 5.
Пусть t ij – те же переменные, что и в предыдущей модели, удовлетворяющие условиям (14)– (16). Введем двумерный аналог ( a i , в потенциалов пунктов, исследованных, в частности, в [11]. Смысл вспомогательных вещественных переменных – вес груза, который погрузили (соответственно разгрузили) до посещения i -го пункта, включая i -й. Как обычно, a + = (| a |+ a )/2, a - = (| a | - а )/2 - соответственно положительная и отрицательная части числа. Пусть числа a i , P i удовлетворяют следующим условиям:
Бронштейн Е.М., Гиндуллина Э.В., Формализации задач погрузки и доставки
Гиндуллин Р.В.
Ц> tj(a + q/) (i = 0,..., 2n;j = 1,..., 2n),(19)
-
a, < R (j' = 0,..., 2n),(20)
в > tij(Pi + qj-) (i = 0,..., 2n; j = 1,..., 2n),(21)
в < R (j' = 0,..., 2n),(22)
a = в = 0.(23)
Здесь R = X 2 n 0 < = X 2= 10 q i . Из условий (19), (21) следует, что в построенном маршруте нет циклов. Действительно, q + + q - = | q i | > 0, т.е. при t j = 1 выполняется неравенство a + в > a i + P i , что и требовалось. Отсюда и из условий (14), (15) маршрут является цепью, содержащей все пункты; поскольку a j + в > 0 в силу условий (19), (21), то из (23) следует, что начальный пункт цепи является базой (это следует также из того, что в неравенствах (19), (21) нет ограничений на дугу, конечным пунктом которого является база). Пусть маршрут (незамкнутый) имеет вид 0– i 1– i 2 ...– i 2 n .
Докажем, что ° = X k = 1 q i + , p i k = X k = 1 q - ( k = i™,2 n ) .
Для этого просуммируем неравенства (19). Получим a i 2 > a 0 + X 2 ^ = 1 qz+ = R , тем самым, с учетом (20) и (23) неравенства (19) при t ij = 1 фактически являются равенствами, что и требовалось. Утверждение для в аналогично вытекает из (21)-(23).
Нелинейные условия (19), (21) можно привести к линейной форме с помощью приема, аналогичного (11), (12).
Условие правильности прохождения пунктов и ограничения на вместимость имеют простой вид: a + в i < a i+n ) + в ( i+n ) ( i = 1, ..., n ); a - в i < S ( i = 1, —, 2 n ). Целевая функция та же, что и в модели 5.
Линейная задача 7
Применим трехиндексные переменные, использование которых позволяет получить линейную булеву задачу, причем в этом случае для исключения «коротких» циклов не требуется введения дополнительных переменных. Эта формализация оказалась наиболее эффективной среди нескольких альтернативных при решении задачи доставки однородного груза типа «many-to-many».
Пусть vij (i, j = 0,...,2n; k = 1,...,2n +1) - булевы переменные, равные 1, если k-я по порядку дуга в маршруте ведет из i-го пункта в j-й. Эта модель является детализацией линейных моделей 2n2
-
1 и 6. Действительно, x i = 0 v j = x kj , X k = 1 v j = t j .
Ограничения
X 2=0 X k =+1 vk = 1 (j = 0,...,2 n);(24)
X 2=0 X k =+1 vk = 1 (i = 0,...,2 n);(25)
X 2no XJ1 vk = 1 (k = 1,...,2 n +1)
означают, что ТС из каждого пункта выезжает и в каждый въезжает по одному разу, а также, что каждая дуга инцидентна единственной паре пунктов.
Условия
Xn nv1, = 1, X2n ,v2n+1 = 1(27)
j=0 0j i-nx=n+1 i0v 7
означают, что первая дуга ведет из базы в какой-нибудь пункт производства, а последняя по порядку – из какого-нибудь пункта потребления в базу.
Условие последовательного прохождения дуг (конец k -й дуги совпадает с началом ( k +1)-й) имеет вид:
X 2 n 0 v k = X 2 = 0 v k + ( j = 1,...,2 n ; k = 1,...,2 n ). (28)
Условия (24)–(28) определяют гамильтонов цикл, в котором последовательные дуги имеют соответствующие номера [12].
Математика
Докажем, что условия правильности последовательности прохождения пунктов в рассматриваемых переменных можно записать в следующей форме:
-
— 2 = 1 — k < , — X — 2 = . ( v к. *т - - "° ( i = 1,-, л ) • (^
Действительно, если из i -го пункта ТС выезжает по дуге с номером к 1, а из ( n + i )-го - по дуге с номером к 2, то — p '= 1 — 2 = , ( v ( к + i ) p - v ^ ) = 0 при к < min{ к 1, к 2}, поскольку в этом случае v (n + i ) p = v y = 0 при любых p , j , T.e. — к < s — p = , — ^ ( v („ + i ) j — v p ) = О, если s < min{ к 1 , к 2 } • Это же равенство справедливо при s > max{ к 1, к 2}, поскольку в этом случае v^i ) p = v k 2 = 1 при некоторых однозначно определенных p , j , к 1, к 2 и v^i ) p = v k 2 = 0 при всех остальных p , j , к . Если к , < к 2, то v ip1 = 1 при некотором p и v ip = 0 при остальных p , v^ + i ) p = 0 для всех p , т.е. неравенство (29) выполняется. Аналогично проверяется, что при к 2< к , неравенство (29) не выполняется.
Ограничение на вместимость:
-
— к < ■ — 21 — ^.
(s = Wn). (30)
Целевая функция:
Е 2 n +1^-> 2 n ^->2 n k .
к = 1 — i = 1 — j = 1 vC ^ min. (31)
Число булевых переменных и ограничений задачи (24) - (31) имеют порядок O( n 3).
Линейная задача 8
В предыдущих моделях используются разреженные структуры данных. Данные можно уплотнить, используя в качестве основных целочисленные переменные A i , введенные в модели 4. Ограничения:
0 < A i < 2 n ( i = 0,..., 2 n ); A 0 = 0.
Отсутствие подциклов равносильно биективности отображения A . Поскольку число элементов в обоих множествах равно 2 n + 1, то биективность равносильна инъективности, которую можно задать условиями [ A i = A j ] = 0 ( i , j = 0,..., 2 n, i < j ). Ограничения на правильность последовательности прохождения пунктов и на вместимость, а также целевая функция, имеют тот же вид, что и в модели 4.
Дополнительные ограничения
Избыточные ограничения могут ускорять решение задачи. В [13] сформулирован ряд дополнительных ограничений для случая неориентированного графа и неограниченной вместимости ТС, число которых экспоненциально зависит от числа пунктов. Для рассматриваемого случая целесообразно использовать следующие ограничения.
Для линейных моделей 1-3
X pi + x ( p + 1) j < [ Q i + q j < S ] + 1 ( i , j = 1,..., n , p = 1,...,2 n - 2 ) ;
x p ( n + i ) + x ( p + 1)( n + j ) < [ q i + q j < S ] + 1 ( i , j = 1,..., n , p = 1,...,2 n — 2 ) .
Обозначение [ a ] то же, что и во введении. Эти условия означают, что в двух последовательных пунктах производства (потребления) суммарная загрузка (потребность) не превышает вместимости ТС.
Для линейных моделей 4, 5 соответствующие ограничения формулируются проще:
t j < [ q i + q j < S ] ; t ( n + i )( n + j ) < [ q i + q j < S ] ( i , j = 1,..., n ) .
Для линейной модели 6:
v j < [ qi + q j < S ] ; v ( n + i )( n + j ) < [ q i + q j < S ] ( i , j = 1,..., n ; к = 1,..., 2 n + 1 ) .
Аналогичные условия можно сформулировать для цепи, содержащей любое число пунктов производства или потребления.
Бронштейн Е.М., Гиндуллина Э.В., Формализации задач погрузки и доставки
Гиндуллин Р.В.
Сформулируем некоторые дополнительные ограничения, которые являются адаптацией ограничений для близких задач из [12] и являются следствиями правильности последовательности прохождения пунктов.
Дуги, соединяющие пункты i – ( n + j ) и j – ( n + i ) при различных направлениях движения одновременно, в маршрут перевозок входить не могут, поэтому для линейных моделей 1–3 x pi + x ( p +1)( n+j ) + x sj + x ( s +1)( n+i ) ≤ 3; x pi + x ( p +1)( n+j ) + x s ( n+i ) + x ( s +1) i ≤ 3;
x p ( n+i ) + x ( p +1 ) j + x s ( n+j ) + x ( s +1 ) i ≤ 3, ( i , j = 1, ..., n ; p , s = 1, ..., 2 n –1).
Для моделей 4, 5:
t i ( n+j ) + t j ( n+i ) ≤ 1; t i ( n+j ) + t ( n+i ) j ≤ 1; t ( n+i ) j + t ( n+j ) i ≤ 1 ( i, j =1,..., n ).
Аналогично формулируются условия для моделей 6.
Аналог этих условий можно сформулировать для большего числа дуг. Например, одновременно не могут входить в маршрут дуги, соединяющие пункты i – ( n + j ), j – ( n + p ), p – ( n + i ) при различных направлениях движения.
Другой класс условий такого типа. Не существует цепи, соединяющей ( n + i )-й и i -й пункты. Например, для цепи длины 2 для моделей 4, 5 получаем условие t ( n+i ) j + t ji ≤ 1 ( i = 1, ..., n ; j = 1, ..., 2 n ).
Заключение
В работе построен ряд моделей, относящихся к задачам транспортной маршрутизации типа «one-to-one», основанных на различных подходах. Большая часть рассмотренных моделей – линейные булевы или смешанные. Для сравнения вычислительной эффективности моделей был проведен эксперимент с использованием оптимизационного пакета CPLEX 12.6. Рекордной по производительности на случайно сгенерированных данных оказалась линейная смешанная трех-индексная модель.
Установлено, что добавление некоторых дополнительных неравенств существенно повышает эффективность работы метода, в то время, как иные добавленные неравенства снижают эффективность.
В ряде случаев фактором, препятствующим решению задачи большей размерности, явилась ограниченность оперативной памяти.
При некоторых дополнительных ограничениях задача решалась для множеств пунктов, предлагаемых библиотекой [14]. В этом случае при использовании линейной смешанной трехин-дексной модели получены решения задач весьма большой размерности (до 391 пары пунктов).
Перспективы применения моделей, предложенных в статье, заключаются в расширении оперативной памяти компьютера и совершенствовании оптимизационного пакета CPLEX. Как отметила K. Archetti (Брешиа, Италия) в докладе на 3 совещании Европейской рабочей группы VeRoLog (Осло, 2014 г) [15], CPLEX 11 (2007) работает почти в 30 000 раз быстрее, чем CPLEX 1 (1991).
Список литературы Формализации задач погрузки и доставки
- Danzig, G. The Truck Dispatching Problem/G. Danzig, J. Ramser//Management Science. -1959. -Vol. 6. -Issue 1. -P. 80-91.
- http://neo.lcc.uma.es/vrp/
- Бронштейн, Е.М. Детерминированные оптимизационные задачи транспортной логистики/Е.М. Бронштейн, Т.А. Заико//Автоматика и телемеханика. -2010. -№ 10. -С. 133-147.
- Furtadoa, M. Pickup and delivery problem with time windows: a new compact two-index formulation/M. Furtadoa, P. Munaria, R. Morabito//Technical Report. Production Engineering Department, Federal University of São Carlos, Rod. Washington Luís, km 235 -SP-310, São Carlos -SP -CEP: 13565-905 -Brazil, July, 2015. www.optimization-online.org/DB_HTML/2015/07/5022.html
- Burkard, R.E. The quadratic assignment problem/R.E. Burkard, E. Cela, P.M. Pardalos, L.S. Pitsoulis//Handbook of Combinatorial Optimization: сб. науч. тр. -Springer US, 1999. -P. 1713-1809.
- Glover, F. Improved linear integer programming formulations of nonlinear integer problems/F. Glover//Management Science. -1975. -Vol. 22. -P. 455-460.
- Lawler, E.L. The quadratic assignment problem/E.L. Lawler//Management Science. -1963. -Vol. 9. -P. 586-599.
- Ruland, K.S. The pickup and delivery problem: Faces and branch-and-cut algorithm/K.S. Ruland, E.Y. Rodin//Computers & mathematics with applications. -1997. -Vol. 33, no. 12. -P. 1-13.
- Kaufmann, L. An algorithm for the quadratic assignment problem using Benders’ decomposition/L. Kaufmann, F. Broeckx//European Journal of Operational Research. -1978. -no. 2. -P. 204-211.
- Miller, C. Integer programming formulations and travelling salesman problems/C. Miller, A. Tucker, R. Zemlin//J. A.C.M. -1960. -Vol. 7, no. 4. -P. 326-329.
- Desrochers, M. Improvements and extensions to the Miller-Tucker-Zemlin subtour elimination constraints/M. Desrochers, G. Laporte//Operations Research Letters. -1991. -Vol. 10. -Issue 1. -P. 27-36.
- Cordeau, J.-F. Recent models and algorithms for one-to-one pickup and delivery problems/J.-F. Cordeau, G. Laporte, S. Ropke//The Vehicle Routing Problem, Latest Advances and Challenges B.L. Golden, S. Raghavan, and E.A. Wasil (Eds). -Boston, Springer, 2007. -P. 327-357.
- http://www.sintef.no/contentassets/cfb19ab9b7c74
- http://www.iwr.uni-heidelberg.de/groups/comopt/software/TSPLIB95/tsp/