Симплекс метод - это метод последовательного перехода от одного базисного решения (вершины многогранника решений) системы ограничений задачи линейного программирования к другому базисному решению до тех пор, пока функция цели не примет оптимального значения (максимума или минимума).
Симплекс-метод является универсальным методом, которым можно решить любую задачу линейного программирования, в то время, как графический метод пригоден лишь для системы ограничений с двумя переменными.
Перед тем, как перейти к алгоритму симплекс метода, несколько определений.
Всякое неотрицательное решение системы ограничений называется допустимым решением.
Пусть имеется система m ограничений с n переменными (m < n).
Допустимым базисным решением является решение, содержащее m неотрицательных основных (базисных) переменных и n - m неосновных. (небазисных, или свободных) переменных. Неосновные переменные в базисном решении равны нулю, основные же переменные, как правило, отличны от нуля, то есть являются положительными числами.
Любые m переменных системы m линейных уравнений с n переменными называются основными, если определитель из коэффициентов при них отличен от нуля. Тогда остальные n - m переменных называются неосновными (или свободными).
Алгоритм симплекс метода
Шаг 1. Привести задачу линейного программирования к канонической форме. Для этого перенести свободные члены в правые части (если среди этих свободных членов окажутся отрицательные, то соответствующее уравнение или неравенство умножить на - 1) и в каждое ограничение ввести дополнительные переменные (со знаком "плюс", если в исходном неравенстве знак "меньше или равно", и со знаком "минус", если "больше или равно").
Шаг 2. Если в полученной системе m уравнений, то m переменных принять за основные, выразить основные переменные через неосновные и найти соответствующее базисное решение. Если найденное базисное решение окажется допустимым, перейти к допустимому базисному решению.
Шаг 3. Выразить функцию цели через неосновные переменные допустимого базисного решения. Если отыскивается максимум (минимум) линейной формы и в её выражении нет неосновных переменных с отрицательными (положительными) коэффициентами, то критерий оптимальности выполнен и полученное базисное решение является оптимальным - решение окончено. Если при нахождении максимума (минимума) линейной формы в её выражении имеется одна или несколько неосновных переменных с отрицательными (положительными) коэффициентами, перейти к новому базисному решению.
Шаг 4. Из неосновных переменных, входящих в линейную форму с отрицательными (положительными) коэффициентами, выбирают ту, которой соответствует наибольший (по модулю) коэффициент, и переводят её в основные. Переход к шагу 2.
Важные условия
Если допустимое базисное решение даёт оптимум линейной формы (критерий оптимальности выполнен), а в выражении линейной формы через неосновные переменные отсутствует хотя бы одна из них, то полученное оптимальное решение - не единственное.
Если в выражении линейной формы имеется неосновная переменная с отрицательным коэффициентом в случае её максимизации (с положительным - в случае минимизации), а во все уравнения системы ограничений этого шага указанная переменная входит также с отрицательными коэффициентами или отсутствует, то линейная форма не ограничена при данной системе ограничений. В этом случае её максимальное (минимальное) значение записывают в виде .
На сайте есть Онлайн калькулятор решения задач линейного программирования симплекс-методом.
х кг - масса первого сплава
у кг - масса второго сплава
Первое уравнение:
х + у = 400
8% = 0,08
12% = 0,12
9% = 0,09
0,08х кг - масса олова в первом сплаве
0,12у кг - масса олова во втором сплаве
0,09 · 400 = 36 кг - масса олова в новом сплаве
Второе уранение:
0,08х + 0,12у = 36
А теперь решаем систему:
{х + у = 400
{0,08х + 0,12у = 36
Из первого уравнения выразим у
у = 400 - х
и подставим во второе
0,08х + 0,12·(400 - х) = 36
0,08х + 48 - 0,12х = 36
0,08х -0,12х = 36 - 48
-0,04х = - 12
х = -12 : (-0,04)
х = 300 кг - первого сплава надо взять
400 - 300 = 100 кг - второго сплава
ответ: 300 кг; 100 кг.
Объяснение: