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

Тема 3. ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ

3.1. Математическая формулировка и основные особенности задачи линейного программирования

В наиболее общем виде задача ЛП формулируется следующим образом.

Найти значения переменных xi 0, i =1,..., n , доставляющих экстремум линейной функции цели

 

 

n

 

F(x) = ci xi = cT x

(3.1)

 

 

i =1

 

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

 

 

n

 

bl , l =1,..., p,

 

alr xr

(3.2)

r =1

 

 

 

n

 

 

 

a jr xr

bj ,

j = p +1,..., p + q,

(3.3)

r =1

 

 

 

n

 

 

 

akr xr

= bk ,

k = p + q +1,..., m .

(3.4)

r =1

 

 

 

Здесь cT =[c1,c2 ,...,cn ] – транспонированный n-мерный вектор постоянных

коэффициентов, x n-мерный вектор переменных, m – общее

число

ограничений.

 

Ограничения (3.2)–(3.4) можно записать в матричной форме:

 

Ax{, =, }B,

(3.5)

где А – постоянная матрица размерности m×n, В m-мерный постоянный вектор. В сформулированной задаче имеется q ограничений типа неравенств и m q

ограничений типа равенств. Если ограничения типа неравенств отсутствуют, то такая форма записи задачи ЛП называется канонической. Общая форма записи ограничений может быть приведена к канонической путем введения дополнительных переменных. Дополнительные неотрицательные переменные вводятся таким образом, чтобы привести ограничения неравенства к виду равенств. В зависимости от знака неравенств (3.2) и (3.3) будут иметь место следующие выражения:

13

n

 

 

 

alr xr + xn+l =bl , l =1,..., p,

 

r =1

 

 

 

n

 

 

 

a jr xr

xn+ j

= bj , j = p +1,..., p + q.

 

r =1

 

 

 

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

 

 

 

A1x = B ,

(3.6)

где x – N-мерный вектор, включающий в себя как n основных, так и q дополнительных переменных (N = n + q) , A1 – постоянная матрица размерности m × N .

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

F(x) = −F1(x) .

Теперь задача ЛП может быть сформулирована в следующей канонической форме:

max{cT x

 

A x = B, x 0, i =

 

}.

(3.7)

1, N

 

 

 

1

i

 

Рассмотрим особенности задач ЛП. Система ограничений (3.6) представляет собой m линейных алгебраических уравнений с N неизвестными переменными. Если N = m и матрица A1 неособенная (т.е. det A1 ≠ 0, то существует единственное решение системы и варьировать переменные для обеспечения минимума F(x) оказывается невозможным. Если N < m , то некоторые уравнения являются

зависимыми и могут быть исключены, при этом возвращаемся к случаю, когда m = N. Это означает, что задача ЛП имеет смысл только при N > m , т.е. когда общее число неизвестных больше числа ограничений. В этом случае из множества решений системы (3.6) необходимо выбрать такое, которое придает целевой функции максимальное значение.

Отметим, что при отсутствии ограничений функция цели (3.7) не имеет экс-

тремума. Поэтому экстремум, если он существует, обязательно будет граничным, а не внутренним.

Так как все ограничения линейны, то множество допустимых решений явля-

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

14

3.2. Графическая интерпретация задачи линейного программирования

Для более полного представления о задаче ЛП сделаем её геометрическую интерпретацию. Совокупность любого числа линейных ограничений выделяет в пространстве x1, x2 ,..., xn некоторый выпуклый многогранник, ограничивающий

область допустимых значений переменных (ОДЗП). Геометрическую интерпре-

тацию и решение задачи нетрудно получить лишь в простейших случаях при n = 2 или n = 3. Рассмотрим задачу:

max{F(x) = c x

+ c

 

x

 

| (a

x + a

 

x

 

 

)b

 

, j =

 

;

x 0, x

 

0}. (3.8)

 

 

 

 

 

 

1,m

 

1 1

 

2

 

2

 

j1 1

j2

 

2

j

 

 

 

1

2

 

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

по одну сторону прямой a j1x1 + a j2 x2 = bj ,

j =

 

. ОДЗП получится в результате

1, m

пересечения m полуплоскостей. Условия неотрицательности позволяют ограничиться рассмотрением положительного квадранта.

На рис. 3.1 показан один из возможных вариантов ОДЗП в виде замкнутого многоугольника для случая m = 3.

X2

 

 

 

M

 

F1

 

 

F3

 

C2

 

 

 

F1

F2

F

max

 

 

 

ОДЗП

 

 

 

 

 

 

d

α

X1

0 F1/C1

Рис. 3.1. Графическая интерпретация задачи ЛП

Координаты x1 и x2 любой точки, принадлежащей области, удовлетворяют

системе ограничений задачи. Чтобы найти оптимальное решение, зададим функции цели некоторое постоянное значение F1 = c1x1 + c2 x2 = const и построим пря-

15

мую F , которая будет отсекать на оси ординат (x = 0) отрезок

x

2

=

F1

, а на оси

 

1

 

 

 

1

 

 

c2

 

 

 

x = F1

 

 

 

 

 

абсцисс

(x = 0) – отрезок

. Если задать другие значения функции цели

 

2

1

c1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

F2 , F3 ,... и изобразить соответствующие линии, то получим семейство параллель-

ных прямых, которые называются линиями уровня функции цели. Направление стрелки показывает направление увеличения целевой функции F1 < F2 < F3 <... .

Величину функции цели можно характеризовать расстоянием d от начала коор-

динат до линии уровня в соответствии с выражением d = F1 sin α. c1

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

это означает, что необходимо провести прямую F = const , проходящую хотя бы через одну вершину области и имеющую максимальное расстояние d от начала координат.

В случае минимизации это расстояние должно быть минимальным. В зависимости от вида ОДЗП и расположения линий уровня могут встретиться случаи, изображенные на рис. 3.2.

х2

х2

х2

F=const

B

А ОДЗП

ОДЗП

C

 

 

 

 

 

 

 

 

 

 

 

 

 

0

x1

0

х

1

0

x

1

 

 

 

 

F=const

 

 

 

 

 

 

 

 

 

 

 

а

 

б

 

 

в

 

 

 

 

 

 

 

Рис. 3.2. Различные варианты решения задач ЛП

16