2. Симплекс метод решения задач линейного программирования
В основе симплексного метода решения ЗЛП лежит, с некоторыми дополнениями метод ОЖИ, построенных на последовательном применении симплексных преобразований системы уравнений.
К левой части неравенств добавляется положительная величина yi > 0 (i = 1, 2, 3…), называемая выравнивающей или базисной переменной, преобразующая их в уравнения.
Порядок выполнения симплексного преобразования:
-
выбираем разрешающий столбец, по наименьшему отрицательному элементу в z-строке;
-
выбираем разрешающую строку, по наименьшему из положительных отношений элементов правой части систему на соответствующие элементы разрешающего столбца;
На пересечении разрешающего столбца и разрешающей строки располагается разрешающий элемент.
-
элементы разрешающей строки делятся на разрешающий элемент, а элементы разрешающего столбца обращаются в 0;
-
все элементы остальных строк определяются по формуле:
НЭ = СЭ – (СЭРстр ∙ СЭРстлб)/РЭ,
где НЭ – новый элемент;
СЭ – старый элемент;
СЭРстр – старый элемент разрешающей строки;
СЭРстлб – старый элемент разрешающего столбца;
РЭ – разрешающий элемент.
Процесс последовательных симплексных преобразований является процессов решения, при этом:
-
если в z-строке найдется, хоть один отрицательный элемент и:
-
в разрешающем столбце найдется один положительный элемент, то решение можно улучшить;
-
в разрешающем столбце не будет положительных элементов, то z неограниченно возрастает;
-
если все элементы в z-строке не отрицательные, то достигнуто оптимальное решение.
Задача №2.
Предприятие производит 3 вида изделий А, В и С располагая ограниченным объемом ресурсов чугуна и стали (1400 и 1800 кг соответственно) и оборудованием (800 ст./час).
На производство изделия А требуется 2 кг чугуна, 4 кг стали и 2 ст./час оборудования; изделия В – 4 кг чугуна, 1 кг стали и 1 ст./час оборудования, а изделия С – 3 кг чугуна, 1,5 кг стали и 1,5 ст./час оборудования.
Стоимость изделия А – 45$; изделия В - 50$; изделия С - 60$.
Необходимо определить сколько изделий А, В и С должно производить предприятие, чтобы достичь максимальной прибыли.
Решение
Для решения задачи необходимо разработать модель. Пусть x1 – количество изделий А, x2 – количество изделий В, x3 – количество изделий С. Тогда по условию задачи среди множества неотрицательных решений имеем систему неравенств:
2x1 + 4x2 + 3x3 = 1400;
4x1 + x2 + 1½ x3 = 1800;
2x1 + x2 + 1½ x3 = 800.
Необходимо найти решение, для которого целевая функция стремится к наибольшему значению: z = 45x1 + 50x2 + 60x3 → max.
Вид ресурсов |
Объем ресурсов |
Затраты на 1 изделие, кг |
||
А |
В |
С |
||
Чугун |
1400 |
2 |
4 |
3 |
Сталь |
1800 |
4 |
1 |
1 ½ |
Оборудование |
800 |
2 |
1 |
1 ½ |
Прибыль, $ |
|
45 |
50 |
60 |
Добавив к левой части неравенств положительную величину yi > 0 (i = 1, 2, 3…), называемую выравнивающей или базисной переменной, превратим их в уравнения:
2x1 + 4x2 + 3x3 + y1 + 0 + 0 = 1400;
4x1 + x2 + 1½ x3 + 0 + y2 + 0 = 1800;
2x1 + x2 + 1½ x3 + 0 + 0 + y3 = 800;
-45x1 – 50x2 – 60x3 + 0 + 0 + 0 + z = 0.
Выбираем разрешающий столбец, соответствующий наименьшему отрицательному значению в z-строке, так как теоретически установлено, что при этом можно ожидать большое увеличение функции z.
Элементы правой части системы делим на элементы разрешающего столбца и выбираем наименьшее положительное отношение, соответствующее разрешающей строке.
На пересечении выделенных элементов строки и столбца стоит разрешающее число.
Элементы разрешающей строки делим на разрешающий элемент, элементы разрешающего столбца обращаются в 0. Все элементы остальных строк определяем по формуле нового элемента (НЭ).
x1 + x2 + x3 + y1 + 0 + 0 = 466;
3x1 – x2 + 0 – ½ y1+ y2 + 0 = 1100;
x1 – x2 + 0 – ½ y1 + 0 + y3 = 100;
-5x1 + 30x2 + 0 + 20y1 + 0 + 0 + z = 28000.
НЭ21 = 4 – (2 ∙ 1,5)/3 = 3;
НЭ22 = 1 – (4 ∙ 1,5)/3 = -1;
НЭ24 = 0 – (1 ∙ 1,5)/3 = - ½;
НЭ25 = 1 – (0 ∙ 1,5)/3 = 1;
НЭ26 = 0 – (0 ∙ 1,5)/3 = 0;
НЭ27 = 1800 – (1400 ∙ 1,5)/3 = 1100;
НЭ31 = 2 – (2 ∙ 1,5)/3 = 1;
НЭ32 = 1 – (4 ∙ 1,5)/3 = -1;
НЭ34 = 0 – (1 ∙ 1,5)/3 = - ½;
НЭ35 = 0 – (0 ∙ 1,5)/3 = 0;
НЭ36 = 1 – (0 ∙ 1,5)/3 = 1;
НЭ37 = 800 – (1400 ∙ 1,5)/3 = 100;
НЭ41 = -45 – (2 ∙ (-60))/3 = -5;
НЭ42 = -50 – (4 ∙ (-60))/3 = 30;
НЭ44 = 0 – (2 ∙ (-60))/3 = 20;
НЭ45 = 0 – (0 ∙ (-60))/3 = 0;
НЭ46 = 0 – (0 ∙ (-60))/3 = 0;
НЭ47 = 0 – (1400 ∙ (-60))/3 = 28000.
Так как в z-строке присутствует отрицательный элемент, то решение можно улучшить. Для этого в полученной матрице находим разрешающий столбец, разрешающую строку и разрешающий элемент соответственно. Элементы разрешающей строки делим на разрешающий элемент, элементы разрешающего столбца обращаются в 0. Все элементы остальных строк определяем по формуле нового элемента (НЭ).
0 + 2x2 + x3 + y1 + 0 + 0 = 400;
0 + 2x2 + 0 + y1+ y2 – 3y3= 800;
x1 – x2 + 0 – ½ y1 + 0 + y3 = 100;
0 + 25x2 + 0 + 17 ½ y1 + 0 + 5y3 + z = 28500.
НЭ12 = – ((-1) ∙ )/1 = 2;
НЭ13 = 1 – (0 ∙ )/1 = 1;
НЭ14 = – (- ½ ∙ )/1 = ;
НЭ15 = 0 – (0 ∙ )/1 = 0;
НЭ16 = 0 – (0 ∙ )/1 = 0;
НЭ17 = 466 – (100 ∙ )/1 = 400;
НЭ22 = -1 – (3 ∙ (-1))/1 = 2;
НЭ23 = 0 – (0 ∙ 3)/1 = 0;
НЭ24 = - ½ – ((- ½) ∙ 3)/1 = 1;
НЭ25 = 1 – (0 ∙ 3)/1 = 1;
НЭ26 = 0 – (1 ∙ 3)/1 = -3;
НЭ27 = 1100 – (100 ∙ 3)/1 = 800;
НЭ42 = 30 – ((-1) ∙ (-5))/1 = 25;
НЭ43 = 0 – (0 ∙ (-5))/1 = 0;
НЭ44 = 20 – ((- ½) ∙ (-5))/1 = 17 ½;
НЭ45 = 0 – (0 ∙ (-5))/1 = 0;
НЭ46 = 0 – (1 ∙ (-5))/1 = 5;
НЭ47 = 28000 – (100 ∙ (-5))/1 = 28500.
Все элементы в z-строке неотрицательны, значит достигнуто оптимальное решение. Для получения максимальной прибыли предприятию необходимо производить 100 изделий вида А и 400 изделий вида С.
Найдем значение целевой функции: z = 400 ∙ 60 + 100 ∙ 45 = 24000 + 4500 = 28500.