Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Курсовая работа по МетОпт минасов.docx
Скачиваний:
9
Добавлен:
17.04.2015
Размер:
225.74 Кб
Скачать

Задание № 2. Задача о коммивояжере. Метод ветвей и границ

Расстояния между пунктами заданы матрицей:

1

2

3

4

5

6

С =

1

4

5

6

7

1

2

1

1

3

2

4

3

6

5

1

4

3

4

1

7

6

5

1

5

4

1

2

5

4

6

5

6

3

4

1

Решение задачи о коммивояжере методом ветвей и границ начинается с приведения матрицы (вычитания из каждой строки (столбца) матрицы C минимального элемента этой строки (столбца).

Произведем приведение матрицы Cпо строкам:

hν=min(i)hνi

1

2

3

4

5

6

hν

С’=

1

4

5

6

7

1

1

2

1

1

3

2

4

1

3

6

5

1

4

3

1

4

1

7

6

5

1

1

5

4

1

2

5

4

1

6

5

6

3

4

1

1

Произведем приведение матрицы Cпо столбцам:

gi= min(υ)gνi

1

2

3

4

5

6

С’=

1

3

4

5

6

0

2

0

0

2

1

3

3

5

4

0

3

2

4

0

6

5

4

0

5

3

0

1

4

3

6

4

5

2

3

0

gi

0

0

0

0

0

0

В итоге получаем полностью приведенную (редуцированную) матрицу:

1

2

3

4

5

6

hν

С0=

1

3

4

5

6

0

1

2

0

0

2

1

3

1

3

5

4

0

3

2

1

4

0

6

5

4

0

1

5

3

0

1

4

3

1

6

4

5

2

3

0

1

gi

0

0

0

0

0

0




Величины hνиgiназываютсяконстантами приведения.

Нижняя граница цикла: d0=1+1+1+1+1+1+0+0+0+0+0+0 = 6

().

Шаг №1.

Определяем ребро ветвленияи разобьем все множество допустимых значенийQ0относительно этого ребра на два непересекающихся подмножества () и (), т.е., где

В приведенной матрице исследуем все нулевые переходы.

1

2

3

4

5

6

αν

C0 =

1

3

4

5

6

0(3)

3

2

0(0)

0(1)

2

1

3

0

3

5

4

0(4)

3

2

2

4

0(0)

6

5

4

0(0)

0

5

3

0(4)

1

4

3

1

6

4

5

2

3

0(3)

2

βi

0

3

1

2

1

0




Наибольшая сумма констант приведения равна

υ34= α34=2+2=4, следовательно,

множество разбивается на два подмножества и.

Оценка длины цикла: .

Исключение ребра (3,4) проводим путем замены элемента υ34= 0 на ∞, после чего осуществляем очередное приведение матрицы расстояний для образовавшегося подмножества (), в результате получим редуцированную матрицу.

1

2

3

4

5

6

αν

С0' =

1

3

4

5

6

0

0

2

0

0

2

1

3

0

3

5

4

3

2

2

4

0

6

5

4

0

0

5

3

0

1

4

3

0

6

4

5

2

3

0

0

βi

0

0

0

2

0

0



Включение ребра (3,4) проводится путем исключения всех элементов 3-ой строки и 4-го столбца, в которой элемент υ43заменяем на ∞, для исключения образования негамильтонова цикла.

В результате получим другую сокращенную матрицу (5x5), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

1

2

3

5

6

hν

1

3

4

6

0

0

2

0

0

1

3

0

C1=

4

0

6

4

0

0

5

3

0

1

3

0

6

4

5

2

0

0

gi

0

0

0

0

0

d1=0

Шаг №2.

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

В приведенной матрице исследуем все нулевые переходы.

1

2

3

5

6

αν

1

3

4

6

0(3)

3

2

0(0)

0(1)

1

3

0

C1=

4

0(0)

6

4

0(0)

0

5

3

0(4)

1

3

1

6

4

5

2

0(3)

2

βi

0

3

1

1

0

Наибольшая сумма констант приведения равна

υ52=1+3=4, следовательно,

множество разбивается на два подмножества и.

Оценка длины цикла: .

Оценка на перспективном множестве:

В результате получим другую сокращенную матрицу (4x4), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

1

3

5

6

hν

C2 =

2

4

6

0

0

3

0

0

3

0

5

0

4

0

0

6

4

2

0

0

gi

0

0

0

0

d2=0

Шаг №3.

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

В приведенной матрице исследуем все нулевые переходы.

1

3

5

6

αν

C2 =

1

4

6

0(4)

4

2

0(0)

0(2)

3

0

4

0(0)

4

0(0)

0

6

4

2

0(6)

2

βi

0

2

4

0

Наибольшая сумма констант приведения равна

υ65=2+4=6, следовательно,

множество разбивается на два подмножества и.

Оценка длины цикла: .

Оценка на перспективном множестве:

В результате получим другую сокращенную матрицу (3x3), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

1

3

6

hν

1

0

0

0

C3 =

2

0

1

0

4

0

5

0

0

gi

0

0

0

d3=0

Шаг №4.

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

В приведенной матрице исследуем все нулевые переходы.

1

3

6

αν

1

4

0(4)

4

C3 =

2

0(0)

0(4)

0

4

0(0)

0(0)

0

βi

0

4

0

Наибольшая сумма констант приведения равна

υ16=4+0=4, следовательно,

множество разбивается на два подмножества и.

Оценка длины цикла: .

Оценка на перспективном множестве:

В результате получим другую сокращенную матрицу (2x2), которая подлежит операции приведения.

После операции приведения сокращенная матрица будет иметь вид:

1

3

hν

C4 =

2

0

0

0

4

0

0

gi

0

0


d4=0

В соответствии с этой матрицей включаем в маршрут и.

Ответ: l* =C34+C41+C16+C65+C52+C23=1+1+1+1+1+1=6.

Дерево решения имеет следующий вид: