Скачиваний:
118
Добавлен:
02.05.2014
Размер:
1.48 Mб
Скачать

10.2 Декомпозиция на основе разделения переменных

Рассмотрим задачу ЛП, когда часть ограничений имеет блочно-диагональную структуру, а кроме связывающих ограничений имеются также и связывающие переменные Y={yi}, т.е.:

максимизировать

(10.2.1)

при условиях

(10.2.2)

(10.2.3)

(10.2.4)

где  - n0 - мерный вектор; D0 имеет размерность m×n0, а Dj - размерность mj×n0 ; j = 1, 2, ., J соответственно.

Для решения задачи (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)

при условиях

(10.2.7)

Предположим, что при начальном выборе k задача (10.2.6) имеет конечный максимум, который достигается на оптимальном решении. Процедура релаксации является итерационной и состоит из следующих шагов (этапов).

1) Сначала полагаем  и выбираем множество k так, чтобы f(x) была ограничена при условиях (10.2.7).

2) Решаем К-задачу (10.2.6)-(10.2.7). Если она не разрешима, то, очевидно, и исходная задача не имеет решения. В противном случае имеем оптимальное решение ХК задачи (10.2.6)-(10.2.7).

3) Решение ХК проверяем на допустимость к оставшимся  ограничениям. Если , то ХК - оптимальное решение исходной задачи (10.2.5). В противном случае переходим к следующему этапу.

Пусть S - подмножество индексов М\К, в которых имеется, по крайней мере, один индекс k такой, что для него не выполняется соответствующее ограничение для ХК. Введем подмножество индексов P из k, для которых ограничения (10.2.7) на решении ХК выполняются как строгие неравенства:

Если выполняется условие , то K заменяем на  и возвращаемся к этапу 2.

Если выполняется условие , то K заменяем на  и возвращаемся к этапу 2.

Оказывается, что такая процедура релаксации после решения конечного числа задач либо приводит к оптимальному решению исходной задачи (10.2.5), либо устанавливает ее неразрешимость (52).

Вернемся теперь к блочной задаче со связывающими переменными (10.2.1)-(10.2.4) и укажем применение для нее метода релаксации. Предположим, что при каждом матрица А имеет ранг mj, т.е. содержит невырожденную квадратную подматрицу Aj1. Тогда ограничение (10.2.3) запишется в виде

(10.2.8)

где вектор Хj разбивается на векторы Хj1 и Хj2. В соответствии с разбиением матрицы Аj можно выбирать матрицы оптимального базиса после решения соответствующих локальных задач:

максимизировать                                     cjxj

при условиях                      

где у - заданный вектор такой, что существуют допустимые решения этих задач для всех .

Выражая, согласно (10.2.8), переменные xj1 через остальные, получим

(10.2.9)

Целевая функция (10.2.1) и условия (10.2.2) после разбиения хj на хj1 и хj2 запишутся в виде

(10.2.10)

при условиях

(10.2.11)

Подставляя хj1 из (10.2.9) в (10.2.10) и (10.2.11), получим сокращенную задачу:

максимизировать

(10.2.12)

при условиях

(10.2.13)

где

Задача (10.2.12), (10.2.13) имеет m ограничений и  переменных. Ее ограничения такие же, как и в исходной задаче (10.2.1)-(10.2.4), за исключением условий, когда . Именно эти последние ограничения и будут релаксироваться согласно описанной процедуре.

Итак, пусть найдено оптимальное решение  сокращенной задачи (10.2.12), (10.2.13). Тогда, подставляя его в правую часть (10.2.9), получим решение исходной задачи  (без предположения, что  ). Очевидно, критерием оптимальности решения  для исходной задачи (10.2.1)-(10.2.4) является выполнение неравенства . Если некоторые из этих ограничений не выполняются, то, согласно общей системе релаксации, они вводятся в сокращенную задачу (10.2.12) и выводятся некоторые ограничения .

Пусть при некотором  первые rj компонент вектора Xj1 являются отрицательными, а вектор  имеет gi первых положительных компонент. Перепишем для полученного оптимального решения выражение (10.2.9) в виде:

(10.2.14)

Рассмотрим два случая. В первом случае существует, по крайней мере, один ненулевой элемент подматрицы , образованный ее первыми rj1 строками и gj1 первыми столбцами. Обозначим соответствующие его  индексы через  и . Тогда с помощью линейных преобразований соотношения (10.2.14) элемент переводится в левую часть (10.2.14), а элемент  окажется при этом в правой части. Указанная операция приводит к новому базису и к новой сокращенной задаче (10.2.12), (10.2.13).

Во втором случае подматрица  имеет только нулевые коэффициенты и тогда невозможно осуществить смену базиса. В этом случае выбирается некоторая отрицательная компонента вектора хj1, которую обозначим через и вводится дополнительное условие неотрицательности вида

(10.2.15)

где и - е строки матрицы  соответственно.

Ограничения (10.2.15) добавляются к сокращенной задаче (10.2.12), (10.2.13). Таким образом, мы приходим к последовательности сокращенных задач вида (10.2.13) с измененными матрицами Аj1 и дополнительным ограничением (10.2.15), которая решается до тех пор, пока либо не приходим к оптимальному решению исходной задачи, либо не установим ее неразрешимость.

Соседние файлы в папке Лекции по ТОАУ