![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
|
![]() |
![]() |
||||||
![]() |
Eng | Rus | Ukr | ![]() |
![]() |
||||
![]() |
|||||||
![]() |
![]() |
||||||
![]() |
![]() |
![]() |
|||||
![]() |
Исследование операций
|
20.01.2005
|
![]() |
![]() |
|||
10.2 ДЕКОМПОЗИЦИЯ НА ОСНОВЕ РАЗДЕЛЕНИЯ переМЕННЫХРассмотрим задачу ЛП, когда часть ограничений имеет блочно-диагональную структуру, а кроме связывающих ограничений имеются также и зсвязывающие переменные Y={yi}, т.е.: максимизировать
при условиях
где Для решения задачи (10.2.1)-(10.2.4) можно применить метод декомпозиции Данцига-Вульфа, рассмотренный ранее. Однако в этом случае получаем довольно сложный трехуровневый алгоритм (31). Поэтому возникает идея проводить итерации при фиксированных значениях связывающих переменных Y и затем, используя оптимальное решение Х, корректировать Y. Указанная процедура порождает целый класс методов декомпозиции, которые основаны на разделении переменных. При этом часто способ расчленения подсказывает сама специфика задачи, а в других случаях этот прием проводится искусственно. Для решения задачи (10.2.1)-(10.2.4) используется общий метод релаксации ограничений (предложенный Джоффрионом), который состоит в следующем (31). Пусть рассматривается задача математического программирования: максимизировать f(x) (10.2.5) при условиях где f(x), gk(x) - вогнутые функции от переменных Мх - выпуклое подмножество. Идея релаксации состоит в следующем. Сначала решается релаксированная задача с небольшим числом ограничений. Если эта задача не имеет решения, то неразрешима также и исходная задача. В противном случае, если полученное решение удовлетворяет всем оставшимся ограничениям, то это оптимальное решение исходной задачи. Если же какие-либо условия не выполняются, то вводится одно или несколько оставшихся ограничений и вся процедура повторяется. Метод релаксации является особенно эффективным, если заранее известно, что в оптимальной точке существенно лишь небольшое количество ограничений. Дадим детальное описание процедуры релаксации. Пусть М={1,2,...,m}, а К - некоторое подмножество индексов из М. Вводится так называемая К-задача: максимизировать f(x) (10.2.6) при условиях
Предположим, что при начальном выборе k задача (10.2.6) имеет конечный максимум, который достигается на оптимальном решении. Процедура релаксации является итерационной и состоит из следующих шагов (этапов). 1) Сначала полагаем 2) Решаем К-задачу (10.2.6)-(10.2.7). Если она не разрешима, то, очевидно, и исходная задача не имеет решения. В противном случае имеем оптимальное решение ХК задачи (10.2.6)-(10.2.7). 3) Решение ХК проверяем на допустимость к оставшимся ограничениям. Если Пусть S - подмножество индексов М\К, в которых имеется, по крайней мере, один индекс k такой, что для него не выполняется соответствующее ограничение для ХК. Введем подмножество индексов P из k, для которых ограничения (10.2.7) на решении ХК выполняются как строгие неравенства: Если выполняется условие Если выполняется условие Оказывается, что такая процедура релаксации после решения конечного числа задач либо приводит к оптимальному решению исходной задачи (10.2.5), либо устанавливает ее неразрешимость (52). Вернемся теперь к блочной задаче со связывающими переменными (10.2.1)-(10.2.4) и укажем применение для нее метода релаксации. Предположим, что при каждом
где вектор Хj разбивается на векторы Хj1 и Хj2. В соответствии с разбиением матрицы Аj можно выбирать матрицы оптимального базиса после решения соответствующих локальных задач: максимизировать cjxj при условиях где у - заданный вектор такой, что существуют допустимые решения этих задач для всех Выражая, согласно (10.2.8), переменные xj1 через остальные, получим
Целевая функция (10.2.1) и условия (10.2.2) после разбиения хj на хj1 и хj2 запишутся в виде
при условиях
Подставляя хj1 из (10.2.9) в (10.2.10) и (10.2.11), получим сокращенную задачу: максимизировать
при условиях
где Задача (10.2.12), (10.2.13) имеет m ограничений и Итак, пусть найдено оптимальное решение Пусть при некотором
Рассмотрим два случая. В первом случае существует, по крайней мере, один ненулевой элемент подматрицы Во втором случае подматрица
где Ограничения (10.2.15) добавляются к сокращенной задаче (10.2.12), (10.2.13). Таким образом, мы приходим к последовательности сокращенных задач вида (10.2.13) с измененными матрицами Аj1 и дополнительным ограничением (10.2.15), которая решается до тех пор, пока либо не приходим к оптимальному решению исходной задачи, либо не установим ее неразрешимость. Метод разделения переменных БендерсаВ методе Бендерса рассматривается следующая задача (20;31): минимизировать при условиях
где с и х - n-мерные вектор-столбцы ; y - p-мерный вектор; A(m x n) - матрица размерности m x n ; b - m-мерный вектор g - m -мерная функция, а My - некоторое множество в пространстве RP. При каждом фиксированном y задача (10.2.16) -(10.2.18) является задачей ЛП, и потому целесообразно разделить переменные x на y. Пусть
Исходная задача (10.2.16)-(10.2.18) преобразуется тогда к виду: минимизировать {f(y)+min cTx} (10.2.21) при условиях
Целевая функция в (10.2.21) задается алгоритмически. Для ее нахождения при фиксированном у необходимо решить задачу ЛП: минимизировать cTx (10.2.23) при условиях
Рассмотрим двойственную к ней задачу: максимизировать
при условиях
Согласно теореме 2.2 теории двойственности для оптимальных решений значения целевых функций пары сопряженных задач (10.2.3) и (10.2.5) равны. Поэтому задача (10.2.21) преобразуется к виду: минимизировать
при условиях
Рассмотрим множество, (10.2.28). Как видим, оно не зависит от y и потому целесообразно рассматривать задачу (10.2.27), (10.2.28) вместо задачи (10.2.21). Допустим, что множество минимизировать
Последняя задача эквивалентна следующей: минимизировать z (10.2.30) при условиях
Однако процесс решения задачи (10.2.30)-(10.2.32) затруднен в виду огромного числа ее ограничений. Поэтому далее применяем процедуру релаксации. Допустим, что Му - замкнутое и ограниченное множество, а функции f(y) и g(y) - выпуклы. Задача (10.2.30) сначала рассматривается на небольшом числе ограничений: минимизировать z (10.2.33) при условиях
где Пусть (z0,y0)- текущее оптимальное решение задачи (10.2.33). Согласно общей процедуре релаксации оптимальное решение (z0,y0) должно быть исследовано на допустимость к отброшенным ограничениям (10.2.31) и (10.2.32). Чтобы избавится от большого перебора, вводится вспомогательная задача ЛП вида: максимизировать
при условиях
Пусть
Ясно, что оно будет выполняться, если
Заметим, что второе ограничение (10.2.37) в предположении ограниченности
то это соотношение (10.2.40) вводится в качестве нового ограничения в задачу (10.2.30). Дальнейшие шаги выполняются в соответствии с общей схемой релаксации. Установим связь между методами разложения Бендерса и декомпозиции Данцига-Вульфа. Для этого рассмотрим следующую задачу ЛП (вместо (10.2.1)): минимизировать {cTx+dTy} (10.2.41) при условиях
и двойственную к ней: максимизировать
при условиях
Если минимизировать z (10.2.48) при условиях
где
при условиях Будем решать задачу (10.2.44)-(10.2.47) методом Данцига-Вульфа. Любая точка многогранника
Подстановка этого выражения в целевую функцию (10.2.44) и ограничение (10.2.45) приводят к следующей координирующей задаче: максимизировать
при условиях
Двойственная к координирующей задаче имеет вид: минимизировать dTy+W (10.2.55) при условиях
Сделав замену z = dTy + W, приходим к задаче: минимизировать z (10.2.57) при условиях
Как видим, задачу (10.2.57), (10.2.58) в точности совпадает с задачей Бендерса (10.2.48), (10.2.49). В методе Данцига-Вульфа рассматривается локальная подзадача: максимизировать
при условиях
где {y0} - оптимальные двойственные переменные, соответствующие сокращенной координирующей задачи (10.2.57) и замене переменных. Критерий оптимальности в методе Данцига-Вульфа записывается в виде: при условиях что совпадает с критерием оптимальности в методе Бендерса (10.2.39). Таким образом, методы Бендерса и Данцига-Вульфа являются двойственными друг к другу. Однако метод Бендерса применим к более широкому классу задач математического программирования, например к задачам частично-целочисленного и нелинейного программирования. |
![]() |
||||||
![]() |
|||||||
Copyright © 2002-2004 | ![]() |
||||||
![]() |
![]() |