Решение задачи линейного программирования методом последовательного улучшения плана (Симплексный методом) Подготовил : студент 2 курса Мэ 22 -12 Газиев Эрнест
Пример Прибыль от реализации 1 т кефира составляет 2 млн руб. , а от 1 т молока – 1 млн руб. Затраты рабочего времени на молоко 4 ч / т, а на кефир – 2 ч/т. Рабочий день – 8 часов. Расход сырья: 5 ед. на 1 т кефира и 1 ед. на 1 т молока. Всего имеется в запасе 5 ед. сырья. Составить такой план производства продукции, чтобы прибыль от ее реализации была максимальной.
Экономико-математическая модель задачи
Канонический вид Значения дополнительных переменных показывают разницу между запасами ресурсов каждого вида и их потреблением, то есть остатки ресурсов
Опорный план можно получить, если часть переменных удается выразить через остальные, причем если приравнять нулю переменные, стоящие в этих выражениях справа, то переменные, стоящие слева, окажутся положительными. Положительные переменные, стоящие слева, принято называть базисными, переменные, стоящие справа и приравниваемые нулю, – свободными. Для каждого опорного плана целевая функция преобразуется так, чтобы она зависела только от свободных переменных.
На каждой итерации (на каждом шаге) может увеличиваться лишь одна свободная переменная. Это приводит к увеличению 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-й строки. В преобразованной таким образом таблице изменить номера базисных переменных: ведущей строке будет соответствовать теперь номер ведущего столбца.