Лекции.Орг


Поиск:




Категории:

Астрономия
Биология
География
Другие языки
Интернет
Информатика
История
Культура
Литература
Логика
Математика
Медицина
Механика
Охрана труда
Педагогика
Политика
Право
Психология
Религия
Риторика
Социология
Спорт
Строительство
Технология
Транспорт
Физика
Философия
Финансы
Химия
Экология
Экономика
Электроника

 

 

 

 


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




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

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

при условиях

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

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

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

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

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

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

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

если k=1,2.. (3.3.21)

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

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

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

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

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

Пусть и еще не установлена неразрешимость Тa-задачи.

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

.

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

.

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

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

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

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

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

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

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

Движутся по столбцу m 1 матрицы С 0 и находят в нем нуль со звездочкой , далее движутся от него по строке l 1 и находят и т.д. Процесс построения цепочки, складывающийся из последовательных переходов от нуля со штрихом к нулю со звездочкой по столбцу и от нуля со звездочкой к нулю со штрихом по строке, всегда начинается и заканчивается на нуле со штрихом.

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

. (3.3.22)

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

если - не входят в цепочку; если - нечетный элемент цепочки; если - четный элемент цепочки.

 

(3.3.23)

Параметр определяют из соотношения

, (3.3.24)

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

- невязкая строки, откуда начинается цепочка,

- невязкая столбца, где цепочка заканчивается.

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

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

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

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

,

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

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

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

- матрица пропускных способностей коммуникаций.

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

.

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

.

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

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

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

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

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

+

 

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

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

Второй этап

D3 = 2

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

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

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

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

Второй этап

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





Поделиться с друзьями:


Дата добавления: 2016-12-31; Мы поможем в написании ваших работ!; просмотров: 630 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Сложнее всего начать действовать, все остальное зависит только от упорства. © Амелия Эрхарт
==> читать все изречения...

2221 - | 2091 -


© 2015-2025 lektsii.org - Контакты - Последнее добавление

Ген: 0.013 с.