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

УМ_Пособие_09

.pdf
Скачиваний:
34
Добавлен:
01.06.2015
Размер:
1.46 Mб
Скачать

11

4.5.2.Прямые методы поиска экстремума целевой функции многих переменных с параметрическими ограничениями.

4.5.3.Прямые методы условной оптимизации при произвольных ограничениях.

4.5.4.Методы поиска экстремума функции по вычисляемым значениям ее производной:

4.5.4.1.Методы первой производной.

4.5.4.2.Методы второй производной.

4.6.Динамическое программирование (если параметры целевой функции и (или) системы ограничений изменяются во

времени, или целевая функция имеет аддитивный или

мультипликативный вид, или сам процесс выработки решения имеет многошаговый характер).

В перечисленных выше разделах математического программирования предполагается, что вся информация о протекании процессов заранее известна и достоверна. Такие методы оптимизации называются детерминированными методами.

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

5. Неклассифицируемые методы оптимизации

Это комбинированные или уникальные методы оптимизации, которые трудно отнести к какому-либо разделу приведенной классификации. Это:

5.1.Методы оптимального решения сетевых задач (позволяют решать задачи, которые решались ранее методами ЛП и ДП).

5.2.Численные методы решения задач вариационного исчисления.

12

АНАЛИТИЧЕСКИЕ МЕТОДЫ ОПТИМИЗАЦИИ. ОБЩАЯ ЗАДАЧА МАТЕМАТИЧЕСКОГО ПРОГРАММИРОВАНИЯ

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

Пусть имеется некоторая функция f(x1,x2,...,xn) в определенной области G значений переменных X=(xl2,...,xn). Область G задается системой неравенств вида gj(xl2,... xn)>bj, j=l,2…m. Предполагается, что точка X=(xl2,...,xn) и функции ограничений gj(x) принадлежат n - мерному действительному эвклидову пространству Rn, причем f(X), g(Х) С , где С - пространство непрерывных функций, частные производные которых также являются непрерывными функциями.

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

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

f (X 0 ) = 0 или f ( X 0 ) 0 ,

xi

где Х0 – точка экстремума целевой функции и i I = {1,2,...,n}. 2. Если имеются несвободных переменных хi 0 и

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

Если Х0 находится внутри области, то требование неотрицательности являются несущественными и необходимым условием положения экстремума будет стандартное условие

(т.е. равенство 0 частных производных функции): f (x0 ) 0 .

xi

Пусть для некоторых несвободных переменных хi ≥ 0, i {1,…,n} экстремум достигается на границе области, тогда

f (x0 ) 0 .

xi

13

Соединяя эти два условия, получим условие дополняющей нежѐсткости:

xi f (x0 ) 0 или xoi f ( X 0 ) 0

xi

для несвободных переменных хi 0.

3. Пусть требуется найти экстремум функции при наличии ограничений в виде равенств g j (x) bj , где j 1, m .

Множество ограничений определяют некую область G. Для решения задачи необходимо ввести переменные:

x1 (xm 2 , xm 3 ,..., xm n ) x2 ................................

xm .................................

Затем выразить m-переменные через оставшиеся и подставить в f(x). Требование аналитических уравнений слишком жѐсткие, поэтому Лагранж предложил другой путь для решения такой задачи.

Основная идея метода состоит в переходе от задачи на условный экстремум к задаче отыскания безусловного экстремума некоторой построенной функции Лагранжа:

m

F(X,Λ) = f(X)+ j [gi ( X ) bj ] ,

j 1

где f(X) – исходная целевая функция,

gi ( X ) bj ограничения – равенства,

j - неизвестные (неопределенные) множители

Лагранжа.

 

 

 

 

Тогда

необходимые

условия положения экстремума

(максимума) следующие:

F ( X 0 , 0 ) 0,

F ( X 0 , 0 )

0

 

 

xi

i

 

или F( X 0 , 0 ) 0,

 

 

 

где i = 1,2.. .,n;

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

 

 

 

4. При наличии ограничений-неравенств (gj(X) – b)

0

необходимые условия положения экстремума следующие:

 

 

 

14

 

 

F ( X 0 , 0 )

0, i 1,2,...n;

0

F ( X 0 , 0 )

0,

 

xi

j

i

 

 

 

 

 

где j=1,2,…m;

 

 

 

 

 

или

x F(X 0 , 0 ) 0,

0 F(X 0 , 0 ) 0.

 

5.

Для

общей

 

задачи

математического

программирования при наличии различных типов переменных и ограничений:

xi – свободные переменные, i {1,…k}; xi 0, i {k+1,…n};

gj(х)-bj =0, j {1,2,…l};

gj(х)-bj 0, j {l+1,…m}

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

F ( X 0 , 0 )

0 , для свободных xi, i {1,…k};

 

xi

 

 

xi

F ( X 0 , 0 )

0 , для xi 0, i {k+1,…n};

xi

 

 

 

 

F ( X 0 , 0 ) 0 , при ограничениях-равенствах

 

j

 

 

 

 

gj(х)-bj =0, j {1,2,…l};

j

F ( X 0 , 0 ) 0 , при ограничениях-неравенствах

 

j

 

 

gj(х)-bj 0, j {l+1,…m}.

Решение общей задачи математического программирования

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

1.Нумеруют подряд все ограничения неравенства вида

x0, gj(X)-bj =0.

2.Находят положение max f(X) при отсутствии всех

ограничений - неравенств. Если найденная точка X0 удовлетворяет всем ограничениям-неравенствам, то задача

15

решена. Если точка Х0 не удовлетворяет первым l неравенствам, то переходят к пункту 3, приняв ν = 1.

3. Решают методом Лагранжа Clv

l!

задач

 

 

v!(i v)!

 

 

поиска max f(X), в каждой из которых ν ограничений-неравенств рассматриваются как равенства, а остальные ограничениянеравенства не учитываются.

4. Все полученные точки проверяются на соответствие отброшенным неравенствам и выбирают те из них, которые принадлежат допустимой области. Решением задачи является одна из выбранных точек, в которой целевая функция достигает наибольшего значения. Если таких точек не оказалось, то полагают ν:=ν+1 и переходят к п.3 алгоритма.

Рассмотрим несколько примеров.

Пример 1. Требуется найти экстремум функции

f (x) x2

x2

2x x

2

x x

2

6 и

1

2

1

1

 

проверить его на максимум и минимум. Решение. Т.к. задача не содержит ограничений, то для

нахождения экстремума найдем частные производные функции по всем переменным и приравняем их к нулю. Получим:

f

 

2x 2x

 

1 0;

 

2

x1

1

 

 

 

 

 

 

 

f

 

2x 2x

 

1 0;

 

 

2

x2

1

 

 

 

 

 

 

 

Решая полученную систему уравнений, найдем точки, подозрительные на экстремум. Система имеет единственное решение х1=0, х2=0.5, так что подозрительной на экстремум будет единственная точка Х0 =(0; 0.5).

Из курса математического анализа известно, что если функция f(х12,...,хn) имеет в некоторой окрестности точки Х0=(х°1, х°2,… х°n) непрерывные вторые частные производные и если в этой точке выполняются необходимые условия существования экстремума, то в случае, когда второй дифференциал

16

d 2 f ( X ) n n 2 f ( X )

k 1 k 1 xi xk

есть отрицательно определенная квадратичная форма, то функция f(х) имеет в точке Х0 максимум, а в случае, когда этот дифференциал есть положительно определенная квадратичная форма, функция f(х) имеет в этой точке минимум. Для рассматриваемой функции имеем:

2 f

 

 

 

2 f

 

2

;

2

f

 

 

2

f

2

x x

2

 

x2

 

x x

2

x2

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

 

1

 

 

 

2

 

2 f

 

 

 

2 f

 

 

2 ;

 

 

 

 

 

 

x x

2

 

x

2

x

 

 

 

 

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

d 2 f 2 x12 2 x22 4 x1 x2 .

Квадратичная форма здесь является неопределенной, т.е. знак d2f зависит от выбора x1, и x2.

Однако непосредственно из выражения для f(x1,x2) можно установить, что в точке (0; 0.5) функция имеет седло.

Этот же результат можно получить, анализируя значение определителя:

 

 

 

2 f

 

 

 

2 f

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x 2

 

2 x x

 

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

f

 

 

2

4

4 8

 

 

 

 

 

 

2 f

 

 

 

2

 

2 2

 

 

 

 

 

 

1

 

 

 

 

1

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 x x

2

 

2 x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Для случая двух переменных, если > 0 и

 

2

f

 

<0, то

 

2 x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

 

f(х) в точке

X0 имеет максимум, если > 0

и

 

 

2 f

 

 

>0 –

 

2 x 2

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

минимум,

а

когда

<0,

то

в точке Х0 функция f(Х)

 

имеет

перегиб.

Если =0,

то наличие максимума или минимума

можно определить, с помощью приращений

х1 и

 

х2.

 

 

 

 

 

В

нашем

случае

<0

и,

следовательно,

в

 

точке

Х0=(0;0.5) функция f(х1, х2) имеет перегиб.

17

Пример

2.

 

Пусть

требуется

найти

max f (x) x1 2x2 3x3

при ограничениях

 

 

3

 

 

 

 

 

xi2 1 0

(а)

 

 

i 1

 

 

 

 

 

3

 

 

 

 

 

xi

1 0

(в)

 

 

i 1

 

 

 

 

 

х3 0

 

 

(с)

 

Решение. В соответствии с приведенным выше алгоритмом решения общей задачи математического программирования для нахождения максимума заданной функции в худшем случае придется решить четыре задачи поиска max f(Х) методом Лагранжа. Допустимые области значений параметров этих задач будут заданы следующим образом:

1)xi2 1 0 ;

i 13

3

2

1

0,

xi

3) i 1

 

 

 

 

0;

 

x3

 

 

3

2

1 0

 

xi

i 1

 

 

2)

3

 

 

 

 

 

1 0

xi

i 1

 

 

 

3

 

 

xi

1 0

i 1

 

 

 

3

 

1 0

4) xi

i 1

x3

0

 

 

 

 

 

 

 

 

 

 

Найдем решение первой из этих задач, т. е. будем искать:

 

3

max f (x) x1 2x2 3x3

при ограничении xi2 1 0 .

 

i 1

3

Составим функцию Лагранжа F(X,Λ) = f(х) + ( xi2 1 ).

i 1

Найдем частные производные функции Лагранжа и приравняем их нулю:

 

 

 

 

 

 

18

F

 

 

1 2x 0

(d1)

 

x1

 

1

 

 

 

 

F

2 2x2 0 (d2)

 

 

x2

 

 

 

F

3 2x3 0 (d3)

 

x3

 

 

 

F

3

2 1 0

 

x

(d4)

 

i 1

i

 

Умножив (d1), (d2), (d3) на х1, х2, х3 соответственно и просуммировав результаты, получаем:

xi

F (x1 2x12 ) ( 2x2 2x22 ) (3x3 2x32 )

3

 

 

 

 

 

 

i 1

xi

 

 

 

 

 

 

 

 

3

2

 

 

 

 

 

 

 

 

=

f ( X )

2 xi

0.

 

 

 

 

i 1

 

 

С учетом (d4) имеем: f(х) + 2λ= 0, откуда = -0.5 f(х). Подставим найденное значение в (d1), (d2), (d3) и получим

 

f(х)=1/х1,

f(х) = -2/х2,

 

f(х)=3/х3.

 

 

 

Значит, 1/х1

= 3/х3

откуда х1=

1

 

х3, а 3/х3= - 2/х2

откуда х2 =

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

2 х3,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

тогда f(х)

= x

2x 3x

 

 

1

x

 

 

4

x

 

3x

 

14

 

x

. Но

 

 

 

 

 

 

 

1

 

 

 

3

 

 

3

3

3

 

3

3

3

 

 

3

 

 

f(х)=3/х3, следовательно,

14

x3

 

3

 

и, отсюда, x3

 

 

3

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

x3

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

19

 

 

 

 

 

Поскольку

 

 

в силу

ограничения

(с)

x3

0 , то принимаем

x

0

 

 

 

3

 

 

 

= 0.80. Теперь получаем

x0

1

 

=0.27,

 

 

 

 

 

 

 

 

 

 

3

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

0

 

 

 

2

 

 

 

 

f ( X 0 )

 

 

 

 

 

 

 

 

 

x

 

 

 

= -0.54,

14 =3.74.

 

 

 

 

2

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Проверим ограничение (в):

 

 

 

 

 

 

x

 

x

 

 

x

 

 

1

1

2 3

 

2

 

 

 

1 .

Значит, X0 принадлежит

 

2

3

 

 

 

 

 

 

 

 

1

 

 

 

 

 

 

 

 

 

14

 

14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

допустимой области, поэтому остальные три задачи можно не решать. Справедливость этого утверждения следует из того, что в отброшенной точке х3=-0.80 имеем f(х)=-f(X0)=-3.14<3.74.

Двойственная задача

Задача поиска минимума функции Лагранжа F(X, λ) по называется двойственной по отношению к прямой задаче нахождения максимума по Х.

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

Построение задачи, двойственной к исходной осуществляется по правилу:

Прямая задача

 

 

Двойственная задача

 

n

 

 

 

 

 

 

m

 

 

 

 

 

 

 

max[ f (x)

j (g j (x) b j )]

 

min[ f (x)

 

 

j (g j (x) b j )]

x

j 1

 

 

 

 

 

 

j 1

 

 

 

 

 

 

xi - свободные переменные,

 

F

 

F ( x)

 

m

 

g j ( x)

i {1,…k}

 

 

 

 

 

 

 

 

j

 

 

 

0

 

 

xi

 

xi

 

 

 

 

 

 

 

 

 

j

1

 

xi

 

 

ограничения-равенства,

 

 

i {1,…k}

 

 

 

 

 

 

 

 

xi 0 - несвободная

 

F (x)

m

 

 

 

g j

(x)

 

 

 

j

 

0 ,

переменная, i {k+1,…n}

 

xi

 

 

xi

 

 

j 1

 

 

 

 

 

 

ограничения-неравенства,

 

 

i {k+1,…n}

 

 

 

 

 

 

 

g j (x) bj

0 - ограничения-

j - свободная переменная,

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

20

 

 

Прямая задача

Двойственная задача

равенства, j {1,…l}

j {1,…l}

g j (x) bj 0 , ограничения-

j 0 - несвободная

неравенства,

переменна, j {l+1,…m}

j {l+1,…m}

 

Теорема: Если f(Х) C1 достигает максимума в точке Х0 при наличии ограничения общего вида gj(Х) C1, то существует такая точка 0, что точка с координатами (х0 , 0) – является Седловой точкой функции Лагранжа, при этом 0 – есть решение двойственной задачи.

С1 - пространство непрерывных функций, частные производные которых также являются непрерывными функциями. Эта теорема была сформулирована Куном и Такером и доказывает, что решение обеих задач прямой и двойственной достигается в одной и той же точке (Х0; 0), которая является седловой точкой.

Пример 3. Пусть имеется задача: найти max функции

3

F(X) = Ci X i при ограничениях

i 1

 

3

3

( X i 100) 0,

(0.5ai xi2 1000) 0,

i 1

i 1

xi≥0, =1,2,3.

Требуется составить задачу, двойственную к исходной.

Решение. Составим функцию Лагранжа и сформулируем двойственную задачу в соответствии с приведенным ранее правилом.

3

 

 

 

 

3

 

 

100)

 

3

 

2

1000)

 

C

X

 

(

X

 

 

(

0.5a x

F(X,λ)= i 1

i

 

i

i

i 1

 

i

 

2

i 1

i

i

 

- функция Лагранжа для исходной задачи.

Построение двойственной задачи представим в таблице: