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

Бережная_Матметоды моделирования эк cистем

.pdf
Скачиваний:
211
Добавлен:
29.03.2015
Размер:
8.86 Mб
Скачать

\ v

Свободные

 

^ v

неизвест-

Свободный

 

\ v

ные

член

Базисные \ v

 

 

неизвестные

\ v

 

Таблицу 7.8

Xi

Х2

^3

2

1

0

 

 

1

1

- 1

 

 

1

- 1

2

1

Z •

-9

- 6

-1

В последней строке нет положительных элементов, следова­ тельно, оптимальное решение найдено:

^min = — 9; ^ = (0; 0; 2; 1; 1); Z^^x "^ ~ -^min ~ 9.

7.6. Методы нахождения опорного решения задачи линейного программирования

Метод искусственного базиса

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

^1 = Pi -(Щ r+l^r+l +^1 r+2^r+2 + - + OCi^X^);

2min = YO - (Yr+l^rf 1 + Yr+2^rf2 + - + Уп^п)-

При этом Pi > о, ..., P^> о, тогда, положив свободные неизвест­ ные х^+1, Xf^2y ^п равными нулю, получаем опорное решение

^1 ^ Рь ^2 "^ Рг» ^г ^ Рг

Рассмотрим метод нахождения опорного решения, основанный на введении искусственных переменных. Для этого запишем зада­ чу линейного программирования в общем виде. Будем рассматри­ вать задачу с числом неизвестных п иг ограничениями:

220

:

(7.42)

Перепишем систему (7.42) в другом виде. Для этого введем ис­ кусственные переменные yj, У2, ..., уг так, чтобы был выделен ба­ зис. Тогда система примет вид

yi^bi -(aiixi •\-ai2X2 +... + fli^^;,);

(7.43)

Уг =*r "(^rl^l +^г2^2 +... + Л,71^л)-

Системы (7.42) и (7.43) будут эквивалентны в том случае, если все У/, для / = 1,г будут равны 0. Кроме того, мы считаем, что все bi > О для / = 1,г. В противном случае соответствующие ограниче­ ния из системы (7.42) умножим на — 1. Для того чтобы yi были равны О, мы должны преобразовать задачу таким образом, чтобы все искусственные переменные у,- перешли в свободные неизвест­ ные.

В этом случае система (7.43) после преобразования примет вид:

^1 = P l - ( « I r + l ^ r + l + a i r + 2 ^ r + 2 + - + «1/7^/;+^11Л+- + ^гД^г);

;

(7.44)

Хг =Р^ -{0.rr+\Xr^\ +СХ;.^+2^г+2 +... + СХ^^„ ^СгхУх +... + С^^>'^).

От системы (7.43) к системе (7.44) всегда можно перейти шага­ ми симплекс-метода. При таком переходе в качестве линейной формы рассматривают ф)шкцию

^min=>^l+>'2 + E+3^„

(7.45)

равную сумме искусственных переменных. Переход заканчивают, когда F^^^ = О и все искусственные переменные у/ переведены в свободные неизвестные.

Анализ вариантов решений

1. Если jFjnin ^ О, а все у^ переведены в свободные переменные, то задача не имеет положительного решения.

2. Если F^^^ = О, а часть yi осталась в базисе, то для перевода их в свободные переменные необходимо применять специальные приемы.

221

в симплекс-таблице, соответствующей системе (7.44), после то­ го как /'min == 0> а все у/ ~ свободные, вычеркивают строку для Z'^jn и столбцы для У1 и решают задачу для исходной линейной формы

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

симплекс-методом. Для нахождения опорного плана использовать ме­ тод искусственных переменных.

Ограничения:

|3xi - 5x2 "^^3 "^2x4 =1» \2х\ - 2 Х 2 + Х 4 - Х 5 = - 4 ; I Х\ — 3X2 "Ь 2X4 "" ^5 ~ "~^*

Целевая функция:

2min = ^1 + 2x2, ^/ ^ о, / = 171.

В базис можно вьщелить переменную Ху Введем две искусст­ венные переменные — >'i и У2*

Хз

=

1 -

(3xi -

5x2 "^ 2x4);

У\

= 4

-

(-2x1 + 2x2 -

Х4 + -^5)^

У2

=

5

-

( - xi +

3x2 -

2x4 + Х5);

^min = о - (-^1 - 2x2);

^min = Д'! + У2 = 9 - (-3X1 + 5X2 ^ ЗХ4 + 2X5).

Составим симплекс-таблицу (табл. 7.9):

 

 

 

 

 

 

 

Таблица 7.9

P N .

Свободные

 

 

 

 

 

 

^ч^неизвестные

Свобод­

^1

Х2

Х4

^5

 

 

 

ный член

Базисные

^ ^ ^

 

 

 

 

 

 

I неизвестные ^ ч ^

 

 

 

 

 

 

^3

1

3

-5

2

0

 

У\

4

-2

2

-1

и !<-

 

Уг

5

-1

3

-2

1

 

Z

0

-1

- 2

0

0

 

^min

9

- 3

5

- 3

2

222

Наименьший положительный элемент в строке линейной фор­ мы F^ij^ = 2. Разрешающий элемент находится на пересечении столбца переменной х^ и строки переменной yi.

Заполним следующую симплекс-таблицу (табл. 7.10):

Таблица 7.10

Г \ .

Свободные

 

^ч^еизвестные Свобод­

Базисные

ный член

\ .

неизвестные

^ ч ^

Xi

Х2

Х4

У\

^3

1

3

- 5

2

0

 

^5

4

- 2

2

- 1

1

<-

У2

1

1

ш

- 1

- 1

 

 

 

7 •

0

- 1

- 2

0

0

 

F

1

1

1

-1

-2

 

^ min

 

 

 

 

 

 

Наименьший положительный элемент в строке линейной фор­ мы Fn^jn = 1. Минимальное симплекс-отношение соответствует строке переменной У2-

Заполним новую симплекс-таблицу (табл. 7.11):

Г\^^ Свободные ^чнеизвестные Свобод­

Базисные \ ^

ный член

 

неизвестные ^ ч ^

 

Таблица 7.11

Xi

У2

Х4

У\

 

^3

6

8

5

~3

5

 

^5

2

- 4

- 2

1

3

 

Х2

1

1

1

- 1

- 1

'

Z

2

1

2

- 2

- 1

 

F

min

0

0

-1

0

- 1

 

'*

 

 

 

 

 

Так как F^^in = О, а 3/1 и У2 переведены в число свободных, пере­ ход к первому опорному решению завершен. Строку, соответству­ ющую F^^in» и столбцы переменных у^ и У2 вычеркиваем в послед­ ней таблице и переписываем ее в новом виде (табл. 7.12):

223

 

 

 

 

Таблица 7.12

Г"""""^-....,.,^^^

Свободные

Свободный

 

 

^"^""--«^.^.^ неизвестные

^1

^4

Базисные ^"''•^^^......,^^^

член

неизвестные

^"^"-^^.^^

 

 

 

^3

Х5

Х2

7 •

6

8

- 3

<-

2

- 4

1

 

1

1

- 1

 

2

1

- 2

 

т

Решим задачу для исходной линейной формы Zj^i^. В табл. 7.12 находим разрешающий элемент. Он равен 8. Выполняя действия согласно алгоритму симплекс-метода, получим табл. 7.13:

 

 

 

 

 

Таблица 7.13

r^^^-^s^,^^

 

Свободные

Свободный

 

 

^""''""--ч..,,^^ неизвестные

^3

Х4

Базисные

^""^^^^.^^^^

член

неизвестные

^""""^---..^^

 

 

 

 

^1

 

6/8

1/8

-3/8

 

^5

 

5

4/8

-12/8

 

Х2

 

2/8

-1/8

-5/8

 

Z

 

10/8

-1/8

-13/8

В последней строке (Z^i^^) положительных элементов нет, сле­ довательно, оптимальное решение найдено.

_ Значение целевой функции Z^i^ равно 10/8. Оптимальный план X = (6/8; 2/8; 0; 0; 5).

Второй алгоритм отыскания опорного плана

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

«11^1+«12^2+- + «i/i^«=*i;

(7.46)

224

(7.47)

Построим первую таблицу Жордана-Гаусса для задач (7.46) и (7.47). Для единообразия вычислительной процедуры к исходной таблице приписываем строку целевой функции:

ощ Ьх

 

 

'^тп

q

С2

Сп

(7.48)

Ь-п,\2^ т

0 Е..

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

Алгоритм метода

1. Запишем задачу в форме (7.48), при этом все элементы столбца свободных членов 6/ должны быть неотрицательны 6/ > О, / = 1,AW. Уравнения системы (7.46), в которых свободные члены отрицатель­ ны, предварительно нужно умножить на —1.

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

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

4.В процессе преобразований вычеркиваем строки, состоящие из одних нулей.

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

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

225

Теорема, Если разрешающий элемент выбирать по наимень­ шему положительному симплекс-отношению, то после шага Жор- дана—Гаусса свободный член в разрешающей строке становитс положительным, а остальные члены сохраняют свой знак.

Выбор разрешающего элемента производят иначе, а именно. 1. Просматривают строку, соответствующую какому-либо отри­

цательному свободному члену. Выбирают в ней какой-либо отрица­ тельный элемент — соответствующий этому элементу столбец будет разрешающим.

2. Выбор разрешающего элемента производится по минималь­ ному положительному симплекс-отношению. Если задача разре­ шима, то через конечное число шагов получают первое допустимое решение и можно применять симплекс-метод.

В некоторых случаях найденное таким образом первое допусти­ мое решение является также и оптимальным решением.

Пример 7.14. Определение опорного плана. Дана следующая система:

xj + Х2 - хз - Х4 = -4;

 

Х1-2х2-л:з-Х5=~7;

(7.49)

2xi - X2 + ^4 + Х5 = 7;

 

^max =

3Xi -

X2 + 5;

(7.50)

X/ >

0, / =

ГЛ.

 

Два свободных члена в системе ограничений отрицательны, по­ этому перед тем, как записать задачу в виде (7.48), умножим соответствующие уравнения (7.49) на —1:

-Х1~Х2+хз+Х4=4;

-Xi + 2X2 + -^3 + ^5 = '7» 2xj — Х2 + Х4 "Ь Х5 — f\

^max = 3Xi - Х2 + 5.

Запишем данную задачу в виде выражения 7.48 и получим табл. 7.14.

Выберем произвольно столбец с положительным элементом. Затем по минимальному положительному отношению находим раз­ решающий элемент. В нашем примере он равен 1 и находится на пересечении столбца переменной Х4 и первой строки (элемент от­ мечен квадратом). Выполняя преобразования Жордана-Гаусса, по­ лучим табл. 7.15.

226

 

 

 

 

 

Таблица 7.14

^1

Х2

^3

Х4

^5

Свободный

1

 

 

 

 

ш 0

член

 

 

-1

-1

1

4

4

<-

-1

2

1

0

1

7

10

2

-1

0

1

1

7

10

3

-1

0

0

0

5

7

 

 

 

 

 

 

Таблица

7.15

^1

Х2

^3

Х4

^5

Свободный

I

 

 

 

 

 

 

член

 

 

-1

-1

1

1

0

4

4

 

-1

2

1

0

1

7

10

3

0

-1

0

ш

3

6

<-

3

-1

0

0

0

5

7

 

т

Выполняя в дальнейшем все действия алгоритма, получим ряд следующих аналогичных таблиц (табл. 7,16, 7.17):

 

 

 

 

 

Таблица

7.16

^1

Х2

^3

Х4

^5

Свободный

I

^

член

 

 

 

 

 

 

 

-1

-1

1

1

0

4

4

 

~4

2

и

0

0

4

4

 

3

0

-1

0

1

3

6

 

3

-1

0

0

0

5

7

 

 

 

 

 

 

Таблица 7.17

^1

^2

^3

Х4

^5

Свободный

S

1

член

 

 

 

 

 

 

 

1

-2

0

1

0

2

2

 

- 2

1

1

0

0

2

2

 

1

1

0

0

1

5

8

 

3

-1

0

0

0

5

^

 

 

 

 

 

 

 

 

227

На данном этапе расчетов в табл. 7.17 мы получили три нуле­ вых столбца, что соответствует количеству ограничений в примере. Здесь необходимо закончить преобразования Жордана-Гаусса.

Запишем нашу задачу из табл. 7.17 так:

 

 

Х4 = 2—\Х\ — 2x2)»

-2x1 + ^2 + Хз = 2

или

хз=2-(-2х1+Х2);

Xi + ^2 + Хз = 5

 

X5=5~(xi+X2);

^max - 3Xi - Х2 +

5;

Zn^ax - 5 - (~3Xi + X2).

Получено первое допустимое решение, выделим его. Для этого положим Xj = 0; Х2= О, тогда X = (0; 0; 2; 2; 5); Z^^^ "^ 5.

Задача решена.

7.7. Экономическая интерпретация решения задачи линейного программирования

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

оптимального решения;

статуса ресурсов;

ценности каждого ресурса;

чувствительности оптимального решения к изменению запа­ сов ресурсов, вариациям коэффициентов целевой функции и ин­ тенсивности потребления ресурсов.

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

Для иллюстрации возможностей получения указанной выше информации из заключительной симплекс-таблицы воспользуемся опять задачей об ассортименте продукции (пример 7.2). Эта задача формулируется следующим образом:

228

максимизировать:

Z = Зх] + 4x2

(доход);

при следующих ограничениях:

Тх^ + 3x2 < 9

(сырье А),

 

3x1 + 2x2 < 13

(сырье В),

 

Xj - Х2 < 1

(спрос),

 

Х2 < 2

(спрос).

Оптимальная симплекс-таблица имеет вид (табл. 7.18):

 

 

 

 

Таблица 7.18

Г"*^-^.^^^^

Свободные

Свободный

 

 

^^^""^^..^^^ неизвестные

J^i

Уъ

Базисные ^""'^--«.......^^

член

неизвестные

^""•"•"•-^^,^

 

 

 

^1

 

2,4

0,2

0,6

У2

 

3

- 1

- 1

У4

 

0,6

-0,2

0,4

Х2

 

1,4

0,2

-0,4

7

 

12,8

1,4

0,2

В таблице y^.j = 1,4 — выравнивающие переменные.

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

При интерпретации результатов оптимизации в задаче об ас­ сортименте продукции нас прежде всего интересуют объемы про­ изводства продукции П^ и Я2, т. е. значения управляемых перемен­ ных Xj и Х2. Используя данные, содержащиеся в симплекс-таблице для оптимального решения, основные результаты можно предста­ вить в следующем виде (табл. 7.19):

229