
Теория графов. Лекция 13
.pdfИванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
141 |
|
|
Теория графов. Лекция 13
Применение метода ветвей и границ для задачи коммивояжёра
13.1. Постановка задачи. Формальная постановка задачи коммивояжёра приведена в лекции 11. Повторим кратко эту постановку. Пусть задано n точек и известна матрица cij 0 – матрица "расстояний" между точками. Под маршрутом коммивояжёра z в замкнутой задаче будем понимать перестановку i1,i2,…,in точек 1,2,…,n, длина маршрута
n |
|
|
l(z) c |
, |
|
k 1 |
ikik 1 |
|
|
|
in 1
i1
.
Пусть Z – множество всех возможных маршрутов, поскольку начальную точку i1 можно считать фиксированной, то Z =(n–1)!. Требуется найти маршрут z0 Z такой, что
l(z0) = min l(z), z Z.
Опишем основные элементы алгоритма решения задачи, основанного на методе ветвей и границ. (При этом мы следуем в основном работе
[Литл Дж., Мурти К., Суини Д., Кэрел К. Алгоритм для решения задачи коммивояжёра. Экономика и математические методы. 1965 – Т1 – вып.1 –
с. 90-107], уже ставшей классической.)
13.2. Приведение матрицы расстояний. В любой маршрут коммивояжёра входит один элемент каждой строки и каждого столбца матрицы расстояний. Поэтому, если из всех элементов некоторой строки вычесть одно и то же число, то в новой матрице длины всех маршрутов уменьшатся на это число по сравнению со старой матрицей. То же можно сказать и о столбцах матрицы расстояний. Эти свойства объясняются тем, что из каждого города мы должны один раз уйти и в каждый город – один
раз прийти. Поэтому найдем r |
i |
min c |
ij |
и образуем новую матрицу: |
|
|
j |
|
|
В матрице
(1) cij
cij(1) cij ri .
найдем наименьший элемент в каждом столбце
h j min cij(1) и построим матрицу
i
cij(2) cij(1) hj ,
тогда cij cij(1) ri cij(2) ri hj .
Матрица cij(2) – приведённая матрица расстояний, ri – константы
приведения по строкам, hj – константы приведения по столбцам. Матрица

Иванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
142 |
|
|
(2) cij
имеет хотя бы один ноль в каждой строке и каждом столбце. Пусть z – некоторый маршрут, тогда
n |
|
l(z) c |
|
k 1 |
ikik 1 |
|
Если обозначить через l1(z)
n |
|
|
n |
|
n |
|
|
|
(2) |
|
|
. |
|
|
c |
|
|
rk |
|
hk |
k 1 |
ikik 1 |
k 1 |
|
k 1 |
|
|
|
|
|
|
длину маршрута коммивояжёра в матрице
расстояний
(2) cij
и |
d |
n 0 (rk hk ) k 1
(d0 – сумма констант приведения), то
получим l(z) = l1(z)+d0; т. к. l1(z) , то l(z) d0, т. е. длина любого маршрута оценивается снизу числом d0.
Если после применения процедуры приведения в каждой строке и в каждом столбце ровно один ноль, то мы решили задачу о назначении. Величина целевой функции равна d0, а нули указывают назначение. Если нули образуют единственный цикл, то мы решили задачу о коммивояжёре и длина кратчайшего маршрута равна d0.
Дальнейшее изложение сопровождается примером для n=6 из [Литл,..].
|
1 |
2 |
3 |
4 |
5 |
6 |
1 |
M |
27 |
43 |
16 |
30 |
26 |
2 |
7 |
M |
16 |
1 |
30 |
25 |
3 |
20 |
13 |
M |
35 |
5 |
0 |
4 |
21 |
16 |
25 |
M |
18 |
18 |
5 |
12 |
46 |
27 |
48 |
M |
5 |
6 |
23 |
5 |
5 |
9 |
5 |
M |
.
Здесь cii = M – достаточно большое положительное число.
Найдём минимальные элементы по строкам и приведём по строкам:
r1 = 16, r2 = 1, r3 = 0, r4 = 16, r5 = 5, r6 = 5.
Получим матрицу cij(1) :
|
1 |
2 |
3 |
4 |
5 |
6 |
|
|
|
|
|
|
|
|
|
1 |
M |
11 |
27 |
0 |
14 |
10 |
|
|
|
|
|
|
|
|
|
2 |
6 |
M |
15 |
0 |
29 |
24 |
|
|
|
|
|
|
|
|
|
3 |
20 |
13 |
M |
35 |
5 |
0 . |
|
4 |
5 |
0 |
9 |
M |
2 |
2 |
|
|
|
|
|
|
|
|
|
5 |
7 |
41 |
22 |
43 |
M |
0 |
|
|
|
|
|
|
|
|
|
6 |
18 |
0 |
0 |
4 |
0 |
M |
|
|
|
|
|
|
|
|
|
Найдем минимальные элементы по столбцам и приведём по столбцам:

Иванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
143 |
|
|
h1 = 5,
Получим матрицу c(2) ij
h2 = h3 = h4 = h5 = h6 = 0.
:
|
1 |
2 |
3 |
4 |
5 |
6 |
1 |
M |
11 |
27 |
0 |
14 |
10 |
2 |
1 |
M |
15 |
0 |
29 |
24 |
3 |
15 |
13 |
M |
35 |
5 |
0 |
4 |
0 |
0 |
9 |
M |
2 |
2 |
5 |
2 |
41 |
22 |
43 |
M |
0 |
6 |
13 |
0 |
0 |
4 |
0 |
M |
.
d0 = 16+1+0+16+5+5+5+5 0=48, l(z) 48.
Для получения верхней оценки в данном примере из первой точки перейдём в ближайшую, затем в ближайшую из оставшихся и т. д.
z1 = {1 4 2 3 6 5 1}, l(z1)=16+16+16+0+5+12=65.
Для оптимального маршрута получим: 48 l(z0) 65.
13.3. Ветвление. Рассмотрим некоторый маршрут, который содержит переход из точки i в точку j. Для длины этого маршрута имеет место неравенство:
l(z) |
|
d |
|
|
c |
(2) |
. |
|
|
|
|
|
|||
|
|
0 |
|
ij |
|
||
|
|
|
|
|
|
Для переходов, у которых c(2) 0 , получаем, что l(z) d . Естественно
ij 0
предположить, что кратчайший путь коммивояжёра содержит один из нулевых переходов.
Обозначим через (i,j) множество маршрутов, содержащих переход из i в j непосредственно и через (i, j) – множество маршрутов, не содержащих
таких переходов, G0 Z ,
1 |
(i, |
G |
|
1 |
|
j)
,
1 |
(i, |
G2 |
j)
,
Z
(i,
j) (i,
j)
. Таким образом,
множество Z разбивается на два подмножества, см. рис. 13.1. Как известно, ветвление на два подмножества называется дихотомическим.
Рис. 13.1
Рассмотрим нижнюю оценку для множества маршрутов (i, j) . Для (i,j)
оценка остается d0. Для всех маршрутов из (i, j) из точки i нужно уйти в

Иванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
144 |
|
|
точку k i и в точку j прийти из точки
l(z) d 0
m j, поэтому имеем:
(2) |
|
(2) |
. |
|
cik |
cmj |
|||
|
|
|||
k j |
|
m i |
|
Поскольку выход из точки i добавляет к оценке по крайней мере наименьший элемент строки i, а вход в точку j – по крайней мере наименьший элемент столбца j, то
l(z) d 0 min cik(2) |
min c(mj2) . |
k j |
m i |
Для каждого нулевого перехода может быть вычислена величина
Для вычисления
ij |
|
|
|
ij |
|
min k j
для
(2) |
min c |
cik |
|
|
m i |
нулевого
(2) mj
.
перехода
(13.1)
нужно найти
минимальные элементы в строке и столбце, пересекающихся на этом переходе (минимумы находятся без учета рассматриваемого нулевого перехода (i,j)) и полученные минимумы сложить.
В качестве перехода, используемого для разветвления, выбирается
тот, у которого значение ij |
максимально, l(z) d 0 |
ij |
. Находим max ij |
|
|
|
|
(2) |
0 |
|
|
|
cij |
и этот переход выбираем в качестве того, по которому происходит разветвление. Это связано с тем, чтобы получить по возможности большую оценку для множества (i, j) . В нашем примере получаем:
14=10, 24=1, 36=5, |
41=1, 42=0, 56=2, 62=0, 63=9, 65=2. |
|
Поэтому ветвление |
происходит по переходу (1–4), для |
z (1,4) |
получаем: l(z) 48+10=58, для z (1,4) оценка остается прежней: l(z) 48, см.
рис. 13.2.
Рис. 13.2
В матрице, соответствующей множеству G11 (i, j) , вычёркиваем строку i и столбец j и положим c(ji2) M , чтобы предотвратить появление
цикла i j i. Полученную матрицу можно привести, если сумма констант приведения равна 0, то для z (i,j) получим:

Иванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
145 |
|
|
(2) cij
для
z
|
|
|
l(z) d |
0 |
|
0 |
. |
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
1 |
(i, j) , следует положить |
|
В матрице, соответствующей множеству G |
2 |
||||||||
|
|
|
|
|
|
|
|
|
|
M |
и для |
z (i, j) |
получим: |
|
|
|
|
|
|
|
|
|
l(z) d |
0 |
|
ij |
. |
|
|
|
|
|
|
|
|
|
|
Если эту матрицу привести и сумма констант приведения равна 0, то(i, j) получаем:
l(z) d 0 ij 0 .
В нашем примере (i,j)=(1,4), поэтому в матрице, соответствующей множеству (1,4), вычеркиваем строку 1 и столбец 4 и полагаем с41=М. После этого выполняем процедуру приведения, 0=1, l(z) 48+1=49. В матрице,
соответствующей множеству |
(1,4) |
, полагаем с14=М, l(z) 48+10=58. После |
выполнения процедуры приведения 0=10 и l(z) 58+10=68. В данном примере в соответствии с правилами отсева множество (1,4) можно отбросить, т. е. исключить из дальнейшего рассмотрения. Это означает, что в оптимальном решении задачи обязательно содержится переход (1,4). После реализации отсева получим дерево ветвления в следующем виде (см.
рис. 13.3).
Рис. 13.3
13.4. Общий шаг алгоритма. Среди неотсеянных по правилам отсева
множеств, не подвергавшихся разбиению, выбираем множество |
G |
t |
с |
|||
V |
||||||
|
|
|
|
|
||
наименьшей нижней оценкой d |
t |
. |
|
|
|
|
V |
|
|
|
|||
|
|
|
|
|
всех
kp
1)В матрице С, соответствующей выбранному множеству, для
csl 0 |
определяем константы |
sl |
по формуле (13.1) и определяем |
|
max |
sl |
. |
|
|
csl 0 |
|
|
|
|
2) Разбиваем множество GVt на два подмножества по правилу
|
|
|
|
|
|
|
z (k, p) и |
z (k, p) . В |
матрице, соответствующей множеству (k, p) , |
||||
запрещаем переход (k, p) , |
т. е. полагаем ckp M . Полученную матрицу |
расстояний приводим. Если сумма констант приведения равна t |
, то для |
||
|
|
V |
|
|
|
|
|
z (k, p) получаем оценку: |
|

Иванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
146 |
|
|
l(z) |
t |
|
kp |
|
|
t |
dV |
V |
|||||
|
|
|
||||
|
|
|
|
|
|
.
(13.2)
В матрице, соответствующей множеству |
(k, p) , вычёркиваем строку k |
и столбец p и реализуем алгоритм запрещения подциклов. Нужно
рассмотреть все связные пути |
вида |
x1 |
, |
x2 |
,..., |
xr |
, которые |
образованы |
|
|
|
|
|
|
|
|
|||
входящими рёбрами, и положить |
c |
M |
для s = 1,2,…,r–1. |
Полученную |
|||||
|
|
xr xs |
|
|
|
|
|
|
|
матрицу приводим. Если сумма констант приведения равна z (k, p) получаем оценку:
l(z) d |
t |
|
t |
. |
|
V |
V |
||||
|
|
|
t V
, то для
(13.3)
3)Модифицируем список множеств, не подвергавшихся
разбиению. Вместо множества
t GV
записываем множества (k, p) и (k, p) и
полученные множества переобозначаем:
G |
t 1 |
, G |
t 1 |
,..., |
|
2 |
|||
1 |
|
|
t 1 Grt 1
.
Удаляем (или
отмечаем) множества, отсеянные по правилам отсева и переходим к п. 1, положив t равным t+1.
В результате применения описанного общего шага получаем дерево ветвления в следующем виде (см. рис. 13.4):
Рис. 13.4
Здесь описаны правила ветвления и вычисления оценок. Все остальные элементы алгоритма реализуются по общей схеме. Процесс вычисления завершается после отсева по правилам отсева всех множеств, не подвергавшихся разбиению.
Трудоемкость алгоритма определяется числом решённых оценочных задач. В описанном алгоритме решение оценочной задачи сводится к процедуре приведения матрицы расстояний. Экономная её реализация может существенно сократить время решения задачи.
Остановимся на некоторых простых правилах, позволяющих уменьшить время работы процедуры.
1.При определении очередного значения константы приведения
вычитание её из элементов строки или столбца производится, если

Иванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
147 |
|
|
константа положительная и её прибавление к оценке не приводит к отсеву подзадачи. Если прибавление положительной константы приводит к отсеву подзадачи, то выполнение процедуры приведения прекращается.
2. Реализация процедуры приведения целесообразно начинать со строк (или столбцов), в которых появились числа М при ветвлении подзадачи на две. Появление чисел М в строках или столбцах, как правило, даёт ненулевые значения констант приведения, при этом увеличиваются значения оценок.
Пример. Завершим решение примера. Удалив в матрице множества
(1,4) первую строку и четвёртый столбец и положив |
с |
41 |
М , |
получим |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
матрицу |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
2 |
3 |
5 |
6 |
|
|
1 |
2 |
|
3 |
5 |
6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
2 |
1 |
M |
15 |
29 |
24 |
|
2 |
0 |
M |
|
15 |
29 |
24 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
3 |
15 |
13 |
M |
5 |
0 |
|
3 |
14 |
13 |
|
M |
5 |
0 |
|
|
|
|
|
|
|
|
M |
|
|
|
|
|
|
|
|
|
||||||
4 |
M |
0 |
9 |
2 |
2 |
4 |
M |
|
9 |
2 |
2 |
|
|
r3=2. |
|
|||
|
0 |
|
|
|
|
|||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
5 |
2 |
41 |
22 |
M |
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
5 |
1 |
41 |
|
22 |
M |
0 |
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
6 |
13 |
0 |
0 |
0 |
M |
|
6 |
12 |
0 |
|
0 |
0 |
M |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
h1=1 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Минимальный элемент в первом столбце равен 1, выполнив |
||||||||||||||||||
процедуру |
приведения, |
получим |
1, матрица |
представлена |
рядом с |
|||||||||||||
исходной, |
поэтому |
для |
z (1,4) |
получаем |
в |
соответствии |
с |
(3.4.3) |
||||||||||
l(z) 48+1=49. Вычислим величины |
ij |
: |
21 =16, |
|
36 =5, |
42 |
=2, 56 |
=2, 62 |
||||||||||
=0, 63 =9, 65 =2, максимальное значение |
21 . Множество (1,4) разбиваем |
|||||||||||||||||
на два: (2,1) и |
(2,1) . Переходы (2,1) и (1,4) образуют связный путь (2,1,4), |
|||||||||||||||||
поэтому в матрице множества (2,1) полагаем с |
42 |
М . Полученную матрицу |
||||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
приводим, |
2 , тогда для z (2,1) |
получаем l(z) 49+2=51. Для z (2,1) в |
соответствии с (13.2) получаем l(z) 49+16=65, это означает, что множество (2,1) исключаем из дальнейшего рассмотрения. В матрице множества (2,1) удаляем вторую строку и первый столбец, получим:
|
2 |
3 |
5 |
6 |
|
|
|
2 |
3 |
5 |
|
|
2 |
3 |
5 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||||
3 |
13 |
М |
5 |
0 |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
3 |
8 |
М |
0 |
|
|||||||
|
3 13 |
М 5 |
|
||||||||||||||
|
|
|
|
|
|
|
|||||||||||
|
|
|
|
|
|
|
|
|
|||||||||
4 |
М 7 |
0 |
0 |
|
r1 5 |
4 М 7 |
0 . |
||||||||||
|
|
|
|
|
|||||||||||||
4 |
М |
7 |
0 |
||||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
5 |
41 |
22 М |
0 |
|
6 |
0 |
М |
М |
|||||||||
|
|
|
|
|
|
||||||||||||
|
6 |
0 |
0 |
М |
|||||||||||||
|
|
||||||||||||||||
|
|
|
|
|
|
0 |
|||||||||||
6 |
0 |
0 |
0 |
М |
|
||||||||||||
|
|
|
|
|
|
||||||||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|

Иванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
148 |
|
|
=7,
Определяем величины |
ij |
: |
|
|
|
|
|
65 |
=0, максимальное значение |
||
|
|
|
36 |
=5, |
|
|
56 |
. |
|
|
45 |
=0, |
46 |
=0, |
56 |
=22, |
62 |
=13, |
63 |
Множество (2,1) разбиваем на два:
(5,6) и
(5,6)
. Для z
(5,6)
получаем l(z) 51+22=73, это множество можно
отсеять. Для z (5,6) удаляем пятую строку и шестой столбец и полагаем
с |
65 |
М . Полученную матрицу приводим, |
|||
|
|
|
|
|
|
l(z) 51+5=56. Определяем |
величины |
ij |
: |
||
|
|
|
|
|
5 |
; |
||
|
35 |
=8, |
|
|
|
|
для z (5,6) получаем
45 |
=7, |
62 |
=8, |
63 |
=7. |
Выбираем 35 =8 и разбиваем множество (5,6) на два: (3,5) и
(3,5) |
получаем l(z) 56+8=64, это множество пока отсеять |
(3,5) |
. Для z |
нельзя. Для
множества (3,5) реализуем запрет подцикла в связном пути (3,5,6), полагая
с63 М
. Удалив третью строку и пятый столбец, получаем:
При этом
|
|
2 |
3 |
|
|
|
|
2 |
3 |
|
|
4 |
М |
7 |
r |
1 |
7 |
4 |
М |
0 |
. |
|
|
|
|
|
|
|
|
|
||
|
6 |
0 |
М |
|
|
|
6 |
0 |
М |
|
7 |
, |
для |
z (3,5) |
получаем l(z) 56+7=63. Из последней |
матрицы 2 2 получаем два перехода с нулевой длиной: (6,2) и (4,3). Дерево ветвления с оценками имеет следующий вид (см. рис. 13.5).
Рис. 13.5
После получения нулевых переходов конструируем маршрут z0=(1,4,3,5,6,2,1), l(z0)=63 и вершина с оценкой 64 отбрасывается. Задача решена. Для её решения выполнено пять ветвлений и решено десять оценочных подзадач.

Иванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
149 |
|
|
В данном примере на всех шагах подвергалось ветвлению правое на дереве ветвления множество из двух, полученных на данном шаге, при этом получено оптимальное решение. Такое правило ветвления есть
одностороннее ветвление, оно получило название "идите вправо".
Одностороннее ветвление предполагает выбор для ветвления "правого" множества из полученных на данном шаге. При невозможности такого выбора поднимаемся по дереву на предыдущий "этаж", и снова реализуем одностороннее ветвление. Одностороннее ветвление не гарантирует получение оптимального решения при одном проходе, но гарантирует получение рекорда, как правило, близкого к оптимальному решению. Последнее утверждение не может быть строго доказано, оно следует из анализа результатов многочисленных вычислительных экспериментов.
13.6. Пример решения симметричной задачи.
решения симметричной задачи коммивояжера ( c |
ij |
|
|
|
|
матрицы: |
|
|
Приведём результат
c |
ji |
) для следующей |
|
|
|
1 |
2 |
3 |
4 |
5 |
6 |
|
|
|
|
|
|
|
|
|
|
|
1 |
M |
2 |
2 |
3 |
3 |
3 |
|
|
|
|
|
|
|
|
|
|
|
2 |
2 |
M |
1 |
1 |
1 |
3 |
|
|
|
|
|
|
|
|
|
|
|
3 |
2 |
1 |
M |
3 |
3 |
3 |
. |
|
|
|
|
|
|
|
|
||
4 |
3 |
1 |
3 |
M |
3 |
3 |
||
|
||||||||
|
|
|
|
|
|
|
|
|
5 |
3 |
1 |
3 |
3 |
M |
1 |
|
|
|
|
|
|
|
|
|
|
|
6 |
3 |
3 |
3 |
3 |
1 |
M |
|
|
|
|
|
|
|
|
|
|
Оптимальное решение z0=(1,3,2,4,6,5,1), l(z0) = 11. Дерево ветвления представлено на рис. 13.6.
Рис. 13.6

Иванова А.П. ТЕОРИЯ ГРАФОВ. Лекция 13 |
150 |
|
|
Из анализа дерева видно, что после получения вершины (6,5) с оценкой 10 необходимо вернуться к вершине (2,4) с оценкой 9; после получения вершины (1,4) с оценкой 10 возвращаемся к вершине (6,5) и, произведя ветвление, получаем вершину (1,3), а затем вершину (3,2) с оценкой 11 и снова возвращаемся к вершине (1,4). Получив вершины (5,2) и (5,2) с оценками 12, возвращаемся к вершине (3,2), и дойдя до вершин (4,6)
и(5,1) с длиной маршрута l(z0) = 11, завершаем процесс.
Вданном примере правило "идите вправо" также даёт оптимальное решение, но после получения множества с оценкой, равной 11, необходимо
вернуться к множеству (2,4) с оценкой 9 и выполнить ещё два ветвления. Вычислительный опыт показывает, что при решении симметричных
задач возникают большие трудности, которые связаны с тем, что дерево ветвления имеет большое число вершин. Для симметричных задач разработан другой алгоритм, который будет рассмотрен далее.
13.7. Замечание о приведении матрицы расстояний. Существуют два способа приведения матриц расстояний.
1)Сначала приведение по строкам, а затем по столбцам.
2)Сначала приведение по столбцам, а затем по строкам. Результат может быть различный: получаем как разные матрицы, так
иразличные суммы констант приведения. Если n=2, то результат не зависит от способа приведения. Если n>2, то для симметричных матриц результат также не зависит от порядка приведения.
Приведём пример матрицы, для которой результат зависит от способа приведения:
|
|
|
M |
P |
P |
... |
P |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
M |
P |
... |
P |
|
C |
|
0 |
P |
M |
... |
P |
|
|
|
|
|
|
|
|
|
|
|
|
|
. . . |
... |
. |
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
0 |
P |
P |
... |
M |
|
|
|
cij M , если i = j; |
|
||||
c |
ij |
0 |
, если j = 1, |
i = 2,3,…,n; |
||||
|
|
|
|
|
|
|
|
cij P во всех остальных случаях.
Приведём матрицу сначала |
по строкам, а затем по столбцам: |
|||
r1 Р , |
|
|
|
|
ri 0, |
i 2, n . |