Лабораторная работа №1 Основы работы в системе Mathcad арифметические вычисления 2 Символьные вычисления 4



бет8/21
Дата06.01.2022
өлшемі5,09 Mb.
#11973
түріЛабораторная работа
1   ...   4   5   6   7   8   9   10   11   ...   21

3.3. Решение задачи коммивояжера

Коммивояжеру нужно посетить 5 городов, затраты на переход из города i в город j заданы матрицей, изображенной на рис.3.1(знак  означает запрещение перехода).







j

1

2

3

4

5

i



















1






3

4

7

5

2




6

#

7

4

8

3




9

6

#

5

10

4




4

7

5

#

8

5




3

9

8

7

#

Рис 3.1. Матрица затрат в задаче коммивояжера

Алгоритм метода ветвей и границ применительно к задаче коммивояжера:

1. Оценка вариантов. Пусть  множество всех вариантов задачи. Вычислим оценку этого множества. Рассмотрим конкретный цикл с номерами городов . Затраты в таком цикле будут следующими:

.

Определим числа . Эти числа представляют собой минимальные затраты на переход из города i во все другие города (рис.3.2).





j

1

2

3

4

5







i






















hi

1




#

3

4

7

5




3

2




6

#

7

4

8




4

3




9

6

#

5

10




5

4




4

7

5

#

8




4

5




3

9

8

7

#




3


Рис 3.2. Минимальные затраты на выход из города в задаче коммивояжера
Так как из каждого города нужно выйти, суммарные затраты составят не меньше чем . Вычтем эти числа из каждого элемента матрицы затрат . Очевидно, что теперь суммарные затраты составят .

Матрица затрат примет следующий вид:





j

1

2

3

4

5

i



















1




#

0

1

4

2

2




2

#

3

0

4

3




4

1

#

0

5

4




0

3

1

#

4

5




0

6

5

4

#


Рис 3.3. Матрица затрат с вычетом


Рассмотрим минимальные величины по столбцам , . Эти числа представляют собой минимальные затраты на вход в город j. Так как в каждый город нужно войти, есть минимальные затраты на всем пути.





j

1

2

3

4

5

i



















1




#

0

1

4

2

2




2

#

3

0

4

3




4

1

#

0

5

4




0

3

1

#

4

5




0

6

5

4

#

























gj

0

0

1

0

2

Рис 3.4. Минимальные затраты на вход в города в задаче коммивояжера
Матрица называется приведенной матрицей, и значение функции через элементы этой матрицы будет следующее:
.

Очевидно, что оценка . Матрица представлена в следующем виде:




j

1

2

3

4

5

i



















1




#

0

0

4

0

2




2

#

2

0

2

3




4

1

#

0

3

4




0

3

0

#

2

5




0

6

4

4

#

Рис. 3.5. Приведенная матрица затрат

.

2. Ветвление. Зададим множество , где - номер шага, - варианты множеств решений.
1) - множество всех маршрутов, содержащих путь из города i в город j;

2) - множество всех маршрутов, не содержащих путь из города i в город j;

В группу 1) включаем такой переход, который характеризуется минимальными (нулевыми) затратами. Поскольку таких переходов несколько (в данном случае 8), то среди нулевых элементов приведенной матрицы затрат выбираем такой путь, чтобы в группу 2) попали варианты с наибольшими затратами. Тогда для этих двух множеств будут получены оценки, максимально отличающиеся друг от друга.



Выбираем пару городов . Если несколько пар –определяем числа . Первое слагаемое в этом выражении характеризует минимальные затраты на выход из города r (переход из r в m запрещен), второе слагаемое – минимальные затраты на вход в город m при этом же условии. Сумма этих чисел дает минимальные затраты для множества маршрутов, не содержащих переход из r в m. Приведем результаты вычислений этих затрат:





j

1

2

3

4

5







i






















i

1




#

0

0

4

0




0

2




2

#

2

0

2




2

3




4

1

#

0

3




1

4




0

3

0

#

2




0

5




0

6

4

4

#




4































j

0

1

0

0

2








Рис. 3.6. Минимальные затраты на выход из города

Максимизация затрат по парам городов с нулевыми затратами дает в результате переход из 5-го города в 1-й город (максимальные затраты равны 4):







j

1

2

3

4

5







i






















i

1







1

0




2




0

2













2







2

3













1







1

4




0




0










0

5




4
















4































j

0

1

0

0

2







Рис. 3.7. Минимальные затраты на выход из города

и максимальные затраты при запрещенном переходе из города в город

Приведем дерево вариантов после первого шага алгоритма с оценками снизу множества решений (рис. 5).





Рис. 5. Дерево вариантов после первого шага.



На втором шаге развиваем множество , имеющее наименьшую оценку.

На следующем шаге вычеркиваем из матрицы затрат 5-ю строку и 1-й столбец, делая невозможным обратный переход (1,5), то есть :





j

2

3

4

5

i
















1




0

0

4

#

2




#

2

0

2

3




1

#

0

3

4




3

0

#

2

Рис. 3.10. матрица затрат после первого шага



Повторяем определение оценки для новой матрицы:



j

2

3

4

5







i



















hi

1




0

0

4

#




0

2




#

2

0

2




0

3




1

#

0

3




0

4




3

0

#

2




0

Рис 3.11. Минимальные затраты на выход из города






j

2

3

4

5

i
















1




0

0

4

#

2




#

2

0

2

3




1

#

0

3

4




3

0

#

2






















gj

0

0

0

2

Рис 3.12. Минимальные затраты на вход в города






j

2

3

4

5







i



















i

1




0

0

4

#




0

2




#

2

0

0




0

3




1

#

0

1




1

4




3

0

#

0




0




























j

1

0

0

0










j

2

3

4

5







i



















i

1




1

0










0

2










0

0




0

3










1







1

4







0










0




























j

1

0

0

0








Рис. 3.13. Числа , и максимальные затраты при запрещенном переходе из города в город

Вычеркиваем 1-ю строку и 2-й столбец.


Запрещаем переход .





j

3

4

5

i













2




2

0

#

3




#

0

1

4




0

#

0

Рис. 3.14. Приведенная матрица затрат после второго шага



Ниже показано полученное дерево вариантов.



Рис. 3.14. Дерево вариантов после второго шага


Снова определяем оценку:





j

3

4

5






















j

3

4

5

i
















hi













i













2




2

0

#




0













2




2

0

#

3




#

0

1




0













3




#

0

1

4




0

#

0




0













4




0

#

0





















































































gj

0

0

0



Рис. 3.15. Числа и






j

3

4

5






















j

3

4

5







i
















i













i
















i

2




2

0

#




2













2







2







2

3




#

0

1




1













3







1







1

4




0

#

0




0













4




2




1




0


























































j

2

0

1






















j

2

0

1








Рис. 3.16. . Числа , и максимальные затраты при запрещенном переходе из города в город

Вычеркиваем 2-ю строку, 4-й столбец, запрещаем переход :





j

3

5

i










3




#

1

4




0

#

Рис. 3.17. Приведенная матрица затрат на последнем шаге



Остается единственный вариант (стоимость - 1).

Полный замкнутый путь: с затратами 3+3+4+5+10=25. Сравнивая полученное решение с оценками множеств , приходим к выводу, что лучшего решения в этих множествах нет, и они могут быть отброшены (рис. 6).



Рис. 6. Дерево вариантов после третьего шага.


3. Отбрасывание вариантов. Если стоимость нашего варианта (25) оказалась бы выше стоимости какого-нибудь из «отвергнутых» вариантов (те, что справа), то пришлось бы раскрывать другой вариант. В данном случае задача решена.

Ниже приведен документа MATHCAD (док. Д.6), решающего задачу коммивояжера. Здесь С – матрица затрат в задаче с 5 городами, Аtab – таблица расчетов с приведенной матрицей, p
,q – числа соответственно, Сn_1 – матрица цен для задачи на втором шаге с меньшей размерностью.
Лабораторная работа №2. Задача ДП

Определить оптимальные вложения ресурса в 100 ед. частями xj по 10 ед. в п=с+3 проектов с функциями прибыли






Достарыңызбен бөлісу:
1   ...   4   5   6   7   8   9   10   11   ...   21




©emirsaba.org 2024
әкімшілігінің қараңыз

    Басты бет