Неточность алгоритма ветвей и границ
2 12 1 С.Ф. Подшивалов , К.С. Подшивалова , Л. В. Токарева , Н.В. Комолова
1 Пензенский государственный университет архитектуры и строительства
2Филиал военной академии материально-технического обеспечения (г. Пенза)
Аннотация. Целью работы является проверка точности решения задачи коммивояжера методом ветвей и границ (ВиГ) при большой разнице в длине хорд транспортного графа. Она считается КР-трудной задачей. Доказано, что метод ВиГ может не давать оптимального результата в транспортном графе с большой разницей величин элементов в ячейках исходной матрице, когда нулевые ее ячейки будут иметь сильно отличающиеся друг от друга оценки. Причиной неточности решения задачи коммивояжера является неадекватность принятой модели расчета исходной постановки задачи. Она заключается в несправедливость второй гипотезы по оценке нулевого элемента в оценочной матрице, включаемого в оптимальный маршрут. Она принята без строгих доказательств и носит вероятностный характер.
Предложена методика усовершенствования метода ветвей и границ, которая заключается в дополнительной проверке полученного оптимального маршрута путем удаления ветви с оценкой на одну ступень ниже максимальной на каждом этапе ветвления.
Ключевые слова: коммивояжер, оптимальный маршрут, метод ветвей и границ, недостатки, гипотезы, алгоритм, неточность решения, причины, численный эксперимент, усовершенствование
ВВЕДЕНИЕ.
В условиях рынка для повышения конкурентной способности и рентабельности товаропроизводителей применяется логистическое сопровождение доставки товара потребителям [1]. По данным [2] до 40% в стоимости продукции питания приходится на транспортные расходы. Перевоз товара по кратчайшему маршруту даст экономию времени, горючесмазочных материалов, уменьшит количество требуемых автомобилей, расходы на заработную плату водителей. В общем случае оптимизация схемы езды автомобиля сводится к задаче коммивояжера с различными ограничениями на грузоподъемность и его передвижение в различных их комбинациях. Существует несколько отдельных ее видов [3]. Заметим, что с помощью метода фиктивных узлов и ветвей [4] их можно объединить в одну интегрированную задачу маршрутизации перевозки грузов кольцевому
маршруту [5]. Следовательно, требуется разработать общий метод ее решения.
Для поиска оптимального маршрута используются точные и приближенные методы. Точными считаются алгоритмы: ветвей и границ (ВиГ), динамического и целочисленного программирования. Их используют при небольшом количестве вершин транспортного графа, менее 25. Использование эвристических и метаэвристических приближенных методов позволило увеличить размерность задачи в десятки раз [6, 7, 8, 9]. Однако точность ее решения остается величиной неизвестной. Можно утверждать, что отклонение составляет 10-20%, что соответствует соотношениям 10/90— 20/80, по закону Паретто. Согласно этого закона, дальнейшее уточнение решения потребует значительных ресурсов и нецелесообразно. Между тем быстродействие компьютера растет стремительными темпами и, поэтому альтернативы точным методам нет [10].
В работе рассматривается классическая задача коммивояжера, когда он выезжает и возвращается в одну вершину транспортного графа, посещая пункты только один раз [11]. Она считается КР—'трудной. В настоящее время метод ветвей и границ считается точным [3, 11, 12]. В работе [13] доказана возможность его вырождения и предложен способ решения этой проблемы.
Выполненные исследования, показали, что расчет по алгоритму ВиГ может дать не оптимальное значение длины маршрута.
Численное моделирование
В основе метода ветвей и границ лежат две гипотезы: приведения и оценки ветвей, предназначенных для вычеркивания из матрицы весов. Гипотеза приведения не вызывает сомнения, так как решение задачи отыскания кратчайшего маршрута не изменится, если из какой-нибудь строки или столбца матрицы вычесть произвольное положительное число. Выбор нулевого элемента при ветвлении обеспечивает удаление хорды
наименьшего веса, включения ее в маршрут и поэтому не вызывает сомнения.
На основании второй гипотезы считается, что для обеспечения достижения наибольшей степени вероятности оптимального результата в первую очередь необходимо исключить из рассмотрения ту нулевую хорду, у которой самая большая сумма весов у минимальной входящей и минимальной выходящей ветвей из ее узлов. Они находятся в строке и столбце таблицы весов, на пересечении которых находится нулевая ветвь. Использование минимальных величин строки и столбца из приведенной матрицы представляется целесообразным, так как определяется маршрут наименьшей длины. Сомнение вызывает справедливость утверждения, что необходимо всегда вычеркивать на каждом этапе нулевой элемент с максимальной их суммарной оценкой. Причина в том, что она, во-первых, имеет в общем случае случайный характер. Во-вторых, такая оценка не учитывает всех возможных комбинаций сочетаний ветвей дающих оптимальную комбинацию, так как их рекурсия не проводится.
На основании проведенных исследований установлено, что расчет по алгоритму метода ВиГ не всегда может дать маршрут наименьшей длины. Чтобы доказать это, рассмотрим пример матрицы весов представленной в таблице №1.
Таблица№1.
Исходная матрица весов Ь1
1 2 3 4 5 6 7
1 101 202 106 104 202
2 101 206 102
3 206 304 203
4 202 304 201 304 300
5 106 203 201 204 105
6 104 304 204 202
7 202 102 300 105 202
В виду важности получаемых результатов и последующего вывода приводим ее решение по классическому алгоритму ВиГ [11].
В таблице №2 дана оценочная матрица, Н\, в которой удаляем ячейку 61 с максимальной величиной 98. Получаем матрицу размером 6x6, таблица №3. В ней блокируем ячейку 1- 6.
Таблица №2
Оценочная матрица
1 2 3 4 5 6 7
1 0 0 5 5 96 0 101
2 1 0 7 1
3 3 5 3 0
4 1 5 1 0 100 99
5 1 5 0 5 0 96 1 0
6 98 0 104 100 98
7 100 3 0 102 3 97
Таблица №3
Оценочная матрица
2 3 4 5 6 7
1 5 0 5 5 да 101
2 6 6 0
3 3 5 3 0
4 5 4 0 4 99
5 5 0 5 0 1 0 0 0
7 1 0 102 3 1
Выполняем операцию приведения в строке 2 и столбце 6. Затем вычеркиваем ветвь 2-7 с наибольшей оценкой 6. Получаем таблицу меньших размеров, в которой блокируем ячейку 7-2, таблица №4. Выполняем операции приведения в седьмой строке. Производим оценку элементов матрицы, £!£. Здесь наибольшая оценка 8 принадлежит элементу 1-2.
Таблица №4
Оценочная матрица ££
2 3 4 5 6
1 8 0 5 5
3 3 5 3 0
4 5 4 0 4
5 5 0 5 0 0
7 да 101 2 2 0
Удаляем хорду 1-2. В дальнейшем алгоритм решения повторяется. В итоге получаем маршрут 6-1-2-7-5-3-4-6 длиной 1223 единиц. Покажем, что
найденный маршрут не является оптимальным. Нарушим алгоритм ВиГ. один раз в части выбора в качестве оптимальной ветви нулевой элемент матрицы с максимальной оценкой. Рассмотрим варианты вычеркивания в таблице №3 вместо хорды 2-7, имеющей максимальную оценку 6, ветвей: 53, 5-4 и 1-2 с оценкой на одну ступень ниже, равной 5. В качестве примера удалим хорду 5-3. Выполняем операцию приведения в строке 3 и столбцах: 4, 6. Оценочная матрица представлена в таблице №5.
Таблица №5
Оценочная матрица Ь%
2 4 5 6 7
1 3 0 3 5 101
2 да 0
3 0 0 3 0 да
4 6 0 3 99
7 0 0 100 3 3 0
В таблице №5 удаляем ветвь 2-7 с оценкой да. Далее сохраняется алгоритм метода ветвей и границ.
Получаем оптимальный маршрут: 6-1-4-5-3-2-7-6, длиной 1218 единиц. В общем случае расположение этой хорды носит случайный характер. Поэтому ее требуется искать на всех этапах дерева решений. Их рассмотрение не привело к изменению оптимального результата.
Усовершенствованный алгоритм метода ветвей и границ представим в следующем виде.
1. Составляем исходную матрицу расстояний ¿^ между пунктами.
2. Переходим к приведенной матрице . Для этого в каждой строке находим минимальный элемент /ц и вычитаем его из всех остальных элементов, ¡^ расположенных в рассматриваемой строке:
'¿ = '1/- V = 1,2,3.....п. .„(1)
Аналогичные действия выполняем для всех столбцов
$ = = 1, 2, 3......т. (2)
3. Переходим к оценочной матрице - Определяем для каждого элемента с = 0 оценку по формуле
А = тпйф + 7пШ*и (3)
где тт1]ь наименьший элемент в строке/;
- наименьший элемент в столбце^; к Ф Ф ¿, к, & — 1,2,3... .та.
Находим пару к- s с максимальной оценкой:
Аь =тпхпАЧ11, у = 1, 2, 3.....п. (4)
4. Создаем новую матрицу Ь^. Для этого вычеркиваем из матрицы строку к и столбец s с наибольшей оценкой. Принимаем меры против
образования подциклов.
5. Создаем проверочную матрицу Lv. Для этого вычеркиваем из матрицы Ü- строку v и столбец И с величиной оценки на ступень меньше
наибольшей. Блокируем ячейку на пересечении строки v и столбца h.
6. Выполняем над полученными матрицами L^ и Lv операции
приведения и оценки, описанные в пунктах 2-3.
7. Самый короткий маршрут находим из сравнения всех возможных вариантов.
Обсуждение результатов и выводы
Таким образом, метод ветвей и границ не всегда дает точное решение задачи коммивояжера в транспортном графе. Необходимо после определения рационального маршрута методом ВиГ выполнять дополнительную его проверку на оптимальность, согласно предложенного алгоритма.
Исследования в этом направлении необходимо продолжать, чтобы набрать статистику подобных задач и установить типы графов, для которых метод ВиГ не дает точного решения.
Литература
1. Макаров Е.И., Ярославцева Ю.И. Социально-экономическая эффективность формирования Воронежской региональной транспортно-логистической системы // Инженерный вестник Дона, 2011, №4. URL: ivdon.ru/ru/magazine/archive/n4y2011/557.
2. Володина Е.В., Студентова Е.А. Практическое применение алгоритма решения задачи коммивояжера. // Инженерный вестник Дона, 2015 №2, ч. 2. URL:.ivdon.ru/ru/magazine/archive/n2p2y2015/3074.
3. Пожидаев М. С. Алгоритмы решения задачи маршрутизации транспорта: автореф. дис. канд. техн. наук.- Томск, 2010. -С.16.
4. Подшивалова К. С. Повышение эффективности перевозок мелкопартионных грузов автомобильным транспортом: автореф. дис. канд. техн. наук. Волгоград. 2007. С.16.
5. Подшивалова К.С., Подшивалов С.Ф. Временной критерий агрегации в кластерной транспортной задаче доставки грузов. // Экономика и математические методы. М., 2017, Т. 53, Вып 2. - с. 134-142.
6. John Holland. Genetic algorithms and the optimal allocation of trials. // SIAM Journal on computation. 1973. № 2. PP. 88-105.
7. M. Dorigo, V. Maniezzo, A. Colorni. The Ant System: Optimization by a colony of cooperating agents. // IEEE Transactions on Systems, Man, and Cybernetics-Part B Vol. 26, №1, pр. 29-41, 1996.
8. M. Dorigo. Ant algorithms and stigmergy // Future Generation Computer Systems, Vol. 16, №8, pр. 851-871, 2000.
9. Штовба С.Д. Муравьиные алгоритмы. // Exponenta Pro. 2003. №4. С. 70 - 75.
10. Костюк Ю.Л. Эффективная реализация алгоритма решения задачи коммивояжера методом ветвей и границ. // Прикладная дискретная математика. - Томск: Национальный исследовательский Томский государственный университет, 2013. №2 (20). - c. 78-90.
11. Little J.D.C., Murty K.G., Sweeney D.W., and Karel C. An algorithm for the Traveling Salesman Problem. // Operations Research. 1963. №11. PP. 972989.
12. Меламед И.И., Сергеев С.И., Сигал И.Х. Задача коммивояжера. // Точные методы, Автомат и телемех., 1989, выпуск 10, 3-29.
13. Подшивалов С.Ф., Подшивалова К.С. Особенность использования метода ветвей и границ в задаче коммивояжера при неполном транспортном графе. // Экономика и математические методы. М., 2014. Т. 50. Вып. 3. c. 134-140.
References
1. Makarov E.I., Yaroslavceva Yu.I. Inzenernyj vestnik Dona (Rus), 2011. №4. URL: ivdon.ru/ru/magazine/archive/n4y2011/557
2. Volodina E.V., Studentova E.A. Inzenernyj vestnik Dona (Rus), 2015, №2. (part 2) URL: ivdon.ru/ru/magazine/archive/n2p2y2015/3074.
3. Pozhidaev M.S. Algoritmy resheniya zadachi marshrutizacii ransporta [Algorithms of decision of task of routing of transport]: avtoref. dis. kand. tekhn. Nauk. M.S. Pozhidaev. Tomsk, 2010. P. 16.
4. Podshivalova K.S. Povyshenie effektivnosti perevozok melkopartionnyh gruzov avtomobil'nym transportom [Improving the efficiency of transportation of groupage cargo by road transport]: avtoref. dis. kand. tekhn. Nauk. Volgograd. 2007. P.16.
5. K.S. Podshivalova, S.F. Podshivalov. Ekonomika i matematicheskie metody. M., 2017, V. 53, Vyp 2. pp. 134 - 142.
6. John Holland. SIAM Journal on computation. 1973. № 2. pp. 88 - 105.
7. M. Dorigo, V. Maniezzo, A. Colorni. IEEE Transactions on Systems, Man, and Cybernetics-Part B Vol. 26, №1, pp. 29 - 41, 1996.
8. M. Dorigo. Future Generation Computer Systems, Vol. 16, №8, pp. 851 -871, 2000.
9. Shtovba S.D. Exponenta Pro. 2003. №4. PP. 70 - 75.
10. Kostyuk Yu.L. Prikladnaya diskretnaya matematika. Tomsk: Nacional'nyj issledovatel'skij Tomskij gosudarstvennyj universitet, 2013. № 2 (20). pp. 78 - 90.
11. Little J. D.C., Murty K.G., Sweeney D.W., and Karel C. Operations Research. 1963. №11. pp. 972-989.
12. I.I. Melamed, S.I. Sergeev, I.H. Sigal. Tochnye metody, Avtomat i telemekh. 1989, vypusk 10, 3-29.
13. S.F. Podshivalov, K.S. Podshivalova. Ekonomika i matematicheskie metody. M., 2014. V. 50. Vyp. 3. pp. 134 - 140.