Транспортная задача с ограниченными пропускными способностями

Рассмотрим Тd - задачу:

Минимизировать

Транспортная задача с ограниченными пропускными способностями - student2.ru

при условиях

Транспортная задача с ограниченными пропускными способностями - student2.ru

Транспортная задача с ограниченными пропускными способностями - student2.ru

Введем следующие определения.

1. Элемент сij = 0 матрицы С называется Х- неполным нулем, если в плане Х Тd-задачи элемент хij < dij. Если же хij = dij, то элемент сij называется Х - полным нулем.

2. Х - существенным нулем матрицы С называется такой ее элемент сij = 0, для которого хij > 0, в противном случае этот элемент называется несущественным нулем.

Описание алгоритма венгерского метода. Алгоритм решения Тd-задачи, основанный на венгерском методе, состоит из предварительного этапа и ряда однотипных итераций [18; 59].

Предварительный этап. Его цель - приведение матрицы С и построение начального приближения к решению Х0.

В каждом столбце матрицы С разыскивают минимальный элемент и вычитают из всех элементов данного столбца. В результате получают матрицу С'. Далее, из всех элементов каждой строки С' вычитают минимальный элемент этой строки и получают в результате матрицу С0(С0@С), в каждой строке и столбце которой имеется хотя бы один нуль.

После этого формируют матрицу Х0=|| xij0 ||, процесс построения которой ведут по столбцам. Пусть уже заполнены первые (j-1) столбцы матрицы Х0. Перенумеруем нули j-го столбца матрицы С0 сверху вниз и через ikj (k=1,2,.,r) обозначим номер строки, содержащей k-й нуль j-го столбца. Тогда элементы j-го столбца определяются в соответствии с формулой

Транспортная задача с ограниченными пропускными способностями - student2.ru если Транспортная задача с ограниченными пропускными способностями - student2.ru k=1,2.. (3.3.21)

Если для матрицы Х0 суммарная невязка

Транспортная задача с ограниченными пропускными способностями - student2.ru

то Х0 - оптимальной план Тd-задачи.

Если же D0>0, то переходят к первой итерации.

Каждая итерация алгоритма в общем случае включает 3 этапа: начинается первым этапом, затем несколько раз могут повторяться первый и третий этапы, а заканчивается итерация вторым этапом либо установлением неразрешимости данной задачи.

(k+1)-я итерация. Предположим, что уже осуществлено k итераций алгоритма, в результате которых получены матрицы Хk и Сk.

Пусть Транспортная задача с ограниченными пропускными способностями - student2.ru и еще не установлена неразрешимость Тa-задачи.

Целью (k+1)-й итерации является построение матрицы Хk+1 и проверка ее на оптимальность или на установление неразрешимости Тd-задачи. Перед началом итерации знаком '+' выделяют те столбцы матрицы Сk, для которых невязка

Транспортная задача с ограниченными пропускными способностями - student2.ru .

Первый этап. Выбирают произвольный невыделенный Хk- неполный нуль матрицы Сk, если это элемент Сijk , то вычисляют невязку строки i, его содержащей:

Транспортная задача с ограниченными пропускными способностями - student2.ru .

Тогда возможен один из двух случаев:

Транспортная задача с ограниченными пропускными способностями - student2.ru

Во втором случае, отметив этот невыделенный нуль cijk =0 знаком штрих, сразу переходим ко второму этапу.

В первом случае знаком '+' выделяют i -ю строку матрицы Сk , а элемент сijk отмечают штрихом. Если на пересечении μ-го выделенного столбца i-й строки матрицы Сk расположен Хk-существенный нуль матрицы Сk , то знак выделения этого столбца уничтожают, а сам элемент ck =0 отмечают звездочкой. Далее просматривают столбец m, отыскивают в нем невыделенный неполный нуль (нули). Если такой нуль имеется, то отмечают его штрихом и анализируют строку, содержащую его. За конечное число шагов процесс выделения Хk-неполных нулей матрицы Сk заканчивается одним из трех исходов:

1) найден Хk-неполный нуль в строке і, где Транспортная задача с ограниченными пропускными способностями - student2.ru > 0, тогда переходим ко второму этапу, отметив этот нуль штрихом;

2) все Хk-неполные нули выделены, для каждого из них Транспортная задача с ограниченными пропускными способностями - student2.ru , а среди невыделенных элементов матрицы Сk имеются либо положительные, либо среди дважды выделенных элементов Сk (т.е. элементов, расположенных на пересечении выделенных строк и столбцов), отрицательные элементы. В этом случае переходим к третьему этапу;

3) все Хk-неполные нули выделены (для кажого из них dи(k) = 0), все невыделенные элементы Сk - отрицательны, а дважды выделенные -положительны. Это означает неразрешимость Тd - задачи.

Второй этап. Он состоит в построении цепочки из нулей матрицы Сk, отмеченных штрихами и звездочками. С помощью этой цепочки осуществляют переход от Хk к Хk+1. Итак, пусть первый этап завершился таким образом, что для некоторого невыделенного неполного нуля, расположенного, например, на пересечении строки l1 и столбца m1, невязка Транспортная задача с ограниченными пропускными способностями - student2.ru . Этот элемент принимают за начало цепочки из отмеченных нулей матрицы Сk. Цепочку строят так.

Движутся по столбцу m1 матрицы С0 и находят в нем нуль со звездочкой Транспортная задача с ограниченными пропускными способностями - student2.ru , далее движутся от него по строке l1 и находят Транспортная задача с ограниченными пропускными способностями - student2.ru и т.д. Процесс построения цепочки, складывающийся из последовательных переходов от нуля со штрихом к нулю со звездочкой по столбцу и от нуля со звездочкой к нулю со штрихом по строке, всегда начинается и заканчивается на нуле со штрихом.

Пусть в результате построения образована цепочка вида

Транспортная задача с ограниченными пропускными способностями - student2.ru . (3.3.22)

Элементы хij(k+1) матрицы Хk+1 вычисляют по рекуррентной формуле

если Транспортная задача с ограниченными пропускными способностями - student2.ru - не входят в цепочку; если Транспортная задача с ограниченными пропускными способностями - student2.ru - нечетный элемент цепочки; если Транспортная задача с ограниченными пропускными способностями - student2.ru - четный элемент цепочки.

Транспортная задача с ограниченными пропускными способностями - student2.ru (3.3.23)

Параметр Транспортная задача с ограниченными пропускными способностями - student2.ru определяют из соотношения

Транспортная задача с ограниченными пропускными способностями - student2.ru , (3.3.24)

где Транспортная задача с ограниченными пропускными способностями - student2.ru - минимальный четный по порядку следования элемент цепочки; Транспортная задача с ограниченными пропускными способностями - student2.ru - минимальный резерв до насыщения для нечетных (по порядку следования) элементов цепочки;

Транспортная задача с ограниченными пропускными способностями - student2.ru - невязкая строки, откуда начинается цепочка,

Транспортная задача с ограниченными пропускными способностями - student2.ru - невязкая столбца, где цепочка заканчивается.

Если суммарная невязка

Транспортная задача с ограниченными пропускными способностями - student2.ru

то матрица Хk+1 является решением Тd-задачі, в противном случае переходят к следующей итерации.

Третий этап. На этом этапе производят преобразование матрицы Сk в эквивалентную матрицу Сk'.

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

Транспортная задача с ограниченными пропускными способностями - student2.ru ,

где h' - минимальный среди невыделенных положительных элементов матрицы Сk ; h'' - минимальный среди дважды выделенных отрицательных элементов матрицы Сk , взятых с обратным знаком. Вычитаем h из элементов матрицы Сk , расположенных в невыделенных строках, и прибавляем h к элементам Сk , расположенным в выделенных столбцах. Получим матрицу Сk' . Если дважды выделенный отрицательный элемент Сk становится нулем в Сk' , то знак выделения над столбцом уничтожают, а сам элемент отмечают звездочкой. Остальные знаки выделения, а также все отметки нулей переносят из матрицы Сk в матрицу Сk'.

Далее, снова переходят к первому этапу, заменив Сk на Сk'. Если первый этап снова завершится вторым исходом, то опять возвращаются к третьему этапу. Циклы, состоящие из первого и третьего этапов, проводят до тех пор, пока последний из них не закончится первым или третьим исходом. При первом исходе переходят ко второму этапу, а при третьем - делают вывод о неразрешимости Тd-задачи из-за несовместимости ее условий.

Пример 3.6. Решить венгерским методом Тd-задачу со следующими условиями

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru

Транспортная задача с ограниченными пропускными способностями - student2.ru - матрица пропускных способностей коммуникаций.

Предварительный этап. Составляем матрицу С:

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru .

Затем строим матрицу Х0 с учетом матрицы D:

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru

Транспортная задача с ограниченными пропускными способностями - student2.ru .

Будем отмечать одной точкой сверху неполные нули матрицы Сk , а двумя точками Хk -полные нули этих матриц. Строки матрицы Сk , которым отвечают ненулевые невязки, будем отмечать знаком '´'.

Первая итерация Третий этап

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru

Первый этап Второй этап

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru

Транспортная задача с ограниченными пропускными способностями - student2.ru

Первая итерация. Первый этап. Знаком '+' выделяем четвертый столбец. Так как матрица С0 не содержит ни одного Х0 - неполного нуля, то сразу переходим к третьему состоянию, отыскиваем неполный невыделенный нуль, c23 и, отметив его штрихом, переходим ко второму этапу. Цепочка, построенная на втором этапе, состоит из одного элемента x320 . Поэтому

Транспортная задача с ограниченными пропускными способностями - student2.ru

Вторая итерация

+

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru

Транспортная задача с ограниченными пропускными способностями - student2.ru

Третья итерация

Первый этап Третий этап

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru

Второй этап

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru

D3 = 2

Третья итерация состоит из первого и третьего этапов при h = 1, а также из первого и второго этапов, причем цепочка второго этапов, причем цепочка второго этапа содержит лишь один элемент x312.

Четвертая итерация

Первый и третий этапы

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru

Третий этап Первый этап

Транспортная задача с ограниченными пропускными способностями - student2.ru Транспортная задача с ограниченными пропускными способностями - student2.ru

Второй этап Транспортная задача с ограниченными пропускными способностями - student2.ru

Поскольку суммарная невязка D4=0, то Х4-оптимальный план. Соответствующее значение целевой функции Lmin=3.I + 1.4 + 2.2 + 1.4 + 2.1 + 1.3 + 1.2 + 1.1 = 23.

Наши рекомендации