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

практикум по математике часть 3

.pdf
Скачиваний:
121
Добавлен:
15.02.2015
Размер:
4.76 Mб
Скачать

Перемещая вершины парабол (и сами параболы) вдоль плоскости x1 =3 по направлению оси Ox2 , мы имеем увеличение целевой функции от

F = 0 , min F в точке М, max F в точке Р и т.д..

Таким образом, решение задачи есть две точки N и D.

Подставив координаты точки N(x1N , x2 N ) в формулу для F , находим min F . Подставив координаты точки D(x1D , x2D ) в формулу для F , находим

max F .

Но решение задачи геометрическим методом в объемном ( 3-х мерном) пространстве весьма осложнено построениями. Необходимо, как и прежде, перейти на плоскость, т.е. объемную задачу и ее решение спроектировать на плоскость x1Ox2.

Прямая призма - модель системы ограниченийпроектируется в область допустимых значений( x1, x2 ) виде четырехугольника OABC рис.3.2..

Параболылинии уровня параболического цилиндрапроектируются сами на себя, т.к. все они лежат в плоскостях параллельных плоскости x1Ox2 .

Рис.3.2.

Перемещение парабол с целью увеличения целевой функции F производится в том же направлении grad F = j , т.е. в направлении оси Ox2 , вдоль прямой x1 = 3 (см. рис.3.2). Решение заключается в нахождении точек

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

Алгоритм геометрического метода решения задачи.

1.Построить область допустимых решений (3.2).

2.Построить линию уровня целевой функции F (3.1), приравнивая ее

кнулю.

3.Перемещая линию уровня по направлению оси Ox2 вдоль прямой

x1 =3 найти граничные точки ( точки касания) линий уровня с границей области допустимых значений.

50

4.Определить координаты точек, найденных в п.3, которые и будут решением задачи.

5.Найденные координаты точек подставить в формулу (3.1) для F и вычислить min F и max F .

Пример 2. Найти такие значения переменных x1, x2 , при которых

обеспечивается максимум (минимум) целевой функции

 

F = (x1 4)2 +(x2 6)2

(3.3)

при условиях

 

 

 

 

 

 

 

2x

5x

 

 

 

≤ −7

 

 

1

 

2

 

 

3x1 + x2 15

(3.4)

4x

+7x

2

71

 

1

 

 

 

 

x

0, x

2

0

 

1

 

 

 

 

 

 

Геометрическая модель системы ограничений в этом примере является тело, ограниченное боковой поверхностью прямой призмы, в сечении которой плоскостью F = 0 находится треугольник ABC (рис.3.3).

Рис. 3.3.

51

Геометрическая модель целевой функции F = (x1 4)2 +(x2 6)2

представляет собой параболоид вращения, вершина которого находится на плоскости x1Ox2 и смещена на 4 единицы по оси Ox1 и на 6 единиц по оси

Ox2 .

Пересечение этих геометрических моделей (рис.3.3) наглядно показывает решение данной задачи квадратического программирования.

Вточке О (4,6) имеем min F = 0.

Вточке С имеем max F = SC . Для вычисления max F необходимо найти координаты точки С и подставить их в формулу (3.3) для целевой функции F .

Таким образом, решение задачи есть координаты точек О и С. Но объемное представление и решение, как это уже показано ранее, достаточно не простое.

Спроектируем решение задачи на плоскость x1Ox2 и сформулируем

ееалгоритм.

Модель системы ограничений, как и прежде, проектируется в область допустимых значений x1, x2 в виде треугольника АВС (рис.3.4).Линии уровня

целевой функцииокружности с радиусом F

(пересечение поверхности

параболоида

 

вращения

с плоскостями

F = const

параллельными

координатной

плоскости

F = 0 )- проектируются сами на

себя. Градиент

функции

F

 

 

F = 2(x1 4)

 

+ 2(x2 6)

 

-

вектор

в плоскостях

 

grad

i

j

параллельных плоскости F = 0 - указывает направление увеличения целевой функции F . Он всегда перпендикулярен линиям уровня (окружностям) и в данном случае направлен по радиусу от центра. Радиус этих окружностей

равен F . Значит, проводя из точки О окружности разных радиусов, можно определить min F = 0 (радиус равен нулю) и max F в точке С, т.к. радиус ОС будет самым максимальным в условиях касания области допустимых решений с максимально возможной линией уровня.

Рис.3.4.

52

Алгоритм решения задачи (рис.3.4).

1.Построить область допустимых решений (3.4).

2.Построим точку О (4,6)- центр окружностей и с помощью циркуля проведем семейство окружностей с разными радиусами.

3.Точка О есть окружность с радиусом равным нулю или F = 0 и является решением условия min F = 0 .

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

Внашем случае это произошло в точке С.

5.Определить координаты точек, найденных в п.3 и 4, представить их как решение задачи квадратичного программирования, подставить их в формулу (3.3) для F и вычислить min F и max F .

Пример 3. Найти значения переменных x1, x2 , при которых целевая функция F принимает максимальное и минимальное значение, если

F = x2

+(x

2

5)2

(3.5)

при условиях

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2x

5x

 

 

 

≤ −7

 

 

1

 

 

2

 

 

 

 

3x1 + x2

 

 

15

(3.6)

4x +

7x

2

71

 

1

 

 

 

 

 

 

 

x

0,

x

2

 

0

 

1

 

 

 

 

 

 

 

 

 

В этом примере граничные условия (3.6) повторяют граничные условия (3.4) предыдущего примера и, значит, их геометрические модели совпадают.

Геометрическая модель целевой функции

F = x2

+(x

2

5)2

 

1

 

 

представляет собой такой же параболоид вращения, как и в примере 2, но вершина его смещена только по оси Ox2 на 5 единиц. В результате вершина

параболоида находится за пределами треугольника АВС (рис.3.5).

53

Рис.3.5

Решение задачи в трехмерном пространстве простое. Это точка D, в которой min F = TD и точка С, в которой max F =SC .

54

Проектируя данное решение на плоскость, сформулируем алгоритм решения задачи (рис.3.6).

Рис.3.6.

1. Построить область допустимых решений (3.6).

2. С центром в точке (0,5) построить семейство окружностей и найти такие точки, которые были бы общими и для окружностей с минимальным и максимально возможными радиусами и для треугольника допустимых решений. В нашем случае это точки касания C и D.

3. Определить координаты найденных точек. Эти координаты и есть решения задачи.

4. Определить min F и max F . Для чего поставить значения координат точек решения задачи в формулу (3.5) целевой функции. В нашем случае min F = F(x1D , x2D ), max F = F(x1C , x2C )

3.1.2. Метод множителей Лагранжа

Если в исходной модели математического программирования (1)-(3) в

системе ограничений (2) содержатся только равенства, и отсутствует условие

(3) и f (x1, x2 ,..., xn )

и gi (x1, x2 ,..., xn ), i =1,2,..., m – функции

непрерывные вместе со своими частными производными, тогда задача (1)–(3) примет вид

F = f (x1, x2 ,..., xn )max

(3.7)

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

 

g j (x1, x2 ,..., xn )= bj , j =1,2,...,m

(3.8)

55

В курсе математического анализа задачу (3.7)–(3.8) называют задачей на условный экстремум, так как поведение независимых переменных ограничено определенными условиями (3.8).

Эту задачу можно решить методом множителей Лагранжа. Метод множителей Лагранжа основывается на следующей теореме:

Теорема.

Пусть

точка

M 0

является точкой

условного экстремума

функции F = f (x1, x2 ,..., xn )

при

выполнении условий (3.8) (уравнений

связи). Тогда существуют такие числа λ1,λ2 ,...,λm

что в точке M 0

будут

выполняться условия

 

 

 

 

 

 

 

F

+λ g1

+λ

g2 +... +λ

gm = 0,

i =1,2,..., n

 

x

1 x

 

2 x

 

m x

 

 

i

i

 

 

i

 

i

 

 

Функцией Лагранжа для данной функции F = f (M ) называется

функция вида

 

 

 

 

 

 

 

 

L(x1, x2 ,..., xn ,λ1,...,λm )= f (x1, x2 ,..., xn )+ m λj (bj g j (x1, x2 ,..., xn ))

(3.9)

 

 

 

 

 

 

j=1

 

 

Из теоремы следует, что если точка M 0 является точкой условного экстремума функции F = f (x1, x2 ,..., xn ), то она является стационарной

точкой для функции Лагранжа, то есть должны выполняться следующие равенства

LxiL

λj

= 0, i =1,2,.., n

(3.10)

= 0, j =1,2,..., m

Для отыскания точек условного экстремума следует рассмотреть систему n + m уравнений (3.10) относительно неизвестных x1, x2 ,..., xn ,λ1,...,λm и решить ее. Всякое решение системы уравнений (3.10)

определяет точку X * = (x1* , x*2 ,..., x*n ), которая является подозрительной

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

Описанный здесь метод множителей Лагранжа требует нескольких разъяснений и уточнений.

Система ограничений (3.8) очень часто в литературе рассматривается как система уравнений. Если теперь взять (3.8) как систему линейных алгебраических уравнений (СЛАУ), являющуюся совместной и определенной, т.е. имеющую одно единственной решение, то задача условного экстремума прозвучит так: найти такую точку X = (x1, x2 ,..., xn ),

56

которая обеспечивает экстремум функции F = f (x1, x2 ,..., xn )max(min) при условии конкретной точки X 0 = (x10 , x20 ,..., xn0 ). Конечно, такая задача не имеет смысла (требуется найти точку, которая уже дана).

Поэтому система ограничений (3.8) должна пониматься не как

система, а как совокупность функций g j (x1, x2 ,..., xn )= bj , j =1,2,...,m .

Система (n + m) уравнений (3.10) с (n + m)

неизвестными требует

уточнений.

 

F = f (M ) квадратичная, а

функции

Предположим, что функция

g j (x1, x2 ,..., xn )= bj , j =1,2,...,m

-

линейные

(типичный

случай

квадратичного программирования).

Система (3.10) предполагает наличие частных производных,

приравненных к нулю:

L

= 0,

i =1,2,..,n,

L

= 0, j =1,2,...,m .

x

λ

j

 

 

 

 

 

i

 

 

 

 

При дифференцировании вторая степень снижается на единицу. Иными словами, система (3.10) становится линейной.

Если СЛАУ совместная и определеннаярешение одно единственное, точка экстремума одна.

Если СЛАУ совместная и неопределеннаярешение составляет бесконечное множество точек. Тогда бесконечное множество экстремумовабсурд.

Вместе с тем в задачах с условным экстремумом квадратичных функций ( это будет показано ниже) встречаются два, три, т.е. ограниченное число условных экстремумов. Это требует от СЛАУ ограниченное число решений (>1), что также является невозможным. Для этого в системе уравнений ( 3.10 ) должно быть хотя бы одно квадратичное, кубическое и т.д. уравнение.

Чтобы избежать такого казуса с функцией Лагранжа и системой (3.10) авторы предлагают их несколько упростить.

m

В функции Лагранжа (3.9) изъять обозначение .

j=1

Тогда

Lj (x1, x2 ,..., xn ,λj )= f (x1, x2 ,..., xn )+ λj (bj g j (x1, x2 ,..., xn )), j =1,2,...,m (3.11)

Формируется функция Лагранжа для одного любого (или каждого) из m условий совокупности функцийограничений (3.9). Всего таких функций будет m.

Система уравнений (3.10) для каждой из функций Лагранжа принимает вид:

57

 

Lj

= 0,

i =1,2,..,n

 

 

 

x

 

 

 

i

 

 

 

 

Lj

 

 

 

 

 

= 0,

 

 

λ

j

 

 

 

 

 

 

 

Эта система имеет n +1 уравнений с n +1

x1, x2 ,..., xn ,λj . Например, если

f (x1, x2 ,..., xn )- квадратичная

(3.12)

неизвестными функция, то

(3.12) есть СЛАУ. Совместная и определенная СЛАУ дает в решении точку X * = (x1* , x*2 ,..., x*n ), подозрительную на локальный условный экстремум.

Перебрав индекс j от 1 до m, получим m вариантов функции Лагранжа (3.11) и m систем уравнений (3.12).

Иными словами, производится исследование на условный экстремум для каждого из m условий (3.8).

Лучше несколько раз решать простую задачу, чем один раз сложную. Но не каждое условие (3.8) дает решение на условный экстремум.

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

Замечание. Касание линии уровня с прямой не нужно путать с касанием этой линии с концом отрезка или с вершиной многоугольника.

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

Приведем несколько примеров.

На рис.3.1, где пример 1 решается геометрическим методом, в трехмерном пространстве отчетливо видно, что min F = MN , max F = PD , то есть точки N и D являются решением задачи. На рис. 3.2 этот же пример 1 решается в двухмерном пространстве ( на плоскости). Для отыскания точек N и D нужно было найти точки касания проекций линий уровня поверхности F (парабол) с границей области допустимых значений (четырехугольник

OABC).

Если вернуться к рис.3.1, то найденные точки N и D можно прокомментировать следующим образом. Точка N является экстремальной

точкой (max) для функции F = x

2

x2

+ 6x

при условии x

2

= 0.

 

1

1

 

 

Действительно, если поверхность F рассечь плоскостью x2 = 0, то в сечении линия пересечения (парабола) достигает максимума в точке N(3,0) и этот

58

максимум равен отрезку MN. В данном случае конкретно для функции F и условия x2 = 0 имеет место условный максимум. Но для задачи

квадратического программирования это будет минимум целевой функции min F .

Рассуждая аналогичным образом, точка D ( точка касания параболы F = const и отрезка АВ) есть точка условного максимума функции F при условии x1 + 2x2 =15 . Или при пересечении поверхности F плоскостью

x1 + 2x2 =15 образуется линия пересечения (то же парабола), которая

достигает максимума в точке D (координаты надо еще определить) и этот максимум равен отрезку PD. В данном случае условный максимум функции F совпадает с максимумом целевой функции max F .

Этот пример показывает, что общепринятая постановка задачи математического программирования, связанная с экстремумами целевой функции min F и max F не всегда корректна. Здесь более уместна постановка задачи на отыскание точек, обеспечивающих наименьшее и наибольшее значение целевой функции F при заданных ограничениях, а не min F и max F .

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

Остальные прямые и соответствующие им условия (ОА: x1 = 0 и ВС: 3x1 + 2x2 = 24 ), как не имеющие точек касания с параболамилиниями

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

На рис.3.3 геометрическим методом в трехмерном пространстве решен пример 2 квадратичного программирования. На рис.3.4 геометрическое решение той же задачи на плоскости. Решение задачи есть точка О, где min F = 0 и точка С, где max F = SC .

Обе точки не являются условными экстремумами, т.к. не являются точками касания проекций линий уровня и прямыхусловий ограничения. Точки О и С находятся геометрически, а min F и max F определяется как задача на определение наибольшего и наименьшего значения функции. Исследовать точки О и С методом множителей Лагранжа нет никакого смысла.

Проводя из точки О окружности разных радиусов с целью отыскания

max F (напомним, что радиус окружностей равен F ), мы имеем три точки касания L, T, N проекцией линий уровня поверхности F (окружностей) с границами области допустимых решений ( стороны АВ, ВС, СА и соответствующие им условия ограничения 3x1 + x2 =15 , 4x1 + 7x2 = 71,

2x1 5x2 = −7 ). Эти точки касания являются условными экстремумами

59