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

pizhurin_a_a_pizhurin_a_a_modelirovanie_i_optimizaciya_proce

.pdf
Скачиваний:
271
Добавлен:
27.03.2016
Размер:
14.94 Mб
Скачать

51

х,+ 2 х 2 - Зх3 - 5

= 0;

(3.44)

х г

Зх2 + 1 х3

=

 

дг,>0;

х2 >0;

*3 > 0 .

(3.45)

Выберем в системе уравнений (3.44) переменную хг в качестве свободной и выразим через нее базисные переменные х\ и Х 2 . Вычитая второе уравнение из первого,

получим 5 х 2 - 10*з - 5 = 0, откуда х2 = 1 + 2х3 . Подставив найденное выражение для

Х 2 в первое уравнение, получим х j= 3 - х3.

Из последних двух уравнений можно получить любое число решений исходной системы (3.44), задавая произвольные значения переменной хз. Легко проверить, что ограничениям (3.45) среди них будут удовлетворять только те решения, для которых

0 < х3 < 3. Они и будут допустимыми решениями данной ОЗЛП.

К основной задаче линейного программирования можно свести ЗЛП

общего вида (3.20) -

(3.22) следующим образом. Введем дополнительные

переменныеу\, у 2

равные левым частям ограничений (3.21):

У\ = Ь^ ЬПХ\ + Ь \2Х2 + -- + ЬЫХп> У2 = Ъ2+ Ьпх х+Ъ22х2 + ... + Ь2пхп;

(3.46)

Из неравенств (3.21) следует, что все дополнительные переменные должны быть неотрицательны: у . > 0; j = 1 , 2 , . т . Таким образом, задача

линейного программирования общего вида сведена к следующей задаче:

W= с0 + схх j+ с2х2 +... + спхп -» min; y l= b l+ b uxl + b l2x2 +... + buxn;

(3.47)

ym=bm+bm\X\+bm2X2+--+bm

xt > 0 , z = l,..., n\

у} > 0 , 7 = 1,...,m,

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

Система (3.46) с (п + т) неизвестными, входящая в эту задачу, име­ ет очень удобный вид. Будем считать, что все ее уравнения линейно неза­ висимы. Тогда она имеет ранг г, равный числу уравнений т. При этом т

базисных переменных у\, У2,--, Утуже выражены через п свободных пере­ менных *i, Х2, . . Хп.

Основной задаче линейного программирования разумно давать геометрическую интерпретацию в пространстве свободных переменных хи хп. При п = 2 рассмотрим плоскость с координатами хи х2. Вследст­ вие требования неотрицательности переменных у . > 0 , область допусти­

мых решений в этом случае ограничена прямыми, описываемыми уравне­ ниями:

У у—Ь1+ £>цХ]+ Ь12-^2 = ^>

У2 = Ь 2 + Ь

Ь 22%2 = ^ »

У » = Ьт + Ь т1х \+ Ь *1х г = 0 >

х^= 0; х2 =0.

ОДР, если она существует, представляет собой выпуклый много­ угольник (рис. 3.3, г, соответствующий случаю т = 3). Он называется мно­ гоугольником допустимых решений. Оптимальное решение достигается в одной из вершин этого многоугольника. Поскольку на каждой из ограни­ чивающих прямых одна из переменных yj или х( обращается в нуль, можно утверждать, что в любой вершине многоугольника допустимых решений, а значит, и в вершине, соответствующей оптимальному решению, по край­ ней мере две переменные обращаются в ноль.

При п = 3 следует уже рассматривать трехмерное пространство сво­

бодных

переменных х\9 х2,

х3.

ОДР

в нем

ограничена плоскостями

yj - b j

+ bjXx х+ bj2x2 + bJ3x3 =

0 , j

= 1,

2 ,..., m,

а также координатными

плоскостями xi = 0; *2 = 0; X3 = 0. Она представляет собой выпуклый мно­ гогранник, в одной из вершин которого находится оптимальное решение. Вершина многогранника образуется пересечением не менее чем трех плос­ костей, на каждой из которых одна из переменных обращается в нуль. По­ этому в каждой из вершин, в том числе и в точке оптимума, обращается в нуль не менее трех переменных.

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

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

1. Область допустимых решений ОЗЛП, если она существует, все­ гда образует выпуклое множество. Выпуклым называется множество, об­ ладающее следующим свойством: если любые две точки принадлежат это­

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

2. Оптимальное решение, если оно существует, всегда достигается на границе ОДР, а именно, в одной из вершин многогранника допустимых решений. Допустимое решение, находящееся в одной из вершин этого многогранника, называется опорным решением, а сама вершина - опор­

ной точкой.

3.В опорной точке не менее чем п переменных обращаются в нуль. Здесь п - число свободных переменных ОЗЛП.

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

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

3.4.1. Алгоритм замены переменных

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

Рассмотрим процедуру симплекс-метода для задачи линейного про­ граммирования, сведенной к ОЗЛП и имеющей вид (3.47). При этом т уравнений системы (3.46), входящей в ее состав, будем считать линейно независимыми.

Введем обозначения: а и = - Ь п; а 12= - 6 12,.-*; атп= ~Ьтп> с учетом которых система (3.46) примет так называемую стандартную форму

у , = Ъ Г (апх х+ а пх2 +... + а Хпхп)\

Уг = Ь2 - ( а2)Х1+ а 22Х2+-~ + а2пХг,У’

(3.48)

У т = Ьт ~ (am,*>+ °m2X2 + •••+ а тпХп)• У

Составим стандартную таблицу коэффициентов этой системы (табл.

3.2).

В алгоритм симплекс-метода входит многократно повторяющаяся процедура переразрешения системы (3.48) относительно новых базисных переменных. В ходе этой процедуры требуется вывести какую-либо пере­ менную Xj, j = 1, 2 ,..., л, из числа свободных и перевести ее в базисные, а взамен ввести в число свободных какую-либо базисную переменную y h

i = 1, 2,..., т. Такую замену обозначим

у г По результатам этой про­

цедуры осуществляется переход к новой опорной точке.

 

 

 

 

Т а б л и ц а 3.2

Базисная

Свободный

 

 

Свободные переменные

 

переменная

 

 

 

 

член (СЧ)

 

 

 

x„

(БП)

 

*2

Xj

 

 

У\

bi

«п

ап

a\j

a\n

У2

ь2

<321

ап

<*2j

аы

У/

ь,

Д/1

ап

ay

ain

Ут

ът

®т\

ami

amj

amn

Пусть требуется произвести замену *. <-> у .. Элемент ау стандарт­

ной табл. 3.2 называется разрешающим. Строка и графа, на пересечении которых стоит разрешающий элемент, также называются разрешающими.

Изложим алгоритм замены переменных [7]. Он состоит в следую­ щем преобразовании стандартной табл. 3.2:

1) в таблице выделяют (обводят) разрешающий элемент ау. Вычис­ ляют его обратную величину X= 1/ау и записывают ее в нижней части той

же ячейки, в которой находится разрешающий элемент; 2 ) все элементы разрешающей строки, кроме самого ау, умножают

на Я. Результаты записывают в нижних частях соответствующих ячеек;

3)все элементы разрешающей графы, кроме* ^самого ау, умножают на (- X). Результаты записывают в нижних частях соответствующих ячеек;

4)подчеркивают в разрешающей строке все верхние числа - преж­ ние элементы, а в разрешающей графе - все нижние числа - новые элемен­ ты, - за исключением X;

5)для каждого из элементов, не принадлежащих ни к разрешающей строке, ни к разрешающей графе, записывают в нижней части соответст­ вующей ячейки произведения подчеркнутых чисел, стоящих в той же строке и той же графе, что и данный элемент;

6 ) переписывают таблицу, заменив Xj на y t и обратно, элементы раз­

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

55

Например, дана система уравнений

 

у х= 2 х х+ х 2 + х3 +1;^

 

у 2 = х г х2 ~2 х3; >

 

у 3= х }+Зх2 +4.

Требуется произвести замену переменных х3 <-> у 2, то есть вывести

переменную

из числа свободных и перевести ее в базисные, а взамен

внести в число свободных переменную^- Перепишем исходную систему в стандартной форме (3.48):

 

у 1= 1 - ( - 2 х - х 2 - х 3У> I

 

 

У2 = 0 -(-* ,+ * 2

+2л:3);

У

 

 

у 3 = 4 - ( - х - З х 2).

)

 

Составим стандартную таблицу (табл. 3.3).

 

 

 

 

 

Т а б л и ц а 3.3

БП

с ч

Свободные переменные

*1

 

*3

 

 

*2

 

1

- 2

- 1

- 1

У2

0

-1

1

©

 

 

Уз

4

- 1

- 3

0

Разрешающим элементом является элемент на пересечении строки у 2 и графы х3. Это число 2. Величина, обратная разрешающему элементу,

равна X= 1/2.

Т а б л и ц а 3.4

 

 

 

 

Т а б л и ц а 3.5

БП

СЧ

 

Свободные переменные

 

*2

У2

 

 

 

У\

1

-5/2

-1/2

1/2

*3

0

-1/2

1/2

1/2

Уз

4

-1

- 3

0

Все элементы табл. 3.3 перепишем в верхние части соответствую­ щих клеток вспомогательной табл. 3.4. В этой же таблице будем записы­ вать и результаты промежуточных вычислений. Число Я запишем в нижней части той же ячейки, в которой находится разрешающий элемент. Нижние части остальных ячеек табл. 3.4 заполняются согласно пп. 2...5 приведен­ ного выше алгоритма. Перепишем табл. 3.4, заменив *3 на у 2 и обратно

(табл. 3.5), вычислив ее элементы в соответствии с п. 6.

Таким образом, исходная система уравнений разрешена относи­ тельно переменных у х, *3, у ъ и приобрела следующий вид:

у 1= 1 -(-2 ,5 * j - 0,5*2 + 0,5у 2)= 1 + 2 , 5 * 0,5*2 - 0,5у 2;

 

*3 = 0 - ( - 0 ,5 * ^ 0,5*2 + 0,5^2)= 0,5* j- 0,5*2

 

у 3 = 4 - ( - * 1-3 * 2)=4 + *1+3*2.

 

 

 

 

 

Т а б л и ц а 3.6

БП

СЧ

 

Свободные переменные

 

х2...

Хп

 

 

 

У1

bi

а и

012 . . .

din

У2

ъ2

а2\

 

&2п

Ут

Ьщ

Qm\

йт2 . . .

&тп

W

Со

7i

72 ...

7п

Помимо уравнений-ограничений в ОЗЛП имеется еще целевая

функция (3.41). После замены Xj

y i ее также надо выразить через новые

свободные переменные *1, *2,..., *у-1, у» Xj +1,..., хп. Это делается точно так же, как и при преобразовании произвольной строки стандартной таблицы. Функция W приводится к стандартной форме:

w = сй-(У\х\ + Чгх2 + --- + Чпхп\

(3-49)

где yi = - си J2 = - с2\..., уп= - сп. Числа с0, 71, 72,- • Y#*записываются в ка­ честве элементов добавочной строки стандартной таблицы (табл. 3.6) и

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

3.4.2. Отыскание опорного решения ОЗЛП

Первый этап решения ОЗЛП симплекс-методом состоит в получе­ нии опорного решения задачи. На втором этапе отыскивается ее оптималь­ ное решение.

Изложим алгоритм отыскания опорного решения ОЗЛП в предпо­ ложении, что ограничения задачи записаны в стандартной форме (3.48), а коэффициенты этой системы и целевой функции сведены в стандартную табл. 3.6.

1. Если в системе (3.48) все свободные члены b\,b2,...,bmнеотрица­ тельны, то опорное решение уже получено и имеет вид х\ = х2 - ... = х„ = 0; У\ = Ь\\у2 = Ь2\...,ут= Ът. Иными словами, для получения опорного реше­ ния, в случае, если все Ь. > 0, следует в системе (3.48) принять все свобод­

ные переменныех],х2,...ухправными нулю и получить из нее значения ба­ зисных переменных уъУг^-чУт* которые станут равны соответствующим свободным членам Ь\, Ь2,..., Ът.

2.Пусть в одном из уравнений системы (3.48) свободный член от­ рицателен. Если все элементы a}J соответствующей строки неотрицатель­ ны, то система (3.48) несовместна с условиями неотрицательности варьи­ руемых переменных и, следовательно, ОЗЛП не имеет решений.

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

4.Рассмотрим все элементы данной графы, не считая строки W, имеющие одинаковый знак со своим свободным членом. Элемент, для ко­ торого отношение к нему свободного члена минимально, выбирается в ка­ честве разрешающего. Обратимся к алгоритму замены переменных.

5.В соответствии с изложенными выше правилами осуществляется обмен переменными, которым соответствует выбранный разрешающий элемент.

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

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

После того как опорное решение ОЗЛП найдено, приступают к оты­ сканию ее оптимального решения в следующей последовательности:

58

1) рассматривается стандартная симплексная таблица, соответст­ вующая найденному опорному решению (см. табл. 3.6). Если все свобод­ ные члены в ней, не считая строки W, неотрицательны, а в строке W, не считая свободного члена, нет ни одного положительного элемента, то оп­ тимальное решение достигнуто и имеет вид х\ = х2 - ... = хп = 0; у\ = Ъ\\

У2 = Ь2 ; ... , у т = Ьт;

2)если в строке W есть один или несколько положительных эле­ ментов, не считая свободного члена, а в каждой из соответствующих им граф нет ни одного положительного элемента, то оптимального решения не существует. Целевая функция в этом случае не ограничена снизу;

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

4)вновь обращаются в п. 1, и при необходимости процедура повто­

ряется.

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

Дана задача линейного программирования:

W’= -2 х } - Зх2 - 1х3 —> шах;

6 - х j —Злг2 —4х3 > 0;

- 4 + 2jCj + 2 + 8*3 > 0;

хх >0; х2 > 0 ; х3 > 0.

Перейдем к минимизируемой целевой функции W\ изменив знаки всех коэф­ фициентов исходной целевой функции W' на противоположные, и к ограничениям в виде равенств, введя дополнительные переменные:

fV = 2х1 + Зх2 + 3 -> min;

у ] = 6 - х 1 - 3 х 2 - 4*з;

у2 - - 4 + 2jfj + 2 + 8*з;

JCj, х2, х3, у {, у 2 - неотрицательны.

В результате исходная задача сведена к 03ЯП. Запишем ее в стандартной фор­ ме: целевую функцию в виде (3.49), а нетривиальные ограничения в виде (3.48):

W = 0-(-2jCj - З х 2 - 1 х3);

(3.50)

Составим стандартную таблицу вида табл. 3.6 из коэффициентов целевой функции (3.50) и системы ограничений (3.51) (табл. 3.7).

 

 

 

 

Т а б л и ц а 3.7

БП

с ч

 

Свободные переменные

*i

*2

*3

 

 

У\

6

1

3

4

У2

- 4

©

- 5

- 8

 

 

W

0

- 2

- 3

- 7

Найдем опорное решение согласно приведенному выше алгоритму:

1)поскольку в системе уравнений (3.51) есть отрицательный свободный член Ъ2 ~ - 4, опорное решение еще не получено;

2)в строке у 2 (см. табл. 3.7) с отрицательным свободным членом есть отрица­

тельные коэффициенты atJ, поэтому опорное решение ОЗЛП существует;

3) среди отрицательных коэффициентов а{. строки у 2 выберем элемент

а21 = -2 . Соответствующую ему графу х1 возьмем в качестве разрешающей;

4)рассмотрим все элементы данной графы, не считая графы W. Оба элемента 1

и- 2 имеют один и тот же знак, что и свободный член, однако отношение свободного члена к своему элементу минимально для коэффициента - 2 : - 4 /(- 2) < 6/1. Поэтому

элемент - 2 в строке у 2 выбран в качестве разрешающего;

5) производится обмен переменными х] <-» у 2 (промежуточная табл. 3.8). В

верхние части ее клеток переписаны коэффициенты из табл. 3.7, в нижние - результаты промежуточных вычислений согласно алгоритму замены переменных. В окончатель­ ном виде результат замены переменных представлен в табл. 3.9. Вновь обратимся к п. 1 алгоритма отыскания опорного решения ОЗЛП. В полученном решении все свободные члены, относящиеся к ограничениям, неотрицательны. Поэтому опорное решение по­ лучено и имеет вид у 2 - х2 - *3 = 0; у х - 4; х, = 2. Значение целевой функции для это­

го решения равно 4.

 

 

 

 

Т а б л и ц а 3.8

БП

с ч

 

*2

*3

У\

6

1

3

4

- 2

ш

-5/2

- 4

 

 

 

 

У7

Е З

©

Е З

Е З

2

5/2

4

 

 

-1/2

 

 

W

0

- 2

- 3

- 7

4

Е З ’

5

8

 

60

 

 

 

 

Т а б л и ц а 3.9

БП

с ч

У2

*2

*3

Ух

4

1/2

1/2

0

 

 

©

 

х х

2

-1/2

4

 

W

4

- 1

2

1

Переходим к отысканию оптимального решения задачи:

1)согласно п. 1 алгоритма оптимальное решение еще не получено, так как в строке W есть положительные элементы, не считая свободного члена (см. табл. 3.9);

2)в столбцах х2 и х3, соответствующих положительным элементам строки W,

есть положительные элементы, поэтому оптимальное решение существует;

3)выполняется обмен свободной и базисной переменными. Из двух столбцов

х2 и х3, среди которых можно выбирать разрешающий элемент, возьмем столбец х2.

Для элемента 5/2 этого столбца отношение к нему свободного члена мини­ мально: 2/(512) < 4/(1/2), в связи с чем он выбирается в качестве разрешающего. Поэто­ му обмениваются переменные х 1 и х2 (табл. ЗЛО с промежуточными вычислениями).

 

 

 

 

Т а б л и ц а

3.10

БП

СЧ

У2

*2

*3

 

У\

4

1/2

1/2

0

 

-2/5

1/10

1-1/51

-4/5

 

лх \

4/5

|-1/2|

©

Ш

 

-1/5

8/5

 

 

 

 

Ш

 

 

W

4

-1

2

1

 

-8/5

2/5

|-4/5|

-16/5

 

 

 

 

 

 

 

Т а б л и ц а

3.11

БП

СЧ

У2

*1

*3

 

У\

18/5

3/5

-1/5

-4/5

 

х2

4/5

-1/5

2/5

8/5

 

W

12/5

-3/5

-4/5

-11/5

 

В табл. 3.11

представлен окончательный результат. В этой таблице оба свобод­

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

достигнуто и имеет вид у\ = х \ - х] = 0; jv* = 18/5; х\ = 4/5. Значение целевой функ­ ции W для этого решения равно 12/5, а значение исходной (максимизируемой) целевой функции W' равно - 12/5.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]