Студопедия

Главная страница Случайная страница

Разделы сайта

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






Метод декомпозиции Данцига - Вулфа






Рассмотрим математические преобразования, приводящие к разбиению исходной задачи, а затем покажем, в каких случаях это дает эффект по сравнению с непосредственным решением большой задачи. Пусть имеется следующая модель задачи:

L=CTXà max; (1) AX=B; (2) X³ 0, (3) где вектор X имеет размерность n, а вектор Bm. Условия (2), (3) определяют допустимое множество задачи D. Представим матрицу А и вектор В в виде двух подматриц: Тогда условия задачи (2)-(3) записываются следующим образом:

А (0) Х = В (0); (4) А (1) Х = В (1); (5) Х ³ 0(6)

Условия (4), включающие m0 равенств, порождают допустимое множество D0, а система (5) содержит m1 равенств и вместе с (6) задает множество D1. Очевидно, что m=m0+m1, D = D0 Ç D1. При этом выделение подматриц выполняется так, что m1 > > m0.

Далее будем полагать, что множество D1 ограниченное и, значит, является выпуклым многогранником. В противном случае его легко сделать ограниченным добавлением ограничений сверху на переменные так, что они не повлияют на исходное множество D.

Предположим, что нам известны вершины множества D1. Обозначим их координаты через Х 1, Х 2, …, Х N, где N – число вершин. Поскольку D1 – выпуклый многогранник, то любую его точку можно представить в виде линейной комбинации вершин:

Х = z n X n; (7) S z n=1; (8) z n³ 0, " v. (9)

Так как все решения Х, определяемые по (7)-(9), принадлежат D1, то описание (7)-(9) эквивалентно (5), (6). Подставим Х в виде (7) в (1) и (4): L = C T z n X n;

S A (0) X n z n= B (0). Считая X n известными, введем обозначения: С Т Х n= sn; (10)

А (0) Х n= Р n.(11) Тогда преобразованная модель задачи запишется в виде

L = s n z nà max; P n z n= B (0); z n=1; " z n³ 0.

В этой модели неизвестными являются z n, число которых равно числу вершин многогранника D1. Последнее равенство модели можно объединить со всеми остальными, используя обозначения расширенных векторов .(12)

Тогда окончательно получим: L = sn z nà max; (13) z n = ; (14)" z n³ 0. (15)

Задача в виде (13) – (15) называется координирующей или основной задачей. Главное отличие этой задачи от исходной в несравнимо меньшем числе условий (m0 +1< < m). Если мы сможем ее решить, то есть найти Z *, то получим решение и исходной задачи, воспользовавшись (7): Х *= z n* X n.(16)

Для решения основной задачи применим модифицированный симплекс-метод. Начальное решение можно построить, не зная ни одной вершины, с помощью искусственных переменных zN+i. Согласно модифицированному методу после получения очередного базисного решения вычисляются относительные оценки.

Перепишем их в обозначениях координирующей задачи: (17)

или окончательно

(18)

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

Задача состоит в следующем: Dnà min.

Отбросив в (18) константу, запишем ее в виде (pTA(0)-CT)Xn® (19)

Решение задачи (19) проблематично, так как минимум ищется на дискретном множестве вершин многогранника D1. Учитывая, что минимизируемая функция линейная, будем искать решение не на вершинах, а на всем многограннике. Известно, что если решение существует, то оно будет достигаться в вершине. Поэтому решение на всем (непрерывном) множестве D1 совпадет с решением задачи (19). Задачу (19) заменяем эквивалентной: Lвсп =(pTA(0)-CT)X® (20) A(1)X = B(1); (21) X ³ 0. (22)

Эта задача называется вспомогательной. Если она неразрешима, то и исходная задача не имеет решения. Пусть оптимальное решение вспомогательной задачи (20)-(22) достигается в вершине r. Это означает, что нам становятся известны координаты вершины Xr и оптимальное значение критерия . То согласно формуле (18) вычисляем минимальную оценку (23)

Если D r ³ 0, то и все оценки неотрицательны, и решение координирующей задачи завершено. При отрицательной D r решение продолжается. В базис основной задачи вводится вектор , определяемый по формуле (30) Направляющий столбец находится разложением этого вектора по текущему базису: . (31)

После определения направляющего элемента и симплекс-преобразования получаем новое решение основной задачи. Коэффициент критерия (13) при переменной, введенной в базисное решение, вычисляется согласно (10): sr = C T X r. (32)






© 2023 :: MyLektsii.ru :: Мои Лекции
Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав.
Копирование текстов разрешено только с указанием индексируемой ссылки на источник.