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

2Л_Классические методы оптимизации

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

Презентационные материалы к лекции:

«Классические методы оптимизации»

по дисциплине «Методы оптимизации»

1

Классический методы оптимизации

Классическая математическая постановка задачи оптимизации:

Необходимо найти значения переменных, дающих экстремальное значение некоторой функции f(x1,x2,...,xn) в определенной области G значений переменны x1,x2,...,xn. Область G обычно задается системой неравенств вида gj(x1,x2,...,xn) > bj, j=l,2…m

Точка X=(x1,x2,...,xn) принадлежат n - мерному действительному эвклидову пространству Rn. Функции ограничений gj (x) также принадлежат пространству Rn, причем f(X), g(x) принадлежат пространству непрерывных функций, частные производные которых также являются непрерывными функциями.

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

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

этом является условие обращения в нуль частных производных функции:

i = {1,2,...,n}

или

f (X0 ) 0,

f ( X 0 ) 0

xi

 

2

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

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

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

 

f (x0 ) 0

F(x)

xi

0

- если0 экстремум достигается на

 

границе области G,

f (x0 ) - если экстремум достигается внутри

0

xi области G.

X0=0

Отсюда, соединив эти нежёсткости:

xi0 f (x0 ) или0

xi

два условия, получаем условие дополняющей

xi0 f ( X 0)) 0

3

Функция Лагранжа

Задача. Требуется найти экстремум (максимум) функции f(x) где X=(x1,x2,...,xn) при наличии ограничений в виде равенств gj(x)=bj, j = 1,…,m. Функция f(x) и система из m уравнений gj(x) заданы в пространстве Rn и принадлежат множеству непрерывных функций, частные производные которых также являются непрерывными функциями.

Решение. Множество ограничений определяют некую область G, следовательно требуется найти максимум на nxm-мерном пространстве, т.к. для решения необходимо ввести m переменных и выразить через них целевую функцию f(x).

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

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

F(X, λ) = f(X)+

,

 

m

где f(x) - целевая функция,

i[gi ( X ) b j ]

j1

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

λ- неизвестные (неопределенные) множители Лагранжа,

g jj (x) bj , j (1,...m)

4

Метод неопределенных множителей Лагранжа

При наличии ограниченийравенств gj (Х) - bj =0 при нахождении экстремума

(максимума) функции F(X, λ) , где X=(x1,x2,...,xn), необходимые условия положения экстремума имеют вид:

F ( X 0 , 0 )

0

и

F ( X 0

, 0 )или

F( X 0 , 0 ) 0,

 

 

0

 

xi

 

 

j

 

где F(X, λ) - функция Лагранжа,

 

i = 1,2.. .,n;

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

 

Количество неизвестных в задаче (n + m): (x1,x2,...,xn, λ1,λ2, ..., λm) Все решения этой системы – стационарные точки.

При наличии ограничений-неравенств gj (X)- bj ≥0 необходимые условия существования экстремума (максимума) следующие:

F ( X 0 , 0 )

0

F ( X 0 , 0 )

 

 

0

0

 

0

0

0

 

 

или

x F( X

) 0 и

) 0,

xi

0 и j

i

0

 

,

F(X

 

,

 

 

 

 

 

 

 

 

 

 

где F(X, λ) - функция Лагранжа, i = 1,2.. .,n; j = 1,2,...,m.

5

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

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

xi – свободные параметры, i={1,2,…, k};

xi ≥ 0 – параметрические ограничения, i={k+1, k+2,…, n};

gj (Х) - bj =0 – функциональные ограничения равенства, j={1,2,…, l}

gj (X)- bj ≥0 – функциональные ограничения неравенства, j={l+1,l=2,…, m},

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

F (X0 )

0,

где i={1,2,…, k};

 

 

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где i={k+1, k+2,…, n};

x0

F ( X

0 )

 

 

 

 

 

 

 

 

 

0,

 

 

 

 

 

 

i

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

где j={1,2,…, l};

 

 

 

0

 

 

0

 

0, F ( X

0

 

0

F ( X

 

, )

 

, )

0,

 

xi

 

 

 

 

 

i

 

 

 

 

F ( X

0

,

0

 

 

 

 

F ( X

0

,

0 где j={l+1,l=2,…, m}.

 

 

)

 

0, 0j

 

)

0,

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

i

 

6

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

Шаг 1. Пронумеровать подряд все ограничения неравенства вида x ≥0,

gj­(X)-bj ≥0.

Шаг 2. Найти положение максимума исходной функции f(X) при отсутствии всех ограничений неравенств. Если найденная точка Х° удовлетворяет всем отброшенным ограничениям неравенствам, то задача решена.. Если точка Х° не удовлетворяет первым l неравенствам, тогда нужно перейти к пункту

3, приняв = 1.

 

C v

 

l!

 

 

 

 

 

 

 

 

Шаг 3. Решить методом

Лагранжа

 

задач поиска

l

 

 

 

 

v!(l v)!

max f(X,Λ), в

каждой из

которых

ограничений неравенств

рассматривать как равенства, а остальные ограничения неравенства отбрасывать.

Шаг 4. Все полученные точки проверить на соответствие отброшенным

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

7

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

Задача. Пусть требуется найти max f(X) = X1 - 2 X2 + 3 X3 при ограничениях

3

xi2 1 0,

i 1

3

xi 1 0

X3 i 10

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

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

1)

;

 

2)

 

 

3

 

 

 

3

 

3) xi2 1 0

 

 

 

4)

 

xi2 1

i 1

 

 

 

i1

 

3

 

 

 

3

 

 

 

xi2

1

xi2 1 0,

 

i 1

 

i 1

 

 

 

3

1

 

0;

 

xi

 

i 1

 

x3

 

0

 

 

 

 

x3

 

 

 

 

 

 

 

 

 

 

 

 

и

0

0,

0,

3

xi 1 0

i 1

8

3 2x3 0

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

 

 

 

 

 

max f(X) = X1 - 2 X2 + 3 X3

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

 

 

 

 

 

 

 

 

3

Составим функцию Лагранжа: F(X,

) = f(X) +

( xi2 1).

 

 

 

 

 

 

 

 

i 1

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

 

 

F

1 2x1 0

(a­1)

 

 

 

 

x1

 

 

 

 

 

 

 

 

 

 

F

 

2

2x2 0

(a­2)

 

 

 

x2

 

 

 

 

 

 

 

 

 

 

 

F

 

 

(a­3)

 

 

3

xi2 1 0 .

i1

 

x3

3

 

 

 

 

 

F

 

 

(a­4)

 

 

xi2

1 0

 

 

 

i1

 

 

 

 

Умножив (а-1), (а-2), (а-3) на X1, X2, X3 соответственно и просуммировав

 

результаты, получаем:

 

 

 

 

3

F

 

 

3

 

 

 

 

 

 

xi

(x1 2x12 ) ( 2x2 2x22 ) (3x3 2x32 ) f ( X ) 2 xi2 0,

 

 

i1

xi

 

 

i1

а с учетом (a­4) получим f(X) + 2λ = 0, откуда λ = -0.5 f(X).

9

Подставив найденное значение λ в (а-1), (а-2), (а-3) получим:

f(Х) = 1/Х1, f(Х) = -2/Х2, f(Х) = 3/Х3. Значит: Х1=(1/3)* X3 и Х2=(-2/3) *X3 ,

откуда f(Х) = (1/3)* X3 + (4/3) *X3 +3X3 = (14/3) *X3 = 3/X3 .

Следовательно X3

=

3 /

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14 .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Поскольку по условию задачи Х3

≥ 0, принимаем X3 =

≈ 0,8.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 / 14

 

Тогда Х1=1/

 

 

≈ 0,27,

Х2= - 2/

 

≈ - 0,57, f(X) =

3,74.

 

 

 

14

 

 

 

 

 

 

14

 

 

 

14

 

 

Первое и третье ограничения соблюдены, проверим второе ограничение.

3

 

 

=(1- 2+ 3 ) /

 

= 2 /

 

<1.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

xi

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

14

 

 

14

 

 

 

 

 

 

Значит, i вектор X1 = ( 0,27; -0,57; 0,8 ) принадлежит допустимой области, и поэтому остальные три задачи можно не решать.

Справедливость этого утверждения следует из того, что в отброшенной точке Х3

=-0.80 f(X)=-f(X0)=-3.14<3.74

10