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