
Идея метода декомпозиции
Итак, представим себе главную задачу:
Здесь
;
;
Пусть:
B- базисная матрица некоторого опорного решения этой задачи;
B-1 - обратная матрица;
-
вектор коэффициентов ЦФ при базисных
переменных.
В
соответствии с вычислительной схемой
модифицированного симплекс-метода4
(МСМ) текущее решение является оптимальным,
если для всех небазисных векторов
оценки этих векторов не отрицательны:
=
.
Начнем анализ этого выражения на предмет исследования возможности его практического использования.
Прежде
всего "разберемся" с произведением
5
=
.
Подставим (2) в (1):
-оценка вектора
или
(3)
Самое интересное начинается здесь!
Известно, что если решение не оптимальное, вектор Pl , которому соответствует отрицательная оценка (желательно, максимальная по абсолютной величине), должен быть включен в состав базисных векторов.
Проблема же в том, что
нельзя вычислить до тех пор, пока не
известны все элементы вектора
.
В свою очередь, численное
определение этих элементов невозможно
до тех пор, пока не известна соответствующая
экстремальная точка
.
То есть, нужно сначала определить эту экстремальную точку. А как ее определить, если мы знаем только обратную матрицу главной задачи B-1 и Сбаз. Сама же задача задана неявно. Ее просто нет!
Идея метода Данцига - Вулфа заключается в том, чтобы заменить поиск отрицательной оценки путем последовательного перебора свободных векторов текущего опорного решения направленным поиском только одной экстремальной точки, которой соответствует минимальная оценка связанного с этой точкой вектора главной задачи.
Если окажется, что найденная таким образом минимальная оценка неотрицательна, задача решена. Точнее, решена главная задача, а следовательно - и исходная.
В противном случае ясно, какой вектор следует вводить в базис: этот вектор будет полностью определен координатами найденной экстремальной точки.
Итак, нужно найти экстремальную точку, которой соответствует вектор главной задачи, имеющий минимальную оценку.
Это можно сделать, решив следующую задачу:
Здесь следует обратить внимание на то, что индекс номера вершины отсутствует. Этот индекс просто неизвестен, т.к. соответствующую вершину еще нужно найти.
В качестве переменных этой задачи выступают координаты искомой вершины.
Мы
предположили, что множество, определенное
ограничениями
,
ограничено. Следовательно, минимальное
значение
также ограничено и должно соответствовать
некоторой экстремальной точке. Ее то и
нужно найти.
Уже было показано, что:
. (3)
Теперь, опустив индекс l, имеем:
.
(4)
Ввиду
того, что
-
постоянная величина, не зависящая отX
, задаче ЛП можно придать следующий вид:
(5)
Назовем эту задачу частной (или локальной).
Допустим, мы решили эту задачу6 и z* - оптимальное значение ЦФ. Отсюда узнаем и минимальную оценку:
и,
что самое главное, и сам свободный
вектор, который обладает данной оценкой.
Действительно, мы знаем координаты
экстремальной точки
,
на которой ЦФ локальной задачи имеет
значениеz*.
Следовательно, можно сформировать
вектор главной задачи, соответствующий
этой точке:
Внимание! Здесь l - это не номер вершины, а номер итерации, на которой данная вершина найдена.
Теперь,
если
0,
то главная задача решена. Исследуемое
на текущей итерации решение - оптимальное.
Можно восстановить решение исходной
задачи. Делается это следующим образом.
Пусть *- множество номеров базисных переменных главной задачи.
Тогда,
по найденным координатам соответствующих
экстремальных точек
(j*)
можно восстановить решение исходной
задачи:
Если
,
то вектор
нужно ввести в базис нового опорного
решения главной задачи. Делается это
по правилам МСМ.
На что здесь следует обратить внимание. Мы используем общие принципы обычного симплекс-метода: последовательно переходим от одного опорного решения координирующей задачи к другому, лучшему. Но при каждом таком переходе мы решаем локальную задачу для поиска вектора с минимальной оценкой. При этом, на каждой итерации формируется "своя" ЦФ локальной задачи7.