
Решение задачи коммивояжера методом "ветвей и границ"
При перевозках мелкопартионных грузов торговых, промышленных и некоторых других организаций автомобиль , приняв груз у одного отправителя, должен развести его нескольким получателям, двигаясь от одного к другому и оставляя определенное количество груза у каждого получателя. В науке эта задача известна как задача коммивояжера, которому предписывается в торговых целях посетить определенные пункты и вернуться с результатами в исходный пункт.
1. Матрица кратчайших расстояний приводится по минимальным расстояниям по строкам. Для этого из каждого элемента строки вычитают наименьший элемент данной строк.
2. Полученная на 1 этапе новая матрица приводится по столбцам. Для этого из каждого элемента столбца вычитают наименьший элемент этого столбца.
3. Подсчитаем сумму констант приведения. Сумма констант приведения представляет собой так называемую нижнюю границу протяженности маршрута, представленную прямоугольником на дереве "все решения".
4. Произвести оценку нулевых элементов. Для оценки нулевого элемента необходимо выбрать мин элемент по строке ( если есть другой ноль то его) и прибавить к мин элементу по столбцу.
5. В маршрут движения коммивояжера целесообразно включить пару пунктов, соответствующих нулевому элементу с максимальной оценкой.
6. Множество "все решения" делится на два подмножества:
включают пару пунктов
не включают пару пунктов
7. Выбор пары пунктов обратных уже включенным в маршрут, привел бы к нарушению условий задачи (побывать в каждом пункте только по 1 разу), поэтому этот элемент блокируем, проставляя в соответствующую клетку матрицы вместо цифры знак !.
Этапы с 1 по 7 для новой матрицы повторяются.
Разработка рациональных развозочно-сборочных маршрутов движения автомобилей методом Кларка-Райта
Метод Кларка-Райта предусматривает совместное решение задач набора пунктов в маршруты и определения последовательности их объезда. Суть метода состоит в следующем. Вначале составляется план, состоящий из маятниковых маршрутов, на каждом из которых предполагается обслуживать только одного потребителя.
Далее каждые два маятниковых маршрута последовательно объединяют в один развозочный, включающий два потребителя получается один развозочный. Разумеется, длина получившегося развозочного маршрута будет меньше, чем суммарная длина маятниковых (в крайнем случае, равна). Разница и называется выигрыш. Указанным образом определяются величины выигрышей для всех возможных вариантов. Для дальнейших расчетов необходимы только выигрыши, которые заносятся в таблицу.
Кроме того, к этой таблице присоединен столбец индикаторов I, которые принимают значения: 2 – маршрут маятниковый; 1 – пункт первый или последний (исключая исходный пункт А) в некотором развозочном маршруте; 0 – пункт внутренний.
Построение развозочных маршрутов необходимо начинать с выбора наибольшего выигрыша. Затем по мере уменьшения выигрышей, выбираются пункты для включения в маршрут до полного использования грузоподъемности. Оставшиеся пункты включаем в другой маршрут.