книги / Математические методы принятия решений
..pdfНарушение условия оптимальности зависит от конкретных значений последнего слагаемого в выражении (2.17): если Дс,- — —(До,, a,j) ^ 0 для всех j = 1,2, ... , п, то оптимальное решение не изменяется; при наличии хотя бы одного неравенства A cj —
—(До,, dj) > 0 возможно изменение оптимального решения. Система неравенств
(cj (сь, ûj)) (Дс,- (До>> ûj)) ^ О,
(2.18)
3 = 1, 2 ,
определяет то множество значений элементов Acj, j = 1,2, .. . , n , в которое входят и элементы вектора Ась, не нарушающие условия оптимума в данной точке.
Пример 1. Рассмотрим задачу ЛП о выпуске продукции пред приятием (см. §2.4). Математическая модель этой задачи имеет
следующий вид: |
|
|
|
z = lOxi + 20x2 —*ш ах |
(2.19) |
||
при условиях |
|
|
|
X] + 3,5x2 |
^ |
350, |
|
2х] + 0,5x2 |
^ |
240, |
|
+а?2 ^ 150,
Х\ + Х 2 ^ ПО,
lO x i+ 20x2 ^ 1400, Xj, Х2 ^ 0.
Оптимальное решение задачи приведено в следующей симп лекс-таблице (табл. 2.29).
Элементы строки z для переменных Xj, j = 1,2, ... ,7 , взятых с противоположным знаком, и есть значения с,- —Zj = Cj —(сь, dj), по которым судят об оптимальности решения. Различие в знаках обусловлено правилами заполнения симплекс-таблиц.
По условию неопределенность Acj содержится только в ко эффициентах исходной целевой функции, поэтому Acj # 0 для j = 1,2, Acj = 0 для j = 3 , ... , 7, Д сь = {0; 0; 0; Д с1; Д с2}.
|
|
|
|
|
|
|
Таблица 2.29 |
|
|
|
|
Оптимальное решение |
|
|
|
||
Базис |
b |
- Х\ |
-Х 2 |
-хз |
—Х4 |
-Х 5 |
-Хб |
-XI |
х 7 |
90 |
0 |
0 |
1/5 |
0 |
3/5 |
0 |
1 |
Х4 |
120 |
0 |
0 |
3/5 |
1 |
- 2 6 /5 |
0 |
0 |
2/6 |
40 |
0 |
0 |
0 |
0 |
1 |
1 |
0 |
Х\ |
70 |
1 |
0 |
- 1 / 5 |
0 |
7/5 |
0 |
0 |
х 2 |
80 |
0 |
1 |
1/5 |
0 |
- 2 / 5 |
0 |
0 |
Z |
2300 |
0 |
0 |
2 |
0 |
6 |
0 |
0 |
Рассчитаем значения Д j = A Cj —(Дс&, а; ) для различных j :
A j = 0, |
3 = 1,2,4,6, 7, |
|
Дз = - Дс[ — - Дсг, |
j = 3, |
|
7 |
2 |
з = 5 . |
Д 5 = - j Д с1 + - Дс2, |
Таким образом, на выбор оптимальной точки в данном случае оказывают влияние только коэффициенты при j = 3 и j = 5. Точка оптимума не изменится для тех значений Д с1 и Дс2, при которых согласно (2.18) имеем
- 2 + j Д с1 - |
^ Дс2 < О, |
7 |
2 |
—6 —- Д с1+ - Дс2 ^ 0.
Множество D значений Д сь Дс2 представляет собой часть плоскости, заключенную между двумя лучами, выходящими из точ ки (—10, —20) в направлениях векторов vi = {1; 1} и v2 = (1; 3,5}.
Проблему устойчивости точки оптимума в задаче линейного программирования при неопределенности только в коэффициентах целевой функции можно рассмотреть геометрически, на плоскости. Плоскость, вектор нормали которой определен коэффициентами це левой функции, в точке оптимума можно повернуть таким образом, чтобы она коснулась граней выпуклого многогранника, содержащих эту точку. Диапазон изменения углов поворота плоскости и будет
определять допустимый разброс значений коэффициентов целевой функции.
Для простоты изложения материала все уравнения линейных поверхностей запишем в нормальном (нормированном) виде. Таким образом, мы будем использовать направляющие косинусы плоско стей; в трехмерном пространстве это cos a, cos (3, cos у. Чтобы опре делить грани многогранника, содержащие точку оптимума, подста вим координаты точки оптимума в ограничения (2.14) и (2.15). Те ограничения, которые являются равенствами, определяют искомые грани.
Пусть некоторая грань в трехмерном пространстве задана урав нением
ах + by + си + d = 0 ;
нормальное уравнение этой плоскости имеет вид
(cos <х)х + (cos Р)у + (cos y)u —р = О,
где х, у, и —текущие координаты; о, b, с, d —параметры уравнения плоскости; р —параметр, определяющий расстояние до плоскости от начала координат;
cos а = |
=, |
cos р — |
b |
COS Y — |
____________ |
||||
|
\/a 2 + b2 + C 2 ’ |
r |
л/а 2 -f- Ь 2 + C2 ’ |
л/ а 2 + b2 4 - с 2 |
Для плоскости, соответствующей целевой функции с парамет рами C l, С2, Сз, получим
Cl |
COS Р о - |
С2 |
COS Обо - |
r j — J — |
|
У ч + CJ + с | |
|
y Cf -h Cf -h Cf |
COSY0 = V ^ + 3^ + ^ '
Врассматриваемом случае важны не сами значения ci, С2, сз,
аих отношения:
ci |
_ cos ао |
ci _ |
cos oto |
сг _ |
cos Ро |
С2 |
COS Ро ’ |
Сз |
COS Уо ’ |
Сз |
(2.20) |
COS Уо |
Если некоторая г-я грань многогранника имеет направляющие косинусы cos ai, cosp*, cosyj, то всякая плоскость, направляющие косинусы которой будут иметь значения между cos ао и cos щ, cos Ро
и cos Pi, cos YO и cos Yi, не изменит положение оптимальной точ ки. Анализируя таким образом все грани, которым принадлежит оптимальная точка, найдем диапазоны отношений параметров (ко эффициентов) a, b и с, которым должны удовлетворять плоскости, проходящие через оптимальную точку и не изменяющие оптималь ное решение задачи. Отсюда легко получить возможный диапазон неопределенностей Д с, в значениях коэффициентов целевой функ ции, не влияющих на решение задачи.
Пример 2. Рассмотрим задачу, описанную в примере 1. Определим грани многоугольника, которым принадлежит точка
оптимума. Подставим оптимальное решение задачи х\ = 70, хг = = 80 в исходную модель (2.19) и получим, что оптимальной точкой является точка пересечения прямых х\ + 3 ,5x 2 = 350 и х\ + хг = = 150.
Вектор нормали целевой функции имеет координаты {10; 20}, вектор нормали первой прямой— {1;3,5}, вектор нормали второй прямой — {1; 1}. Вектор нормали целевой функции можно повер нуть так, чтобы он совпал либо с вектором нормали первой прямой, либо с вектором нормали второй прямой, т. е. согласно (2.20) имеем
COS pi |
С2 + |
Д с г > |
COS Рг |
COS Ot] |
CI + |
Дс1 |
COS 0(2 ’ |
cos ai = 0,275, cos Pi = 0,962, |
cos щ = cos рг = 0,707. |
||
Окончательно условие (2.20) принимает вид |
|||
3,5 ^ |
с 2 + |
Д с г |
1. |
|
CI + Act |
|
Таким образом, если отношение коэффициентов целевой функ ции лежит в пределах от 1 до 3,5, то координаты оптимальной точки не изменятся.
Полученный результат полезно сравнить с приведенным выше аналитическим расчетом.
2. |
Н е о п р е д е л е н н о с т ь т о л ь к о в к о о р д и н а т а х в е к |
|
т о р а |
п р а в о й ч ас т и . При изменении значений правой части ис |
|
ходной системы (2.14), |
(2.15) в процессе решения изменяется толь |
|
ко столбец свободных |
членов 6 и значение целевой функции z. |
В точке оптимума столбец свободных членов не содержит отри цательных элементов. Таким образом, неопределенность в коорди натах вектора правой части до тех пор не влияет на оптимальное решение, пока не появятся отрицательные элементы в столбце сво бодных членов.
Представим матрицу полного ранга А из условий (2.16) в ви де двух блоков N и В: А = (N; В), где N состоит из небазисных столбцов А, &В — из базисных. Аналогично, векторы с и а; состо ят из базисных и небазисных координат: с = (сдг; св), х = (хдг; хв). Следовательно, имеем
А х = Ь,
N X N + В х в = Ь,
B - 1N X N + В - гВ х в = В ~ 1Ь,
х в = В - \
так как х ^ = 0. Отсюда следует, что столбец свободных членов b + Ab на любой итерации может быть получен умножением мат рицы В ~ х на вектор b в исходной постановке задачи (2.16). Сам же блок В формируется из тех столбцов исходной матрицы А из усло вий (2.16), номера которых на данной итерации определяют ба зисные переменные. С другой стороны, j - й столбец в матрице А (матрица А после преобразований становится матрицей У) для дан ной итерации имеет вид
yj = B ~ laj ,
где a.j — j - й столбец исходной матрицы А из условий (2.16). Столбцы матрицы В ~ 1— это столбцы тех переменных текущей
матрицы Y , которые были базисными в исходной таблице (как пра вило, это последние т столбцов), так как Y = В ~ 1А, а столбцы А, относящиеся к базису исходной таблицы, образуют единичную мат рицу, т. е. матрица В ~ 1 всегда присутствует в процессе решения. Исходный вектор b и неопределенность его значения Д6 задают ся по условию задачи. Таким образом получают новый столбец свободных членов. Если исходный вектор равен b + Ab, то можно найти новый столбец свободных членов:
В ~ \Ь + АЪ) = В~'Ь + В ~ 1АЬ = х в + В ~ 1АЬ.
Поскольку в столбце свободных членов оптимального решения из симплекс-таблицы не должно быть отрицательных элементов, то условие стабильности примет вид
х в + В -1 ДЬ ^ 0.
Пример 3. Рассмотрим описанную в примере 1 задачу, предпо лагая, что исходный вектор правой части Ъ= {350; 240; 150; —ПО; -1400} имеет неопределенность АЬ = {Д61; Д 62; АЬз; Д 64; Д&5}> т. е. необходимо рассматривать вектор
{350 + Д 61; 240 + Д62; 150 + Д Ь з ; —110 + ДЬ4; -1400 + Д65}.
и определить диапазон значений АЬ\ , ..., Д 65, при которых опти мальное решение не изменится.
Матрица В -1 занимает пять последних столбцов симплекс-таб лицы оптимального решения (см. табл. 2.29):
|
/ |
1/5 |
0 |
3/5 |
0 |
1\ |
|
|
|
3/5 |
1 |
-26/5 |
0 |
0 |
|
|
В -1 |
0 |
0 |
1 1 |
0 |
|
|
|
|
-1 /5 |
0 |
7/5 |
0 |
0 |
|
|
|
1/5 |
0 |
-2 /5 |
0 |
0у |
|
Условия стабильности оптимального решения данной задачи |
|||||||
имеют вид |
|
, |
|
|
|
|
|
|
90 + Abi + —АЬз ^ 0, |
|
|
||||
|
120 + ДЬ2 - |
у |
АЬ3 ^ 0, |
|
|
||
|
|
40 + АЬз ^ 0, |
|
|
|
||
|
70 + ДЬ4 + —АЬз ^ 0, |
|
|
||||
|
80 + ДЬ5 - |
| |
ДЬз ^ 0. |
|
|
||
Отсюда находятся те комбинации значений величин Abu |
i = |
||||||
= 1,2, ... , 5, при которых оптимальное решение не изменится. |
|
||||||
3. |
Н е о п р е д е л е н н о с т ь в э л е м е н т а х м а т р и ц А\ и A 3. |
||||||
Если неопределенность имеет место в отдельных элементах мат |
|||||||
риц А\ |
и Аз, то можно воспользоваться тем, что элементы |
мат |
рицы У оптимального решения определяются через матрицу В -1
и исходную матрицу А из условия (2.16):
|
yj = |
j = 1,2, |
|
|
Пусть только один элемент |
имеет неопределенность Д о^ . |
|
В |
матрице Y оптимального |
решения получим элемент |
yij = |
= |
+ Aüj). По знаку рассматриваемого элемента уij |
при |
нимается соответствующее решение. Этот подход приемлем для небольшого числа элементов матриц, имеющих неопределенность.
Рассмотрим более общий метод учета неопределенностей в эле
ментах матриц А\, Aj. Пусть все элементы матриц А\ |
и A j имеют |
|||
неопределенности |
Д о ^, |
г = 1,2,..., ш, |
j = 1,2, ... , п. |
Перенесем |
неопределенности |
Д а^ |
в правую часть |
уравнений и |
объединим |
их с неопределенностями Д6*. В таком случае надо вычислить
неопределенность г-й линейной комбинации 2 a>ijXj и добавить
з
ее к неопределенности правой части Д6*. Теперь возникает вопрос, каким образом (согласно какой гипотезе) вычислить неопределен ность линейной комбинации и согласно какой гипотезе присоеди нить ее к неопределенности правой части. От выбора этих гипотез зависит конкретный алгоритм вычисления неопределенностей ли нейной комбинации.
Рассмотрим две гипотезы. В первом случае неопределенность Aciij является детерминированной величиной (например, показыва ет изменение цены некоторого ресурса); во втором (в задачах ЛП с другим физическим содержанием) неопределенность Д а^ будет случайной величиной, для шторой известны математическое ожи дание и дисперсия. Тогда в первом случае неопределенность г-й ли нейной комбинации 2 dijXj будет равна 2 AaijXj, а полная неопре-
3 |
3 |
|
деленность г-й координаты вектора правой части есть |
|
|
A-zbi = ^ |
AaijXj + Ab{. |
(2.21) |
з |
|
|
Во втором случае мы будем исходить из того, что все участвующие в расчете неопределенности носят случайный характер и мож
но |
вычислить |
дисперсию линейной комбинации, полагая Да*,-, |
г = |
1,..., гл, j = |
1,2,..., га, независимыми случайными величинами |
с известными дисперсиями D(aÿ), а затем суммировать дисперсию линейной комбинации и неопределенности правой части Д6*, пола гая величину (Abi)2 равной дисперсии bi, т. е. D(6*) = (Abi)2.
Таким образом, дисперсию линейной комбинации определяем по формуле
а полную неопределенность Д^Ь* (погрешность) г-й координаты вектора правой части системы (2.16) —по формуле
|
71 |
|
+ D(Ы) = |
x 2D(a,ij) + (Abi)2. |
(2.22) |
В формулах (2.21) и (2.22) значения X j , j = 1,2, ... ,п , |
берутся |
из симплекс-таблицы оптимального решения. Далее анализируем ситуацию так же, как в случае существования неопределенности только в правой части. Очевидно, что исследование можно прово дить подобным образом и для случая Abi = 0, i = 1,2,..., т.
Г л а в а 3
СЕТЕВЫЕ И ПОТОКОВЫЕ ЗАДАЧИ
§3.1. Основные определения и приложения сетевых и потоковых моделей
Многие задачи линейного программирования могут быть сфор мулированы как сетевые. Примером таких задач является транс портная задача (см. ранее рис. 1.2). Однако можно указать и такие сетевые задачи, которые нельзя сформулировать в виде задачи ЛП. Например, таковой является задача коммивояжера.
Вследствие специальной структуры сетевых задач для них получено много эффективных алгоритмов и изящных теорем, обес печивающих решение широкого круга практических задач. В боль шинстве сетевых задач оптимальные решения являются целочис ленными, в отличие от решения общей задачи линейного програм мирования.
Основные определения в сетевых и потоковых задачах
Введем основные определения и понятия. Сеть состоит из мно жества узлов Ni, i = 1, 2, . . . , к (называемых также вершинами, или
точками соединения), и множества дуг A y, i , j = \ , 2 , . . . , k (назы ваемых также звеньями или ребрами), которые связывают узлы Ni и Nj. Если дуга имеет определенную ориентацию (направление), то ее называют ориентированной, или направленной.
Сеть называют связной, если при любом разбиении множества узлов сети на подмножества X и X найдется дуга Ац или ду га Aji, связывающая г-й узел N , принадлежащий подмножеству X , Ni 6 X , и j -й узел Nj, принадлежащий подмножеству X , Nj е X .
Будем рассматривать только связные сети и будем считать, что между любыми двумя узлами N и N j имеется не больше одной ориентированной дуги Aij и одной ориентированной дуги Aji либо
имеется только одна неориентированная дуга А ^ . Одну неориенти рованную дугу можно заменить двумя ориентированными. Суще ствование петель (дуг, ведущих из некоторого узла в тот же узел) исключается.
Последовательность узлов и дуг N\, А \2, N2, А 23, • • Nk~\,
Ak- 1,ь Nk сети называют цепью (ориентированной цепью), веду щей из узла Ni в узел TV*.. Если N\ = Nk, то такую последова тельность называют ориентированным циклом. Цепь называют про стой, если она не содержит циклов.
Путем называют последовательность N \,A \2,N 2,A 23,...,N k -i, А к-\,ь N k, где N \, N2, ■■-, N k —узлы сети и либо A iti+l, либо A i+iti, г= 1,2, ...,к — 1, — дуга сети. Путь отличается от цепи тем, что при движении от узла N\ к узлу N k можно пройти дугу сети и в направ лении, противоположном ее ориентации. Для неориентированных сетей понятия цепи и пути совпадают. В частности, циклами явля ются контуры.
Контуром называют конечную цепь, начальный и конечный уз лы которой совпадают. Очевидно, что циклы являются замкнутыми путями, а контуры замкнутыми цепями. Вырожденный цикл назы вают петлей. Петля образуется одним узлом и одной дугой и по этому является как контуром, так и циклом.
В связной сети для любых двух различных узлов существует по крайней мере один соединяющий их путь (или цепь). Частным случаем связных ориентированных и неориентированных сетей яв ляются деревья. Если множество всех узлов и дуг задать в виде графа G = (TV, А), где N — множество узлов, А — множество дуг, то дерево определяют как связное подмножество {подграф) G\ мно жества (графа) G, не содержащее циклов, т. е. для любых двух узлов дерева существует единственный путь, соединяющий их. В сети, содержащей п узлов, подграф из к узлов (к ^ п) является деревом, если выполнены любые два из следующих условий:
1)подграф является связным;
2)подграф не имеет циклов;
3)число дуг в подграфе равно к — 1.
Остовным связующим деревом (остовом) называют дерево, содержащее все узлы сети. Если сеть содержит п узлов, дере во с п узлами и п — 1 дугами является остовом. Кратчайшим