Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

УМ_Пособие_09

.pdf
Скачиваний:
34
Добавлен:
01.06.2015
Размер:
1.46 Mб
Скачать

101

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

Предположим вначале, что независимые переменные xi, i=k+1,...,n; k n-1 являются свободными, а на все зависимые наложено требование неотрицательности (l=m). Выберем в качестве разрешающего любой отличный от нуля элемент аij в столбце какой-либо свободной переменной xi0 и произведем шаг жорданова исключения. В результате получим новую матрицу со строкой xi0. Выпишем отдельно зависимость xi0 от новой совокупности независимых переменных, после чего i0-ую строку из матрицы можно вычеркнуть. Действительно, после того, как будут определены оптимальные значения несвободных переменных, значение xi0 однозначно определится из выписанного выражения. Это значение будет допустимым; поскольку на xi0 не накладывались никакие ограничения. После k аналогичных шагов жорданова исключения (ЖИ) число зависимых переменных уменьшится на k, а все независимые переменные окажутся несвободными.

Пример. Исключим свободную переменную х4 из матрицы, полученной в результате первичных преобразований.

Выбирая в качестве разрешающего элемента а54= 1, сделаем шаг ЖИ и получим новую матрицу.

 

x1

x2

x3

x4

1

x5

2

0

3

1

-9

x6

-1

2

3

2

13

x7

-3

6

0

-4

29

x8

-1

1

-3

0

4

Z

-1

1

2

3

8

 

x1

x2

x3

х5

1

х4

-2

0

-3

1

9

x6

-5

2

-3

2

31

x7

5

6

12

-4

-7

x8

-1

1

-3

0

4

Z

-7

1

-7

3

35

Из этой матрицы вычеркнем строку x4, а выражение для x4 выпишем отдельно: х4 =-2х1-3x35+9.

Пусть теперь все независимые переменные несвободны (k=n), но условия задачи содержат ограничения-равенства

n

a ji xi b j 0 , т.е. l<m. Без потери общности можно считать,

i 1

102

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

Таблица 6.4

 

x1

x2

xn

1

x1+n

a11

a12

a1n

b1+n

 

 

 

 

 

as

as1

as2

asn

bs

 

 

 

 

 

Z

c1

c2

cn

0

Сделаем шаг ЖИ с разрешающим элементом asr 0. При этом мы должны двигаться по оси xr в положительном

направлении пока не окажется asrxr+bs=0, откуда xr= bs .

asr

Поскольку xr должно быть положительным, a bs>0, то asr должно быть отрицательным. Значит двигаться можно только по тем осям, которым в s-й строке соответствуют отрицательные коэффициенты. Выбрав любой такой элемент в качестве разрешающего, сделаем шаг ЖИ и перебросим 0 наверх матрицы. Это позволит вычеркнуть соответствующий столбец, сократив тем самым число независимых переменных.

Если в s-строке не оказалось отрицательных переменных, то задача несовместна. Действительно, при asr≥0 и bs≥0 лиейная форма не может обратиться в 0.

Если bs = 0, а все неравные нулю asr имеют одинаковые

n

знаки, то требование a ji xi 0 может выполняться только

i 1

при хi = 0, для которых asi ≠ 0. поэтому из матрицы следует вычеркнуть все столбцы, содержащие asi ≠ 0, и s-тую строку. Для вычеркнутых независимых переменных полагают хi0 = 0. если же asi имеют разные знаки, то в качестве разрешающего элемента можно выбрать любой коэффициент asi ≠ 0. В этом случае после шага ЖИ начало координат не изменит своего

103

n

положения, т.к. гиперплоскость a ji xi 0 уже пересекала

i 1

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

Симплекс метод. Поиск опорного решения

Пусть имеется матрица канонической задачи ЛП (каноническая матрица). Прежде всего попытаемся упростить ее за счет исключения ―слабых‖ ограничений.

Предположим, что в s-й строке все коэффициенты,

включая

свободный

член,

неотрицательны,

т.е.

xn+s=|as1|x1+|as2|x2+...+|asn|xn+|bs|.

 

Тогда

при

 

любых

неотрицательных значениях

xi

i=1,2,...,n, xn+s 0. Поэтому

ограничение

xn+s 0

является

несущественным,

и

s-я

строка

может быть вычеркнута из матрицы.

 

 

 

 

Предположим теперь, что для -й строки и

-й строк

канонической матрицы выполняются условия :

 

 

 

a 1 a 1, a 2

a 2 ,...,a n a n , b

b

 

 

 

Тогда при любых неотрицательных значениях xi имеем

 

n

 

 

 

n

 

 

 

 

xn

a i xi b

xn

a i

xi b .

 

 

 

i 1

 

 

 

i 1

 

 

 

 

Поэтому, если выполняется ограничение

xn+

0, то

xn 0.

Значит

последнее

ограничение

является

несущественным и может быть вычеркнуто из матрицы.

Выявив и исключив из канонической матрицы слабые ограничения, рассмотрим столбец свободных членов. Если все его элементы неотрицательны, то начало координат удовлетворяет всем ограничениям xi 0 , i=1,2,...n+m, поэтому является опорным решением задачи ЛП (этому условию отвечает, в частности, каноническая матрица примера 5.).

Предположим, что в столбце свободных членов есть отрицательные коэффициенты. В этом случае начало координат

104

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

Такие гиперплоскости будем называть отделяющими в отличие от неотделяющих, которым соответствуют положительные свободные члены. Чтобы попасть в новое начало координат, расположенное, по крайней мере, ближе к допустимой области ( ), чем старое (точка 0) будем двигаться по какой-нибудь координатной оси xr(т.е. xi=0, i r) из точки в направлении к до встречи с некоторой гиперплоскостью

xs+n=0. Тогда xs+n=asrxr+bs=0, откуда xr=

bs

. Поскольку

 

 

asr

движение разрешено только в положительном направлении оси xr, то коэффициенты bs и asr в разрешающем столбце должны иметь разные знаки. Чтобы найти такой столбец, достаточно в

строке с отрицательным свободным членом bs

выбрать любой

положительный

коэффициент asr

и

r-й

столбец считать

разрешающим.

 

 

 

 

 

 

 

Однако

 

приближение

ко

всем

отделяющим

гиперплоскостям при движении по оси xr

будет

обеспечено

лишь в том случае, если в разрешающем столбце xr

отсутствуют

отрицательные

коэффициенты

a r

0

в

 

строках с

отрицательным свободным членом b <0.

 

 

 

В

противном

случае

 

при

xr>0

получим

x n a r xr b

b , т.е. новое начало координат отдалится

от гиперплоскости x n =0, а на оси xr

вершины многогранника

отсутствуют. По этому далее будем считать, что указанное условие выполнено.

Предположим теперь, что в s-й строке с отрицательным свободным членом bs<0, asi 0, i= 1,2,...,n. Тогда задача ЛП является недопустимой (несовместной), поскольку при любых

неотрицательных

значениях

хi 0,

i=1,2,...,n величина xn+s=-

|as11-|as22-...-|asn|xn-|bs|<0,

а

это

противоречит требованию

xn+s 0.

 

 

 

 

Выбрав r-й разрешающий столбец, будем вначале

интересоваться

только

теми

строками, для которых

105

коэффициенты ajr и bj имеют разные знаки. Каждое такое

отношение

b j

определяет расстояние вдоль положительного

a jr

направления оси r от начала координат до гиперплоскости xn+j=0. Посмотрим, на какой из этих гиперплоскостей остановить выбор. Мы заинтересованы, как можно скорее выйти на вершину многогранника и в лучшем случае добьемся своей цели после первого же шага ЖИ. Это окажется возможным, если хотя бы одна вершина многогранника лежит на оси xr. Рассмотрим точку

xrA

max

b j

 

b

k

,

(6.4)

a jr

akr

 

b j 0,a jr 0

 

 

 

 

 

 

 

 

 

 

 

которая определяет расстояние от начала координат до последней отделяющей гиперплоскости xn+k=0, и точку

xrB

 

b j

 

b

 

 

min

 

 

t

 

,

(6.5)

a jr

atr

 

b j 0,a jr 0

 

 

 

 

 

 

 

 

 

 

 

которая определяет расстояние до первой неотделяющей гиперплоскости xt+n=0. Если

xrA xrB ,

(6.6)

то отрезок [ x A , x B ] является

ребром первого ранга

r r

 

многогранника, а точки xrA и xrB- его вершинами. Случай равенства называется вырождением, поскольку ребро стягивается в точку. Тогда, выбрав в качестве разрешающего коэффициента akr, после шага ЖИ найдем опорное решение.

Предположим теперь, что xrA> xrB. Тогда легко показать, что гиперплоскость хn+k=0 является отделяющей для точки xrB а гиперплоскость xn+t=0 является отделяющей для точки xrA .

Значит отрезок [ xrA , xrB ] не принадлежит многограннику, а

поэтому на оси xr нет ни одной вершины. Тогда имеет смысл выбрать другой положительный коэффициент а и для q-го столбца проверить сделанное предположение и условие (5.6). В случае неудачи можно поочередно просмотреть все положительные коэффициенты s-й строки, и при отсутствии

106

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

Пример. Пусть матрица канонической задачи ЛП имеет

вид:

 

x1

x2

x3

1

x4

2

-1

0

4

x5

0

5

-6

0

x6

-1

3

0

-3

x7

3

-2

-4

10

x8

0

4

-7

6

x9

2

1

0

-2

Z

1

2

3

0

Возьмем строку х6 с отрицательным свободным членом b6= -3. Она имеет единственный положительный коэффициент а62=3.

Поэтому

столбец

х2 будем

считать

разрешающим.

Найдем

 

 

 

 

b j

 

 

 

 

 

b

 

 

 

3

 

 

b

 

 

 

 

 

2

 

 

 

 

 

 

 

x2A

max

 

 

 

 

 

 

max

 

 

6

 

 

 

 

1;

9

 

 

 

 

2

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b j 0,asj 0

a2 j

 

 

 

 

 

a62

 

 

 

3

 

 

a92

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b j

 

 

 

 

 

 

b

 

 

 

 

4

 

 

b

 

 

 

 

10

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

и x2B

 

max

 

 

 

 

max

 

 

4

 

 

 

 

 

4;

 

7

 

 

 

 

 

 

5

4 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

b j 0,asj 0

a2 j

 

 

 

 

a42

 

 

 

 

1

 

 

a72

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поскольку x2A2B, сделаем шаг ЖИ с разрешающим элементом а92=1. Получим новую матрицу, не содержащую отрицательных свободных членов. Значит, опорное решение есть x1=0, x9=0, x3=0.

 

x1

x9

X3

1

x4

4

-1

0

2

x5

-10

5

-6

10

x6

-7

3

0

3

x7

7

-2

-4

6

x8

-8

4

-7

14

 

 

 

 

107

 

 

 

 

 

 

x8

-2

1

0

 

2

Z

-3

2

3

 

4

Симплекс-метод. Поиск оптимального решения

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

n

изменится на величину ci xi , т.е. уменьшится. Значит, не

i 1

существует возможности увеличить Z, а поэтому в начале координат достигается максимум целевой функции. Если же в Z-строке есть положительные коэффициенты, то при движении в положительном направлении по соответствующим осям получим Z ci xi 0 . Поэтому для увеличения Z можно

двигаться по любой координатной оси xr, для которой cr>0. Однако при перемещении вдоль xr нельзя покидать границ многогранника, т.е. движение возможно только до соседней ближайшей вершины.

Мы помним, что координаты точки пересечения r-й оси с

гиперплоскостью xn+j=0 есть xr=

b j

. Но движение допустимо

a jr

 

 

только в положительном направлении ai.bi>0. Значит, двигаясь по ребру xr, важно учитывать лишь те гиперплоскости, для которых аjr<0.

Гиперплоскость xk+n=0, ближайшую к началу координат, определяет выражение

xrB

min

b j

 

b

k

.

(6.7)

a jr

akr

 

a jr 0,b j 0

 

 

 

 

 

 

 

 

 

 

 

Поэтому, сделав шаг ЖИ с разрешающим элементом akr<0, мы войдем в новую вершину, в которой правый коэффициент Z-строки

q` q

cr bk

q

bk

cr q , а cr

cr

0

akr

akr

akr

 

 

 

 

108

Если в r-столбце, где сr>0, нет отрицательных коэффициентов, т.е. все ajr>0, то целевая функция не ограничена.

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

невозможно, так как min

b j

 

0

0

, и при перемещении

b jr

akr

 

 

 

 

вдоль оси xr получим xk+n=-akrxr, т.е. в любом случае выйдем за пределы многогранника G.

Если в z -строке, кроме cr, есть другие положительные коэффициенты, например cq>0 , то нужно рассмотреть возможность движения по оси хq. Если все возможные направления окажутся запрещенными, тогда перейдем к новому набору координатных осей, сделав шаг ЖИ с разрешающим элементом аkr<0 в столбце сr>0 и в строке с bk=0. В результате получим новую матрицу, где столбец свободных членов остается прежним. Будем преобразовывать матрицу по рассмотренному алгоритму до тех пор, пока не перейдем в другую вершину или не убедимся в неограниченности целевой функции или же в оптимальности точки начала координат.

Решением задачи ЛП является точка начала координат относительно полученной матрицы. В частности, для переменных хi, которым соответствуют столбцы этой матрицы xi0=0; а для всех переменных xj, которым соответствуют строки матрицы хj0=bj.

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

Пример. Рассмотрим пример отыскания оптимального решения ЗЛП.

В столбце x3, где c3=2, имеются отрицательные элементы а23=-3, а13=-2. Значение целевой функции Z может быть увеличено. Однако ввиду того что в строке X1 свободный член

109

b1=0, имеем вырожденный случай. Поэтому с целью изменения набора независимых координат сделаем шаг ЖИ с разрешающим элементом a13=-2.

 

 

 

 

 

x6

x4

x3

1

 

 

x2

 

13

 

-1

 

-3

1

 

 

x5

 

-12

 

4

 

2

2

 

 

x1

 

5

 

-2

 

-2

0

 

 

x7

 

5

 

-4

 

3

3

 

 

Z

 

-4

 

-3

 

2

0

Получим следующую матрицу:

 

 

 

 

 

 

 

 

x6

 

x4

 

x1

 

1

 

x2

 

5.5

 

2

 

1.5

 

1

 

x5

 

-7

 

2

 

-1

 

2

 

x1

 

2.5

 

-1

 

-0.5

 

0

 

x7

 

12.5

 

-7

 

-1.5

 

3

 

Z

 

1

 

-5

 

-1

 

0

Поскольку в столбце Х6 имеется положительный коэффициент С6=1 значение целевой функции Z можно увеличить. В качестве разрешающего элемента следует выбрать элемент a56=-7. Сделав шаг ЖИ, получим следующую матрицу оптимального решения:

 

x5

x4

x1

1

x2

-11/14

25/7

5/7

18/7

x6

-1/7

2/7

-1/7

2/7

х3

-5/14

-2/7

-6/7

5/7

x7

-25/14

-24/7

-23/7

46/7

Z

-1/7

-33/7

-8/7

2/7

Оптимальная точка имеет координаты: x1 = x4 = x5 = 0, x2 = 18/7,

х3 = 5/7, х6 = 2/7, х7 = 46/7, Z(x1, x2, х3) = 2/7.

Упражнения

1.

Найти область решений системы неравенств

 

х1-1 0; x2-1 0; х12-3 0; -6х1-7х2+42 0.

2.

2. Найти область решений системы неравенств xl 0,

110

х12-2 0. x1-x2+l 0. x1 2.

3.Найти область решений системы неравенств: х1-5х2+5 0; х1+3х2-3 0; х1 5.

4.Найти максимальное значение функции L=х1+3х2 при ограничениях 3x1+4х2 4; 3x12 6; х2 2.

5.Минимизировать функцию L=х1-x2 при ограничениях:

3 x12 7; 1 х2 4; х 4.

 

6. Найти максимум

функции L=x1+2х2+3х3 при

ограничениях x12

3; 3x123 0;

3x1+3х23 0;

х1 3.

 

 

7.Определить максимальные неотрицательные решения,

минимизирующие линейную форму L=х-x23+x45-x6 при ограничениях х14+6х6=9;

12-4х3-2х6=2; х1+2х35+2х6=6.

8. Минимизировать линейную форму L=12х1+x2+3х3;

1+3х23=180;

2+9х3+12х4=900;

хi 0; i=l,2,3

9. Максимизировать линейную форму L=-x1-2x2-3x3;

x1-2x2+3x3 -1; 2x1-x2-x3 1; x1,x2,x3 0.

10. Для изготовления изделий №1 и №2 склад может отпустить металла не более 80 кг, причем на изделие №1 расходуется 2 кг, а на изделие №2 - 1 кг металла. Требуется спланировать производство так, чтобы была обеспечена наибольшая прибыль, если изделий №1 требуется изготовить не более 30 шт., а изделий №2 - не более 40 шт., причем одно изделие № 1 стоит 5 руб., изделие №2 - 3 руб. Определить число изделий №1 и №2, выпуск которых позволит получить максимальную прибыль. Определить максимальную прибыль.