f(x) - Томский политехнический университет

advertisement
Решение задачи линейного
программирования
методом последовательного
улучшения плана
(Симплексный
методом)
Пример
Прибыль от реализации
1 т кефира составляет 2 млн руб.,
а от 1 т молока – 1 млн руб.
Затраты рабочего времени
на молоко 4 ч / т, а на кефир – 2 ч/т.
Рабочий день – 8 часов.
Расход сырья: 5 ед. на 1 т кефира
и 1 ед. на 1 т молока.
Всего имеется в запасе 5 ед. сырья.
Составить такой план производства
продукции, чтобы прибыль от ее
реализации была максимальной.
Экономико-математическая
модель задачи
f ( x)  2 x1  x2  max
2 x1  4 x2  8

 5 x1  x2  5
 x ,x 0
 1 2
Канонический вид
f ( x)  2 x1  x2  max
2 x1  4 x2  x3  8

 5 x1  x2  x4  5
 x ,x ,x ,x 0
 1 2 3 4

Значения дополнительных переменных
показывают разницу между запасами
ресурсов каждого вида и их потреблением,
то есть остатки ресурсов
Опорный план
Опорный план можно получить, если часть
переменных удается выразить через
остальные, причем если приравнять нулю
переменные, стоящие в этих выражениях
справа, то переменные, стоящие слева,
окажутся положительными.

Положительные переменные, стоящие
слева, принято называть базисными,
переменные, стоящие справа и
приравниваемые нулю, – свободными.

Для каждого опорного плана целевая
функция преобразуется так, чтобы она
зависела только от свободных переменных.

На каждой итерации (на каждом шаге)
может увеличиваться лишь одна
свободная переменная. Это приводит к
увеличению f(x), если перед этой
переменной стоит знак «+».
Табличный симплекс-метод
Удобно использовать так называемые
симплексные таблицы, то есть преобразовывать
не сами уравнения, а коэффициенты при
переменных

Х3
Х4
f(x)
Х1
Х2
Х3
Х4
Q
Табличный симплекс-метод

Х1
Х2
Х3
Х4
Х3
8
2
4
1
0
Х4
5
5
1
0
1
f(x)
0
–2
–1
0
0
Q
Табличный симплекс-метод

Х1
Х2
Х3
Х4
Q
Х3
8
2
4
1
0
8/2
Х4
5
5
1
0
1
5/5
f(x)
0
–2
–1
0
0
–
Алгоритм
1. Проверка
оптимальности. Если все элементы последней строки таблицы
неотрицательны, то план оптимален.
2. Если в последней строке есть отрицательные элементы, перейти к
пункту 2.
3. Выбор ведущего столбца. В последней строке таблицы найти
максимальный по абсолютному значению отрицательный элемент.
Столбец, в котором находится этот элемент, будет ведущим.
4. Нахождение ведущей строки. Разделить элементы столбца на
соответствующие положительные элементы ведущего столбца и найти
минимальное из этих отношений. Строка, соответствующая этому
минимальному отношению, будет ведущей. Элемент, расположенный на
пересечении ведущего столбца и ведущей строки, – ведущий.
5. Преобразование таблицы. Разделить ведущую строку на ведущий
элемент. Остальные строки таблицы преобразовываются по следующим
правилам: пусть надо преобразовать i-ю строку, для этого необходимо
умножить преобразованную ведущую строку на элемент i-й строки и
ведущего столбца и результат вычесть из i-й строки. В преобразованной
таким образом таблице изменить номера базисных переменных: ведущей
строке будет соответствовать теперь номер ведущего столбца.
СПАСИБО ЗА ВНИМАНИЕ!
к.т.н., доц. Калашникова Т.В.
tvkalash@tpu.ru
Download