
- •Методы оптимизации в задачах большой размерности
- •Декомпозиция систем
- •Метод декомпозиции Данцига-Вульфа
- •Принцип декомпозиции
- •Описание алгоритма декомпозиции
- •Ограниченная координирующая задача
- •Варианты декомпозиции прямой задачи
- •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).
Таким образом, методы Бендерса и Данцига-Вульфа являются двойственными друг к другу. Однако метод Бендерса применим к более широкому классу задач математического программирования, например к задачам частично-целочисленного и нелинейного программирования.