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

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ

ВЫСШЕГО ПРОФЕССИОНАЛЬНОГО ОБРАЗОВАНИЯ «САНКТ-ПЕТЕРБУРГСКИЙ ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ ЭКОНОМИКИ И ФИНАНСОВ»

КАФЕДРА ВЫСШЕЙ МАТЕМАТИКИ

МЕТОДИЧЕСКИЕ УКАЗАНИЯ ДЛЯ ПОДГОТОВКИ К ТЕСТИРОВАНИЮ

ПО ДИСЦИПЛИНАМ

«МЕТОДЫ ОПТИМАЛЬНЫХ РЕШЕНИЙ», «МАТЕМАТИЧЕСКИЕ МЕТОДЫ И МОДЕЛИ В ПРИНЯТИИ РЕШЕНИЙ»

ЛИНЕЙНОЕ ПРОГРАММИРОВАНИЕ (ЧАСТЬ I)

ИЗДАТЕЛЬСТВО САНКТ-ПЕТЕРБУРГСКОГО ГОСУДАРСТВЕННОГО УНИВЕРСИТЕТА

ЭКОНОМИКИ И ФИНАНСОВ

2012

2

Рекомендовано научно-методическим советом университета

Методические указания для подготовки к тестированию по дисциплинам «Методы оптимальных решений», «Математические методы и модели в принятии решений». Линейное программирование (Часть I). – СПб.: Изд-во СПбГУЭФ, 2012. – 65 с.

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

Составители выражают благодарность В.Н. Десницкой за помощь в работе.

Составители: канд. экон. наук, доцент Н.Е. Авдушева, канд. физ.-мат. наук, доцент В.Г. Дмитриев, старший препод. О.Н. Коростелева, канд. физ.-мат. наук, доцент С.В. Петрас, д-р техн. наук, профессор В.А. Рыжов, д-р техн. наук, профессор Г.В. Савинов

Рецензент канд. физ.-мат. наук, доцент И.К. Лицкевич

© СПбГУЭФ, 2012

3

1. Общие сведения

1.1. Общая задача линейного программирования (ЛП) состоит в вычислении оптимального (наибольшего или наименьшего) значения линейной целевой функции f ( X ) c1x1 c2 x2 ... cn xn c0 на множестве D, которое определяется конечной системой линейных ограничений (нестрогих линейных

неравенств и линейных уравнений). Каждая точка X (x1, x2 ,..., xn ) из множества D называется допустимым планом задачи, а само множество D называ-

ется множеством, или областью, допустимых планов В дальнейшем для

точек и n -мерных векторов

используется одно и то же обозначение

X (x1, x2 ,..., xn ) . Координаты

x1, x2 ,..., xn называются компонентами плана

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

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

стоящая из оптимального значения целевой функции f Opt и множества опти-

мальных планов DOpt . Если оптимальный план единственный, то говорят, что задача ЛП имеет единственное решение (единственный оптимум). В случае неединственности оптимальных планов говорят, что задача ЛП имеет альтернативные решения (альтернативный оптимум). Если оптимальных планов не существует, то задача ЛП не имеет решения.

Поиск наибольшего значения целевой функции называется задачей на максимум, наименьшего – задачей на минимум. Соответственно используются обозначения f (X ) Max и f (X ) Min .

1.2. В следующих трех случаях решение задачи ЛП не представляет трудностей:

1) если f (X ) c0 (целевая функция постоянная), то f Opt c0 , а DOpt D – все допустимые планы являются оптимальными планами;

2)

если D

(множество допустимых планов является пустым), то за-

дача ЛП не имеет решения;

3)

если D {a} (множество допустимых планов состоит из одной точки),

то f Opt

f (a) и DOpt

{a}.

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

1.3.Множество допустимых планов задачи ЛП всегда является выпуклым

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

4

В типичных случаях множество допустимых планов образует выпуклое и замкнутое многогранное (полиэдральное) множество (полиэдр). В частном случае плоскости (если n 2 ) типичное множество допустимых планов имеет вид выпуклого и замкнутого многоугольника или многоугольной неограниченной области.

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

Координаты вершины множества D Rn являются решением некоторой системы из n линейных уравнений. Эти n уравнений выбираются из совокупности уравнений, которые возникают после замены в исходных ограничениях знаков неравенства на знаки равенства. Рассматриваются только такие системы, которые имеют единственное решение (системы с ненулевым определителем). И, наконец, решение выбранной системы должно быть допустимым планом оно должно удовлетворять всем исходным ограничениям задачи. Поиск вершин множества допустимых планов сводится к отысканию и решению всех систем, удовлетворяющих перечисленным условиям. Поскольку в задаче ЛП число ограничений конечное, то множество допустимых планов имеет конечное число вершин.

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

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

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

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

опорным планом.

1.6. Опорная гиперплоскость может пересекать выпуклое множество по отрезку, лучу (полупрямой) или целой прямой. В этом случае говорят, что на границе выпуклого тела имеется ребро или, соответственно, бесконечное ребро. Наглядные примеры ребер – стороны треугольника, ребра пирамиды или параллелепипеда. У круга на плоскости ребер нет. Лучи, ограничивающие угол на плоскости, являются его бесконечными ребрами.

Если множество допустимых планов задачи ЛП содержится в некоторой плоскости размерности k n и не лежит ни в какой плоскости меньшей размерности, то из каждой вершины выходят не менее чем k ребер.

Два опорных плана называются соседними, если они соединимы ребром.

5

1.7.Множество в пространстве Rn называется ограниченным, если оно целиком содержится внутри некоторого шара. Типичное ограниченное множество допустимых планов имеет, по крайней мере, две вершины. Если множество допустимых планов неограниченное, то оно содержит, по крайней мере, одно бесконечное ребро.

1.8.Примеры множеств допустимых планов на плоскости.

P B C Q

B

N M C

A D

M

Четырехугольник ABCD ограниченное множество допустимых планов.

Точки A, B, C, D вершины.

MN , PQ

опорные прямые,

 

MN строго опорная прямая.

AB, BC, CD, DA ребра.

 

D

E

 

N

 

 

ABCDE

неограниченное множество

 

допустимых планов.

 

Точки B, C, D вершины.

 

MN строго опорная прямая.

 

BC, CD

ребра.

 

 

 

BA, DE

бесконечные ребра (лучи).

 

1.9. Множество уровня целевой функции f (X ) определяется линейным уравнением c1x1 c2 x2 ... cn xn c0 t . Во всех точках множества уровня t це-

левая функция принимает одно и то же значение, равное t. В пространстве Rn множество уровня является гиперплоскостью, а при n = 2 (на плоскости) – прямой линией. В случае плоскости говорят о линиях уровня целевой функции. В пространстве Rn множества уровня t R образуют семейство параллельных

гиперплоскостей, а в случае плоскости семейство параллельных прямых.

Ненулевой вектор N = (c1, c2,…, cn) является нормальным вектором (нормалью) ко всем гиперплоскостям (линиям, если n = 2) уровня целевой функции. Имеется в виду, что этот вектор перпендикулярен (ортогонален) всем гиперплоскостям (линиям, если n = 2) уровня целевой функции.

1.10. Градиент f ( X ) grad f ( X ) (c1,c2 ,...,cn ) линейной целевой функции в точке X является постоянным вектором (не зависящим от точки), ортогональным (перпендикулярным) к гиперплоскостям ее уровня (линиям уровня, если n = 2).

6

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

1.11. Пусть

X

( x1,

x2 ,...,

xn ) вектор приращения аргумента. Из-

вестно, что для линейной функции ее приращение

f (X , X ) f (X

X )

 

 

 

f (X ) и дифференциал d f (X , X )

f (X ),

X

(угловые скобки обозна-

чают скалярное произведение) равны:

 

 

 

 

 

 

f ( X , X )

d f ( X ,

X ) c1 x1

c2

x2

... cn xn .

 

Если вектор

X приращения аргумента ортогонален градиенту функции,

то f (X , X ) d f (X ,

X )

0. При этом длина вектора

X не имеет значе-

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

Также можно говорить о знаке приращения целевой функции в направ-

лении вектора

X . Из равенств

f (X , X ) d f (X , X )

f (X ), X

сле-

 

 

 

 

 

 

дует, что если скалярное произведение

f (X ), X

0 , то знак приращения

функции положительный и функция возрастает в направлении вектора X . Ес-

ли

f (X ), X

0, то знак приращения функции отрицательный и функция

убывает в направлении вектора X . Пусть

– угол между векторами

f (X )

 

и

X . Тогда из формулы

f (X ), X

||

f (X ) || ||

X ||

cos

следует, что

 

 

 

 

 

 

знак приращения целевой функции положительный (отрицательный), если угол острый (тупой).

1.12. Известно, что если задача ЛП имеет решение, а множество допустимых планов содержит опорные планы, то среди оптимальных планов обязательно найдется опорный план.

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

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

7

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

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

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

1.Нахождение какого-либо опорного плана.

2.Выяснение, является ли опорный план оптимальным.

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

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

2.Специальные формы задач ЛП

2.1.Задачу на максимум вида

n

 

 

 

 

 

f ( X )

c j x j

Max;

j

1

 

 

 

 

n

 

 

 

 

 

ai j x j

bi , i 1, m,

j 1

 

 

 

 

 

x j 0, j

1, n.

 

 

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

В матрично-векторной форме ограничения стандартной задачи ЛП кратко записывают следующим образом:

 

 

 

 

 

 

 

 

8

 

 

 

 

 

 

 

 

 

 

 

A X B,

 

 

 

 

 

 

 

 

 

X

0 .

 

 

Здесь

X

(x , x ,..., x )

– план,

A

(ai j )

– матрица системы ограничений раз-

 

1

2

n

 

 

 

 

 

мера m n .

B

(b1 ,b2 ,...,bm ) – вектор правых частей ограничений, где bi могут

быть произвольными числами.

 

 

 

 

 

 

 

 

 

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

 

 

 

 

 

a11

a12

 

 

 

a1n

x1

b1

 

 

 

 

 

a21

a22

 

 

 

a2n

x2

b2

 

 

 

 

 

am1 am2

 

 

 

amn

xn

bm ,

 

 

 

 

 

x j

0,

j

1, n.

 

 

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

один план O (0,0,...,0) , который является опорным планом. Если условие неотрицательности правых частей не выполняется, то множество допустимых планов может оказаться пустым.

2.2. Задачу вида

 

n

 

f ( X )

c j x j

Max;

 

j 1

 

A X B,

 

X

0,

 

при условии, что ранг матрицы

A равен m (числу ее строк), будем называть

канонической задачей ЛП.

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

 

2.3.

Добавляя к m уравнениям системы ограничений

n m уравнений

вида

xj

0

, где

k 1,..., n m

, можно получить системы из

n линейных урав-

k

 

 

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

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

Опорные планы канонической задачи ЛП содержат не менее чем n m нулевых компонент.

9

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

 

 

 

2x1

3x2

x3

5x4

7,

 

 

 

 

 

3x1

2x2

2x3

5x4

1,

 

 

 

 

 

x1

0, x2

0, x3

0, x4

0.

 

 

Добавляя к уравнениям системы ограничений уравнения x1

0 , x2 0 , получа-

ем определенную систему из четырех уравнений:

 

 

 

2x1

3x2

x3

5x4

7,

 

 

 

 

 

3x1

2x2

2x3

5x4

1,

x3

5x4

7,

x3

2,

x1

 

 

 

0,

2x3

5x4

1.

x4

1.

 

x2

 

 

0.

 

 

 

 

 

Решение этой системы X (0;0;2;1) является опорным планом.

При x2

0 ,

x4

0 решение системы (15;0;

23;0) оказывается недопус-

тимым. Еще один опорный план (6 5;0;0;23 25)

получается при добавлении

уравнений x2

0 ,

x3

0. Решения остальных трех систем оказываются недо-

пустимыми. Множество допустимых планов этого примера содержит ровно два опорных плана (две вершины).

2.4. Существует еще один подход к получению опорных планов задачи ЛП в канонической форме, основанный на разделении переменных на базисные и свободные – прием, используемый при решении неопределенных систем линейных уравнений. Выбирается любой набор из m столбцов матрицы, образующих линейно независимую систему. Такой набор образует базис в

m -мерном пространстве Rm , а переменные, соответствующие этим столбцам, называются базисными. Остальные переменные называются свободными, или

небазисными.

Вектор B правых частей системы ограничений является элементом про-

странства Rm и единственным образом представляется линейной комбинацией векторов выбранного базиса. Пусть, для определенности, базис состоит из по-

следних m столбцов матрицы

A

A1...An m An m 1...An

. Следовательно,

 

базис

 

 

 

 

 

 

 

 

B xnбазm.

1 An m 1

... xnбаз. An

0 A1

... 0 An m xnбазm.

1 An m 1 ...

xnбаз. An .

Вектор

(0;...;0; xбаз.

;...; xбаз. )

является одним

из решений

уравнения

 

n m 1

 

n

A X B .

Решение уравнения A X B , в котором все свободные переменные равны нулю, называется базисным решением. Допустимое базисное решение системы ограничений называется базисным планом задачи. Понятие базисного плана подразумевает разделение переменных на базисные и свободные.

x1 , x2
x3 , x4

10

Рассмотрим предыдущий пример. Система ограничений канонической

задачи имеет вид

 

 

 

 

2x1

3x2

x3

5x4

7,

3x1

2x2

2x3

5x4

1,

x1

0, x2

0, x3

0, x4

0.

В качестве базиса можно выбрать третий и четвертый столбцы матрицы.

Это равносильно тому, что переменные объявляются базисными, а – свободными. Полагая свободные переменные равными нулю, получаем систему уравнений для базисных переменных:

x3

5x4

7,

x3

2,

2x3

5x4

1.

x4

1.

В итоге имеем базисный план X

(0;0;2;1) .

 

 

Заметим, что система уравнений для базисных переменных совпадает с системой из пункта 2.3, которая получается после подстановки нулевых значений переменных из дополнительных уравнений. Следовательно, базисные планы являются опорными планами задачи. С другой стороны, любой опорный план можно рассматривать как базисный план, считая переменные из дополнительных уравнений свободными.

2.5. Отметим, что опорный и базисный план задачи ЛП в канонической форме содержат, по крайней мере, n m нулевых компонент. Однако план, содержащий n m нулевых компонент, может не быть опорным.

Опорный или базисный план, содержащий точно n m нулевых компонент, называется невырожденным. Если нулевых компонент больше, чем n m , то план (опорный или базисный) вырожденный. Применительно к базисному плану невырожденность означает, что все базисные переменные строго положительные. В вырожденном базисном плане имеются нулевые значения базисных переменных. Чтобы отличить нули базисных переменных от нулей свободных переменных будем отмечать их нижним подчеркиванием. Например, план X (1;3;0;6;0; 0) вырожденный, базисными переменными являются

x1, x2, x4 и x6 и, а свободными – x3 и x5.

В случае вырождения одному опорному плану может отвечать несколько базисных планов, отличающихся только выбором свободных и базисных переменных. Например, разные базисные планы (1;3; 0;0;0) и (1;3;0;0; 0) отвечают одному опорному плану (1;3;0;0;0) .

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

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