- •Методы оптимизации в задачах большой размерности
- •Декомпозиция систем
- •Метод декомпозиции Данцига-Вульфа
- •Принцип декомпозиции
- •Описание алгоритма декомпозиции
- •Ограниченная координирующая задача
- •Варианты декомпозиции прямой задачи
- •10.2 Декомпозиция на основе разделения переменных
- •Метод разделения переменных Бендерса
- •10.3 Декомпозиция Корнаи-Липтака
- •10.4 Метод декомпозиции на основе агрегирования в задачах большой размерности.
- •Постановка и математическая модель задачи
- •Задача в агрегированных переменных
- •Локальная монотонность и сходимость метода.
- •Описание алгоритма агрегирования
- •Декомпозиция на основе агрегировання для общей модели отраслевого планирования.
- •10.5. Метод декомпозиции на основе агрегирования в задачах нелинейного программирования Задача квадратичного программирования
- •Задача выпуклого программирования
- •Описание алгоритма декомпозиции на основе агрегування для задач квадратичного программирования
Метод разделения переменных Бендерса
В методе Бендерса рассматривается следующая задача (20;31):
минимизировать (10.2.16)
при условиях
(10.2.17)
(10.2.18)
где с и х - 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.17) имеется допустимое решение задачи ЛП. Множество Ру может быть задано явно. Рассмотрим многогранный конус . Этот конус задается конечным числом образующих векторов (базисных) ,так что любой элемент (вектор), принадлежащий конусу К, может быть представлен в виде
(10.2.19)
(10.2.20)
Исходная задача (10.2.16)-(10.2.18) преобразуется тогда к виду:
минимизировать
{f(y)+min cTx} (10.2.21)
при условиях
(10.2.21)
Целевая функция в (10.2.21) задается алгоритмически. Для ее нахождения при фиксированном у необходимо решить задачу ЛП:
минимизировать
cTx (10.2.23)
при условиях
(10.2.24)
Рассмотрим двойственную к ней задачу:
максимизировать
(10.2.25)
при условиях
(10.2.26)
Согласно теореме 2.2 теории двойственности для оптимальных решений значения целевых функций пары сопряженных задач (10.2.3) и (10.2.5) равны. Поэтому задача (10.2.21) преобразуется к виду:
минимизировать
(10.2.27)
при условиях
(10.2.28)
Рассмотрим множество, (10.2.28). Как видим, оно не зависит от y и потому целесообразно рассматривать задачу (10.2.27), (10.2.28) вместо задачи (10.2.21). Допустим, что множество , определяемое условиями (10.2.28), ограничено, и пусть - его крайние точки (вершины многогранника). Тогда задача (10.2.27) перепишется в виде :
минимизировать
(10.2.29)
Последняя задача эквивалентна следующей:
минимизировать
z (10.2.30)
при условиях
(10.2.31)
(10.2.32)
Однако процесс решения задачи (10.2.30)-(10.2.32) затруднен в виду огромного числа ее ограничений. Поэтому далее применяем процедуру релаксации.
Допустим, что Му - замкнутое и ограниченное множество, а функции f(y) и g(y) - выпуклы. Задача (10.2.30) сначала рассматривается на небольшом числе ограничений:
минимизировать
z (10.2.33)
при условиях
; (10.2.34)
; (10.2.35)
где , - подмножества индексов.
Пусть (z0,y0)- текущее оптимальное решение задачи (10.2.33). Согласно общей процедуре релаксации оптимальное решение (z0,y0) должно быть исследовано на допустимость к отброшенным ограничениям (10.2.31) и (10.2.32). Чтобы избавится от большого перебора, вводится вспомогательная задача ЛП вида:
максимизировать
(10.2.36)
при условиях
(10.2.37)
Пусть - оптимальное решение (10.2.36), которое достигается на некоторой крайней точке . Тогда необходимо проверить условие
(10.2.38)
Ясно, что оно будет выполняться, если
(10.2.39)
Заметим, что второе ограничение (10.2.37) в предположении ограниченности выполняется автоматически. Таким образом, приходим к критерию оптимальности решения (z0,y0), который сводится к проверке выполнения нестрогого равенства в (10.2.39). В противном случае, когда имеет место обратное строгое неравенство
, (10.2.40)
то это соотношение (10.2.40) вводится в качестве нового ограничения в задачу (10.2.30). Дальнейшие шаги выполняются в соответствии с общей схемой релаксации.
Установим связь между методами разложения Бендерса и декомпозиции Данцига-Вульфа. Для этого рассмотрим следующую задачу ЛП (вместо (10.2.1)):
минимизировать
{cTx+dTy} (10.2.41)
при условиях
; (10.2.42)
(10.2.43)
и двойственную к ней:
максимизировать
(10.2.44)
при условиях
(10.2.45)
(10.2.46)
(10.2.47)
Если - многогранник, то задача (10.2.30)-(10.2.32) для задачи (10.2.41) будет иметь вид:
минимизировать
z (10.2.48)
при условиях
, (10.2.49)
где - крайние точки многогранника . В методе Бендерса выбирается некоторое подмножество индексов и критерием оптимальности (z0,y0) является выполнение равенства
(10.2.50)
при условиях
Будем решать задачу (10.2.44)-(10.2.47) методом Данцига-Вульфа. Любая точка многогранника , задаваемого условиями (10.2.46), (10.2.47), представима в виде выпуклой комбинации крайних точек:
. (10.2.51)
Подстановка этого выражения в целевую функцию (10.2.44) и ограничение (10.2.45) приводят к следующей координирующей задаче:
максимизировать
(10.2.52)
при условиях
(10.2.53)
. (10.2.54)
Двойственная к координирующей задаче имеет вид:
минимизировать
dTy+W (10.2.55)
при условиях
(10.2.56)
Сделав замену z = dTy + W, приходим к задаче:
минимизировать
z (10.2.57)
при условиях
(10.2.58)
Как видим, задачу (10.2.57), (10.2.58) в точности совпадает с задачей Бендерса (10.2.48), (10.2.49).
В методе Данцига-Вульфа рассматривается локальная подзадача:
максимизировать
(10.2.59)
при условиях
где {y0} - оптимальные двойственные переменные, соответствующие сокращенной координирующей задачи (10.2.57) и замене переменных.
Критерий оптимальности в методе Данцига-Вульфа записывается в виде:
при условиях
что совпадает с критерием оптимальности в методе Бендерса (10.2.39).
Таким образом, методы Бендерса и Данцига-Вульфа являются двойственными друг к другу. Однако метод Бендерса применим к более широкому классу задач математического программирования, например к задачам частично-целочисленного и нелинейного программирования.