Файл: Ху, Т. Целочисленное программирование и потоки в сетях.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,

 

 

 

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 для сле-

г) Рассматривается задача минимизации.— Прим. ред.