Теория принятия решений / pdf / Dec_make3
.pdf
8.4.2. Графическое решение задач линейного программирования
Поскольку модель содержит только две переменные, задачу можно решить графически. В случае трех переменных графическое решение становится менее наглядным, а при большем числе переменных - даже невозможным. Несмотря на это, графическое решение позволит сделать некоторые выводы, которые лежат в основе общего метода решения задачи линейного программирования.
Первый шаг при использовании графического метода заключается в геометрическом представлении допустимых решений, то есть построении области допустимых решений, в которой одновременно удовлетворяются все ограничения модели (рис.8.1).
Полученное пространство решений - многоугольник ABCDEF. В каждой точке, принадлежащей внутренней области или границам многоугольника решений ABCDEF, все ограничения выполняются, поэтому решения, соответствующие этим точкам, являются допустимыми. Пространство решений содержит бесконечное число таких точек, но несмотря на это, можно найти оптимальное решение, если выяснить, в каком направлении возрастает целевая функция модели z = 3x2+ 2x1. На рис. 8.2 показано, как осуществляется эта операция.
x1 |
|
|
|
|
|
|
|
|
|
(5) |
|
|
|
|
|
|
|
|
|
8 |
|
|
|
|
|
|
|
|
|
7 |
|
|
|
|
|
|
|
|
|
6 |
|
(2) |
|
|
|
|
|
|
|
5 |
|
|
|
(3) |
|
|
|
|
|
|
|
|
|
|
|
Пространство |
|||
|
|
|
|
|
|
|
|||
4 |
|
|
|
|
|
|
решений |
||
3 |
|
|
|
|
|
|
|
|
|
2 |
E |
|
D |
|
|
(4) |
|
|
|
|
|
|
|
|
|
|
|
||
1 |
F |
|
|
|
C |
(1) |
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
B |
|
x2 |
|
0 |
A |
1 |
2 |
3 |
4 |
5 |
6 |
||
(6) |
|||||||||
Рис.8.1. Ограничения: x2+ 2x1 ≤6 (1), 2x2+ x1 ≤ 8 (2), -x2+x1 ≤1 (3), x1≤2 (4), x1≥0 (5), |
|||||||||
x2≥0 (6). |
|
|
|
|
|
|
|
|
|
На график наносят ряд параллельных линий, соответствующих уравнению целевой функции при нескольких произвольно выбранных и последовательно возрастающих значениях z, что позволяет определить наклон целевой функции и направление, в котором происходит ее увеличение (возрастание общего дохода).
100
|
x1 |
|
|
|
|
|
|
|
E |
(4) |
D |
|
Оптимум |
|
|
2 |
|
|
|
||||
(3) |
|
(1) |
|
|
|
||
|
|
C |
|
|
|||
1 |
F |
|
|
|
|
||
|
|
|
(2) |
|
|||
(5) |
|
|
|
|
|||
|
|
|
B |
x2 |
|||
|
|
|
|
|
|||
0 |
A |
(6) |
|
|
|
||
z=6 |
z=9 |
z=12 2/3 |
|||||
|
|
|
|||||
Рис.8.2. Целевая функция: max z = 3x2+ 2x1. Оптимальное решение: x2=31/3 т, x1=11/3 т, z= 122/3 тыс. долл.
Чтобы найти оптимальное решение, следует перемещать прямую, характеризующую целевую функцию, в направлении возрастания до тех пор, пока она не сместится в область недопустимых решений. На рис.8.2 показано, что оптимальному решению соответствует точка С. Так как она является точкой пересечения прямых (1) и
(2). Значения x2 и x1 в этой точке определяются решением следующей системы уравнений:
x2 + 2x1 = 6,
2x2 + x1 = 8.
Решение указанной системы уравнений дает следующий результат: x2 = 31/3, x1 = 11/3. Полученное решение означает, что суточный объем производства краски 2 должен быть равен 31/3 т, а краски 1 - 11/3 т. Доход, получаемый в этом случае, составит
z = 3×31/3 + 2 × 11/3 = 121/3 тыс. долл.
8.5. Нелинейное программирование
Нелинейное программирование (НЛП) – это такая задача математического программирования, когда-либо целевая функция, либо ограничения, либо они вместе представляют собой нелинейные функции. Несмотря на то, что ограничения могут быть наложены на сами переменные, термин НЛП применяется только тогда, когда X − действительные числа. Решение задач НЛП намного сложнее решения задач ЛП, при прочих равных условиях. Рассмотрим особенности задач НЛП, а именно то, где может находиться оптимальное решение. Для этого будем рассматривать целевую функцию двух переменных. В НЛП используют геометрический образ целевой функции (рис.8.3), как некоторой поверхности, определённый на множестве управляемых переменных.
Методы НЛП разработаны только для выпуклых функций, причём, так как используются производные, считается, что функции должны быть дифференцируемы.
101
F |
F(X1 , X2) |
X1 |
X2
Рис.8.3
8.5.1. Методы оптимизации нелинейных функций без ограничений
Если ограничения в задаче НЛП отсутствуют, то применяют все методы оптимизации нелинейных функций. Причём, если в задаче с ограничениями, они находятся внутри области, то решение можно найти этими методами. Говорят, что ограничения не являются активными и их можно отбросить. Рассмотрим наиболее широко применяемые методы.
1. Классический градиентный метод.
Все эти методы принадлежат к поисковым методам, т.е. оптимальное решение находится не сразу, а последовательным движением от точки к точке и заканчивается в оптимальной точке. Начинаем с начальной точки, её выбор – чтобы была ближе к оптимальной точке. Для её выбора и направления движения используют понятие градиента. Градиент – вектор, показывающий направление наибыстрейшего изменения функции. Градиент направлен по нормали к поверхности целевой функции, а в
плоскости X1OX 2 − по нормали к линиям уровня. Алгоритм: X k +1 = X k ±λk g(X k ).
Каждая последующая точка определяется как предыдущая ± длина градиента в предыдущеё точке шага ("+" – задача на максимум; " – " – задача на минимум). Если максимуму или минимум гладкий (большой коэффициент "тупизны"), градиент у нас уменьшается (в вершине градиент равен нулю) по модулю по мере приближения к максимуму и шаг уменьшается. Но при выборе λ надо иметь в виду следующее: если
λ− мало, то идти будем долго, а если λ − большое, то можем перепрыгнуть.
Внекоторых алгоритмах λ = const , в более сложных λ зависит от k . Правила остановки могут быть различными, например следующее:
max g Xr ≤ε
r
2.Покоординатный градиентный метод (метод координат спуска или
подъёма).
Из некоторой начальной точки движемся вдоль некоторой координаты в сторону, где проекция градиента положительна. Движемся до тех пор, пока производная по этой координате не будет равна нулю. Затем движение идёт по второй координате аналогичным способом, и т.д. (если для двух координат, то опять по первой
ипо второй).
3.Метод наискорейшего спуска (подъёма).
В этом алгоритме из некоторой начальной точки движение осуществляется вдоль направления градиента до тех пор, пока производная по этому направлению не
102
будет равна нулю. Далее из этой точки определяем градиент и т.д. Отличие здесь в том, что длина шага X k определяется из условия, чтобы обеспечить:
min F[X k ±λ×g(X k )]
λ>0
алгоритмами с длинным шагом. Кроме вторую производную, например, метод
1.Отражение – поворот симплекса через одну из сторон;
2.Растяжение – если идём в правильном направлении;
3.Редукция – возврат назад, если перескочили максимум;
4.Сжатие – уменьшение сторон, чтобы движение было с более мелким шагом.
Алгоритм:
1. Обозначим X h(k ) −самая худшая точка; X l(k ) −самая лучшая точка.
F (X h(k ))= Fmax(k ) ; F (X l(k ))Fmin(k )
X 0(k ) −центр тяжести всех вершин, исключая X n . Координаты центра тяжести определяются:
(k ) |
1 |
n+1 |
(k ) |
(k ) |
|
|
|||
|
|||||||||
X 0 |
= |
|
∑X ij |
|
− X nj |
; j =1, n |
|||
n |
|||||||||
|
|
|
i=1 |
|
|
|
|
||
|
|
|
|
|
|
|
|||
2. Затем производим отражение и получаем точку: Xα(k ) = X 0(k ) +α(X 0(k ) − X n(k )). Здесь α −коэффициент отражения; в обычном случае он равен единице.
103
• |
Если |
F (Xα(k ))≤ F(X l(k )), |
то вектор |
Xα(k ) − X 0(k ) растягивается в |
γ |
раз и |
||||
|
получаем: |
|
|
|
|
|
|
|||
|
|
X b(k ) = X 0(k ) +γ (X n(k ) − X n(k )); γ >α |
|
|
||||||
Если для полученной точки |
X b F (X b(k ))< F(X l(k )), то X n(k ) заменяется на X b(k ) , и |
|||||||||
переходим к пункту 2 |
|
|
|
|
|
|
||||
• |
Если |
F (Xα(k ))> F(X i(k )); |
i ≠ h , то вектор X n(k ) − X 0(k ) сжимается в |
β |
раз и |
|||||
|
получаем точку: |
|
|
|
|
|
|
|||
|
|
X i(k ) = X 0(k ) + β(X 0(k ) − X n(k )); 0 < β <1 |
|
|
||||||
Затем точка X n(k ) заменяется на точку X l(k ) , и так же переходим к пункту 2 |
|
|||||||||
• |
Если F (Xα(k ))> F (X n(k )), то все векторы X i(k ) − X l(k ) уменьшаются в λ раз: |
|||||||||
|
|
X i(k ) = X l + |
1 |
(X i(k ) − X l(k )); |
i = |
|
. i − номер вершины. |
|
|
|
|
|
1,n +1 |
|
|
||||||
|
|
|
|
|
||||||
|
|
|
λ |
|
|
|
|
|
|
|
Затем возвращаемся к пункту 1.
Правило остановки:
n1+1∑n+1 [F(X i(r ))− F(X 0(r ))]2 ≤ε .
i=1
8.6.2. Задачи НЛП с ограничениями-равенствами
В НЛП особо рассматриваются задачи с ограничениями-равенствами. Это так называемые задачи на условный экстремум. Решение такой задачи производится с использованием функции Лагранжа. Это функция позволяет построить новую целевую функцию, которая бы в виде штрафа учитывала ограничения:
m
Ф(X ,λ)= F(X )+∑λi (ϕi (X )−bi ) (1)
i=1
(8.1)
F(X )−целевая функция.
Таким образом, задача сводится к минимизации функции Лагранжа без ограничений. Для её решения используется классический приём записывается условие
существования экстремума: |
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
∂Ф |
|
|
∂F |
m |
|
∂ϕ |
i |
|
|
|
|
|
|
(2) |
|
|
|
|
|
|
|
|
|
|||||||||
|
|
= |
|
|
+∑ |
λi |
|
|
= 0, j =1,n; |
|||||||
|
|
|
|
|
||||||||||||
|
∂X j |
|
|
∂X j |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
i=1 |
|
∂X j |
|
|
|
|
|
|
|||||
|
|
|
∂Ф |
=ϕi (X )−bi = 0, i = |
|
; (3) |
|
|||||||||
|
|
1,m |
|
|||||||||||||
|
|
|
|
|||||||||||||
|
|
|
∂λi |
|
|
|
|
|
|
|
|
|
|
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
(8.2), (8.3)
λi − множитель Лагранжа.
Выражения (8.2) и (8.3) дают точки подозрительные на экстремум и их ещё надо проверить с помощью достаточных признаков экстремума. Рассмотрим некоторые из этих признаков.
1. Пусть X * − критическая точка подозрительная на экстремум полученная с помощью выражений (8.2) или (8.3). Рассмотрим матрицу Гесса – матрицу вторых производных:
104
H = ∂2Ф ∂X i ∂X j
Если эта матрица определена положительно, то точка X * − минимум, а если определена отрицательно, то максимум. Если же матрица Гесса знаконеопределенна, то в этой точке экстремума нет, а если полуопределена, то это признак не даёт ответа на вопрос.
2. Пусть Dk − главный определитель матрицы Гесса k − го порядка.
•Если D1 > 0, D2 > 0, D3 > 0, − это достаточный признак минимума;
•Если D1 < 0, D2 > 0, D3 < 0, −достаточный признак минимума;
•Если же в определителях знаки ≥ и ≤, то это необходимый, а не достаточный признак и вопрос об экстремуме не решается.
3. Наиболее сильным достаточным признаком является следующий. Составим
расширенную матрицу Гесса: |
|
|
|
|
|
∂ϕ |
|
|
∂ϕ |
|
|
∂ϕ |
|
|
|
|
|
|
|
|
|
|
1 |
|
1 |
|
1 |
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
∂X |
|
|
∂X |
|
|
|
|
||||
|
|
|
|
|
|
1 |
|
2 |
|
∂X n |
|
|||||
|
0 Q |
|
|
|
|
∂ϕ |
2 |
|
∂ϕ |
2 |
|
∂ϕ |
2 |
|
|
|
H β |
= |
|
; |
Q = |
∂X |
|
|
∂X |
|
∂X |
|
|
|
|||
|
|
|
|
|
1 |
|
2 |
|
n |
|
||||||
|
Q′ |
H |
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
|
|
|
|
||||||
|
|
|
|
|
|
|
∂ϕn |
|
∂ϕn |
|
∂ϕn |
|
|
|||
|
|
|
|
|
|
∂X1 |
|
∂X 2 |
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|||||||
Q′− транспонированная матрица. |
|
|
|
∂X n |
|
|||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Признак: точка |
X * |
соответствует |
|
максимуму |
если начиная |
с главного |
||||||||||
определителя порядка |
m +1, |
последние |
|
|
n −m определителей матрицы |
H образуют |
||||||||||
знакопеременный ряд, |
а знак определителя стоящего на n −m − ом месте от конца |
|||||||||||||||
должен быть:
(−1)m+1 → max (−1)m → min
Геометрически задача на условный экстремум сводится к тому, что решение находится в той точке, где линия (поверхность) определяющая функцию (систему) ограничений, касается какой-нибудь линии уровня.
Y |
|
2 |
|
X2+Y2 → |
|
|
min |
2 |
X |
105
8.7. Квадратичное программирование.
Задачей КП называется такая задача НЛП, когда целевая функция представляет собой сумму линейной и квадратичной формы (переменные не старше второй степени), а все ограничения линейные, т.е. эта задача на одну ступень выше ЛП и для решения таких задач используется симплекс-метод.
В нелинейном программировании до конца изучен вопрос существования решения только для задачи выпуклого программирования. Фундаментом является
теорема Куна-Таккера: если функции F(x) и ϕ(x) выпуклые, то решение задачи НЛП находится в седловой точке для функции Лагранжа, т.е.:
|
|
|
|
m |
F(x)→ min; |
ϕi (x)≤ 0, i = |
|
; |
Ф(x,λ)= F(x)+∑λiϕi (x) |
1,m |
||||
|
|
|
|
i=1 |
Поэтому, составляя соответствующую функцию Лагранжа необходимо найти её седловую точку. Геометрически это можно нарисовать, если X − одна координата и λ − один коэффициент:
Ф(X * , λ)≤Ф(X * , λ* )≤Ф(X , λ)
Ф |
Х |
λ
Эта точка должна удовлетворять системе следующих неравенств:
|
|
|
|
|
|
* |
|
∂Ф |
|
|
|
|
* |
|
∂Ф |
|
|
|
|
|
|
|
||
|
∂ |
Ф |
|
|
|
X j |
|
|
|
|
= 0 |
λ |
|
|
|
= 0 |
|
|
∂ |
|
|
|||
|
|
|
|
|
||||||||||||||||||||
|
|
|
|
|
|
|||||||||||||||||||
|
|
|
|
|
≤ 0; |
|
∂X |
j |
|
; |
|
i |
|
|
|
|
|
; |
|
Ф |
|
≥ 0 |
||
|
|
|
|
|
|
|
|
|
||||||||||||||||
|
|
|
|
|
|
|
|
|
X * ,λ* |
|
|
|
|
|
∂λj |
|
|
|
|
|
|
|
||
|
∂X j |
* |
* |
|
* |
|
|
|
|
|
* |
|
|
|
|
|
|
|
|
∂λi |
X * ,λ* |
|
||
|
|
|
|
|
|
|
|
|
|
|
|
|||||||||||||
|
|
|
|
X |
,λ |
|
≥ 0, j =1,n |
≥ 0, i =1,m |
|
|
|
|
||||||||||||
|
|
|
|
|
|
X j |
λi |
|
|
|
|
|||||||||||||
.
Итак, точка Куна-Таккера позволяет записать условие Куна-Таккера и найти седловую точку.
106
8.7.1. Решение задач квадратичного программирования методом Баранкина-Дорфмана
Задачей КП называется следующая задача:
F(X )= ∑n p j X j +∑∑n n (Ckj X k X j )→ min j=1 k =1 j=1
n
ϕi (X )= ∑aij X j −bi ≤ 0, i =1, m, j =1,n, X j ≥ 0
j=1
Вматричном виде: пусть P, X , B − векторы-столбцы:
|
′ |
|
′ |
→ min, |
AX < b, |
X ≥ 0 . |
|
|
|
|
|
|
|
|||
F = p X + X CX |
|
|
|
|
|
|
|
|||||||||
C − матрица квадратичной |
формы, |
которая |
должна |
быть симметрична |
и |
|
|
|||||||||
положительно полуопределена. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||
Метод Баранкина-Дорфмана непосредственно основан на применении теоремы |
|
|
||||||||||||||
Куна-Таккера, поэтому условие Куна-Таккера в матричной форме для КП выглядит |
|
|
||||||||||||||
следующим образом: |
|
|
|
|
|
|
|
∂Ф |
|
|
|
|
|
∂Ф |
|
|
|
|
′ |
|
′ |
|
|
|
=V |
= p |
′ |
′ |
− |
=Y = −AX + |
|||
Ф(Xλ)= p X + X CX +λ(AX −b); |
∂X |
|
+2CX + A λ; |
∂λ |
||||||||||||
|
ı |
|
F (X ) |
ı |
штраф |
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
Тогда условие Куна-Таккера можно записать в следующем виде: |
|
|
|
|
||||||||||||
|
AX +V = b |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
2CX −V + A′λ = −p |
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
( ) |
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
− условие Куна-Таккера . |
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
X ≥ 0; Y ≥ 0;V ≥ 0; λ ≥ 0 |
|
|
|
|
|
|
|
|
|
|||||||
|
XV +Yλ = 0 |
(#) |
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|||||
Неизвестными являются (X ,Y ,V ,λ). |
|
|
|
|
|
|
|
|
|
|
|
|||||
( )−система линейных |
уравнений |
относительно неизвестных; решить её - |
|
|
||||||||||||
значит найти решение задачи ЛП. (#)−нелинейное условие, и поэтому задача сводится |
|
|
||||||||||||||
к нахождению точки в допустимой области, |
чтобы выполнилось |
(#). Введём новый |
|
|
||||||||||||
вектор Z = (X ,Y ,V ,λ) и Z~ = (V ,λ, X ,Y ). |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
1 |
|
~ |
|
|
|
|
|
|
|
|
|
|
|
|
XV +Yλ = |
2 |
Z ×Z . |
|
|
|
|
|
|
|
|
|
|
|
|
||
Окончательно условие Куна-Таккера будет выглядеть так: |
|
|
(8.5). |
|
|
|||||||||||
|
A E |
0 |
0 |
|
|
b |
|
|
(1); |
|
|
~ |
|
|||
|
|
|
|
|
|
|
|
|||||||||
|
|
|
|
|
|
(8.4); |
|
|
|
|
|
|
= 0 |
|||
|
|
|
×Z ′ = |
, Z ≥ 0 |
|
|
|
T (Z )= Z ×Z |
||||||||
|
|
|
|
′ |
|
|
|
|
|
|
|
|
|
|
|
|
|
2C 0 − E A |
|
|
− p |
|
|
|
|
|
|
|
|
|
|||
Метод Баранкина-Дорфа заключается в следующем: находится допустимый |
|
|
||||||||||||||
вектор Z , удовлетворяющая выражению |
(8.4) и проверяется условие (8.5). Далее |
|
|
|||||||||||||
выбирается новое базисное решение, причём оно выбирается так, чтобы величина T (Z ) |
|
|
||||||||||||||
всё время уменьшалась. Для этого используется модифицированная симплекс-таблица, |
|
|
||||||||||||||
в которой генеральный элемент находится минимизацией выпуклой функции T (Z ): |
|
|
|
|||||||||||||
|
(8.6),~ |
→ min |
|
(3) |
|
|
|
|
|
|
|
|
|
|
||
T (Z )= Z ×Z |
|
|
|
|
|
|
|
|
|
|
|
|||||
т.е. мы решаем задачи (8.4) и (8.6), а не (8.6) и (8.5). В симплекс-таблице записывается в качестве базисных переменных, все переменные. Запишем строку базисных переменных:
107
n
Z g = dg0 +∑dgh ×th , g =1,2N
h=1
где 2N = 2(n +m) и th −свободные переменные.
Если строка соответствует свободным переменным, то в строке одна единица и остальные нули. Для выбора генерального элемента используются следующие элементы, которые записываются в дополнительные строки:
N |
|
N |
|
|
dg0 |
|
α j = ∑(dij ×di+N ,0 + di+N , j ×di0 |
) |
β j = 2∑dij ×di+N , j |
Θj = min |
|
, приdg j < 0 (a |
|
|
d |
|||||
i=1 |
|
i=1 |
g |
|
||
|
|
K j = 2α j +Θj β j |
|
|
g j |
|
|
|
|
|
|
|
|
108
0.0.1. Можно показать, |
что |
новое |
значение Tj =T +Θj K j : По |
||||||
определению Θj |
> 0 , поэтому K j |
должно быть меньше нуля, так |
|||||||
как хотим, что бы оно было меньше Tj |
. Рассмотрим величину K j : |
||||||||
величина |
β j −вторая |
|
производная функции T (Z ), которая |
||||||
выпукла вниз, и поэтому β j |
> 0 , значит, надо выбрать тот столбец, |
||||||||
для которого α j < 0 , |
|
а |
строку надо выбрать ту, для которой |
||||||
вычисляется величина Θ . |
|
|
|
||||||
Пример: |
|
|
|
|
|
|
|
|
|
F(x)= −6x |
+ 2x2 |
− 2x x |
2 |
+ 2x2 → min |
|
||||
1 |
1 |
|
1 |
|
|
2 |
|
|
|
|
x1 + x2 |
≤ 2 |
|
|
|
|
|||
|
|
x1 ≥ 0 |
|
|
|
|
|||
|
|
x2 |
≥ 0 |
|
|
|
|
||
Запишем все матрицы, которые нам нужны: |
|
|
|||||||
|
|
|
2 |
−1 |
− 6 |
||||
A = (1,1); B = 2; C = |
|
|
|
; p = |
; n = 2; m =1; N = 3; |
||||
|
|
|
|
−1 |
|
|
|
||
|
|
|
|
2 |
|
0 |
|||
Запишем условие Куна-Таккера, определяемое выражением (8.4):
|
|
|
|
|
|
|
|
|
|
|
|
x |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
|
|
(1 1) |
|
|
1 |
|
|
(0 0) |
0 |
|
|
x2 |
|
|
2 |
||
|
|
|
|
|
|
y |
|
||||||||||
|
|
4 − 2 |
|
0 |
|
|
−1 0 |
1 |
|
|
|
|
|
||||
|
|
× |
|
1 |
|
= |
6 |
|
|||||||||
|
|
|
|
|
|
|
V1 |
|
|||||||||
|
|
− 2 4 |
|
|
|
|
|
|
|
|
|||||||
|
|
|
|
0 |
|
|
0 −1 |
1 |
|
|
|
|
|
|
0 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
V2 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
λ |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1 |
|
|
|
|
x1 + x2 + y1 = 2
4x1 −2x2 −V1 +λ1 = 6
−2x1 +4x2 −V2 +λ1 = 0
Чтобы записать симплекс-таблицу, надо выделить базис. Для получения первого базисного решения используется любой метод, например, метод Гаусса. Можно использовать метод, который использует симплекс-процедуры. Для любых задач можно и подобрать первое базисное решение. Мы подберём такое, чтобы сразу получить опорное решение:
Y1 = 2 − X1 − X 2
X1 = 6 −4X1 +2X 2 +V1
V2 = 6 −6X1 +6X 2 +V1
Запишем симплекс-таблицу по методу Баранкина-Дорфмана – таблица 8.1. Симплекс преобразования: строку умножаем на −λ , а столбец на λ . Порядок
строк нарушать нельзя.
Недостаток метода: иногда встречаются задачи, когда все K j > 0 . Значит мы
будем переходить в новую вершину и значение будет увеличиваться, т.е. в соседних вершинах значение больше (мы идём по соседним вершинам в симплекс-методе). В этом случае идём на временное ухудшение T , т.е. идём через "мёртвую зону". В алгоритме Франца-Вольфа это учтено.
109
