Файл: Ху, Т. Целочисленное программирование и потоки в сетях.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 170
Скачиваний: 0
|
4.2. |
СТОЛБЦОВАЯ ТАБЛИЦА |
Э5 |
||||
2. Прибавив второе |
уравнение к первому, придем к |
задаче: |
|||||
минимизировать |
|
|
|
|
|
|
|
|
z — 2х± + |
Зх3 — 2 |
|
||||
яри |
условиях |
|
|
|
|
|
|
|
Х 3 "I- х 3 |
X 4 = 3, |
Л, |
Я^, |
|
||
|
— X i - \ - 2 x z — Х3 |
= 1 , |
Я2 = Л2 — л 1? |
|
|||
|
Xj^O |
(у = |
1, |
. . ., |
4). |
|
|
3. Умножив второе уравнение на 2, получим: |
|
||||||
минимизировать |
= 2х4 + |
Зх3 — 2 |
|
|
|||
при |
z |
|
|
||||
условиях |
|
|
|
|
|
|
|
|
Х2 + ^3 — ж4= 3 , я"' = я", |
|
|||||
|
— 2xj + 4х2 — 2х3 |
= 2 , |
я" = яg/2, |
|
|||
|
^ •> 0 |
(/ = 1, • • 4 ) . |
|
||||
4. Прибавив второе уравнение к целевой функции,. получим |
|||||||
задачу: |
|
|
|
|
|
|
|
минимизировать |
z = 4х2 + |
х3 — 4 |
|
|
|||
при |
условиях |
|
|
||||
|
|
|
|
|
|
||
|
Х 2 + |
Х з — |
^4 = |
3, |
я 7 = |
я "', |
|
|
— 2xt -f- 4х2— 2х3 = 2, |
л3 = |
я![' -J-1, |
|
^(/ = 1, • •., 4).
5., |
Рассматривая ж4 |
и x t |
как слабые переменные в первом и во |
||
втором уравнениях соответственно, получим: |
|||||
минимизировать |
|
|
х 3 — 4 |
||
|
z — 4х2 + |
||||
при условиях |
+ |
|
> |
3, |
|
|
х 2 |
х 3 |
|||
|
4х2 — 2х3 ^ |
2, |
|||
|
хг, |
х3 |
|
0. |
|
Двойственная задача примет вид: |
|
|
|||
максимизировать |
|
|
|
|
|
|
ЗяГ + |
2 я " - 4 |
|||
при условиях |
|
|
|
|
|
|
я™ + |
4я''”< |
4, |
яГ - 2 я Г < 1 ,
я"", л3 > 0.
96 |
|
ГЛ. 4. ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОД |
Оптимальным |
решением двойственной задачи является я'™ = 2 |
|
и я"" |
— 1/2; |
соответствующим решением прямой задачи будет |
хг = |
4/3 и х3 = 5/3. Возвращаясь к исходной задаче, необходимо |
|
положить # 1 = |
£4 = 0. Если бы мы решали задачу, двойственную |
кисходной: максимизировать
при условиях |
|
|
2 я1 + |
|
я 2 |
|
|
|
|
щ — я2< 1 , |
|
||||
|
|
|
|
||||
|
|
— Я1 -{- 2я2^ |
1, |
|
|||
|
|
2яi — |
я2^ |
1, |
|
||
|
|
—я4 |
|
^ 1 , |
|
||
|
я4, |
я2 —свободные переменные, |
|||||
то получили бы решение: Я1=1 |
и я2= 1 . |
Можно проверить пра |
|||||
вильность решения, |
взяв |
результаты |
преобразованной двой- |
||||
u |
"И |
, Л |
_Ш* |
Л2“”Я4 . 1 |
|||
ственнои задачи: |
я 4 = я 1-)-1 |
и я2 |
|
= — ^----- (--я-. |
4.3.Геометрическая интерпретация (Лемке [141])
Вэтом параграфе будет дана геометрическая интерпретация как прямого, так и двойственного симплекс-методов.
Допустим, используется прямой симплекс-метод для решения задачи линейного программирования:
минимизировать
Z = сх
при условиях
п |
(b = [bi, . .. , bm], re>m), |
(1) |
E « A = b |
||
3= 1 |
|
|
Xj ^ 0 |
(у = 1, . • *, я), |
|
и двойственный симплекс-метод для решения двойственной к ней задачи, т. е.
максимизировать
w = яЬ
при условиях
(7 = 1 , . . . , тг),
|
я 2с 0. |
|
(2) |
|
|
|
|
Рассмотрим m-мерное я-пространство. Уравнения яаj = cj(j = |
1, . . . |
||
. . ., |
п) задают п гиперплоскостей в этом пространстве. |
Пересече |
|
ние |
п полупространств, определяемых неравенствами |
яа;- |
^ с;-, |
4.3. ГЕОМЕТРИЧЕСКАЯ ИНТЕРПРЕТАЦИЯ |
97 |
является выпуклым множеством, которое состоит из допустимых
решений л задачи |
(2). |
На рис. 4.1 приведен |
частный случай |
с т = 2 и п = 6. |
|
|
прямой. Нормаль |
На рис. 4.1 гиперплоскость изображается |
|||
к гиперплоскости лау- = |
cj задается вектором aj. Выпуклое мно |
||
жество допустимых |
решений я заштриховано. |
|
Предположим В = [а®, ав , . . ., ав ] — множество линейно
независимых векторов. Тогда существует решение я0, удовлетво ряющее условию
л°аf = cf (;' = 1, . . т)
или
я0 = свВ-1.
7 т. Ху
98 |
ГЛ. 4. ДВОЙСТВЕННЫЙ СИМПЛЕКС-МЕТОД |
Такая точка я0 называется критической точкой. Она задается пересечением т гиперплоскостей. Среди п векторов at, . . . ,а п
п\
существует (п — т) \ т\ систем по т векторов, которые могут опре-
делять критические точки. На рис. 4.1 приведены 14 таких точек А , В, . . ., N. Критическая точка является крайней точкой выпуклого множества, если в пей выполняется условие
|
|
я°а7- ^ Cj |
(/ = 1, . . ., п). |
|||
На рис. |
4.1 крайними точками являются D, |
F, G, //, I и J. |
||||
= |
Для |
каждой системы т линейно независимых векторов В = |
||||
[аь . . ., ат ] можно найти другую систему векторов (1г (|1г суть |
||||||
вектор-строки матрицы В-1), |
такую, |
что |
|
|||
|
|
Pi®3 — ^iji |
|
1, |
если |
i —-j, |
|
|
|
{О, |
если |
(3) |
|
|
|
|
|
|
||
Поскольку вектор Ь может быть выражен в виде |
||||||
|
|
|
т |
|
|
|
|
|
ь = |
2 |
|
|
|
|
|
|
3=1 |
|
|
|
ТО, |
используя (3), получим РгЬ = |
Я;, ОТКуДЭ |
|
|||
|
|
|
т |
|
|
|
|
|
b=? S |
(Pjb)aj-. |
(4) |
||
|
|
|
3= 1 |
|
|
|
Таким образом, система т независимых векторов образует допу стимый базис для задачи (1), если Р,Ь ^ 0 для / = 1, . . ., т. На рис. 4.1 имеется пять допустимых решений задачи (1), изобра женных точками А, В, С, D и Е. Вектор Рг ортогонален ко всем вектор-столбцам В, кроме аг; РгЬ — скалярное произведение Р,
иЬ, которое неотрицательно для допустимых решений задачи (1). Целевая функция задачи (2) w = яЬ определяет семейство
параллельных гиперплоскостей яЬ = к, где к — параметр. Век тор Ь — нормаль к этим гиперплоскостям. На рис. 4.1 он изобра жен перпендикулярным вектором к прямой яЬ = z. Это означает, что наибольшее значение целевой функции связано с точкой, занимающей наивысшее положение сщзди точек на рис. 4.1. Соглас
но теории двойственности, min z = z — max w = w. Таким обра зом, гиперплоскость яЬ = w = z делит все пространство на две части, в одной из которых расположены все допустимые решения задачи (1), а в другой — все допустимые решения задачи (2). Кри тическая точка, принадлежащая этой гиперплоскости и являющая ся допустимой для задач (1) и (2), будет оптимальным решением обеих задач. На рис. 4.1 такой точкой является точка D.
УПРАЖ Н ЕН И Я |
99 |
Если две критические точки принадлежат т — 1 гиперплоско |
|
стям, то они являются соседними. Так, если точка I на рис. 4.1 |
— |
начальное допустимое решение задачи (2), то мы движемся в точ ку J и затем в точку D. Если начальное допустимое решение есть Н, то мы перемещаемся в точку G, затем в точку F, затем в D.
В прямом симплекс-методе элементарное преобразование свя зано с заменой в текущем базисе одного из векторов на небазисный.
Если точка А — начальное допустимое решение |
задачи (1), то |
мы перемещаемся либо в точку Е, либо в точку С, |
в зависимости |
от того, какой из векторов, АЕ или А С, составляет меньший угол с вектором (—Ь). В любом случае на следующем шаге будет до стигнута точка D. Если начальным допустимым решением являет ся точка В, то на следующем шаге может быть достигнута точка D (или С), поскольку и С и D принадлежат одной гиперплоскости
свектором нормали а6.
Упражнения
1.Рассмотрим задачу минимизировать
z = - 2 я 4 — 3*5
при условиях
* 1 — * 3 —j— * 4 - j - 3 * 5 — 3 ,
хъ+ хз + ~ 2 xi 4* 2*5 = 24
хз > о (/ = 1, . . . , 5).
Решите эту задачу, использовав в качестве начальных базисных переменных *л и *2, выбрав для ввода в базис лексикографически минимальный столбец. Проверяйте правильность решения посред ством вычисления на каждом шаге z = яЬ.
2.Рассмотрим задачу:
идвойственную к ней. Предположим, что В — матрица оптималь ного базиса. Покажите, что я = свВ -1 — оптимальное решение двойственной задачи, где вектор св состоит из компонент вектора с, отвечающих базисным переменным оптимального базиса. Исполь зуйте тот факт, что условие сх >. яЬ справедливо для любых допустимых решений х и я прямой и двойственной задач соответ ственно.
1 *
ГЛАВА б
МОДИФИЦИРОВАННЫЙ СИМПЛЕКС-МЕТОД
5Л. Введение (Данциг и Орчард-Хейс [43])
В симплекс-методе все элементы симплексной таблицы пере считываются на каждой итерации. Допустим, исходные ограниче ния задаются матрицей А размера т X п, а оптимальное решение получается после t-й итерации. Тогда, естественно, для решения задачи необходимо последовательно найти t (т + 1) (п -j- 1) чисел. При вычислениях, как только получена очередная таблица, можно переходить к следующей итерации. Все предыдущие таблицы, включая исходную, могут быть «забыты». Предположим, что исходная таблица сохраняется. Какой информацией необходимо располагать в этом случае, чтобы получить все элементы текущей таблицы? Пусть нас интересует 29-я таблица. Тогда достаточно знать матрицу В -1, соответствующую 29-й таблице, и индексы текущих базисных переменных. Все остальные элементы 29-й таблицы можно получить из элементов исходной таблицы и обра щения текущего базиса В 29-й таблицы. Заметим, что я = свВ -1, т. е. текущий вектор я получается умнояшнием вектора св из исходной таблицы на обращение текущего базиса В -1. (Индексы текущих базисных переменных указывают, какие компоненты
входят в св.) Вектор Ь задается произведением В _1Ь, где Ь берется из исходной таблицы; любой столбец а.) получается умножением В -1 на aj, где а} — столбец исходной таблицы и В -1 — обращение текущего базиса. Таким образом, если заданы В -1 и индексы базисных переменных, то, используя исходную таблицу, можно получить все элементы текущей таблицы.
Пусть заданы исходная таблица и матрица В -1, соответствую щая 29-й таблице. Какие элементы 29-й таблицы необходимы для того, чтобы получить матрицу В -1, соответствующую 30-й табли це? Такими элементами являются компоненты небазисного столбца
из 29-й таблицы, который доляшн быть введен в базис, и Ь из 29-й таблицы. Вектор а;- является кандидатом для вводив базис, если Cj < 0 *). Таким образом, необходимо вычислить с, данной (29-й) таблицы, выбрать среди них cs < 0 и затем вычислить as = B _1as и b = B -1b. Это дает возможность найти В -1 для сле-
г) Рассматривается задача минимизации.— Прим. ред.