![]() Главная страница Случайная страница КАТЕГОРИИ: АвтомобилиАстрономияБиологияГеографияДом и садДругие языкиДругоеИнформатикаИсторияКультураЛитератураЛогикаМатематикаМедицинаМеталлургияМеханикаОбразованиеОхрана трудаПедагогикаПолитикаПравоПсихологияРелигияРиторикаСоциологияСпортСтроительствоТехнологияТуризмФизикаФилософияФинансыХимияЧерчениеЭкологияЭкономикаЭлектроника |
Решение транспортной задачи методом Данцига-Вулфа
Применим метод декомпозиции к Т-задаче:
Использование этого метода целесообразно, если m < < n или m> > n. Оба варианта решаются идентично. Они отличаются только распределением условий между основной и вспомогательной задачами. Рассмотрим случай, когда m < < n. Тогда основная задача формируется по условиям пунктов отправления. Следовательно, множество D 0 описывается ограничениями (34), а D1 – условиями (35) и (36). Множество D1 представляет собой выпуклый многогранник (ограниченность вытекает из условий). Поэтому любую точку в D1 можно представить в виде линейной комбинации его вершин: где Xvij – координаты v -ой вершины. Подставим (37) в (33) и (34):
Тогда основная задача запишется в виде
Суммируя (43) и используя подстановки (41) и (35), получаем в левой части в правой части Для определения статуса текущего базисного решения основной задачи необходимы относительные оценки. Для построения вспомогательной задачи сделаем ряд преобразований: D v = pTP v - sv = Так как основная задача решается на минимум, то оптимальному статусу соответствуют неположительные оценки. Поэтому нужно искать максимальную оценку. Если она окажется не больше нуля, то все оценки неположительны и признак оптимальности выполнился. В противном случае необходимо продолжить решение основной задачи. Задача ставится так: Вместо поиска максимума на дискретном множестве вершин
Эта задача является вспомогательной. В оптимальном решении этой задачи Вспомогательная задача включает одну группу условий (47). Каждая переменная входит в такие условия только один раз. Поэтому равенства (47) оказываются независимыми и вспомогательная задача распадается на n простейших независимых задач, каждая из которых имеет всего одно условие:
Критерий вспомогательной задачи равен сумме критериев этих задач: Оптимальное решение задачи (49)-(51), как линейной, находится на границе. При этом только одна переменная не равна нулю (базис имеет размерность 1). Поэтому ее решение состоит в определении максимального коэффициета в критерии (49). Пусть максимум достигается на индексе i*, то есть Тогда имеем следующее решение задачи (49)-(51): Xvi*j = bj, Xvij =0, " i, i ¹ i*, (53) и максимальная оценка определится как Если L * всп £ 0, то положительных оценок нет и текущее решение основной задачи будет оптимальным. При L*всп > 0 начинается новая итерация: 1. пo (41) и (40) находим Р v и sv; 2. вычисляем элементы направляющего столбца как коэффициенты разложения вектора Р v по текущему базису: a v = P -1B P v; 3. проводим симплекс-преобразование основной задачи, в результате которого получаем новое решение и новую обратную матрицу; 4. вычисляем p T= s TB P -1B; 5. решаем вспомогательную задачу: вычисляем разности Из рассмотренной вычислительной схемы следует, что эффективность метода тем выше, чем сильнее неравенство m < < n или m> > n.
|