- •Методы оптимизации в задачах большой размерности
- •Декомпозиция систем
- •Метод декомпозиции Данцига-Вульфа
- •Принцип декомпозиции
- •Описание алгоритма декомпозиции
- •Ограниченная координирующая задача
- •Варианты декомпозиции прямой задачи
- •10.2 Декомпозиция на основе разделения переменных
- •Метод разделения переменных Бендерса
- •10.3 Декомпозиция Корнаи-Липтака
- •10.4 Метод декомпозиции на основе агрегирования в задачах большой размерности.
- •Постановка и математическая модель задачи
- •Задача в агрегированных переменных
- •Локальная монотонность и сходимость метода.
- •Описание алгоритма агрегирования
- •Декомпозиция на основе агрегировання для общей модели отраслевого планирования.
- •10.5. Метод декомпозиции на основе агрегирования в задачах нелинейного программирования Задача квадратичного программирования
- •Задача выпуклого программирования
- •Описание алгоритма декомпозиции на основе агрегування для задач квадратичного программирования
Принцип декомпозиции
Рассмотрим задачу ЛП, матрица ограничений которой имеет блочно-диагональную структуру вида
. (5)
Строка
называется
связывающей, так как она связывает
вместе все переменные задачи в некотором
ограничении или их группе. Соответствующая
задача Л.П. записывается в виде:
Максимизировать:
(6)
при условиях:
(7)
(8)
Заметим, что к виду (5) можно привести матрицу любой задачи ЛП при p=1 в результате соответствующего разбиения ограничений на два подмножества. Действительно, произвольную задачу можно записать в виде:
Максимизировать:
(9)
при условиях:
(m1 ограничений),
(10)
(m2ограничений),
(11)
(12)
Предположим, что выпуклое многогранное множество S2, определяемое условием (11), является ограниченным, т.е. представляет собой многогранник (это условие не является ограничительным). Тогда справедлива лемма о крайней точке.
Пусть
- непустое замкнутое ограниченное
множество,
-
его крайние точки. Тогда любая точка
может
быть представлена в виде выпуклой
комбинации крайних точек множества R,
т.е.
(1.3)
Обобщение этой леммы на случай, если
множество является неограниченным,
формулируется так: пусть
- непусто. Любая точка принадлежит
множеству R тогда и только тогда, когда
она может быть представлена как выпуклая
комбинация крайних точек и линейной
комбинации с неотрицательными
коэффициентами направляющих векторов
неограниченных ребер множества, т.е.
(14)
где:
![]()
В соответствии с леммой любой
элементS2 может быть представлен
в виде
![]()
где
,
xj - крайние точки многогранникаS2.
Исходная задача (9)-(12) может быть сформулирована таким образом. Из всех решений (11)-(12) необходимо выбрать такое, которое удовлетворяет (10) и обращает функцию (9) в максимум. Подставляя (14) в (9), получим новое выражение для целевой функции:
(15)
а подставив (14) в (10), получим:
.
(16)
Обозначим
(17)
С учетом (15)-(17) приходим к следующей задаче:
Максимизировать
(18)
при ограничениях:
(19)
(20)
Эта задача, которая эквивалентна исходной
(9)-(12), называется координирующейзадачей. Она имеет только
строк ограничений по сравнению
с (
) строками
исходной задачи, и очень большое число
столбцов, равное числу крайних точек
множестваS2. Чтобы не хранить
все эти столбцы в памяти ЭВМ, будем
получать их по мере необходимости,
пользуясь методом генерации столбцов.
С этой целью для каждого небазисного
вектора вычислим величину
:
(22)
Представим вектор
в виде
где
вектор
соответствует
ограничениям (19) а
-
единственному ограничению (20).
Используя формулы (16), (17) для определения
и
,
получим
(23)
В соответствии с обычными правилами
симплекс-метода для определения
переменной
,
вводимой в базис, необходимо минимизировать:
.
(24)
Так как оптимальное решение задачи ЛП
(при условии, что допустимое множество
- ограничено) достигается в крайней
точке этого множества, то выполнение
операции (24) эквивалентно решению
подзадачи вида:
Минимизировать:
(25)
при ограничениях:
.
(26)
Найдя ее решение
проверяем
условие
и,
если оно выполняется, то вектор
выгодно
ввести в базис. Далее определяем
компоненты вектора
который
следует ввести в базис координирующей
задачи
(27)
а также соответствующий коэффициент в целевой функции
(28)
Этот подход оказывается особенно
эффективным, если
т.е.
исходная задача записывается в виде
Максимизировать
(29)
при ограничениях
(30)
(31)
(32)
Для такой задачи подзадача (25)-(26) будет иметь вид:
Минимизировать
(33)
при ограничениях
(34)
(35)
В силу аддитивности целевой функции (33) и независимости ограничений (34) задача (33) распадается на независимые задачи вида
(36)
при ограничениях
(37)
Обозначим решение задачи (36) через
,
а![]()
Если
то вектор
может
быть введен в базис координирующей
задачи.
Если же
то текущее решение оптимально.
