Файл: Ху, Т. Целочисленное программирование и потоки в сетях.pdf
ВУЗ: Не указан
Категория: Не указан
Дисциплина: Не указана
Добавлен: 15.10.2024
Просмотров: 179
Скачиваний: 0
|
Таблица 6.11 |
|
a.(T%_]) > a . ( T h_1) , или |
a ( T * _ i ) = |
|
= |
а (Г й_1); |
|
|
Тk (к нечетное) |
|
|
0, . . . , 0 |
+ . . . + |
+ |
Tk-1 |
|
+ |
|
|
|
|
|
+ |
® ) • • • >Ф |
_ * |
|
0
Tk
0
Таблица 6.12 a ( T * ) > a ( T h)
|
Таблица 6.13 |
|
|
|
d{T%) < d ( T k) и а (Г*) > |
а (7*) |
|||
|
0 ... 0 |
+ |
... + |
|
+ |
|
|
|
|
+ |
|
|
|
Tk-1 |
+ |
:— |
! |
|
|
L |
* + |
|
|
|
|
|
|
|
|
|
Таблица 6.15 |
|
|
|
|
а (Г*) > |
а (Г*) |
|
|
- |
... - |
- |
+... + |
|
0 |
|
|
|
Tk |
b |
|
+* |
ф... ® |
|
|
1 |
|
|
|
|
|
|
|
|
Таблица 6.14 |
|
|
|
a (Tk - i)><*{Tk - i) |
или a(T%_i ) = |
|||
= a(Th-i)i d ( T l _ v) < d ( T h_i) |
|
|||
|
(fc |
четное) |
|
|
- |
... - |
- |
Ф |
® |
0 |
|
0 |
Tk |
|
b |
|
|
|
|
|
0 |
|
|
|
[ |
Tk-i |
+* |
|
|
|
|
|
Таблица 6.16
d ( T f ) > d ( T k) и a ( T D > a ( T k)
- ... - |
- |
+ . . . + |
0 |
|
1 |
+
b
1
Th-i |
Tk-i |
6.2. ПРЯМО-ДВОЙСТВЕННЫЙ МЕТОД |
117 |
Таблицы 6.11—6.16 иллюстрируют шесть возможных случаев выбора ведущего элемента и изменения в результате итерации. Возможные исходы итераций могут быть использованы для дока зательства конечности алгоритма.
6.2. Прямо-двойственный метод1) (Данциг, Форд и Фалкерсон [40])
Поскольку существуют прямой и двойственный симплексметоды, не удивительно, что существуют методы, использующие идеи как прямого, так и двойственного алгоритмов. Метод, изла гаемый в настоящем параграфе, формально является двойствен ным, поскольку он сохраняет двойственную допустимость реше ний. Прямой симплекс-алгоритм используется как подалгоритм
для уменьшения невязок 2)з. |
|
|
|
||
Когда решение |
становится одновременно прямо и двойственно |
||||
допустимым, оно |
оптимально. |
Пусть прямая задача имеет |
вид: |
||
минимизировать |
|
|
|
||
при условиях |
Z = |
сх |
|
||
Ах = Ь > |
0, X > 0. |
(1) |
|||
|
|||||
Тогда двойственная к задаче (1) |
формулируется так: |
|
|||
максимизировать |
|
яЬ |
|
||
при условиях |
w = |
|
|||
яА ^ |
с, |
я Sg 0. |
(2) |
||
|
Допустимое решение задачи (2) получается посредством весьма несложного ее анализа. Если с ^ 0, то я = 0 — допустимое решение задачи (2). Если условие с;- ^ 0 выполняется не для всех j и допустимое решение задачи (2) не очевидно, то задачи (1) и (2) можно слегка изменить следующим образом. Введем новую неотри цательную переменную хп+1 и добавим к ограничениям задачи (1) уравнение
X l - f " Х % ~1~ % 3 |
1~ . . . |
“ 1“ |
" I- ^71 + 1 |
#777+ 1 |
(^"71+1 |
0 ) 7 |
где #т-н — достаточно большое положительное число. Очевидно, такое ограничение не изменит оптимального решения прямой задачи. Двойственная задача при этом будет иметь следующий вид:
найти максимум
|
l i / = Я 1 # 1 + . . . + |
Я т Ь т + |
Я + г + 1 # т + 1 |
!) |
В нашей литературе этот метод носит название метода последователь |
||
ного сокращения невязок.— Прим, |
перев. |
|
|
2) |
Невязкой называется величина ^ aijxj — |
(г = 1, . . тп) при фик- |
|
сированных xj.— Прим, перев. |
з |
|
|
|
|
118 ГЛ. 6. МЕТОД ОДНОВРЕМЕННОГО РЕШЕНИЯ
при условиях
л1ан + • • • |
1 + я т+1<!с1, |
Пр1п ~Ь ■ •• |
П'тО'тп |
Теперь легко выписать допустимое решение двойственной задачи
nm + 1 = min cj и я г = 0 (г = 1, . . /тг).
Для дальнейшего обсуждения предположим, что нам известно решение я двойственной задачи (2). По следствию из теоремы о дополняющей нежесткости оба решения х и я являются опти мальными решениями соответственно задач (1) и (2) тогда и только тогда, когда они удовлетворяют условиям
(cj — 2 п р и) xj = 0 |
(для |
всех j), |
(За) |
яг ( 2 aijxJ — t>i) = 0 |
(для |
всех г). |
(36) |
i |
|
|
|
Если х — допустимое решение задачи (1), то условие (36) автома тически выполняется, поскольку ограничения задачи (1) пред ставляют собой уравнения. Пусть я — текущее допустимое реше ние задачи (2). Тогда часть ограничений этой задачи выполняется
Как равенства, |
а остальные — как неравенства. (Заметим, |
что |
я — допустимое |
решение, но не обязательно базисное, т. |
е. я |
может обращать в неравенства все ограничения задачи (2).) Для тех ограничений, которые удовлетворяются как равенства, условие (cj — яа7-) Xj = 0 выполняется при любых положительных значе ниях соответствующих переменных xj. Если же ограничение выполняется как неравенство, т. е. Cj — яа7- > 0, то для выполне ния условия (cj — яа;-) Xj = 0 необходимо приравнять соответ ствующую переменную xj нулю. Как найти х, удовлетворяющее
условию (За) и ограничениям задачи (1)?
Исходя из допустимого решения я |
задачи (2), определим мно |
||
жество индексов / = { / | Cj — |
яа;- = |
0}. Для ] £ J любое xs удов |
|
летворяет условию (За). Для / |
б N \ |
J |
выполняется с} — яа;- > 0, |
поэтому условие (За) выполнится только при Xj = 0. Таким обра зом, если выразить вектор b через неотрицательную линейную комбинацию столбцов aj (/ 6 /), то коэффициенты Xj ^ 0 (j 6 J)
вместе с Xj (/ £ N \ J) составят оптимальное решение задачи (1), поскольку они удовлетворяют условиям дополняющей нежестко сти (3). Для нахождения неотрицательной линейной комбинации столбцов aj (/ 6 J) поставим следующую задачу, называемую
вспомогательной задачей:
6.2. ПРЯМО-ДВОЙСТВЕННЫЙ МЕТОД |
119 |
||||
минимизировать |
|
m |
|
|
|
|
|
|
|
|
|
|
6 = |
S |
я?1) |
|
|
при условиях |
|
i= l |
|
|
|
|
|
|
|
|
|
2 Q'ij'Ej '! |
—bi |
(/ |
6 j ^ |
• • - 7 ^)i |
|
} |
;Zj>0, |
я“> 0 , |
|
(4) |
|
|
|
|
|||
где xf — искусственные переменные. |
|= 0 , |
то x f = 0 n Xj(j£J), |
|||
Если в оптимальном решении задачи (4) |
удовлетворяющие условиям задачи (4), являются искомой линей ной комбинацией. Эти Xj (/ 6 J) вместе с xj = 0 (j € N \ J) пред ставляют собой допустимое и оптимальное 2) решение задачи (1).
Это решение допустимо, потому что ограничения задачи (4) при xf = 0 совпадают с ограничениями задачи (1), из которых вычеркнуты столбцы (j £ N \ J). (Вычеркивание столбца а7эквивалентно условию xj = 0.)
Если в оптимальном решении (4) £ > 0, то рассмотрим два слу чая. Обозначим оптимальное решение задачи, двойственной к (4),
через |
л. |
|
|
|
|
|
|
|
|
Случай 1. яа;-^ 0 |
для |
всех |
j £ N \ J . Как |
будет |
показано, |
||||
в этом случае |
задача (1) |
не имеет допустимого |
решения. Чтобы |
||||||
показать это, рассмотрим ограничения задачи, |
двойственной к (4): |
||||||||
|
|
|
|
я а ^ О |
( / € / ) , |
|
|
|
|
|
|
|
|
|
|
( i = 1, , . |
т). |
|
|
Если |
я —оптимальное |
решение |
двойственной |
задачи, то яа^<!0 |
|||||
{j £ J). |
Из этого условия |
и предположения |
о |
том, |
что яа^-^О |
||||
для j £ N \ J , |
следует, что яа^^ГО для всех j £ N . Пусть я —до |
||||||||
пустимое решение |
задачи |
(2). |
Тогда покажем, |
что |
я' = я + 0я |
||||
(при любом 0 > |
0) |
будет допустимым решением задачи (2). Дей |
|||||||
ствительно, |
|
|
|
|
|
|
|
|
|
|
я'а7 = (я + 0я) aj = яа7 + 0яа;- < c j |
0яа7- |
|
||||||
|
|
|
|
(поскольку яa^<;0). |
|
|
|
J) Очевидно, xf есть невязка, характеризующая степень невыполнения условия (1), а | — сумма невязок. При £ = 0 вектор х есть решение зада чи (1).— Прим. ред.
2) Оптимальное, так как при этом решении выполняются условия (За).—
Прим. ред.
120 |
ГЛ. 6. МЕТОД ОДНОВРЕМЕННОГО РЕШ ЕНИЯ |
Далее, значение целевой функции может быть сделано как угодно большим, поскольку
яЬ = | > 0 и я'Ь = (я -f- 0я) Ь — яЬ + 0яЬ,
а 0 можно придать любое положительное значение. Отсюда в силу теоремы двойственности задача (1 ) не имеет допустимых реше
ний.
Случай |
2. |
яа7 > 0 |
по |
крайней мере для одного j |
\ J . |
||||
В этом случае мы увидим, |
что я' = я + 0я является допустимым |
||||||||
решением задачи (2 ) для значений 0 , удовлетворяющих |
условию |
||||||||
О < 0 < 0 !. |
Заметим, |
что |
по |
определению множества индексов J |
|||||
|
|
|
яаj < |
Cj |
|
(для всех j £ N \ |
./). |
|
|
Пусть |
|
|
|
|
|
|
|
|
|
0! = |
min Г |
cC |
Jtaj 1 ^ |
яа7- > 0 ). |
(5 ) |
||||
|
|
о |
L |
яа j |
J |
|
|
|
Тогда я '= я + 0я является допустимым решением при О < 0 < 0 1г поскольку
я'а;- = |
яа;4 - 0яа^<яа^-!-01яау^яа^ + с ,— яа;-<с^ |
(для |
яа7- > 0), |
я'а; = |
яа^ + Ояа; < яа_, < cj |
(для |
яа7- < 0 ). |
Кроме того, я' «лучше» исходного решения я:
я'Ь = яЬ |-0яЬ;>яЬ (так как яЬ = £ > 0 , 0>-О).
Таким образом, взяв 0: 0 < 0 ^ 0±, получим допустимое реше ние я' задачи (2 ) со значением целевой функции не меньшим, чем
при решении я. Исходя из полученного решения я' можно снова определить множество J = { / | я'а;- — Cj — 0}. Указанный про цесс может быть продолжен до тех пор, пока либо будут получены оптимальные решения задач (1) и (2), либо выяснено, что задача (1) не имеет допустимых решений 2)* .
Пример 1. Рассмотрим задачу: найти минимум
|
|
|
z = Хх + х 2 + 2 х 3 8 x t |
|
|
*) |
Очевидно, 04 > |
0 .— Прим. |
ред. |
|
|
|
|
|
|
т |
|
2) |
Если |
«расширение» задачи |
(4) — найти min ^ |
ПРИ условиях |
|
|
|
|
|
i= l |
|
Ах + |
lx = |
b, xj, xi ^ |
0,— невырождено, то а) суммарная невязка на каж |
||
дом шаге указанного процесса монотонно уменьшается; б) |
за конечное число |
шагов (переходов от одного базисного решения «расширенной» задачи к дру гому) будет получено оптимальное решение или установлена неразреши мость задачи (1).— Прим. ред.