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

Жолобов Ввведение в Математическое 2008

.pdf
Скачиваний:
294
Добавлен:
16.08.2013
Размер:
2.42 Mб
Скачать

Ввиду того, что все оценки неотрицательны, решение, записан-

ное в этой таблице,оптимальное:

хопт=(2,2,0,0); Zопт=-2.

1.2.14. Метод M-задачи

 

 

Пусть дана задача ЛП:

 

 

c1x1

+ c2x2

+ ...+cnxn max

 

a11x1

+ a12x2 + ...+a1nxn = a1

 

a21x1

+ a22x2

+ ...+a2nxn = a2

(1.55)

............................................

 

am1x1 + am2x2+ ...+amnxn= am xj 0, j=1,2,...,n,

в которой все свободные члены неотрицательны (ai 0, i=1,2,...,m). Как и в двухэтапном методе, в систему ограничений этой задачи вводятся искусственные переменные xn+1, xn+2,...,xn+m таким образом, чтобы получить полную систему единичных векторов.

Однако целевая функция строится иначе:

c1x1 + c2x2 +

...+ cnxn - Mxn+1 - Mxn+2 - ...- Mxn+m max

 

a11x1

+ a12x2

+ ...

+a1nxn+ xn+1

= a1

 

a21x1

+ a22x2

+ ...

+a2nxn

+ xn+2

= a2

(1.56)

..............................................

 

 

 

am1x1

+ am2x2

+ ...

+amnxn

+ xn+m = am

 

xj 0, j=1,2,...,n+m.

Здесь М - достаточно большое число. Задача (1.56) называется М-задачей.

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

очередной план можно улучшить;

очередной план – оптимальный;

ЦФ не ограничена сверху.

Рассмотрим вопрос вычисления оценок при решении М-задачи.

Оценка свободного вектора Aj вычисляется по формуле:

71

m

j cik xkj cj , k 1

где ik (k=1,2,...,m) – номера векторов, входящих в базис очередного опорного решения.

Ввиду того, что среди коэффициентов ЦФ М-задачи есть коэффициенты вида -M, и M не входит в ограничения этой задачи, оценку свободного вектора Aj можно представить в виде:

j = 'jM + "j ,

где 'j и "j не зависят от М , и, в случае достаточно большого положительного М, знак оценки j определяется знаком 'j.

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

Единственная особенность при использовании сим- плекс-метода заключается в том, что вместо одной строки для хра-

нения и вычисления оценок, используются две – одна для 'j , а

другая – для "j .

Это относится и к ЦФ. Учитывая, что в случае М-задачи значение ЦФ можно представить в виде:

Z = Z'M + Z",

Z' и Z" можно хранить и вычислять также раздельно.

72

Пример 1.16

Дана задача ЛП:

 

x1+4x2 +x3

max

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1

- x2+ x3

= 3

 

 

 

 

 

 

 

 

2x1 -5x2 - x3 = 0

 

 

 

 

М-задача имеет вид:

x1 , x2 , x3

0.

 

 

 

 

 

x1+4x2 +x3

–Mx4 –Mx5 max

 

 

 

 

 

 

x1

- x2+ x3

+ x4

 

= 3

 

 

 

 

 

 

2x1 -5x2 - x3

+ x5= 0

 

 

 

 

 

x1

, x2 , x3, x4, x5

0.

 

 

 

 

Исходное опорное решение этой задачи:

 

 

 

 

 

 

 

 

 

х=(0,0,0,3,0).

 

 

 

 

Ниже представлена первая симплекс-таблица, подготовленная

для решения М-задачи.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

4

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

-M

 

-M

 

Баз

Cбаз

A0

 

A1

 

A2

 

A3

A4

 

A5

 

 

A4

-M

3

 

1

 

-1

 

1

1

 

0

 

 

A5

-M

0

 

2

 

-5

-1

0

 

1

 

 

Tабл.1

'j

-3

 

-3

 

 

6

 

0

0

 

0

 

 

 

"j

0

 

-1

 

-4

 

-1

0

 

0

 

Для общности в этой таблице приняты обозначения '0 и "0 вместо Z' и Z", соответственно, т.е. значение ЦФ представлено в виде:

0 = '0M + "0 = -3М+0.

Оценки свободных векторов подсчитываются следующим образом:

1= '1M + "1= -3M-1 (отрицательная оценка);

2= '2M + "2= 6M-4 (положительная оценка);

3= '3M + "3=-0M-1 (отрицательная оценка);

Перед тем, как продолжить решение задачи, рассмотрим ситуации, возможные при решении М-задачи.

Случай 1. М-задача имеет оптимальное решение. Обозначим это решение следующим образом:

x*M (x1* , x2* ,..., xn* , xn* 1 , xn* 2 ,..., xn* m ).

(1.57)

Принципиально важно знать, все ли искусственные переменные в этом решении имеют нулевое значение.

73

Случай 1a. В

оптимальном решении (1.57) среди чисел

xn* 1 , xn* 2 ,..., xn* m

есть отличные от нуля. Тогда исходная задача не

имеет допустимых решений.

Доказательство. На решении (1.57) ЦФ М-задачи принимает значение:

 

 

 

 

 

n

n m

n m

 

 

 

 

Z *M c j x*j

M x*j , причем x*j 0 .

 

 

 

 

 

 

j 1

j n 1

j n 1

 

 

Предположим от противного, что исходная задача имеет до-

пустимое

 

решение

x (x1 , x2 ,..., xn ) .

Тогда

очевидно,

что

x M ( x , x

2

,..., x

n

, 0, 0,..., 0)

допустимое

решение

М-задачи.

На

1

 

 

 

 

 

 

 

этом решении ЦФ М-задачи принимает значение

n

Z M c j xj . j 1

Сравним Z *M и Z M . Очевидно, что всегда можно найти такое значение М, при котором будет иметь место следующее соотношение:

 

 

 

 

n

n m

 

 

 

 

n

 

 

 

Z *M

c j x*j M x*j

<

 

 

M

c j xj

,

 

 

Z

 

 

 

 

j 1

j n 1

 

 

 

 

j 1

 

т.е., x M ( x , x

2

,..., x

n

, 0, 0,..., 0)

является

допустимым решением

1

 

 

 

 

 

 

 

 

 

М-задачи, доставляющим целевой функции значение лучшее, чем оптимальное.

Это противоречие доказывает неправомерность предположения о существовании допустимого решения исходной задачи. Случай 1b. В оптимальном решении (1.57) все искусственные переменные xn* 1 , xn* 2 ,..., xn* m имеют нулевое значение. Тогда решение

x* (x1* , x2* ,..., xn* ) является оптимальным решением исходной зада-

чи.

Доказательство. На решении (1.57) ЦФ М-задачи принимает значение:

n

n m

Z *M c j x*j M

j 1

j n 1

n

x*j = c j x*j .

j 1

Очевидно, что x* (x1* , x2* ,..., xn* ) – допустимое решение исход-

ной задачи, так как по условию все искусственные переменные xn* 1 , xn* 2 ,..., xn* m имеют нулевое значение.

74

Векторы Aj (j {1,2,...,n}), соответствующие положительным координатам этого решения составляют линейно-независимую систему, так как входят в базис оптимального решения М-задачи.

Следовательно,

x*

(x* , x* ,..., x* ) – опорное решение исходной за-

дачи.

 

1

2

n

 

X *

 

 

 

 

На

решении

ЦФ

исходной

задачи принимает значение

 

n

 

 

 

 

 

Z *

c j x*j , т.е. Z *M = Z* .

 

 

 

j 1

 

 

 

 

 

 

Пусть теперь

x (x1 , x2 ,..., xn )

- любое допустимое решение

исходной задачи. На этом решении ЦФ исходной задачи принимает

n

значение Z c j x j . Очевидно, что

j 1

x M ( x1 , x2 ,..., xn , 0, 0,..., 0)

допустимое решение М-задачи, причем, на этом решении ЦФ М-задачи принимает значение

 

 

n

n m

 

 

M c j x j M

Z

 

 

j 1

j n 1

n

x j c j x j . j 1

Следовательно,

 

 

 

 

 

Z

M = Z .

Ввиду того, что Z *M – оптимальное значение ЦФ М-задачи, имеет место соотношение:

Z M = Z Z *M = Z *.

Учитывая то обстоятельство, что x (x1 , x2 ,..., xn ) – произ-

вольно взятое допустимое решение исходной задачи, и на этом решении ЦФ принимает значение, не большее, чем на решении

x* (x1* , x2* ,..., xn* ) , можно утверждать, что x* – оптимальное решение исходной задачи, что и требовалось доказать.

75

Пример 1.17

 

Дана задача ЛП:

 

 

 

x1+4x2

+x3 max

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 - x2+ x3

= 3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x1 -5x2 - x3 = 0

 

 

 

 

 

 

 

М-задача имеет вид:

 

 

x1 , x2 , x3 0.

 

 

 

 

 

 

 

 

 

x1+4x2

+x3

–Mx4 –Mx5 max

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x1 - x2+ x3

+ x4

= 3

 

 

 

 

 

 

 

 

 

 

 

2x1 -5x2 - x3

+ x5= 0

 

 

 

 

 

 

 

 

 

 

x1 , x2 , x3, x4, x5

0.

 

 

 

 

 

 

Исходное опорное решение этой задачи:

 

 

 

 

 

 

 

 

 

 

 

 

х=(0,0,0,3,0).

 

 

 

 

 

 

Ниже представлена первая симплекс-таблица, подготовленная для

 

решения М-задачи.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Баз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Cбаз

A0

 

1

 

4

 

1

 

-M

 

-M

 

 

 

 

 

 

 

 

 

A1

 

A2

 

A3

 

A4

 

A5

 

 

 

A4

 

 

-M

3

 

1

 

-1

 

1

 

1

 

0

 

 

 

A5

 

 

-M

0

 

2

 

-5

 

-1

 

0

 

1

 

 

 

Tабл.1

 

 

'j

-3

 

-3

 

6

 

0

 

0

 

0

 

 

 

Баз

 

"j

0

 

-1

 

-4

 

-1

 

0

 

0

 

 

 

 

Cбаз

A0

 

1

 

4

 

1

 

-M

 

-M

 

 

 

A

 

 

 

 

A1

 

A2

 

A3

 

A4

 

A5

 

 

 

 

-M

3

 

0

 

3/2

 

3/2

 

1

 

-1/2

 

 

 

A1

 

1

0

 

1

 

-5/2

 

-1/2

 

0

 

1/2

 

 

 

Tабл.2

 

'j

-3

 

0

 

-3/2

 

-3/2

 

0

 

3/2

 

 

 

 

 

 

"j

0

 

0

 

-13/2

 

-3/2

 

0

 

1/2

 

 

 

Баз

 

Cбаз

 

 

 

 

 

 

 

 

 

 

 

 

 

 

A0

 

1

 

4

 

1

 

-100

 

-100

 

 

 

A2

 

 

 

 

A1

 

A2

 

A3

 

A4

 

A5

 

 

 

 

4

2

 

0

 

1

 

1

 

2/3

 

-1/3

 

 

 

A1

 

1

5

 

1

 

0

 

2

 

5/3

 

-1/3

 

 

 

Tабл.3

 

'j

0

 

0

 

0

 

0

 

1

 

1

 

 

 

 

 

 

"j

13

 

0

 

0

 

5

 

13/3

 

-5/3

 

 

 

Оптимальное решение М-задачи:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ZM = 13;

xM

= (5,2,0,0,0).

 

 

 

 

 

 

Оптимальное решение исходной задачи:

 

 

 

 

 

 

 

 

 

 

Zопт = 13;

xопт = (5,2,0,0,0).

 

 

 

Наконец, последний

случай,

возможный

при

решении

М-задачи. Этот случай оформим в виде следующего утверждения.

76

Случай 2. Если при любом значении М М-задача имеет неограниченную сверху целевую функцию, тогда и целевая функция исходной задачи не ограничена сверху на допустимом множестве.

1.2.15. Роль оценок в задаче линейного программирования

На каждом шаге симплекс-метода в соответствующей сим- плекс-таблице записана некоторая задача ЛП и очередное опорное решение этой задачи с единичным базисом.

Это – не исходная задача, а та, в которую она преобразовалась в процессе работы по симплекс-методу:

m

 

 

 

 

 

 

 

 

 

 

cik xik

 

cj xj max

 

 

 

 

k 1

 

 

j

 

 

 

 

 

xi1

x1 j xj x10

 

 

 

 

 

 

 

 

j

 

 

 

 

 

xi2

x2 j xj x20

 

 

 

 

 

 

 

 

 

(1.58)

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xim xmj xj xm0

 

 

 

 

 

 

 

 

j

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

j

0, j 1, n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Здесь

 

 

 

 

 

 

Ai

, Ai

,...Ai

 

{ i1,i2,...,im } – номера базисных векторов

, пре-

 

 

 

 

 

 

 

1

2

m

вратившихся в задаче (1.58) в полную систему единичных векторов;

= { 1,2,...,n }\ { i1,i2,...,im } – номера свободных переменных. Выразим базисные переменные xik (k 1, m) через свобод-

ные переменные:

xik

xk 0

xkj x j .

(1.59)

 

 

j

 

Подставим выражения (1.59) в ЦФ задачи (1.58):

77

m

xkj x j ) c j x j группируем

cik (xk 0

k 1

j

j

 

m

m

 

 

cik xk 0 ( cik xkj c j )x j

=

k 1

j k 1

 

 

m

 

 

 

= cik xk 0 j x j .

 

 

k 1

j

 

 

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

оценка небазисного вектора Aj это взятый с обратным знаком коэффициент, с которым свободная переменная xj входит в ЦФ, если все базисные переменные выразить через свободные.

При введении свободной переменной в состав базисных эта переменная увеличивается (от нуля). Эта переменная может быть увеличена до тех пор, пока одна из базисных переменных не примет нулевое значение. Из (1.59) следует, что это будет та переменная, для которой xkj > 0 и xk0/xkj имеет наименьшее значение. Именно этот факт определяет выражение (1.33) в теореме 1.2:

xr 0

 

 

 

min

xk 0

.

xrs

 

xks 0

xks

 

Контрольные вопросы и задачи к разделу 1.2

1.Сформулируйте основные положения симплекс-метода для задачи на минимум целевой функции.

2.Как соотносятся понятие «базис» и «опорное решение»? Должно ли каждому базису соответствовать опорное решение, и, наоборот, каждому ли опорному решению должен соответствовать базис?

 

xr 0

 

 

 

 

3. К чему приведет нарушение требования

min

xk 0

 

при оп-

xrs

 

 

xks 0

xks

 

 

ределении выводимого из базиса вектора?

4.Сравните метод М-задачи и метод вспомогательной задачи. Можно ли однозначно определить предпочтительный метод искусственного базиса перед решением задачи?

5.В какой по счету симплекс-таблице содержится базисная матрица текущего опорного решения?

78

6. Решите задачу графически

7x1 10x2 max

2x1 5x2 118

5x1 2x2 106 x1 16

x2 20

x1,2 0.

7. После очередной итерации при решении задачи ЛП на max ЦФ симплекс-методом получена симплекс-таблица:

Баз

 

СБАЗ

А0

1

2

0

0

 

 

 

 

 

А2

 

 

 

 

 

 

А1

А3

А4

 

1

 

 

0

 

 

А1

1

1

-1

1

 

 

2

 

 

1

 

 

А2

1

0

1

-1

построить исходную задачу;

найти оптимальное решение исходной задачи;

найти базисную матрицу оптимального решения исходной за-

дачи.

8. При решении задачи ЛП на максимум ЦФ получена симплекстаблица.

Баз

 

СБАЗ

А0

3

-1

y

-2

 

 

 

 

 

А2

 

 

 

 

 

 

А1

А3

А4

 

3

 

 

0

 

 

А1

2

1

2

x-2

 

-1

 

 

1

 

 

А2

1

0

4

x

 

 

 

 

 

 

 

 

79

Приняв x и y в качестве параметров, найти области значений этих параметров, при которых:

полученное решение – оптимальное;

ЦФ не ограничена сверху на допустимом множестве;

решение следует продолжить.

9.Решить задачу, используя метод вспомогательной задачи

4x1 x2 max,5x1 3x2 2, 2x1 7x2 1,

x1 , x2 0.

10. Решить задачу, используя метод М-задачи.

-2x1+4x2 -3x3-25x4 max x1-4x2-14x3 -7x4 =8

x2 +4x3 +2x4 =2, 3x2-12x3-42x4=6

xj 0, j=1 4.

1.3. Теория двойственности

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

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

80