
- •Общая постановка задачи линейного программирования
- •§ 1.1. Экономико-математическая модель
- •§ 1.2. Примеры задач линейного программирования
- •По смыслу задачи переменные (1.2)
- •§ 1.3. Общая задача линейного программирования
- •Глава 2. Элементы линейной алгебры и геометрии выпуклых множеств
- •§ 2.3. Геометрический смысл решений неравенств, уравнений и их систем
- •Глава 4. Геометрический метод решения задач линейного программирования
- •Глава 5. Симплексный метод
- •§ 5.1. Геометрическая интерпретация симплексного метода
- •§ 5.2. Отыскание максимума линейной функции
- •§ 5.3. Отыскание минимума линейной функции
- •§ 5.4. Определение первоначального допустимого базисного решения
- •При ограничениях
- •§ 5.5. Особые случаи симплексного метода
- •I. Неединственность оптимального решения (альтернативный оптимум)
- •II. Проблема вырожденного базисного решения
- •III. Отсутствие конечного оптимума
- •§ 5.6. Симплексные таблицы
- •§ 5.7. Понятие об м-методе (методе искусственного базиса)
- •Глава 6. Двойственные задачи
- •§ 6.1. Экономическая интерпретация задачи, двойственной задаче об использовании ресурсов
- •§ 6.2. Взаимно двойственные задачи линейного программирования и их свойства
- •§ 6.3. Первая теорема двойственности
- •§ 6.4. Вторая теорема двойственности
- •§ 6.5. Объективно обусловленные оценки и их смысл
- •Глава 7. Транспортная задача
- •§ 7.1. Экономико-математическая модель транспортной задачи
- •§ 7.2. Нахождение первоначального базисного распределения поставок
- •§ 7.3. Критерий оптимальности базисного распределения поставок
- •§ 7.4. Распределительный метод решения транспортной задачи
- •§ 7.5. Открытая модель транспортной задачи
- •23.6. Альтернативный оптимум в транспортных задачах
- •23.7. Вырожденность в транспортных задачах
III. Отсутствие конечного оптимума
Пример 5.9. Решить симплексным методом задачу:
при ограничениях:
Решение. Геометрическое решение этой задачи приведено в примере 4.3,б (см. рис. 4.5,6). На очередном шаге решения этой задачи симплексным методом получаем.
Основные переменные: х1, х2, х5. Неосновные переменные: x3, x4.
- базисное решение;
;
min
не достигнут, так как критерий оптимальности
на min не выполнен: переменная х3
имеет отрицательный коэффициент в
выражении для F.
Определяем х3
= min (
,
,
)
=
,
так как в каждое из трех уравнений эта
переменная входит с тем же знаком, что
и свободный член. Уравнения не ограничивают
рост х3,
поэтому и значение функции F
неограниченно и отрицательно, т.е.
.
Если на каком-либо шаге
получаем, что во всех уравнениях системы
бесконечны оценочные отношения той
переменной, которая переводится в
основные, то задача не имеет конечного
оптимума (
,
если задача на отыскание максимума,
,
если задача на отыскание минимума).
Подводя итоги, можно утверждать, что если система ограничений непротиворечива, то выполнение конечного числа последовательных шагов симплексного метода либо приводит к нахождению оптимального решения задачи, (оно может бы неединственным), либо к установлению того факта, что линейная функция не имеет конечного оптимума.
§ 5.6. Симплексные таблицы
Практические расчеты при решении реальных задач симплексным методом выполняются в настоящее время с помощью компьютеров. Однако, если расчеты осуществляются без ЭВМ, то удобно использовать так называемые симплексные таблицы. Далее мы рассмотрим алгоритм их составления, не углубляясь в его подробное обоснование. Для определенности считаем, что решается задача на отыскание максимума.
I. После введения добавочных переменных систему уравнений и линейную функцию записываем в виде, который называется расширенной системой:
Предполагаем, что все добавочные переменные имеют тот же знак, что и свободные члены; в противном случае — используем так называемый М-метод.
II. Исходную расширенную
систему заносим в первую симплексную
таблицу. Последняя строка таблицы, в
которой записано уравнение для линейной
функции цели, называется оценочной. В
ней записываются коэффициенты функции
цели с противоположным знаком: bi
= -ci,.
В левом столбце таблицы записываем
основные переменные (базис), в первой
строке таблицы — все переменные (отмечая
при этом основные), второй столбец —
свободные члены расширенной системы
b1
b2,
... , bm.
Последний столбец подготовлен для
оценочных отношений, необходимых при
расчете наибольшего возможно значения
переменной. В рабочую часть таблицы
(начиная с третьего столбца и второй
строки) занесены коэффициенты аij
при переменных из расширенной системы.
Далее таблица преобразуется по
определенным правилам. Проверяем
выполнение критерия оптимальности при
решении задачи на max
— наличие в последней строке отрицательных
коэффициентов
.
Если таких нет, то решение оптимально,
достигнут max F
= c0
(в левом нижнем углу таблицы); основные
переменные принимают значения аi0(второй
столбец), неосновные переменные равны
0, получаем оптимальное базисное решение.
IV. Если критерий оптимальности не выполнен, то наибольший по модулю отрицательный коэффициент bi < 0 в последней строке определяет разрешающий столбец S.
Составляем оценочные ограничения каждой строки по следующим правилам:
1)
,
если
имеют разные знаки; 2)
,
если
и
;
3)
,
если
;
4) 0, если
;
5)
,
если
имеют одинаковые знаки.
Определяем
.
Если конечного минимума нет, то задача
не имеет конечного оптимума (Fmax
=
).
Если min конечен, то выбираем строку q,
на которой он достигается (любую, если
их несколько), и называем ее разрешающей
строкой. На пересечении
разрешающих строки и столбца находится
разрешающий элемент aqs.
V. Переходим к следующей таблице по правилам:
а) в левом столбце записываем новый базис — вместо основной переменной xq переменную xs;
б) в столбцах, соответствующих основным переменным, проставляем нули и единицы: 1 - против "своей" основной переменной, 0 - против "чужой" основной переменной, 0 – в последней строке для всех основных переменных;
в) новую строку с номером q получаем из старой делением на разрешающей элемент aqs;
г) все остальные элементы
вычисляем по правилу прямоугольника:
Рис. 5.4
Переходим к п. III алгоритма.
Пример 5.10. Решить задачу об использовании ресурсов, приведенную в § 1.2, с помощью симплексных таблиц (В примере 4.1 эта задача уже решена геометрически, а в примере 5.1 симплексным методом без использования таблиц).
Решение. Расширенная система задачи имеет вид (5.1):
Линейную функцию представим в виде: F - 2х1 - 3x2 = 0.
Заполняем первую табл. 5.1, в которой переменные х3, х4, х5 основные. Последняя строка заполняется коэффициентам линейной функции с противоположным знаком (см. п. II алгоритма).
Таблица 5.1
Базис |
Свободный член |
Переменные |
Оценочное отношение |
|||||
|
|
|
|
|
|
|||
|
18 |
1 |
3 |
1 |
0 |
0 |
0 |
18/3 |
|
16 |
2 |
1 |
0 |
1 |
0 |
0 |
16 |
|
5 |
0 |
1 |
0 |
0 |
1 |
0 |
5 |
|
21 |
3 |
0 |
0 |
0 |
0 |
1 |
|
F |
0 |
-2 |
- |
0 |
0 |
0 |
0 |
|
В соответствии с п. III алгоритма проверяем критерий оптимальности. В последней строке имеются отрицательные коэффициенты.
Выбираем из них наибольший по модулю (-3); второй столбец разрешающий, переменная x2 перейдет в основные (этот столбец отмечен стрелкой). В соответствии с п. V находим оценочные отношения и х2 = min {18/3;16;5; } = 5. Третья строка является разрешающей (отмечена горизонтальной стрелкой). На пересечении разрешающих строки и столбца стоит разрешающий элемент a32= 1
Строим табл. 5.2 по правилам п. V:
а) в новом базисе основные переменные: х3, х4, х2, х6;
б) расставляем нули и единицы;
например, в клетке, соответствующей
основной переменной х3
по столбцу и строке, ставим 1, а в клетке,
соответствующей основной переменной
х2
по строке, а основной переменной х2
— по столбцу, ставим 0 и т.п. В последней
строке против всех основных переменных
ставим 0. Третья строка получается
делением на разрешающий элемент а33
= 1. Остальные клетки заполняем по правилу
прямоугольника. Например:
и т.д. Получим вторую симплексную таблицу
(табл. 5.2).
Таблица 5.2
Базис |
Свободный член |
Переменные |
Оценочное отношение |
|||||
|
|
|
|
|
|
|||
|
3 |
1 |
0 |
1 |
0 |
-3 |
0 |
3 |
|
11 |
2 |
0 |
0 |
1 |
-1 |
0 |
11/2 |
|
5 |
0 |
1 |
0 |
0 |
1 |
0 |
|
|
21 |
3 |
0 |
0 |
0 |
0 |
1 |
7 |
F |
15 |
-2 |
0 |
0 |
0 |
3 |
0 |
|
И на этот раз критерий оптимальности не выполнен, первый столбец разрешающий; х1 – переходит в основные, min{3; 11/2; ;7} = 3. Первая строка разрешающая, а11 – разрешающий элемент. Новая симплексная таблица примет вид (табл. 5.3):
Таблица 5.3
Базис |
Свободный член |
Переменные |
Оценочное отношение |
|||||
|
|
|
|
|
|
|||
|
3 |
1 |
0 |
1 |
0 |
-3 |
0 |
|
|
5 |
0 |
0 |
-2 |
1 |
5 |
0 |
5/5 |
|
5 |
0 |
1 |
0 |
0 |
1 |
0 |
5/1 |
|
12 |
0 |
0 |
-3 |
0 |
9 |
1 |
12/9 |
F |
21 |
0 |
0 |
0 |
0 |
-3 |
0 |
|
И на этот раз критерий оптимальности не выполнен, пятый столбец и вторая строка разрешающие, a25 = 5 — разрешающий элемент. Переходим к табл. 5.4.
Таблица 5.4
Базис |
Свободный член |
Переменные |
Оценочное отношение |
|||||
|
|
|
|
|
|
|||
|
6 |
1 |
0 |
-1/5 |
3/5 |
0 |
0 |
|
|
1 |
0 |
0 |
-2/5 |
1/5 |
1 |
0 |
|
|
4 |
0 |
1 |
2/5 |
-1/5 |
0 |
0 |
|
|
3 |
0 |
0 |
3/5 |
-9/5 |
0 |
1 |
|
F |
24 |
0 |
0 |
4/5 |
3/5 |
0 |
0 |
|
Критерий оптимальности выполнен, значит Fmax = 24, оптимальное базисное решение (6;4;0;0;1;3) совпадает с ранее полученным (см. решение примера 5.1 симплексным методом).