Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Учебник Методы оптимизации.pdf
Скачиваний:
523
Добавлен:
29.05.2015
Размер:
1.33 Mб
Скачать

Требуется среди всех неотрицательных решений системы (7.8) найти такое, которое сообщает форме F наименьшее значение (минимизирует F ).

Естественно, что рассмотренные выше задачи не исчерпывают всех встречающихся на практике типов задач линейного программирования. Тем не менее они дают общее представление об их характере. Несмотря на внешнюю непохожесть (в особенности по содержанию) задач 7.1 – 7.4, нельзя не заметить ро д- ственности их математической формы. Более того, в следующем параграфе мы покажем, что все эти различные примеры с помощью определенных приемов, в конце концов, сводятся к одной и той же задаче. Она называется основной задачей линейного программирования. К ее разбору мы и переходим.

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

Основная задача линейного программирования состоит в следующем. Задана система

a x

+ + a

x = b ,

 

 

11

1

1n

 

n

1

 

 

a21x1

+ + a2n xn

= b2

,

(7.10)

 

 

 

 

 

 

 

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

 

a

x

+ + a

 

x

= b

 

 

m1

1

mn

n

m

 

m линейных алгебраических уравнений с n неизвестными x1,..., xn

и линейная

форма относительно этих же неизвестных:

 

F = c1x1 +... + cn xn + c0 .

(7.11)

Требуется среди всех неотрицательных решений системы (10) выбрать такое, при котором форма F принимает наименьшее значение (минимизируется).

Определение: Система (7.10) называется системой ограничений данной за-

дачи.

Сами равенства (7.10) называются ограничениями-равенствами. Отметим, что кроме ограничений-равенств в основу задач входят также ограничениянеравенства x1 0,..., xn 0.

Определение:

Всякое

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

решение

x1(0),..., xn(0) (xi(0) 0; i =1,...,n) системы (7.10) назовем допустимым. Допустимое решение часто называют планом задачи линейного программирования.

Определение: Допустимое решение системы (7.10), минимизирующее форму F , назовем оптимальным.

Рассмотрим следующие ограничения системы (7.10).

Задача имеет смысл лишь в том случае, когда система (7.10) совместна, то есть когда (согласно теореме Кронекера-Капелли) ранги основной и расширенной матриц системы совпадают. Этот общий ранг r не может превосходить чис-

ла n неизвестных. При r = n решение x1(0),..., xn(0) системы (7.10) единственно. Если это решение допустимо, то оно является оптимальным, так как никаких

57

других решений вообще нет. Если же среди чисел xi(0) имеется хотя бы одно от-

рицательное, то задача не имеет решения.

Таким образом, интерес представляет лишь случай r < n , и только он б у- дет нами рассматриваться в дальнейшем.

Каждую задача линейного программирования можно свести к форме основной задачи. Для этого нужно:

1.Уметь сводить задачу максимизации к задаче минимизации.

2.Уметь переходить от ограничений, заданных в виде неравенств, к некоторым им эквивалентным ограничениям-равенствам.

Покажем, как это сделать.

1. Очевидно, что форма F достигает наибольшей величины при тех же самых значениях неизвестных x1(0),..., xn(0), при которых форма F1 = −F достигает

наименьшей величины. Следовательно, максимизация формы F равносильна минимизации формы F1 = −F . Тем самым задача максимизации сводится к зада-

че минимизации.

2. Допустим теперь, что среди ограничений задачи имеется некоторое неравенство. Его всегда можно записать в виде

α1x1 + α2 x2 +... + αn xn +β ≥ 0 .

(7.12)

Введем новую, так называемую добавочную, неизвестную, связанную с неизвестными x1 ,..., xn уравнением

xn+1 = α1x1 +... + αn xn .

(7.13)

Очевидно, что условие неотрицательности величины xn+1 эквивалентно выполнимости неравенства (7.12). Иными словами, если система x1(0),..., xn(0), xn(0+)1 неотрицательных значений x1 ,..., xn , xn+1 удовлетворяет уравнению (7.13), то система x1(0),..., xn(0) удовлетворяет неравенству (7.12). И обратно, если величины

x1(0),..., xn(0) неотрицательны и удовлетворяют неравенству (7.12), то величина xn+1 = α1x1 +... + αn xn , найденная из уравнения (7.13), окажется неотрицательной.

Итак, ограничение-наравенство (7.12) эквивалентно ограничениюравенству (7.13). Следовательно, ценою введения в задачу добавочных неизвестных удается все ограничения-неравенства заменить ограничениями-равенствами. При этом число добавочных неизвестных равно числу ограничений-неравенств в исходной задаче.

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

58

Задача 1: Если все члены неравенств системы ограничений (7.1) этой задачи перенести в правую часть, то они примут следующий вид:

0 19 2x

3x

,

 

 

 

1

 

2

 

 

0 13 2x1 x2

,

 

 

(7.14)

0

15

3x2

,

 

 

 

 

 

 

 

0

18

3x1.

 

 

 

 

 

 

 

 

Введем четыре добавочные неизвестные и перейдем к новой системе огра- ничений-равенств:

x

=19

2x

3x

,

 

3

 

1

2

 

 

x4 =13 2x1 x2,

 

(7.15)

x5

=15

3x2

,

 

 

 

x6

=18 3x1.

 

 

 

 

Вместо максимизации формы F = 7x1 +5x2 будем минимизировать форму F1 = −7x1 5x2 . А это и есть основная задача линейного программирования.

Задача 2: Перепишем систему (7.3) ограничений этой задачи в виде:

0 T x

x ,

 

 

 

 

 

1

2

 

 

 

 

0 T x3 x4,

 

 

 

(7.16)

a x

+b x

= N

,

 

1 1

1 3

1

 

 

 

 

a x

+b x = N

2

.

 

2 2

2

4

 

 

 

Введем добавочные неизвестные и перейдем к системе ограниченийравенств

x

=T x

x

,

 

 

5

 

1

1

2

 

 

 

x6 =T2 x3 x4,

(7.17)

a x

+b x

= N ,

 

1

1

1 3

 

1

 

 

 

a x

+b x

= N

2

.

 

2

2

2

4

 

 

 

Среди неотрицательных решений системы (7.17) следует выбрать оптимальное для формы F = α1x1 + α2 x2 1x3 2 x4 .

Задача 3: Транспортная задача уже имеет вид основной.

59

Задача 4: Систему ограничений-неравенств (7.8) заменяем системой

a11x1 + a12 x2 +b1 = x3,

 

a x

+ a x

+b

= x ,

 

21

1

22

2

2

4

 

 

a31x1

 

 

 

 

 

(7.18)

+ a32 x2 +b3 = x5,

a x

+ a x

+b

= x ,

 

41

1

42

2

4

6

 

 

a x

+ a x

+b

= x .

 

51

1

52

2

5

7

 

 

ограничений-равенств. Минимизируемая форма F = c1x1 + c2 x2 остается без изменения.

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

7.3. Основная задача линейного программирования с ограничениями-неравенствами

Рассмотрим систему (7.10) ограничений-равенств основной задачи и рассмотрим случай r < n (r – ранг системы, n – число неизвестных). Из линейной алгебры известно, что в этом случае r неизвестных линейно выражаются через остальные r n = k неизвестных (эти последние принято называть свободными). Всегда можно занумеровать неизвестные так, чтобы последние xk+1,..., xn выра-

зились через первые

x1,..., xk

(поскольку n = k r , то неизвестных

xk+1,..., xn в

точности r штук).

 

 

 

 

 

 

 

x

+1

= α x + α

x + + α x

,

 

 

k

 

11 1

12 2

1k k

 

1

 

 

xk+2 = α21x1 + α22x2 + + α2k xk 2

,

(7.19)

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

 

 

 

x

= α

x + α

x

+ + α

x

.

 

 

n

 

 

r1 1

r 2 2

rk k

r

 

 

 

Система (7.19) эквивалентна системе (7.10).

Если теперь вместо величин xk+1,..., xn в выражении для формы F подставить их значения из (7.19), то форма F примет другой вид:

F = γ0 + γ1x1 +... + γk xk ,

(7.20)

то есть по-прежнему остается линейной, но выразится только через свободные неизвестные x1,..., xk .

Решая основную задачу, мы ограничиваемся лишь неотрицательными решениями системы (10) (или системы (7.19)). Поэтому с необходимостью должны выполняться неравенства

xi 0,(i =1,2,...,k) .

(7.21)

60

Если при этом учесть равенства (7.19), то получаем для i = k +1, k + 2,...,n) неравенства

0 ≤ α11x1 +... 1, 0 ≤ α21x1 +... 2 ,

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

0 ≤ αr1x1 +... r .

Для

свободных

неизвестных

xi (i =1,2,...,k) переписываем неравенства

(7.21) и приходим к системе

 

 

x1 0,

 

 

 

 

 

 

 

..........

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xk 0,

 

 

 

 

 

 

 

 

 

 

 

 

(7.22)

α

 

x

+ + α

 

x

+β ≥ 0,

 

11

1

1k

k

1

 

 

 

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

 

 

α

 

x

+ + α

 

x

 

 

 

 

r1

rk

r

0,

 

 

1

 

k

 

 

 

 

содержащей n линейных неравенств относительно k неизвестных. Ясно, что каждому допустимому решению системы (7.19) отвечает решение системы нера-

венств (7.22). И обратно, взяв произвольное решение x(0)

,..., x(0)

системы (7.22) и

 

 

 

1

 

 

k

 

найдя по формулам (7.19) величин x(0)

= α(0)x

+...

(0)x

k

, (i =1,...,r), по-

k +i

i1 1

 

ik

 

i

 

лучим, очевидно, неотрицательное решение системы (7.19), а значит, и системы (7.10). Тем самым вместо того, чтобы искать неотрицательные решения системы (7.10), можно искать все решения системы неравенств (7.22).

В результате мы пришли к следующей математической задаче.

Дана система (7.22), содержащая n линейных неравенств относительно k неизвестных x1,, xk и линейная форма (7.20) относительно тех же неизвестных.

Требуется среди всех решений системы (7.22) выбрать такое, при котором форма F достигает наименьшего значения. Такое решение будем называть, как и прежде, оптимальным.

Из хода наших рассуждений очевидно, что основная задача линейного программирования эквивалентна только что сформулированной задаче. Эту задачу естественно называть основной задачей линейного программирования с ограничениями-неравенствами. Для раткости назовем ее основной задачей в форме (А) или просто задачей (А).

Проиллюстрируем наши рассуждения на задачах 1 – 4.

Задача 1: В результате сведения этой задачи к основной мы пришли к следующей системе ограничений:

61

x

=19 2x

3x

,

 

3

1

2

 

 

x4 =13 2x1 x2,

 

 

(7.15)

x5

=15 3x2

,

 

 

 

 

 

x6

=18 3x1.

 

 

 

 

 

 

и форме F = −7x1 5x2 .

Выпишем матрицу I системы (7.15):

 

2 3

1

0 0

0

 

 

2 1 0 1 0 0

 

I =

.

 

0 3

0

0

1

0

 

 

 

 

3

0

0

0

0

1

 

Очевидно, что ранг ее r = 4 , так как минор, составленный из четырех последних столбцов, не равен нулю. Ранг r рассмотренной матрицы не может быть, естественно, больше 4 (матрица I имеет лишь 4 строки). Таким образом,

r = 4, n = 6, a k = n r = 2.

Согласно общей схеме теперь следует выразить четыре неизвестные через оставшиеся две. Из системы (7.15) видно, что четыре последние неизвестные

x3, x4, x5, x6

уже выражены через первые неизвестные x1,

x2 . Форма F также

выражается через x1,

x2 . Потребовав неотрицательности всех неизвестных,

приходим к системе неравенств

 

x1 0,

 

 

 

x2 0,

 

 

 

 

 

 

19 2x1 3x2 0,

(7.23)

13 2x x 0,

 

1

2

 

 

15 3x2 0,

 

 

 

 

18 3x 0.

 

 

1

 

 

 

Тем самым эта задача приобрела форму задачи (А).

Задача 2: Конкретизируем задачу, придав коэффициентам следующие числовые значения:

a1 = 6, a2 = 24, b1 =13, b2 =13, N1 = 30, N2 = 96, T = 6, α1 = 4, α2 = 47 , β1 =13, β2 = 26.

Тогда система ограничений и форма F примут вид:

62

x1 + x2 6,

 

 

 

x3 + x4 6,

 

 

 

 

 

(7.24)

6x +13x = 30,

 

1

3

 

 

 

24x

+13x

= 96.

 

2

4

 

 

 

F = 4x1 + 47x2 +13x3 + 26x4

Оставив пока в стороне первые два ограничения-неравенства, выразим из ограничений-равенств x3 и x4 через x1 и x2 (неизвестные x1 и x2 в нашей задаче

мы выбираем в качестве свободных):

x

=

 

1

(30

6x

),

 

 

13

 

 

3

 

 

1

 

(7.25)

 

 

 

 

1

 

 

 

 

x

=

(96

24x

).

 

 

 

4

13

 

 

2

 

 

 

 

 

 

 

 

 

Далее, подставим в левую часть исходных ограничений-неравенств и в форму F выражения несвободных неизвестных через свободные, в результате чего получим

x1 + 4x2 8,

F = 222 2x1 x2.

Требование неотрицательности х3 и х4 эквивалентно неравенствам

1

(30

6x )

0,

 

13

 

 

 

1

 

 

 

 

 

 

1

 

 

 

 

 

 

(96

24x

)0,

 

 

13

 

 

2

 

 

 

 

 

 

 

которые после элементарных преобразований дают x1 5, x2 4 . Учитывая теперь исходное неравенство x1 + x2 6 и неотрицательность всех величин, получим следующую систему ограничений-неравенств:

x1 0,

 

 

 

x2 0,

 

 

 

 

 

 

x1 5,

 

 

(7.26)

x2 4,

 

 

 

 

 

x + x

6,

 

 

1

2

 

 

 

x + 4x

8.

 

1

2

 

 

При этом минимизируемая форма имеет вид

 

F = 222 2x1 x2.

(7.27)

Таким образом, мы пришли к задаче (А). Также можно свести к форме (А) задачу 3 и задачу 4.

63