Кадура (Математическое моделирование процессов перевозки грузов железнодорожным транспортом на основе использования задачи коммивояжера), страница 8
Описание файла
Файл "Кадура" внутри архива находится в папке "Математическое моделирование процессов перевозки грузов железнодорожным транспортом на основе использования задачи коммивояжера". Документ из архива "Математическое моделирование процессов перевозки грузов железнодорожным транспортом на основе использования задачи коммивояжера", который расположен в категории "". Всё это находится в предмете "дипломы и вкр" из 8 семестр, которые можно найти в файловом архиве ДВГУПС. Не смотря на прямую связь этого архива с ДВГУПС, его также можно найти и в других разделах. .
Онлайн просмотр документа "Кадура"
Текст 8 страницы из документа "Кадура"
-
Рассмотрим сначала первый маршрут из решения задачи нескольких коммивояжеров. Если Q(1) > 2, перейдем к шагу 2, иначе - на шаг 9.
-
Положим i = 1.
-
Полагаем , j=i+2.
-
Вычисляем . Если < , то присваиваем = и .
-
j = j +1. Если j < Q(1), переход к шагу 4.
-
Если < 0, меняем местами в последовательности обхода вершины , и . Соответственно длина маршрута изменится на величину .
-
i = i +1. Если , переход к шагу 3.
-
В случае, когда данный процесс (шаги со 2-го по 7-й) привел к образованию нового маршрута, длина которого меньше длины старого, переход к шагу 2 (применение описанной процедуры к новому маршруту).
9. Применение изложенного алгоритма (шаги 1-8) к каждому следующему маршруту, входящему в решение задачи нескольких коммивояжеров.
Алгоритм №3 отличается от алгоритма №2
-
Способом вычисления значения (см. рисунок 25);
-
На шаге 1 неравенство Q(1)>2 заменяем на Q(1)>1;
-
На шаге 3 вместо j = i + 2 пишем j = i +1;
-
Шестой этап: Если < 0, в последовательности обхода ставим вершину за вершиной . Соответственно длина маршрута изменится на величину .
-
В 7-м шаге следует записать не .
Рисунок 25- Иллюстрация к перемене места вершины ,- в маршруте
Длина нового маршрута отличается от длины старого на величину
Алгоритм №4.
Применяем алгоритм только в том случае, когда количество выбранных коммивояжеров больше единицы и количество небазовых вершин в максимальном маршруте больше единицы.
-
В решении задачи нескольких коммивояжеров выделяем маршрут тр с максимальной длиной J2. Если конец работы. Присвоим nfv=1.
-
Найдем в максимальном маршруте номер вершины, удаление которой из этого маршрута уменьшает его длину. Положим текущий номер вершины i=nfv-1.
-
i=i+1. Вычислим .
-
Если <0, положим nfv=i и перейдем к шагу 5. Иначе, если , переход к шагу 3, а если , конец работы - искомой вершины не существует.
-
Теперь попытаемся добавить вершину с номером nfv максимального маршрута в другой маршрут. Положим j=0. j будет представлять номер очередного маршрута, не являющегося максимальным.
-
i= 0 (i - номер текущей вершины не максимального маршрута), .
-
Рассматриваем j-й маршрут. Вычислим Если , присвоим .
-
. Если , перейдем на шаг 7.
-
Если <0, то удаляем из максимального маршрута вершину с номером nfv, и добавляем ее в j-й маршрут между вершинами с номерами i1 и i1 + 1. Длина максимального маршрута изменится на величину Длина j-го маршрута изменится на величину . Переход к 1-му шагу.
-
Если j < т -1 (т.к. рассматриваются все маршруты, кроме одного, являющегося максимальным), переход к шагу 6.
-
В случае, когда заканчиваем работу, иначе присваиваем = +1 и переходим к шагу 2 (отправляемся искать в максимальном маршруте следующего кандидата на удаление).
Рисунок 26- Иллюстрация к удалению вершины из максимального маршрута
Длина нового маршрута отличается от длины старого на величину :
Рисунок 27- Иллюстрация к добавлению вершины из максимального маршрута в другой маршрут
Длина нового маршрута отличается от длины старого на величину :
Рассмотрим пример расчета по изложенному алгоритму при п = 8, s = 3, = 1, = 1, InterNum=500 для графа, изображенного матрицей на рисунке 28.
Оптимальное решение данной задачи, предварительно найденное по разработанному ранее методу полного перебора, следующее.
1)
2)
Суммарная длина маршрутов равна 134, длина максимального из маршрутов равна 73, значение критерия качества равно 9782.
Рисунок 28- Пример матрицы весов задачи нескольких коммивояжеров при п = 8,5 = 3
Поскольку эвристический алгоритм имеет случайную составляющую, запустив программное обеспечение несколько раз, мы совсем не обязательно придем к одинаковым и тем более точным решениям рассматриваемой задачи. Тем не менее, в данном случае, как правило, выпадало вышеуказанное оптимальное решение. При InterNum = 500 программа, применяемая к задачам с количеством небазовых вершин порядка 50-ти и количеством коммивояжеров порядка 10-ти, работает меньше секунды. Таким образом, при небольшом количестве итераций о времени работы алгоритма беспокоиться не стоит. С увеличением InterNum до нескольких миллионов время может увеличиться до пяти-шести минут, но и качество приближения решения тоже возрастает. В общем случае оценить погрешность приближения не представляется возможным. Приведем приблизительную оценку погрешности решения задач, точный минимум которых мы способны определить. Положим InterNum = 1000000, а1= 1, а2 = 1 и сгенерируем для каждой рассматриваемой пары п, s 10 различных матриц с элементами из отрезка [1, 999]. Найдем процентное выражение погрешности по формуле
, где - значение критерия качества точного решения i-й задачи, полученного посредством метода, использующего деревья поиска; - значение критерия качества приближенного решения i-й задачи, полученного по эвристическому алгоритму.
Таблица 7-Погрешность работы эвристического алгоритма в процентах
1 | 2 | 3 | 4 | 5 | |
10 | 0 | 0 | 0 | 0 | 0 |
20 | 1,54 | 14,09 | 12,75 | 21,38 | 18,86 |
30 | 39,98 | 44,57 | 38,86 | 38,17 | — |
40 | 57,35 | 51,51 | 50,15 | — | — |
Прочерки соответствуют задачам, не поддающимся решению точными методами. Когда п достигает сорока, величина критерия качества аппроксимирующего решения превосходит значение критерия качества точного в среднем более чем в полтора раза. Тем не менее, рекомендации, которые дает эвристический алгоритм, намного лучше произвольного, наугад взятого множества маршрутов.
2.5 Комбинированный алгоритм
Комбинированный алгоритм предназначен для нахождения точных минимумов и представляет собой комбинацию метода, использующего деревья поиска и эвристического алгоритма. Сначала находится приближенное решение задачи нескольких коммивояжеров посредством разработанного эвристического алгоритма. Это решение подается на вход метода, использующего деревья поиска. В результате классы допустимых решений с большим значением критерия качества сразу отбрасываются, благодаря чему в некоторых случаях достигается экономия времени поиска. Иногда обсуждаемый алгоритм позволяет определить минимум задачи, выходящей за рамки множества разрешимых с помощью метода, использующего деревья поиска задач. Он особенно важен в тех случаях, когда не все допустимые решения задачи нескольких коммивояжеров удовлетворяют требованиям специфической прикладной задачи.
Выводы по второй главе:
-
Сформулирована постановка задачи нескольких коммивояжеров, являющейся обобщением и развитием классической задачи коммивояжера, актуальной для математического моделирования транспортных процессов. Подсчитано количество вариантов решений этой задачи.
-
Описан разработанный метод полного перебора решения поставленной задачи, анализирующий все допустимые решения с целью выбора наилучшего варианта. Приводятся временные характеристики работы метода, делаются выводы относительно узости множества разрешимых посредством метода задач. Рассмотрен конкретный пример.
-
Разработан метод, использующий деревья поиска решения задачи нескольких коммивояжеров. По сравнению с перебором всех вариантов метод значительно расширяет множество разрешимых за обозримое время задач. Ход работы метода демонстрируется на примере. Приводится таблица с указанием максимальных размеров разрешимых задач. Перечислены недостатки разработанного алгоритма.
-
Приведен эвристический алгоритм, представляющий собой совокупность пяти эвристик. Произведена оценка качества множества аппроксимирующих наборов маршрутов. Рассмотрен пример вычислений для некоторой произвольной матрицы задачи нескольких коммивояжеров.
-
Рассмотрен комбинированный алгоритм, который является совокупностью эвристического алгоритма и метода, использующего деревья поиска. В некоторых случаях комбинированный алгоритм позволяет быстрее находить точное решение сформулированной задачи нескольких коммивояжеров.
3 Использование разработанных методов при моделировании специфических транспортных процессов
3.1 Предварительное преобразование исходного графа
Рассматриваемая ранее постановка задачи нескольких коммивояжеров предполагает полноту графа G(X,U). На практике данное условие, как правило, не выполняется. Большинство реальных транспортных сетей не являются полными графами. Решить эту проблему позволяет преобразование исходного графа транспортной сети к полному G(X,U). Опишем, каким образом осуществляется такое преобразование. Рассмотрим пример исходного графа , не являющегося полным, изображенный на рисунке 29. Пусть для простоты веса всех его ребер будут равны единице. Посещения требуют вершины с первой по восьмую. В каждой точке аi находится коммивояжер, завершающий обход в соответствующей точке .
Рисунок 29- Пример непреобразованнного графа
Тогда матрица весов примет вид:
Рисунок 30- Матрица весов графа