logo search
Глава 3

3.2.1 Пример решения задачи линейного программирования симплекс-методом

Решим следующую задачу:

max-5х1+ 2х3

-5х1- х2+ 2х32

1+ х3+ х4 5

-3х1+ 5х47

х1-40

Приведем ее к канонической форме.

max-5х1+ 2х3

-5х1- х2+ 2х3+ х5 = 2

1+ х3+ х4 + х6= 5

-3х1+ 5х4 + х7= 7

х1-70

Теперь пример имеет вид задачи (14) с той разницей, что единичные вектора стоят не при первых трех, а при последних трех переменных - х5, х6и х7; но изменять обозначения не имеет смысла.

Для удобства дальнейших рассуждений ограничения пронумеруем. При этом обозначим значение целевой функции (-5х1+ 2х3) =zи припишем к системе новое (четвертое) ограничение, после чего задача примет следующий вид:

maxz

1) -5х1- х2+ 2х3+ х5 = 2

2

(15)

) -х1+ х3+ х4 + х6= 5

3) -3х1+ 5х4 + х7= 7

4) z+ 5х1- 2х3 = 0

х1-70

Решений такой системы бесконечно много.

При последних трех переменных (дополнительных) стоят единичные столбцы: А5=, А6=и А7=. Поэтому удобно взять переменные х5, х6и х7в качестве базисных. Приравняем их к свободным членам, а остальные – к нулю. Таким образом мы получим исходный опорный план - одно из решений этой системы - Хо= = (0; 0; 0; 0; 2; 5; 7).

На этом плане значение целевой функции zо= 0 (-5*0 + + 2*0 = 0). Отметим, что в системе (15) столбец коэффициентов при переменной z тоже единичный (- она входит только в ограничение (4) с коэфициентом 1). Она тоже приравнивается к свободному члену – 0.

Является ли план Хооптимальным? Чтобы ответить на этот вопрос, попытаемся увеличить значение целевой функцииz. Переменнаяzвходит в ограничение (4). Если в ограничении (4) увеличиватьz, то остальные слагаемые (5х1- 2х3) необходимо уменьшить. Это можно сделать либо за счет уменьшения х1(при этой переменной стоит положительный коэффициент 5), либо увеличения х3(при этой переменной стоит отрицательный коэффициент -2). Однако уменьшить переменную х1нельзя, так как она небазисная и равна нулю (а отрицательные значения переменные задачи принимать не могут). Поэтому следует увеличить х3. Эту переменную увеличить можно, при этомzвозрастет. Следовательно, оптимальный план еще не найден.

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

До какого значения можно увеличивать переменную х3, и какую переменную следует вывести из базиса? Чтобы ответить на этот вопрос, следует проанализировать остальные ограничения задачи.

В ограничение (1) входит базисная переменная х5. Если уменьшить ее до нуля, то, учитывая, что небазисные переменные х1= х2= 0, получим 2х3= = 2х3= 2/2 = 1. Следовательно, ограничение (1) позволяет увеличить х3до 1 (за счет уменьшения х5).

Аналогично ограничение (2) позволяет увеличить х3 до 5 (за счет уменьшения х6).

В ограничение (3) переменная х3 вообще не входит, следовательно, оно позволяет увеличивать значение этой переменной до бесконечности.

Таким образом, самым жестким ограничением является первое, и мы увеличим х3только до 1 (если попытаться увеличить эту переменную до большего значения, то придется уменьшить переменную х5до отрицательных значений, иначе ограничение (1) не будет выполняться).

Следовательно, в в новом опорном плане переменная х3станет базисной, а х5из базиса выйдет. Преобразуем систему методом Гаусса таким образом, чтобы перейти к новому опорному плану. В новой системе столбец коэффициентов при х3станет единичным, причем единица должна стоять именно в первом ограничении, а в остальных – нули (тогда при ненулевых компонентах опорного плана снова будут линейно независимые столбцы коэффициентов - единичные).

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

Чтобы получить на месте разрешающего элемента единицу, надо обе части первого ограничения разделить на этот элемент, т.е. на 2. После этого ограничение примет вид (1`).

В ограничение (2) переменная х3входит с коэффициентом 1. На месте этого коэффициента необходимо получить ноль. Для этого вычтем из ограничения (2) ограничение (1`), в которое х3входит теперь именно с коэффициентом 1. Результат обозначим (2`).

Ограничение (3) можно оставить без изменений, так как коэффициент при х3в нем и так нулевой. В новой системе обозначим его (3`).

В ограничение (4) переменная х3входит с коэффициентом -2. Умножим обе части ограничения (1`) на -2. Теперь переменная х3входит в него не с коэффициентом 1, а с коэффициентом -2. Вычтем из уравнения (4) полученное уравнение, при этом коэффициент при х3станет нулевым. Результат обозначим (4`).

Преобразованная система примет вид:

1`) -2,5х1– 0,5х2+ х3+ 0,5х5 = 1

2

(16)

`) 1,5х1+ 0,5х2+ х4 - 0,5х5 + х6= 4

3`) -3х1+ 5х4 + х7= 7

4`) z– х2+ х5= 2

х1-70

Этой системе можно поставить в соответствие новый опорный план, приравняв базисные переменные х3, х6и х7к свободным членам, а остальные – к нулю: Х(1)= (0; 0; 1; 0; 0; 4; 7).

Значение целевой функции увеличилось: z(1)= 2. Это число является свободным членом ограничения (4`). В самом деле, так как небазисные переменные х2= х5=0, то из (4`)z= 2 (z- 0 + 0 = 2). Подстановкой плана в целевую функцию можно получить тот же результат (-5*0 + 2*1 = 2).

Из ограничения (4`) видно, что план Х(1)тоже не является оптимальным. Значениеzможно еще увеличить за счет увеличения х2.

Чтобы определить, до какого значения можно увеличить переменную х2, и какую переменную следует вывести из базиса, снова по очереди рассмотрим ограничения.

В ограничение (1`) х2входит с отрицательным коэффициентом -0,5. Следовательно, при увеличении х2значение базисной переменной х3, входящей в это ограничение, тоже будет увеличиваться (и это увеличение может происходить до бесконечности).

В ограничение (2`) входит базисная переменная х6. Если уменьшить ее до нуля, то, учитывая, что небазисные переменные х1= х4= х5= 0, получим 0,5х2= 4х2= 4/0,5 = 8. Следовательно, ограничение (2`) позволяет увеличить х2до 8 (за счет уменьшения х6).

В ограничение (3`) переменная х2 вообще не входит, следовательно, и оно позволяет увеличивать значение этой переменной до бесконечности.

Таким образом, самым жестким ограничением является второе, и мы увеличим х2до 8.

Следовательно, в новом опорном плане переменная х2станет базисной, а х6из базиса выйдет. Снова преобразуем систему методом Гаусса таким образом, чтобы столбец коэффициентов при х2стал единичным, причем единица должна стоять во втором ограничении (разрешающим столбцом будет столбец коэффициентов при х2, а разрешающим ограничением – второе; разрешающий элемент равен 0,5).

Для этого обе части ограничения (2`) разделим на 0,5 (результат обозначим (2``)).

Из ограничения (1`) вычтем уравнение (2``), умноженное на (-0,5) (поскольку в ограничении (1`) в разрешающем столбце стоит именно (-0,5), а надо получить 0). Результат обозначим (1``).

Третье ограничение оставим без изменений, обозначив (3``) (поскольку х2в это ограничение не входит).

Из ограничения (4`) вычтем уравнение (2``), умноженное на (-1) (поскольку в ограничении (4`) в разрешающем столбце стоит именно (-1), а надо получить 0). Результат обозначим (4``).

1``) -х1+ х3+ х4+ х6 = 5

2

(17)

``) 3х1+ х2+ 2х4 - х5 + 2х6= 8

3``) -3х1+ 5х4 + х7= 7

4``) z+ 3х1+ 2х4 + 2х6= 10

х1-70

Этой системе можно поставить в соответствие новый опорный план Х(2)= (0; 8; 5; 0; 0; 0; 7). Значение целевой функции увеличилось:z(2)= 10.

Из ограничения (4`) видно, что значение целевой функции увеличить больше нельзя. Для этого пришлось бы уменьшить значения переменных х1, х4или х6, а они и так равны нулю. Следовательно, Х(2)– оптимальный план, а 10 – оптимум задачи.