СИМПЛЕКСНЫЙ МЕТОД.

В конце 40-х годов американским математиком Дж. Данцигом был разработан широко используемый в настоящее время универсальный метод линейного программирования — симплексный метод.

При решении задач линейного программирования с несколькими переменными вручную при расчётах удобно использовать симплексные таблицы. Рассмотрим их применение на примерах.

Пример. Для изготовления трёх видов продукции используют три вида сырья (ресурса). Запасы сырья, а также количество его единиц, затрачиваемых на изготовление единицы продукции, приведены в таблице.

Вид ресурса (сырья) Запас сырья Норма расхода сырья, на изготовление единицы продукции
       
А
Б
В

Прибыль, получаемая предприятием от единицы продукции составляет 2, 1 и 3 тыс. руб. соответственно.

Необходимо составить такой план производства продукции, при котором прибыль от её реализации будет максимальной.

Решение:

Составим экономико-математическую модель задачи.

Обозначим через х1, х2 и хз - количество планируемых единиц продукции.

Целевая функция определяет величину получаемой прибыли:

L(X) =2 x1+ x2 + 3x3® max

Для их изготовления по­требуется х1 + 2 единиц ресурса первого вида, х2 + х3 единиц второго ресурса, 2х1 + 2 - третьегоресурса. Использование сырья для производства продукции не должно превышать запасов 9, 6 и 3 единиц соответственно. Ограничивающее условие по потреблению ресурсов и их запасами записывается в виде следующего неравенства:

х1 + 2х2 £ 9

х2 + х3 £ 6

1 + 2х2 £ 3

Отдельные виды продукции или планируются к выпуску, или не планируются; поэтому искомые переменные могут быть только по­ложительными или равными нулю, то есть должны нести условие неотрицательности:

х1 ³ 0, х2³ 0, х3 ³0.

В итоге получаем: L(X) =2 x1+ x2 + 3x3® max

при ограничениях:

х1 + 2х2 £ 9

х2 + х3 £ 6

1 + 2х2 £ 3

х1 ³ 0, х2³ 0, х3 ³0.

Получили математическая модель, которая называется задачей линейного программирования.

Для решения с помощью симплексных таблиц задачу нужно привести к канонической форме, т.е. к равенству с помощью ослабляющих переменных.

L(X) =2 x1+ x2 + 3x3 + 0х4+ 5 + 6® max

х1 + 2х2 + х4 = 9

х2 + х3 + х5 = 6

1 + 2х2 + х6 = 3

xj ³ 0, j=1,2,….6

При использовании симплексного метода в каждом уравнении системы ограничений следует найти переменную с коэффициентом +1, которая принадлежит только этому уравнению: переменная, относительно которой можно разрешить систему.

У нас их четыре:

х3 = 6 – ( х2 + х5))

х4 = 9 – ( х1 + 2х2 )

х5 = 6 - ( х2 + х3)

х6 = 3 – (2х1 + 2х2)

Переменные эти называется базисными, а все остальные – небазисными, или свободными. Решение системы уравнений, соответствующее нулевым значениям свободных переменных, называется базисным.

Существует теорема, согласно которой оптимальное решение всегда находится среди базисных. Придавая различные значения свободным переменным, можно определить соответствующее значение базисных, т.е. найдем множество решений, удовлетворяющих системе уравнений.

Переход от одного базисного решения к другому удобно осуществлять с помощью симплексных таблиц.

В симплексной таблице может быть только три базисных переменных: возьмем х3, х4 и х6.

Заполняем первую симплексную таблицу.

Таблица 2

СБ ХБ В
Х1 х2 х3 х4 х5 х6
х3 0
х4
х6 3
Z j=ScБхj SCБВ  
j= zj - cj -2

Порядок заполнения:

1. В первой строке записываем коэффициенты при переменных целевой функции.

2. В первом столбце записываем коэффициенты целевой функции при базисных переменных (СБ).

3. Во втором столбце – базисные переменные (ХБ).

4. В третьем – значения свободных членов соответствующего уравнения (В).

Например, базисная переменная х3 входит во второе уравнение системы ограничений; свободный член этого уравнения 6, коэффициент при х3 в целевой функции =3.

5. В четвертом, пятом и последующих столбцах проставляют коэффициенты при соответствующих переменных из системы ограничений. В первой строке записывают коэффициенты при переменных из уравнения, куда входит базисная переменная х3 и т.д.

6. Предпоследняя строка определяется как сумма попарных произведений элементов первого столбца (СБ) на соответствующий элемент столбца при переменной j.

7. Последняя строка таблицы называется индексной и равна разности предпоследней и первой строки (коэффициент при переменной j в целевой функции.

8. Находим значение целевой функции в базисном решении: L(X0)= SCБВ.

Таким образом, решение в симплексной таблице представлено в столбце свободных членов: в индексной строке дано значение целевой функции, а все остальные элементы определяют значение базисных переменных.

При нахождении максимального значения целевой функции все коэффициенты индексной строки должны быть положительны, а если ищется минимум, то решение оптимально, когда все коэффициенты индексной строки отрицательны.

В данной задаче нас интересует максимум, а первом решении есть индекс < 0. Следовательно, решение можно улучшить. Для этого необходимо в число базисных переменных ввести новую переменную.

Отыскиваем в индексной строке максимальное по абсолютной величине отрицательное число (у нас оно одно). Соответствующий выбранному числу столбец называется ключевым. Ключевой столбец принадлежит переменной х1, она и войдет в базисное решение.

Далее следует установить какую из прежних базисных переменных заменит х1 с этой целью находим ключевую строку.

Ключевая строка отыскивается по наименьшему соотношению свободного члена (В) на соответствующий положительный элемент ключевого столбца. В нашем примере: 9/1=9 и 3/2=1,5. Значит ключевая строка принадлежит переменной х6, которая должна уступить место новой базисной переменной х1.

На пересечении ключевой строки и ключевого столбца расположен генеральный элемент.

Составляем новую таблицу по следующим правилам.

  1. Для нахождения элементов вводимой строки (вместо старой ключевой) необходимо все элементы ключевой строки поделить на генеральный элемент.
  2. Элементы ключевого столбца, кроме находящегося в ключевой строке, переносятся в новую таблицу виде нулей.
  3. Те столбцы и строки старой таблицы, у которых элемент в ключевой строке или столбце равен нулю, переносится в новую таблицу без изменений.
  4. Все остальные элементы новой таблицы находят расчетом:

       
 
Элемент ключевого столбца
 
Элемент ключевой строки


х

Новый элемент
Соответствующий старый элемент
= _ ____________________________

 
 
Генеральный элемент

 


Таблица 3

СБ ХБ В
х1 х2 х3 х4 х5 х6
х3
х4 7,5 -0,5
х1 1,5 0,5
Z j=ScБхj SCБВ  
j= zj - cj

В полученной таблице в индексной строке отсутствуют отрицательные элементы; следовательно, найдено оптимальное решение (х1=1,5; х2 = 0; х3 =6; х4 =7,5; х5 =0; х6 = 0). Целевая функция равна 21.

Полученное решение допустимо, так как удовлетворяет системе ограничений:

1,5 + 0 + 7,5 = 9 = 9

0 + 6 + 0 = 6 = 6

3 + 0 + 0 = 3 = 3

Проверим также значение целевой функции

Lmax=2 * 1,5 + 1*0 + 3*6 + 0*7,5+ 0*0 + 0*0=21

То есть следует выпускать 1,5 единиц продукции первого вида и 6 единиц третьего, продукцию второго вида не выпускать. При этом будет получена максимальная прибыль 21 тыс. руб.

Получили х4 = 7,5 (значение ослабляющей переменной). Это говорит о том, что первый вид сырья при оптимальном плане будет использован не полностью, остаток = 7,5.