Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
68 changes: 68 additions & 0 deletions 0304_Zhiglov/analogs.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
# Сравнение аналогов

## Принцип отбора аналогов

В роли сравнительных аналогов были рассмотрены алгоритмы и методы, применяемые для решения задачи коммивояжера и двухуровневая задача о назначении. Основным критерием при выборе аналогов служили пределы применимости соответствующих алгоритмов. Подбор аналогов осуществлялся с использованием ресурсов Google Scholar, электронной библиотеки eLibrary и поисковой системы Google. Для поиска аналогов применялись следующие запросы: "задача коммивояжёра", "двухуровневая задача о назначении", "two-level assignment problem", "tsp problem", "travelling salesman problem".

### Метод полного перебора

Естественный способ решения подобного рода задач. Относится к классу методов поиска решения исчерпыванием всевозможных вариантов.Этот метод обеспечивает оптимальные результаты, однако высокие вычислительные затраты делают его ограниченно применимым в решении практических задач из-за необходимости обработки больших объемов входных данных. [1].

### Муравьиный алгоритм
В статье А. А. Кажарова, В. М. Курейчика "Муравьиные алгоритмы для решения транспортных задач"представлен метаэвристический оптимизационный алгоритм, вдохновленный поведением муравьев при поиске кратчайшего пути от места к месту[].Муравьи случайным образом выбирают маршруты в графе, предпочитая те, где феромоны более концентрированы. Феромоны обновляются в зависимости от эффективности маршрутов. Постепенно муравьи склонны выбирать кратчайшие маршруты, что приводит к нахождению оптимального решения задачи.
### Модифицированный алгоритм Литтла

В статье Костюка Ю.Л. “Эффективная реализация алгоритма решения задачи коммивояжёра методом ветвей и границ” [2] автор предлагает решение на основе метода ветвей и границ Литтла [3].В модифицированной версии алгоритма осуществляется отсечение частично построенных маршрутов в процессе построения дерева поиска, если предварительная оценка их длины превышает или равна длине ранее построенного наилучшего полного маршрута.

### Жадный алгоритм

Для приближенной оценки жадным алгоритмом производится анализ всех рёбер полного графа, исходящих из вершин. Выбираются наименьшие рёбра в количестве, соответствующем числу вершин. Если эти рёбра образуют гамильтонов цикл, то такое решение считается результатом задачи[5]. В статье В статье Чусовлянкина А.А., Морозенко В.В. “Анализ точности и времени решения задачи коммивояжера с помощью "антижадного" алгоритма” приводится экспериментальная оценка точности решения задачи жадным алгоритмом [6].

### Антижадный алгоритм

В статье Чусовлянкина А.А., Морозенко В.В. “Анализ точности и времени решения задачи коммивояжера с помощью "антижадного" алгоритма” рассматривается алгоритм, основывающийся на последовательном приближении к оптимальному решению за счет удаления ребер в графе по определенным правилам при помощи матрицы состояний [6]. На каждом этапе алгоритма выполняется поиск самого длинного нерассмотренного ребра в графе. Это ребро может либо быть выбрано и зафиксировано, либо удалено из графа, при этом в матрице состояний соответствующим образом отмечается изменение. Если невозможно ни зафиксировать, ни удалить ребро, то решение, полученное на предыдущем этапе, оказывается неверным.

## Критерии сравнения аналогов

### Точность решения

Данный критерий измеряет степень среднего приближения решения алгоритма к оптимальному значению. Оценка осуществляется путём сравнения найденного алгоритмом маршрута с оптимальным маршрутом

### Вычислительная сложность

Данный критерий оценивает зависимость объема работы, которая выполняется некоторым алгоритмом, от размера входных данных (в данном случае — от размерности графа и количества вершин).

### Тип задачи

Данный критерий определяет типы задачи для которых предназначен алгоритм и на которых алгоритм демонстрирует точность выше по сравнению с другими типами. Задача коммивояжера делится по типам графов на асимметричные, симметричные, метрические, евклидовы и другие.

## Таблица сравнения по критериям

| Аналог | Вычислительная сложность | Точность решения, % | Тип задачи |
|----------------------------------|--------------------------|---------------------|---------------|
| Метод полного перебора | O(n!) | 100 | любая |
| Муравьиный алгоритм | O(n^2) | 92 | асимметричная |
| Модифицированный алгоритм Литтла | O(n^2 *с^n) | 95 | асимметричная |
| Жадный алгоритм | O(n^2) | 80 | любая |
| Антижадный алгоритм | O(c^n) | 97 | евклидова |

## Выводы по итогам сравнения

Анализируя результаты таблицы, можно сделать вывод о том, что среди рассмотренных алгоритмов и методы решения данной задачи нет универсальных — таких, которые обладают следующими критериями:
- полиномиальная сложность;
- точность решения, стремящаяся к 100%;
- подходит для любого типа задачи.

Разрабатываемые методы и алгоритмы стремятся оптимизировать два показателя характеристики за счёт ухудшения последней.

# Источники

1. Saiyed A. R. The traveling salesman problem // Indiana State University. – 2012. – Т. 2. – С. 1-15.
2. Костюк Юрий Леонидович Эффективная реализация алгоритма решения задачи коммивояжёра методом ветвей и границ // ПДМ. 2013. №2 (20).
3. Little J. D. C., Murty K. G., Sweeney D. W., and Karel C. An Algorithm for the Traveling Salesman Problem // Operations Research. 1963. No. 11. P. 972–989.
4. Lin S., Kernighan B.W. An effective heuristic algorithm for the traveling-salesman problem // Operations Research. 1973. Vol. 21. No. 2. P. 498–516.
5. Gutin G.,Y eo A. The Greedy Algorithm for the Symmetric TSP. University of London, 2002. 1–2.
6. Чусовлянкин А.А., Морозенко В.В. Анализ точности и времени решения задачи коммивояжера с помощью "антижадного" алгоритма // Вестник Пермского университета. Серия: Математика. Механика. Информатика. 2016. №4 (35).



3 changes: 3 additions & 0 deletions 0304_Zhiglov/goal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Цель

Определить эффективность решения динамическим алгоритмом задачи коммивояжёра и двухуровневой задачи о назначениях в условиях их полного сведения на основе бенчмарка.
3 changes: 3 additions & 0 deletions 0304_Zhiglov/problem.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Проблема

Эффективные алгоритмы решения NP-трудных задач.
5 changes: 5 additions & 0 deletions 0304_Zhiglov/relevance.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
# Актуальность

Решения для сложных задач оптимизации из класса NP-трудных широко используются в различных областях.Алгоритм решения задачи коммивояжера применяется для оптимизации затрат на транспортировку и логистику, а так же для поиска отимального пути в навигации[1].Двухуровневая задача о назначениях позволяет более гибко управлять распределением задач и ресурсов, что может пригодиться в производственных задачах на предприятиях.Нахождение более эффективных алгоритмов для решения этих задач приведет к существенной оптимизации текущих процессов и систем.

1.Володина Е.В., Студентова Е.А. Практическое применение алгоритма решения задачи коммивояжера // ИВД. 2015. №2-2. URL: https://cyberleninka.ru/article/n/prakticheskoe-primenenie-algoritma-resheniya-zadachi-kommivoyazhera
1 change: 1 addition & 0 deletions 0304_Zhiglov_DS
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

3 changes: 3 additions & 0 deletions goal.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Цель

Определить эффективность решения динамическим алгоритмом задачи коммивояжёра и двухуровневой задачи о назначениях в условиях их полного сведения на основе бенчмарка.
3 changes: 3 additions & 0 deletions problem.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
# Проблема

Эффективные алгоритмы решения NP-трудных задач.