Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Контрольная работа по курсу МЛиТА 3.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
2.48 Mб
Скачать

оглавление

Применение алгоритма Литтла к задаче коммивояжера (Метод ветвей и границ). 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. Применение алгоритма Литтла к задаче коммивояжера (Метод ветвей и границ). Подготовка исходных данных для использования алгоритма Литтла.

Определяется транспортная сеть:

Полотно 25 Полотно 191

В сети есть 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

-