
- •Транспортная задача (тз)
- •Xij 0 (3)
- •Циклы в матрицах и их свойства
- •Теорема о существовании цикла
- •Доказательство теоремы о существовании цикла
- •Распределительный метод решения тз
- •Теорема о сдвиге по циклу.
- •Определение.
- •Переходим к изложению распределительного метода Алгоритм работы по распределительному методу
- •Решение транспортной задачи методом потенциалов
- •Теорема
- •Решение несбалансированных задач тзлп
Теорема о существовании цикла
Если nm
n+m,
то в любых выделенных n+m
ячейках матрицы, имеющей n-строк
и m-столбцов,
можно построить единственный цикл.
Замечание: это не значит, что все выделенные ячейки являются вершинами цикла.
Доказательство теоремы о существовании цикла
Пусть матрица
такова, что nm
n+m.
Выберем в матрицы n+m ячеек и докажем, что существует цикл, все вершины которого лежат в выделенных ячейках. Доказательство проведем методом индукции по числу l=n+m.
База индукции.
Минимальное значение
l,
при котором выполняется условие nm
n+m
равно 4 (при этом n=2
и
m=2).
Положим, что l=4.
В этом случае n=2 и m=2 и существование нужного цикла очевидно. Следовательно база индукции доказана.
Шаг индукции.
Пусть мы доказали, что для l=n+m-1 теорема имеет место. Докажем, что она имеет место и для l=n+m. Возьмем матрицу и выделим в ней n+m ячеек. Сначала предположим, что одна из выделенных ячеек не имеет в своей строке или в своем столбце ни одной другой выделенной ячейки. Тогда вычеркнем из матрицы ту строку или столбец такой ячейки, в которой (или котором) нет больше выделенных ячеек. В полученной матрице останется n+m-1 выделенных ячеек и такое же число строк и столбцов. Значит, по индуктивному предположению в выделенных ячейках существует цикл. Но этот цикл будет циклом и в исходной матрице. Итак, в этом случае теорема доказана.
Предположим, что теперь, что для каждой выделенной ячейки есть другая выделенная ячейка и в ее строке, и в ее столбце.
Возьмем одну из выделенных ячеек. По условию у нее в строке и в столбце есть выделенная «соседка».
Перейдем от исходной выделенной ячейке к соседней ей выделенной ячейке, например, по строке. У этой ячейки есть соседняя выделенная ячейка по столбцу. Перейдем к ней, а от нее перейдем к выделенной по строке и так далее.
Поскольку ячеек конечное число, то рано или поздно мы придем к такой выделенной ячейке, в которой уже были. Тем самым мы получим требуемый цикл.
Распределительный метод решения тз
Роль цикла состоит в том, что на основании сформулированных теорем о ранге и существовании цикла мы имеем возможность перейти от одного решения системы ограничений к другому, что необходимо для реализации СМ.
Начнем с введения процедуры означивания цикла.
Пусть в матрице имеется некоторый цикл. Присвоим каждой вершине знак + или – следующим образом.
Одной из вершин цикла (назовем ее исходной) присвоим знак +. Выберем направление движения по циклу. Вершине, следующей за исходной, присвоим знак - . Далее, двигаясь по циклу каждый раз при переходе от одной вершине к соседней вершине, меняем знак на противоположный. В силу четности числа вершин цикла, при возвращении в исходную вершину мы снова получим знак +. Это означает, что данная процедура непротиворечива. Завершив ее, получим означенный цикл.
Сдвигом по циклу на величину а назовем процедуру, состоящую в прибавлении к существующему решению величины а в положительных вершинах означенного цикла и вычитанию из существующего решения этой же величины а в отрицательных вершинах. В прочих вершинах решение не меняется.