Курсовая работа "Случай вырожденных базисных решений при решении задач линейного программирования"
Автор: student | Категория: Технические науки / Информатика и программирование | Просмотров: 1436 | Комментирии: 0 | 02-06-2013 21:37

 

 

 Случай вырожденных базисных решений при решении задач линейного программирования

 

Курсовая работа

Напомним, что базисным решением системы линейных уравнений

 

y1 = b1  +   a11(–x1)  + a12(–x2)   +…+ a1j(–xj)   +…+  a1n(–xn),

…………………………………………………………...….

yi  = bi  +   ai1(–x1)   + ai2(–x2)   +…+ aij(–xj)   +…+  ain(–xn),               (1)

………………………………………………………………

ym = bm + am1(–x1)  + am2(–x2)  +…+ amj(–xj) +…+ amn(–xn).

 

называется такое решение, которое получается, если все свободные переменные  x1,…, xn  положить равными нулю. После шага метода жордановых исключений одна из свободных переменных превращается в базисную переменную и наоборот. Таким образом, система может иметь достаточно много базисных решений (максимальное количество базисных решений совпадает с числом сочетаний  ). Базисное решение системы (1) называется вырожденным, если одна или несколько базисных переменных оказываются равными нулю. Например, первоначальное базисное решение
(0,…, 0,…, 0,  b1,…, bi,…, bm)  системы  (1)  является вырожденным, если один или несколько свободных членов  b1,…, bi,…, bm  окажутся равными нулю.

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

 

 

 

 

Рассмотрим следующий пример:

Найдем  максимум функции

 

z(X) = 3x1x2 – 5x3                                                                  (2)


при условии того, что переменные удовлетворяют следующей системе:

 

   3x1 – 2x2 –  3x3 +7 ³ 0,

– 2x1  +  x2 – 2x3 – 3 ³ 0,

– 3x1  +  x2  –  x3  ³ 0,                                                                (3)

– 9x1 + 2x2 + 4x3 – 6 ³ 0,

x1, x2, x3 ³ 0.

 

Нашей задаче соответствует следующая жорданова таблица:

 

 

x1

x2

x3

1

ti2

ti3

y1

–3

2

3

7

3,5

7/3

y2

2

1

2

–3

3

 

y3

3

–1

1

0

0

0

y4

9

2

4

–6

3

2

z

–3

1

5

0

 

Табл. 1.

 

Как всегда, каждый шаг метода Штифеля мы постараемся осуществлять с соблюдением принципа минимального симплексного отношения. Так как в столбце свободных членов есть отрицательные числа  b2 = – 3  и   b4 = – 6,  то соответствующее таблице  (1)  базисное решение не является опорным планом задачи. Причем данное базисное решение является вырожденным, т.к. одна из базисных переменных оказалась равной нулю 
(b3 = 0).  Найдем отрицательные элементы, соответственно во второй и в четвертой строке. Такими элементами являются числа  a22 = – 1,  a42 = – 2  и  a43 = – 4.

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

Во втором столбце в качестве разрешающего элемента можно выбрать или  a22 = – 1,  или  a42 = – 2,  т.к. симплексные отношения для них минимальны и одинаковы.

В третьем столбце в качестве разрешающего элемента может быть только число  a43 = – 4.

Несмотря на похожесть ситуаций во втором и четвертом столбце, между ними есть одна очень существенная разница. В третьей строке таблицы  (1), содержащей нулевой свободный член, элемент второго столбца отрицателен, а третьего – положителен. Данное обстоятельство влияет на знак свободного члена, получающегося в третьей строке после одного шага метода Штифеля. Для сравнения выберем сначала разрешающий элемент в третьем столбце, а затем – во втором. Итак, пусть разрешающим элементом будет  a43 = - 4.  После шага метода Штифеля мы приходим к таблице  (2).

 

 

 

x1

x2

y4

1

y1

3,75

0,5

0,75

2,5

y2

6,5

–2

0,5

–6

y3

5,25

–1,5

0,25

–1,5

x3

–2,25

0,5

–0,25

1,5

z

8,25

–1,5

1,25

–7,5

Табл. 2.

 

Анализируя проделанный шаг, мы приходим к выводу о том, что в столбце свободных членов появилось лишнее отрицательное число 
b3¢ = – 1,5. Таблица по-прежнему содержит два отрицательных свободных члена, и мы остаемся так же, далеки от области планов задачи, как и до проделанного шага. Используя  схему пересчета элементов таблицы

                               (4)

 

 

 

мы приходим к выводу о том, что число  b3¢  получилось отрицательным из-за положительности элемента  a33,  расположенного на пересечении выбранного  3-го столбца таблицы  (1)  и  3-ей  строки, содержащей нулевой свободный член. Действительно:

 

                           (5)

 

Выражение    как симплексное отношение. Следовательно, знак свободного члена  b3¢  противоположен знаку элемента  a33.  Если взять разрешающий элемент во втором столбце, то подобной неприятности не произойдет.  В этом случае на пересечении выбранного  2-го столбца таблицы  (1)  и  3-ей  строки, содержащей нулевой свободный член будет отрицательное число  a32 = – 1. Пусть разрешающим элементом в исходной таблице  (1)  будет число  a22 = – 1. Тогда после шага метода Штифеля, мы получим таблицу  (3):

 

 

 

 

x1

y2

x3

1

ti1

y1

1

2

7

1

1

x2

–2

–1

–2

3

y3

1

–1

–1

3

y4

5

–2

–8

0

0

z

–1

1

7

–3

Табл. 3.

 

В данном случае нам сразу удалось получить опорный план задачи, правда этот план является вырожденным. Аналогичная ситуация возникла бы при выборе в качестве разрешающего элемента числа  a42 = – 2.  Данное обстоятельство объясняется тем, что симплексные отношения для элементов  a22  и  a42  одинаковы. Переходим ко второму этапу решения задачи – к поиску оптимального плана. Наличие отрицательной оценки у свободной переменной  x1  (см. табл. 3) говорит о том, что соответствующий опорный план не является оптимальным. Разрешающий элемент необходимо выбрать в первом столбце.

 

Если выбрать разрешающий элемент  a11¢ = 1  по принципу минимального симплексного отношения, то мы придем к таблице  (4):

 

 

 

y1

x2

x3

1

x1

1

2

7

1

y2

2

3

12

5

y3

–1

–3

–8

2

y4

–5

–12

–43

–5

z

1

3

14

–2

Табл. 4.

 

Мы не только не улучшили функцию цели, но даже вышли из области планов задачи. Свободный член в четвертой строке стал отрицательным по той же причине, что и раньше (см. формулу 5).  А именно из-за того, что элемент  a41¢ = 5,  стоящий на пересечении разрешающего столбца и строки, содержащей нулевой свободный член, положителен.  Но другого столбца, который можно было бы сделать разрешающим, у нас нет. В такой ситуации в качестве разрешающего элемента в первом столбце, вопреки принципу минимального симплексного отношения, необходимо выбрать число  a41¢.

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

Однако при таком пересчете, изменяются знаки всех элементов (за исключением разрешающего элемента) разрешающего столбца, включая знак оценки соответствующей свободной переменной. Мы получаем новые наборы свободных и базисных переменных. Все это дает нам уверенность в том, что если не произойдет "зацикливания", то через конечное число шагов нам удастся приступить к выбору разрешающего элемента по принципу минимального симплексного отношения. При этом мы приблизимся к оптимальному плану задачи.

 

 

 

 

 

 

Итак, выберем в качестве разрешающего элемента в таблице  (3) число a41¢ = 5. После пересчета мы приходим к таблице (5):

 

 

y4

y2

x3

1

y1

–0,2

2,4

8,6

1

x2

0,4

–1,8

–5,2

3

y3

–0,2

–0,6

0,6

3

x1

0,2

–0,4

–1,6

0

z

0,2

0,6

5,4

–3

Табл. 5.

 

Так как оценки всех свободных переменных неотрицательны, то, следовательно, мы получили оптимальный опорный план задачи  (3):

 

Заметим, что данный набор переменных  (0; 3; 0; 1; 0; 3; 0) мы нашли еще раньше (см. таблицу 3). Однако тогда мы не могли сделать вывод о его оптимальности. Для этого свободной переменной  x1  пришлось стать базисной.

 

Основные правила решения задачи в случае вырождения:

 

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

 

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

Литература:

  1. Уксусов С.Н  «Метод Штифеля и его применение в линейной алгебре и математическом программировании » 2003.