Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
OMM_-_st_12-13.docx
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
847.03 Кб
Скачать

Алгоритм розв’язання

  • Метод гілок та меж – досліджуваний шлях продовжується до того моменту, доки дозволяє алгоритм; коли це стає неможливим, треба повернутися назад і зробити інший вибір на найближчому кроці.

  • Редукція ряду матриці – віднімання від кожного елементу ряду найменшого елемента з нього. Редуційована матриця – матриця з невід’ємними елементами, в кожному ряді якого є хоча б один нульовий елемент.

  • Розгалуження – це побудова фрагменту дерева рішень:

- За умов вибору вузла (i,j) розв’язок не має містити інших вузлів, які відповідають елементам і-го рядка й j-го стовпчика.

- Гілка, яка проходить через вузол (i;j), містить всі маршрути із і до j.

- Гілка, яка проходить через вузол ( ), містить шляхи, в яких переїзд із і до j заборонений.

- Нова гілка (k,l) відповідає всім маршрутам, які містять 2 вузли (i,j) та (k,l), а містить ( i,j), але не містить (k,l), . М

  • ∞ - позначення забороненого шляху в матриці

Задача. За даною платіжною матрицею знайти маршрут проїзду по всіх містах, щоб вартість проїзду була мінімальною. Побудувати дерево рішень.

1 2 3 4 5

1 ∞ 4 17 19 11

2 5 ∞ 10 22 15

3 3 1 ∞ 6 17

4 2 10 3 ∞ 3

5 10 3 6 10 ∞

Розв’язання

І. Вибір першого маршруту шляху

1). Вибираємо мінімальну вартість проїзду з кожного міста до всіх інших:

1 2 3 4 5 min

1 ∞ 4 17 19 11 4

2 5 ∞ 10 22 15 5

3 3 1 ∞ 6 17 1

4 2 10 3 ∞ 3 2

5 10 3 6 10 ∞ 3

2). Проводимо редукцію №1 - по рядках. У стовпчиках 3, 4, 5 немає нульових елементів – маршрутів мінімальної вартості, тому в них проводиться редукція №2 – по стовпчиках.

1 2 3 4 5 min

1 ∞ 0 13 15 7 4

2 0 ∞ 5 17 10 5

3 2 0 ∞ 5 16 1

4 0 8 1 ∞ 1 2

5 7 0 3 7 ∞ 3

min 0 0 1 5 1 22

3). Отримана матриця – матриця штрафів (невикористаних можливостей): її елементи показують перевищення мінімальної вартості проїзду.

  • Штраф ряду матриці – це найменший елемент, крім одного елемента 0 в ряді таблиці. Якщо є в ряді декілька нулів, то штраф ряду = 0.

  • Сумарний штраф елемента“0” (відповідного рядка і стовпчика) показує, скільки додатково прийдеться витратити, якщо не вибрати “0” – маршрут мінімальної вартості.

1 2 3 4 5 min

1 ∞ 0 12 10 6 4 6

2 04 ∞ 4 12 9 5 4

3 2 0 ∞ 05 15 1 0

4 0 8 0 ∞ 06 2 0

5 7 0 1 5 ∞ 3 1

min 0 0 1 5 1 22

0 0 1 5 6

Мають максимальний штраф маршрути 1 2 або 4 5 ,

Вибираємо варіант 1 2 . Тоді треба 1 2

заборонити використання маршруту 2 1

М

28 22

ІІ. Вибір другого маршруту шляху проводиться за вказаним вище алгоритмом, контролюючи на останньому кроці неможливість існування внутрішнього циклу.

1 3 4 5 min

2 ∞ 4 12 9 4

3 2 ∞ 0 15 0

4 0 0 ∞ 0 0

5 7 2 2 ∞ 2

1 3 4 5 min

2 ∞ 0 8 5 4 5

3 2 ∞ 02 15 0 2 1

4 02 0 ∞ 05 0 0

5 5 0 00 ∞ 2 0

2

min 0 0 0 0 6

2 0 0 5 3

C = 29 + 5 =

. = 22 + 6 = 28 = ∞ , = ∞

ІІІ. Вибір третього маршруту шляху

1 4 5 min

3 ∞ 0 15 15 0 15

4 0 ∞ 015 0 0

5 5 0 ∞ 0 5

min 0 0 0 0

5 0 15 ,

ІV. Вибір останніх маршрутів шляху

1 5 min 1 5 min

1

4 ∞ 0 0 4 ∞ 0 0 ∞

5 5 ∞ 5 5 0 ∞ 0 ∞

5 min 0 0 0

∞ ∞

Матриця такого вигляду є кінцевою матрицею для кожної задачі:

мінімальний елемент кожного ряду = 0, а штраф = ∞ .

V. Вартість шляху проїзду визначається з основної платіжної матриці за елементами - вартостями обраних маршрутів (позначено *):

1 2 3 4 5

1 ∞ 4* 17 19 11

2 5 ∞ 10* 22 15

3 3 1 ∞ 6* 17

4 2 10 3 ∞ 3*

5 10* 3 6 10 ∞

VІ. Але: вартість всього шляху Z = 4 + 10 + 6 + 3 + 10 = 33 є більшою за першу заборонену вартість 28ш, тому треба дослідити множину маршрутів без вузла (1 2), тобто в початковій матриці .

1 2 3 4 5 min

1 ∞ ∞ 17 19 11* 11

2 5* ∞ 10 22 15 5

3 3 1* ∞ 6 17 1

4 2 10 3* ∞ 3 2

5 10 3 6 10* ∞ 3

Остаточне дерево рішень і варіант маршруту матиме вигляд: Z = 30

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]