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

ИсследОпераций

.pdf
Скачиваний:
28
Добавлен:
08.05.2015
Размер:
4.21 Mб
Скачать

Но так как y z , разности, заключенные в скобки, не все равны нулю. Поэтому из соотношения (6.6) следует линейная зависимость векторов Ak k 1,l , что

невозможно, так как по условию теоремы x – опорное решение.

Итак, предположение о том, что x не угловая точка, привело к противоре-

чию. Значит, сделанное предположение неверно и x – угловая точка множества D .

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

1)находят все опорные решения системы ограничений данной задачи;

2)выбирая из найденных опорных решений решения с неотрицательными компонентами, определяют все угловые точки допустимого множества ЗЛП;

3)вычисляют значения целевой функции во всех полученных угловых точках и выбирают из них наименьшее.

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

63

ГЛАВА 3. СИМПЛЕКС-МЕТОД

§ 1. Оценки переменных ЗЛП и их вычисления

Определение. Систему линейных уравнений будем называть простейшей, если она является системой с единичным базисом и свободные члены всех её уравнений неотрицательны. Основное опорное решение простейшей системы будем называть основным опорным планом.

Например, система

3x1 x2

 

2x4 5,

 

x3 3x4 3

x1

является простейшей. В этой системе x2

и x3 – базисные переменные, x1 и x2

свободные переменные, xосн 0, 5, 3, 0

– основной опорный план.

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

Оценку, соответствующую переменной xk , будем обозначать k . Из опре-

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

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

min z c1x1 c2 x2 c3x3 c4 x4 ,

 

x

a x a x b 0,

 

 

1

13

3

14

4

 

1

(1.1)

 

x2 a23x3 a24 x4 b2 0,

 

 

 

 

 

 

 

 

 

 

 

xk 0,

k 1, k.

 

 

Преобразуем целевую функцию задачи (1.1). Из системы ограничений вы-

разим базисные переменные x1

и x2

через свободные x3 и x4

и подставим их в

выражение целевой функции:

 

 

 

 

 

 

 

x1 b1 a13x3 a14x4,

x2 b2 a23x3 a24x4 ,

 

z c1 b1 a13x3 a14x4 c2 b2 a23x3 a24x4 c3x3 c4x4 .

Приводя подобные члены, получаем

z c1b1 c2b2 c3 a13c1 a23c2 x3c4 a14c1 a24c2 x4 .

64

Взятые с противоположным знаком коэффициенты при переменных xk и являются оценками k , соответствующими этим переменным. Таким образом,

1 0, 2 0, 3 a13c1 a23c2 c3 ,

 

4

a14c1 a24c2 c4 .

(1.3)

Свободный член выражения (1.2) обозначим O , т.е.

 

 

 

 

O c1b1 c2b2 .

(1.4)

Чтобы преобразовать формулы (1.3), (1.4) к более удобному виду, введем в

рассмотрение вектор

c

 

, компонентами которого являются коэффициен-

cбаз 1

 

 

c2

 

 

 

ты заданной целевой функции при базисных переменных, и запишем систему ограничений задачи (1.1) в векторной форме

 

 

 

1

 

 

 

 

0

 

 

где

A1

 

0

 

,

A2

 

1

 

,

 

 

 

 

 

 

 

 

 

A1x1 A2x2 A3x3 A4x4 B ,

 

a

 

 

 

a

 

 

b

 

A3

13

 

,

A4

14

 

,

B 1

.

 

a23

 

 

a24

 

b2

Нетрудно видеть, что с учетом введенных обозначений формулы (1.3), (1.4) принимают вид

O cбаз , B ,

(1.5)

 

 

 

 

 

k cбаз , Ak

ck ,

k 1,4.

Полученные формулы (1.5) позволяют вычислить оценки всех переменных и величину O для любой канонической ЗЛП с простейшей системой ограниче-

ний.

В заключение выясним смысл величины O . Для этого рассмотрим основной опорный план задачи (1.1)

xосн b1, b2, 0, 0

и вычислим значение целевой функции на этом плане. z xосн c1b1 c2b2 0 O .

Таким образом, величина O есть значение целевой функции при подстановке в

нее основного опорного плана данной задачи.

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

65

менных k , k 1, n . Тогда по определению оценок целевая функция данной задачи имеет вид

n

 

z x O k xk .

O z x осн .

k1

§2. Первая симплексная таблица

Пусть дана каноническая ЗЛП с простейшей системой ограничений

 

min z c1x1 c2 x2 ... cn xn ,

 

a

x a

x

... a

x

 

b 0,

11 1

12

2

 

 

1n

 

n

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

(2.1)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a

x a

m2

x

 

... a

 

 

x

b

 

0,

 

m1 1

2

 

mn

 

n

m

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xk 0,

k 1, n.

 

 

 

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

Таблица 1

 

сбаз

xбаз

x1

x2

...

xn

B

 

 

 

 

 

c1

c2

...

cn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

cб1

xб1

a11

a12

...

a1n

b1

...

 

...

...

...

...

...

...

 

 

 

 

 

 

 

 

 

 

cбm

xбm

am1

am2

...

amn

bm

 

 

 

z

1

2

...

n

O

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Первая симплексная таблица задачи (2.1) с системой ограничений, содержащей m уравнений и n переменных, состоит из m 2 -х строк и n 3 -х столбцов.

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

соответствующих уравнениях системы ограничений, а в первый столбец – сбаз

66

записываются коэффициенты целевой функции, стоящие перед базисными переменными, указанными во втором столбце.

В последнюю очередь заполняется нижняя строка таблицы, называемая индексной строкой. Первая ее клетка остается свободной, во вторую записывается переменная, обозначающая целевую функцию, в последнюю – значение O , а все

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

столбцов B и сбаз , а для отыскания любой оценки k нужно из скалярного произведения столбца сбаз и столбца Ak , расположенного под указанной в шапке переменной xk , вычесть соответствующий коэффициент ck ).

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

Пример 1.

min z 2x1 x2 x3 2x4 x5,

 

2x2

3x4 x5 6,

 

x2

4x4

5,

x1

 

3x2

x3 2x4

1,

 

 

 

 

 

xk 0,

k 1,5.

Для данной ЗЛП:

а) составить первую симплексную таблицу; б) вычислить значение целевой функции на основном опорном плане;

в) записать выражение целевой функции только через свободные переменные.

Р е ш е н и е. Данная каноническая задача имеет простейшую систему ограничений с базисными переменными x1, x3, x5 и свободными – x2 , x4 . Следуя ука-

занным выше правилам, записываем условие этой задачи в виде первой симплексной таблицы (табл. 2).

 

 

 

 

 

 

 

 

 

 

Таблица 2

 

 

 

 

 

 

 

 

 

 

 

 

 

сбаз

xбаз

x1

x2

 

x3

x4

x5

 

B

 

2

1

 

1

2

1

 

 

 

 

 

 

 

 

1

 

x5

0

2

 

0

3

1

 

6

2

 

x1

1

1

 

0

4

0

 

5

 

1

x3

0

3

 

1

2

0

 

1

 

 

 

z

0

4

 

0

1

0

 

15

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

67

 

 

 

 

Придавая базисным переменным, перечисленным в столбце xбаз , соответ-

ствующие значения из столбца B ,

получаем основной опорный план

xосн 5, 0,1, 0, 6 . Требуемое значение

z xосн содержится в индексной строке

составленной таблицы

z xосн O 15.

Выражение целевой функции ЗЛП через свободные переменные записывается также по индексной строке таблицы

z15 0 x1 4 x2 0 x3 1 x4 0 x5 15 4x2 x4 .

§3. Критерий оптимальности основного опорного плана

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

Пусть дана каноническая ЗЛП с простейшей системой ограничений (2.1). Составим для этой задачи симплексную таблицу (табл. 1).

Теорема 3.1. Если все оценки k , k 1, n , содержащиеся в индексной стро-

ке симплексной таблицы неположительны, то основной опорный план данной задачи является оптимальным планом, а значение O представляет собой

наименьшее значение целевой функции на допустимом множестве.

Д о к а з а т е л ь с т в о. Используя оценки, содержащиеся в индексной строке таблицы, записываем целевую функцию данной ЗЛП

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

z O k xk .

 

 

 

 

 

 

 

 

 

 

 

k 1

 

 

 

Пусть теперь

 

 

 

 

 

 

 

 

 

x

x1, x2

,..., xn – произвольный допустимый план данной

 

 

 

 

 

 

 

 

 

 

 

 

k 1, n ). Сравним значения целевой функции для плана x

и

ЗЛП (здесь xk 0 ,

 

основного опорного плана xосн . Получим

 

 

 

 

 

 

 

 

 

 

n

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z x

O k xk O z xосн ,

 

 

 

 

 

 

 

 

 

k 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

так как по условию теоремы при всех k k xk 0. Таким образом, для любого

 

 

 

 

 

 

 

 

 

xосн – оптимальный

 

 

 

 

 

 

 

допустимого плана x

 

z xосн z x , а это и означает, что

план данной ЗЛП, а O z xосн – наименьшее значение целевой функции на допустимом множестве ЗЛП.

§ 4. Критерий неограниченности ЗЛП

Теорема 4.1. Если в индексной строке симплексной таблицы канонической ЗЛП содержится положительная оценка k , а в столбце переменной xk нет ни

68

одного положительного элемента, то целевая функция данной ЗЛП не ограничена снизу на допустимом множестве.

Д о к а з а т е л ь с т в о. Не ограничивая общности, доказываем эту теорему для случая ЗЛП с четырьмя переменными и двумя ограничениями. Рассмотрим симплексную таблицу этой задачи.

Таблица 3

 

сбаз

 

xбаз

x1

x2

x3

xn

B

 

 

c1

c2

c3

cn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

c1

 

x1

1

0

a13

a14

b1

 

c2

 

x2

0

1

a23

a24

b2

 

 

 

z

0

0

3

4

O

 

 

 

 

 

 

 

 

 

 

 

 

Предположим, например, что 3 0 , а a13 0 и a23 0 . Восстановим по

табл. 3 условие данной ЗЛП с целевой функцией, выраженной только через свободные переменные.

min z O 3x3

4 x4 ,

 

x

a x a x b ,

(4.1)

 

1

13

3

14

4

 

1

 

 

x2 a23x3 a24 x4 b2 ,

 

 

 

 

 

 

 

 

 

 

 

xk 0,

k 1,4.

 

 

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

(4.1) зададим значения свободных переменных x3 t ,

x4 0 , где t – любое по-

ложительное число. Теперь однозначно определяются значения базисных пере-

менных x1 b1 a13t , x2

b2 a23t .

 

 

Полученная точка

x b1 a13t, b2 a23t, t,

0

при любом t 0 принадле-

жит допустимому множеству задачи (4.1), так как ее компоненты удовлетворяют системе ограничений и неотрицательны ввиду условий b1 0 , b2 0 , a13 0 ,

a23 0 . Значение целевой функции в этой точке z x O 3t .

По условию 3 0 , а так как t – произвольное положительное число, то при уве-

личении t целевая функция неограниченно убывает.

Таким образом, целевая функция не ограничена снизу на допустимом множестве, т.е. задача (4.1) не имеет решения.

§ 5. Теорема об улучшении основного опорного плана

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

69

Определение. Пусть в некотором столбце Ak симплексной таблицы со-

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

ных будем обозначать

и называть ключевым отношением для выбранного

столбца. (Очевидно, что 0 ).

 

 

Рассмотрим, например, фрагмент симплексной таблицы, состоящий из двух

столбцов xk

и B без элементов индексной строки, и определим ключевое отно-

шение для столбца переменной xk .

 

 

xk

 

...

B

 

 

1

 

...

5

5 / 1 5,

 

 

 

 

 

6 / 3 2 – ключевое отношение,

 

3

 

...

6

 

 

 

 

 

,

 

2

 

...

7

 

4

 

...

12

12 / 4 3.

 

 

 

 

 

 

Теорема 5.1. Если в индексной строке симплексной таблицы имеется положительная оценка k , а в столбце переменной xk содержится хотя бы один

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

Д о к а з а т е л ь с т в о. Не умаляя общности рассуждений, снова ограничимся случаем ЗЛП с четырьмя переменными и двумя ограничениями.

Рассмотрим задачу (4.1) с симплексной таблицей (табл. 3). Выпишем основной опорный план этой задачи xосн b1, b2, 0, 0 и значение целевой функции

на этом плане z xосн O .

Предположим, например, что 3 0 , а в столбце переменной x3 есть по

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

второму уравнению системы ограничений (4.1), т.е. b2 . (Тогда заведомо

a23

a23 0 ).

Перейдем от системы ограничений задачи (4.1) к равносильной системе уравнений. Для этого выполним над расширенной матрицей системы (4.1) жорданово исключение с ведущим элементом a23 (в качестве ведущего элемента вы-

бран знаменатель ключевого отношения)

1

0

a

a

b

 

1

 

0

 

 

 

 

 

13

14

1

 

a

a

b

 

 

 

 

 

 

 

12

 

14

1

.

 

 

 

 

 

 

 

 

 

 

 

 

0

1

a23

a24

b2

 

1

 

0

a22

a24

b2

 

Таким образом, получаем систему

70

 

 

 

 

 

x1 a12 x2

a14

b1,

 

 

 

 

 

(5.1)

 

a22 x2

x3 a24

b2.

 

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

 

 

 

 

 

b1a23 b2a13

 

 

 

 

 

 

 

b2

 

 

 

 

 

 

 

 

 

b1

 

 

 

;

b2

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

a23

a23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Но

b2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a23

, следовательно, b2 0.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рассмотрим теперь значение b1 . Возможны два случая:

 

 

 

 

 

a13 0 .

 

 

 

 

b1

 

a13b2

0 ,

 

 

 

1) Коэффициент

Тогда

 

b1

 

a23

ввиду условий

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a23 0, b1 0, b2 0 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2) Коэффициент a13

 

 

 

 

 

 

 

 

b1

 

 

 

b2

 

 

0 , так как по определе-

 

 

 

 

 

 

 

 

 

 

 

 

0 . Тогда b1 a13

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a13

 

 

a23

 

 

 

 

нию ключевого отношения

b1

 

 

b2

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

a13

 

a23

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0,

 

0 и система (5.1) является простейшей.

 

Таким образом, b1

b2

 

Выпишем основной опорный план системы (5.1)

 

 

 

 

 

xосн b1,0,b2,0 . Так как

системы (4.2) и (5.1) равносильны,

 

является одной из угловых точек допу-

xосн

стимого множества задачи (4.1).

 

 

 

 

 

 

Сравним значения целевой функции задачи (4.1) в точках xосн и xосн .

 

 

 

 

z xосн

O 3b2 4 0 O 3 b2 O z xосн .

Таким образом, при переходе от старого основного опорного плана xосн к новому

x значение целевой функции не увеличивается.

осн

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

§ 6. Алгоритм симплекс-метода

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

1.Составление первой симплексной таблицы.

2.Проверка основного опорного плана на оптимальность.

Если в индексной строке все оценки неположительны, то основной опорный план оптимален, а значение O – наименьшее значение целевой функции на

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

71

3. Проверка задачи на неограниченность.

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

4. Симплексное преобразование (улучшение основного опорного плана). Если условия пунктов 2 и 3 данного алгоритма не выполнены, то перехо-

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

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

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

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

г) С полученной таблицей возвращаемся к пункту 2 данного алгоритма. Пример 1. Решить ЗЛП

 

 

min z 2x1 6x2 5x5,

2x1 x2 x3

x5

 

 

20,

 

x1 2x2

x4

3x5

 

 

24,

 

 

 

3x

x

 

12x

x

18,

 

1

2

 

 

5

 

6

 

 

 

 

xk 0,

k 1,6.

 

Р е ш е н и е. Система ограничений данной ЗЛП является простейшей, поэтому для решения задачи применим симплекс-метод. Составим первую симплексную таблицу.

Таблица 4

 

сбаз

xбаз

x1

x2

x3

x4

x5

x6

B

 

2

6

0

0

5

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

x3

2

1

1

0

1

0

20

0

 

x4

–1

2

0

1

3

0

24

0

 

x5

3

1

0

0

12

1

18

 

 

 

 

 

 

 

 

 

 

 

 

 

 

z

2

6

0

0

5

0

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

72