Программирование задач на графах Гамильтоновы и эйлеровы циклы
Рефераты >> Программирование и компьютеры >> Программирование задач на графах Гамильтоновы и эйлеровы циклы

нуля (оценки нуля, равные нулю, не ставились).

Выберем максимальную из этих оценок (в примере есть несколько оценок, равных единице, выберем первую из них, в клетке (1,2)).

Итак, выбрано нулевое ребро (1,2). Разобьем все туры на два класса – включающие ребро (1,2) и не включающие ребро (1,2). Про второй класс можно сказать, что придется приплатить еще 1, так что туры этого класса стоят 35 или больше.

Что касается первого класса, то в нем надо рассмотреть матрицу в табл. 6 с вычеркнутой первой строкой и вторым столбцом.

Дополнительно в уменьшенной матрице поставлен запрет в клетке (2,1), т. к. выбрано ребро (1,2) и замыкать преждевременно тур ребром (2,1) нельзя.

1

3

4

5

6

2

1

4

1

0

3

01

-

1

3

4

0

1

-

0

5

3

3

01

-

табл. 8

-

1

2

3

4

5

6

1

-

01

0

3

3

6

2

01

-

1

4

1

0

3

1

2

-

01

0

3

4

4

5

01

-

1

3

5

4

2

0

1

-

0

6

7

1

3

3

01

-

табл. 5

-

1

3

4

5

6

2

01

1

4

1

0

3

1

-

01

0

3

4

4

01

-

1

3

5

4

0

1

-

0

6

7

3

3

01

-

-

1

3

4

5

6

2

01

1

4

1

0

3

03

-

01

0

3

4

3

01

-

1

3

5

3

0

1

-

0

6

6

3

3

01

-

табл. 7

табл.6

Уменьшенную матрицу можно привести на 1 по первому столбцу, так что каждый тур, ей отвечающий, стоит не меньше 35. Результат наших ветвлений и получения оценок показан на рис.6.

Кружки представляют классы: верхний кружок – класс всех туров; нижний левый – класс всех туров, включающих ребро (1,2); нижний правый – класс всех туров, не включающих ребро (1,2). Числа над кружками – оценки снизу.

Продолжим ветвление в положительную сторону: влево - вниз. Для этого оценим нули в уменьшенной матрице C[1,2] на табл. 7. Максимальная оценка в клетке (3,1) равна 3. Таким образом, оценка для правой нижней вершины на рис. 7 есть

-

3

4

6

2

1

3

03

4

03

-

3

5

0

03

0

табл. 10

 

-

3

4

5

6

2

1

3

1

0

4

01

-

1

3

5

0

02

-

0

6

3

2

03

-

табл. 9

35+3=38. Для оценки левой нижней вершины на рис. 7 нужно вычеркнуть из матрицы C[1,2] еще строку 3 и столбец 1, получив матрицу C(1,2),(3,1) на табл. 8. В эту матрицу нужно поставить запрет в клетку (2,3), так как уже построен фрагмент тура из ребер (1,2) и (3,1), т.е. [3,1,2] и нужно запретить преждевременное замыкание (2,3). Эта матрица приводится по столбцу на 1 (табл. 9), таким образом, каждый тур соответствующего класса (т.е. тур, содержащий ребра (1,2) и (3,1)) стоит 36 и более.


Страница: