
- •Алгоритм
- •Основываясь на предыдущей лекции, мы можем найти оптимальное решение ЗЛП, записанной в стандартной
- •Итерационная природа симплекс-метода
- •Для ответа на этот вопрос рассмотрим целевую функцию:
- •Очевидно, что если переменная х1 или переменная х2 (или обе сразу) примут
- •1. Если увеличивать значение переменной х1,
- •Так как точка С соответствует оптимальному решению, то на этом процесс вычислений заканчивается.
- •Отметим, что оба пути, и , расположены вдоль границы пространства решений.
- •Возникает вопрос: существует ли правило, в соответствии с которым можно было бы определить,
- •Т.к. рассматривается задача на максимум, то
- •Опишем перевод небазисных переменных в базисные и наоборот при переходе от одной угловой
- •Одновременно переменная s1, которая
- •В точке А переменная x1 вводится в базисное решение, а переменная s1 исклю-чается
- •Вычислительный алгоритм симплекс-метода
- •ПРИМЕР
- •Далее целевую функцию будем представлять в виде уравнения
- •Базис
- •Таблица показывает множества базисных и небазисных переменных, а также решение, соответствующее данной (начальной)
- •Поскольку небазисные переменные х1, х2 и коэффициенты при базисных
- •В таблице базисные переменные перечислены в левом столбце "Базис", а их значения приведены
- •Будет ли это начальное решение оптимальным? НЕТ. поскольку переменные х1
- •Если обратиться к приведенной выше таблице, то вводимая переменная определяется среди множества небазисных
- •Чтобы определить исключаемую переменную непосредственно из таблицы, надо вычислить точки пересечения всех функций
- •Базис
- •На рисунке видно, что неотрицательные отношения порождают точки пересечения на положительной полуоси х1.
- •Минимальное неотрицательное отношение соответствует базисной переменной s1, тем
- •Замена исключаемой переменной s1 на вводимую переменную x1,
- •Замена исключаемой переменной s1 на вводимую переменную x1, приводит к новым
- •В следующей таблице, которая пока совпадает с начальной таблицей ЗЛП, определим ведущий столбец,
- •Процесс вычисления нового базисного решения состоит из двух этапов.
- •В нашем примере выполняем такие вычисления.
- •Новая симплекс-таблица, соответствующая новому базисному решению (x1, s2, s3, s4), имеет следующий вид:
- •Новая таблица обладает теми же свойствами, что и начальная: только небазисные переменные х2
- •Далее определим исключаемую переменную.
- •Вычисления показывают, что минимальное (неотрицательное) отношение соответствует переменной s2, которая становится исключаемой;
- •Вычисляем элементы новой симплекс-таблицы.
- •Бази
Будет ли это начальное решение оптимальным? НЕТ. поскольку переменные х1
и х2 здесь равны нулю, а возрастание этих
переменных даже на единицу приводит к увеличению значения целевой функции
z = 5x1 + 4x2
на 5 (при увеличении x1) или на 4 (при увеличении х2).
Поскольку коэффициент при переменной x1,
в формуле целевой функции больше, чем коэффициент при х2, переменную х1 следует
ввести в число базисных (в этом случае она
станет вводимой). |
22 |
|
Если обратиться к приведенной выше таблице, то вводимая переменная определяется среди множества небазисных как переменная, имеющая наибольший отрицательный
коэффициент в z-строке (напоминаю, решается задача на максимум).
Если так случится, что все коэффициенты в z-строке будут неотрицательными, то дальнейшее увеличение значения целевой функции будет невозможно. Это будет означать, что достигнуто оптимальное решение.
23
Чтобы определить исключаемую переменную непосредственно из таблицы, надо вычислить точки пересечения всех функций ограничений с положительным направлением оси х1
(повторяю, что переменная x1 уже определена
как вводимая переменная). Координаты этих точек пересечения можно вычислить как отношения правых частей равенств (значение в столбце "Решение") к коэффициентам при переменной x1, в этих равенствах, как показано
в следующей таблице.
24

Базис |
Коэффициенты |
Решение |
Отношение (точка пересечения) |
|
при x1 |
|
|
S1 |
6 |
24 |
X1 = 24/6 = 4 (минимум) |
S2 |
1 |
6 |
X1 = 6/1 =6 |
S3 |
-1 |
1 |
X1 = 1/(-1) = -1 (не подходит) |
S4 |
0 |
2 |
X1 = 2/0 = ∞ (не подходит) |
25
На рисунке видно, что неотрицательные отношения порождают точки пересечения на положительной полуоси х1.
Отношения (пересечения), соответствующие переменным s3 и s4,
исключаются из рассмотрения, поскольку для них точка пересечения лежит или на отрицательной полуоси, или на бесконечности.
26
Минимальное неотрицательное отношение соответствует базисной переменной s1, тем
самым определяя эту переменную как исключаемую (т.е. на следующей итерации ее значение будет равно нулю).
Значение вводимой переменной х1 в новом
решении также равно минимальному неотрицательному отношению, а именно x1 = 4
(сравните с точкой В на рисунке выше). Значение целевой функции при этом значении х1 возрастет до 20 (= 5∙4).
27

28
Замена исключаемой переменной s1 на вводимую переменную x1,
приводит к новым множествам базисных и небазисных переменных и новому решению в точке В.
Небазисные (нулевые) переменные: (s1, х2). Базисные переменные: (x1, s2, s3, s4).
Теперь необходимо выполнить преобразования в последней таблице так, чтобы в столбцах "Базис" и "Решения" получить новое решение, соответствующее точке В. Вычисление нового базисного решения основывается на методе исключения переменных (методе Гаусса-Жордана), который описан в разделе А.2.7. Эти вычисления громоздкие и объемные, что делает компьютер незаменимым средством для решения задач линейного программирования. Вы должны освоить ручной способ вычислений хотя бы для того, чтобы понять, как работает симплекс-метод. После этого, вы, вероятно, никогда не будете
выполнять вычисления вручную. |
29 |
Замена исключаемой переменной s1 на вводимую переменную x1, приводит к новым
множествам базисных и небазисных переменных и новому решению в точке В.
Небазисные (нулевые) переменные: (s1;х2). Базисные переменные: (x1;s2;s3;s4).
Теперь необходимо выполнить преобразования в последней таблице так, чтобы в столбцах "Базис" и "Решения" получить новое решение, соответствующее точке В.
30
В следующей таблице, которая пока совпадает с начальной таблицей ЗЛП, определим ведущий столбец, ассоциируемый с вводимой переменной, и ведущую строку, ассоциируемую с исключаемой переменной.
Элемент, находящийся на пересечении ведущего столбца и ведущей строки, назовем
ведущим.
31

|
|
↓ |
|
|
|
|
|
|
Бази |
Z |
X1 |
X2 |
S1 |
S2 |
S3 |
S4 |
Решение |
с |
|
|
|
|
|
|
|
|
Z |
1 |
-5 |
-4 |
0 |
0 |
0 |
0 |
0 |
← S1 |
0 |
6 |
4 |
1 |
0 |
0 |
0 |
24 |
S2 |
0 |
1 |
2 |
0 |
1 |
0 |
0 |
6 |
S3 |
0 |
-1 |
1 |
0 |
0 |
1 |
0 |
1 |
S4 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
2 |
32