
- •Часть 1. Применение алгоритма Литтла к задаче коммивояжера (Метод ветвей и границ). Подготовка исходных данных для использования алгоритма Литтла.
- •Получение границы для ветви всех маршрутов в транспортной сети. Первое действие приведения к d по строкам. (Из строки вычитается самое минимальное значение, найденное в строке).
- •Второе действие приведения к d по столбцам. (Из столбцов вычитается самое минимальное значение, найденное в столбце).
- •Выбираем дорогу 8,5 и перемещаемся от пункта 8 до пункта 5.
- •Действие приведения к d по строкам дает результат.
- •Действие приведения к d по столбцам дает результат.
- •Выбираем дорогу 6,7.
- •Приведенное по строкам и столбцам матрицы d.
- •Таким образом меньше чем общая длина циклов обхода всех пунктов в данной ветви уже увеличивается на 0.
- •Поиск третьей дороги. Оцениваются нули:
- •Выбираем дорогу 5,6.
- •Граф ветвей и границ в этот момент будет.
- •Поиск четвертой дороги. Оцениваются нули:
- •Выбираем дорогу 2,8.
- •Граф ветвей и границ в этот момент будет.
- •Поиск пятой дороги. Оцениваются нули:
- •Выбираем дорогу 7,4.
- •Часть2.
- •Пример доказательства секвенции: ф1˫ (((ф1 ф2)) (ф1 ф2)).
- •Правила вывода.
оглавление
Применение алгоритма Литтла к задаче коммивояжера (Метод ветвей и границ). 3
Подготовка исходных данных для использования алгоритма Литтла. 3
Получение границы для ветви всех маршрутов в транспортной сети. 4
Первое действие приведения к D по строкам. (Из строки вычитается самое минимальное значение, найденное в строке). 4
Второе действие приведения к D по столбцам. (Из столбцов вычитается самое минимальное значение, найденное в столбце). 5
Таким образом, общая длина цикла обхода всех пунктов уже не будет чем меньше 8. 5
Граф ветвей и границ в этот момент будет. 5
Поиск первой дороги. 6
Оценка нулей. 6
Выбираем дорогу 8,5 и перемещаемся от пункта 8 до пункта 5. 6
Действие приведения к D по строкам дает результат. 7
Действие приведения к D по столбцам дает результат. 7
Таким образом меньше чем общая длина циклов обхода всех пунктов в данной ветви уже увеличивается на 2. 7
Граф ветвей и границ в этот момент будет. 8
Поиск второй дороги. 8
Оцениваются нули 8
Выбираем дорогу 6,7. 9
Приведенное по строкам и столбцам матрицы D. 9
Таким образом меньше чем общая длина циклов обхода всех пунктов в данной ветви уже увеличивается на 0. 9
Поиск третьей дороги. 10
Оцениваются нули: 10
Выбираем дорогу 5,6. 10
Граф ветвей и границ в этот момент будет. 11
Поиск четвертой дороги. 11
Оцениваются нули: 11
Выбираем дорогу 2,8. 11
Граф ветвей и границ в этот момент будет. 12
Поиск пятой дороги. 12
Оцениваются нули: 12
Выбираем дорогу 7,4. 12
Граф ветвей и границ в этот момент будет. 13
Поиск шестой дороги. 13
Оцениваются нули: 13
Выбираем дорогу 1,2. 13
Граф ветвей и границ в этот момент будет: 14
Поиск седьмой дороги. 14
Оцениваются нули: 14
Выбираем дорогу 3,1. 15
Поиск восьмой дороги. 15
Оцениваются нули: 16
Граф ветвей и границ в этот момент будет: 16
В данный момент найден маршрут проходящего через все пункты сети и стоимость этого маршрута равна 10. 17
Доказательство секвенций. 17
Пример доказательства секвенции: Ф1˫ (((Ф1 Ф2)) (Ф1 Ф2)). 17
Правила вывода. 18
Контрольная работа по курсу "Математическая логика и теория алгоритмов".
Часть 1. Применение алгоритма Литтла к задаче коммивояжера (Метод ветвей и границ). Подготовка исходных данных для использования алгоритма Литтла.
Определяется транспортная сеть:
В сети есть 8 пунктов и 17 дорог. Длины дорог для контрольной работы нужно использовать алфавит, месяц день рождения, фамилия, имя и отчество.
Пример определения длин дорог.
Алфавит:
Буква |
а |
б |
в |
г |
д |
е |
ё |
ж |
з |
и |
й |
к |
л |
м |
н |
о |
п |
номер |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
Буква |
р |
с |
т |
у |
ф |
х |
ц |
ч |
ш |
щ |
ъ |
ы |
ь |
э |
ю |
я |
|
номер |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
|
Пример:
Студент: Иванов Иван Иванович родился в июне.
Длина дороги равна остаток от деления номера букв на 5 и добавляется 1.
Дороги |
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
Буквы месяц |
и |
ю |
н |
ь |
и |
в |
а |
н |
о |
в |
и |
в |
а |
н |
и |
в |
а |
Номера букв |
10 |
32 |
15 |
30 |
10 |
3 |
1 |
15 |
16 |
3 |
10 |
3 |
1 |
15 |
10 |
3 |
1 |
Длина дорог |
1 |
3 |
1 |
1 |
1 |
4 |
2 |
1 |
2 |
4 |
1 |
4 |
2 |
1 |
1 |
4 |
2 |
Матрица расстояний для транспортной сети D.
В D [I, J] = - означает, что дорога между пунктами I и J отсутствует и длина этой дороги равна бесконечности.
Матрица D должна быть симметрична относительно главной диагонали. Если симметричность отсутствует, то есть ошибки в заполнении D.
Матрица D:
|
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
1 |
- |
1 |
1 |
1 |
- |
- |
3 |
- |
2 |
1 |
- |
- |
1 |
4 |
- |
- |
2 |
3 |
1 |
- |
- |
1 |
- |
- |
4 |
- |
4 |
1 |
1 |
1 |
- |
2 |
4 |
1 |
- |
5 |
- |
4 |
- |
2 |
- |
2 |
- |
1 |
6 |
- |
- |
- |
4 |
2 |
- |
1 |
4 |
7 |
3 |
- |
4 |
1 |
- |
1 |
- |
2 |
8 |
- |
2 |
- |
- |
1 |
4 |
2 |
- |