Симплексные таблицы.
При
практических расчетах реальных задач
удобно использовать симплексный метод
реализованный в симплексных таблицах.
Рассмотрим алгоритм их составления на
примере конкретной задачи, не углубляясь
в его подробное обоснование. Вернемся
к задаче 1 ( текст задачи см. лекция 29).
Найти максимум функции
при выполнении следующих условий :
Приведем задачу к каноническому виду, добавив в каждое неравенство системы ограничений по балансовой переменной, указывающей величину остатков сырья соответствующего вида:
Выпишем матрицу и расширенную матрицу этой системы:
Их ранг равен 3, значит система совместна и имеет три базисные переменные. Общий вид таблиц следующий:
С |
С1 |
С2 |
… |
Сq |
… |
Cn |
||
Базисные переменные |
Сбаз |
В |
А1 |
А2 |
… |
Аq |
… |
Аn |
|
|
|
a11 |
a12 |
… |
a1q |
… |
a1n |
|
|
|
a21 |
a22 |
… |
a2q |
… |
a2n |
|
|
|
|
|
… |
|
… |
|
|
|
|
ai1 |
ai2 |
… |
aiq |
… |
ain |
|
|
|
|
|
… |
|
… |
|
|
|
|
am1 |
am2 |
… |
amq |
… |
amn |
|
|
|
|
… |
|
… |
|
|
|
|
|
… |
|
… |
|
||
В
первой строке этой таблицы указаны
коэффициенты при переменных целевой
функции. В столбцы
Аj
записывают коэффициенты при переменной
хj.
В столбец В
записывают свободные члены уравнений
системы линейных ограничений. В первый
столбец симплекс таблицы заносят
наименования переменных, которые
образуют единичный
базис.
Если такого базиса нет, то можно выбрать
любые переменные в качестве базисных,
при этом число базисных переменных
равно рангу матрицы системы ограничений.
Две последние строки таблицы предназначены
для проверки полученного плана на
оптимальность. Значения
вычисляются как скалярное произведение
.
Значение целевой функции
на данном шаге можно вычислить так:
.
Оценки переменных
вычисляются по формуле
.
Заполним первую симплексную таблицу для нашей задачи. В качестве трех базисных переменных выберем переменные х3 , х4 , х5.
Таблица 1.
С |
3 |
9 |
0 |
0 |
0 |
||
Базисные переменные |
Сбаз |
В |
А1 |
А2 |
А3 |
А4 |
А5 |
x3 |
0 |
714 |
6 |
3 |
1 |
0 |
0 |
x4 |
0 |
910 |
5 |
10 |
0 |
1 |
0 |
x5 |
0 |
948 |
3 |
12 |
0 |
0 |
1 |
|
0 |
0 |
0 |
0 |
0 |
0 |
|
|
3 |
9 |
0 |
0 |
0 |
||
Проверяем выполнение критерия оптимальности ( формулировку см.выше ). В переложении для применения в симплексных таблицах возможны следующие варианты:
Если все оценки не положительны
,
то найденный план оптимален, решение
закончено.
Если имеются положительные оценки, например,
,
для которой все
,
то целевая функция неограничена сверху
на множестве планов и задача не имеет
конечного решения.
Если столбцов описанных в пункте 2 нет, но имеется положительная оценка, то продолжаем решение, выбирая новый базис.
Для
выбора нового базиса выделим наибольшую
из положительных оценок. Пусть это будет
.
Назовем столбец с номером q
– разрешающим.
В этом столбце для положительных
коэффициентов
составим отношения
,
из которых выберем минимальное. Если
оно получено в строке с номером p,
(т.е.
),
то эту строку назовем разрешающей.
На пересечении разрешающей строки и
разрешающего столбца находится
разрешающий элемент
.
Новой базисной переменной вместо хp
будет
переменная хq.
В нашей задаче наибольшая
из положительных оценок «9» находится
во втором столбце. Этот столбец будет
разрешающим.
Найдем разрешающую строку: 714/3=238;
910/10=91; 948/12=79. Минимальное значение –
«79», значит третья строка будет
разрешающей.
Переходим
к новой таблице по следующим правилам:
Заменим в первом столбце таблицы имя старой базисной переменной, стоящей в p-й строке ( хp= х5 ), на имя новой базисной переменной согласно номеру разрешающего столбца ( хq= х2 ).
В столбцах, соответствующих основным переменным, проставляем нули и единицы: 1 - против «своей» основной переменной, 0 - против «чужой» основной переменной.
Все элементы разрешающей строки делим на разрешающий элемент .
Далее производим пересчет остальных элементов симплекс-таблицы по методу Гаусса-Жордана. К каждой из остальных строк прибавляем преобразованную разрешающую строку, умноженную на такое число, чтобы в разрешающем столбце получился 0. Эти преобразования в виде формул можно записать так:
Таблица 2.
С |
3 |
9 |
0 |
0 |
0 |
||
Базисные переменные |
Сбаз |
В |
А1 |
А2 |
А3 |
А4 |
А5 |
x3 |
0 |
477 |
21/4 |
0 |
1 |
0 |
-1/4 |
x4 |
0 |
120 |
5/2 |
0 |
0 |
1 |
-5/6 |
x2 |
9 |
79 |
1/4 |
1 |
0 |
0 |
1/12 |
|
711 |
9/4 |
9 |
0 |
0 |
3/4 |
|
|
3/4 |
0 |
0 |
0 |
-3/4 |
||
Анализ полученной таблицы 2 показывает, что решение не оптимально. Наибольшая (и единственная) из положительных оценок находится в первом столбце. Он будет разрешающим. Найдем разрешающую строку: 79:(1/4)=316; 477:(21/4)=90.9; 120:(5/2)=48. Минимальное значение – «48», значит вторая строка будет разрешающей. Базисная переменная х4 меняется на переменную х1. Переходим к следующей таблице по описанным выше правилам.
Таблица 3.
С |
3 |
9 |
0 |
0 |
0 |
||
Базисные переменные |
Сбаз |
В |
А1 |
А2 |
А3 |
А4 |
А5 |
х3 |
0 |
225 |
0 |
0 |
1 |
-2.1 |
1.5 |
х1 |
3 |
48 |
1 |
0 |
0 |
2/5 |
-1/3 |
х2 |
9 |
67 |
0 |
1 |
0 |
-0.1 |
1/6 |
|
747 |
3 |
9 |
0 |
0.3 |
0.5 |
|
|
0 |
0 |
0 |
-0.3 |
-0.5 |
||
Данные этой таблицы указывают на оптимальность полученного решения, согласно которому целевая функция достигает максимального значения 747 при х1=48, х2=67, х3=225, х4=0, х5=0.
В
случае, если при приведении задачи к
каноническому виду не удается сразу
получить базис, т.е. среди векторов-столбцов
матрицы ограничений нет единичного
вектора, содержащего 1 на i-ом
месте, то используется М-метод
или метод
искусственного базиса.
В левую часть i-ого
уравнения добавляется новая переменная
хj,
(
).
Она становится недостающей базисной
переменной и вводится в целевую функцию
с коэффициентом (-М),
где М
– очень большое положительное число (
настолько большое, что все алгебраические
суммы, в которые М
входит с положительным коэффициентом
– положительны, а все алгебраические
суммы, в которые М
входит с отрицательным коэффициентом
– отрицательны ). Такие переменные
называют искусственными или М-переменными,
а построенную задачу М-задачей.
Пример
1:
Построить М-задачу:
найти максимум функции F=-2x1-3x2-4х3
при ограничениях
Преобразовав
неравенства в равенства, получим
следующую систему ограничений:
В
матрице ограничений полученной задачи
есть два единичных вектора-столбца:
и
.
Чтобы получить еще два единичных вектора,
введем две М-переменные
х7
и
х8
в
третье и четвертое уравнения. В целевую
функцию х7
и
х8
вводим
с коэффициентом (-М).
Окончательно имеем следующую формулировку
М-задачи:
найти максимум функции F= -2x1 - 3x2 - 4х3 - Мх7 - Мх8 при ограничениях
Решим эту задачу с помощью симплекс-таблиц так же, как решали каноническую задачу линейного программирования. Приведем все тре6уемые симплекс-таблицы без подробных комментариев.
Таблица 1.
С |
-2 |
-3 |
-4 |
0 |
0 |
0 |
-М |
-М |
||
Базисные переменные |
Сбаз |
В |
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
А7 |
А8 |
x4 |
0 |
12 |
2 |
3 |
1 |
1 |
0 |
0 |
0 |
0 |
x5 |
0 |
14 |
2 |
1 |
2 |
0 |
1 |
0 |
0 |
0 |
x7 |
-М |
4 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
x8 |
-М |
2 |
0 |
0 |
1 |
0 |
0 |
-1 |
0 |
1 |
|
-6М |
-М |
-М |
-М |
0 |
0 |
М |
-М |
-М |
|
|
М-2 |
М-3 |
М-4 |
0 |
0 |
-М |
0 |
0 |
||
Таблица 2.
С |
-2 |
-3 |
-4 |
0 |
0 |
0 |
-М |
-М |
||
Базисные переменные |
Сбаз |
В |
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
А7 |
А8 |
x4 |
0 |
4 |
0 |
1 |
1 |
1 |
0 |
0 |
-2 |
0 |
x5 |
0 |
6 |
0 |
-1 |
2 |
0 |
1 |
0 |
-2 |
0 |
x1 |
-2 |
4 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
x8 |
-М |
2 |
0 |
0 |
1 |
0 |
0 |
-1 |
0 |
1 |
|
-2М-8 |
-2 |
-2 |
-М |
0 |
0 |
М |
-2 |
-М |
|
|
0 |
-1 |
М-4 |
0 |
0 |
-М |
-М+2 |
0 |
||
Таблица 3.
С |
-2 |
-3 |
-4 |
0 |
0 |
0 |
-М |
-М |
||
Базисные переменные |
Сбаз |
В |
А1 |
А2 |
А3 |
А4 |
А5 |
А6 |
А7 |
А8 |
x4 |
0 |
2 |
0 |
1 |
0 |
1 |
0 |
1 |
-2 |
-1 |
x5 |
0 |
2 |
0 |
-1 |
0 |
0 |
1 |
2 |
-2 |
-2 |
x1 |
-2 |
4 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
x3 |
-4 |
2 |
0 |
0 |
1 |
0 |
0 |
-1 |
0 |
1 |
|
-16 |
-2 |
-2 |
-4 |
0 |
0 |
4 |
-2 |
-4 |
|
|
0 |
-1 |
0 |
0 |
0 |
-4 |
-М+2 |
-М+4 |
||
Ответ: F( 4,0,2,2,2,….)=16.
Возможен и другой принцип выбора уравнений для введения М-переменных. Они вводятся не сразу после приведения задачи к каноническому виду, а после получения первого базисного решения. Выбираются те уравнения, которые дают отрицательную компоненту в базисном решении и в каждое из них вводится новая неотрицательная искусственная переменная, которая имеет тот же знак, что и свободный член в правой части уравнения. В первой симплекс-таблице все искусственные переменные и обычные добавочные переменные, дающие неотрицательные компоненты базисного решения включаются в число базисных.
Пример 2: Построить М- задачу: найти максимум функции F=x1+2x2 при ограничениях:
.
Если
мы возьмем в качестве базисных переменных
х1
и х2,
то получим недопустимое базисное решение
Х=(0;
0; -1; 3; 5)
с одной отрицательной компонентой,
получающейся из первого уравнения.
Введем в первое уравнение искусственную
переменную у1
с тем же знаком, что и свободный член.
Также новую переменную введем в целевую
функцию с коэффициентом (-М).
Окончательно получим: найти максимум
функции F=x1
+
2x2
-
My1
при ограничениях:
В обоих случаях дальнейшее решение задачи ничем не отличается от изложенного выше.
