1 / 94

Методы оптимизации - I

Методы оптимизации - I. Проф. В.П. Кривошеев. Основные понятия. Оптимизация есть процесс нахождения таких управлений или решений, при которых показатель функционирования объекта управления принимает наилучшее (минимальное или максимальное) значение.

perrin
Download Presentation

Методы оптимизации - I

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Методы оптимизации - I Проф. В.П. Кривошеев

  2. Основные понятия • Оптимизация есть процесс нахождения таких управлений или решений, при которых показатель функционирования объекта управления принимает наилучшее (минимальное или максимальное) значение. • Критерий оптимальности есть количественный показатель функционирования объекта управления. • Объект управления есть объект, в котором протекает управляемый процесс.

  3. Виды критериев оптимальности: - целевая функция - функционал Целевая функция есть математический оператор, который числу на входе ставит в соответствие число на выходе. Функционал есть математический оператор, который функции на входе ставит в соответствие число на выходе.

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

  5. Состояния объекта управления • Статическое состояние • Динамическое состояние

  6. Статическое состояние Статическое состояние Признаком статического состояния объекта управления является постоянство во времени переменных, характеризующих состояние объекта управления, т.е. dxi/dt = 0, где xi – переменные, характеризующие состояние объекта управления. Физически статическое состояние есть состояние, при котором имеет место Приход (энергии, вещества) = = Расход (энергии, вещества)

  7. Динамическое состояние Признаком динамического состояния объекта управления является изменение во времени переменных, характеризующих состояние объекта управления, т.е. dxi/dt  0. Физически динамическое состояние есть состояние, при котором имеет место Приход (энергии, вещества) - Расход (энергии, вещества) Накопление или истечение (энергии, вещества).

  8. Объект управления Переменные, характеризующие объект управления: x1 … xm u1 y1 uryn Входные переменные: • возмущающие (внешние) воздействия (xk,k=1,2,…,m); • управляющие воздействия (uj,j=1,2,…,r); Выходные переменные(yi,i=1,2,…,n).

  9. Связь переменных при статическом и динамическом состояниях объекта Связь переменных при статическом состоянии объекта управления: или , где .

  10. Связь переменных при статическом и динамическом состояниях объекта Связь переменных при динамическом состоянии объекта управления: , или , где . Здесь - переменная, характеризующая состояние объекта управления.

  11. Выбор критериев оптимальности для задач оптимизации объектов, находящихся в статическом и динамическом состояниях Критерии оптимальности для объектов, находящихся в статическом состоянии: • для объектов с сосредоточенными параметрами – целевая функция в виде ; • для объектов с распределенными параметрами – функционал в виде где , l – пространственная координата.

  12. Выбор критериев оптимальности для задач оптимизации объектов, находящихся в статическом и динамическом состояниях Критерии оптимальности для объектов, находящихся в динамическом состоянии есть функционал в виде: , где , t – время.

  13. Виды функций по количеству экстремумов - унимодальные, имеющие один экстремум - полимодальные, более одного экстремума Виды экстремумов и наилучших значений функции - локальный минимум полимодальной функции в точке ui*, если , или и ; - локальный максимум полимодальной функции в точке ui*, если , или и , где i=1,2,…,k – число локальных экстремумов.

  14. Виды экстремумов и наилучших значений функции - супремум (sup Q (u)) при umin, если ; - супремум (sup Q (u)) при umax, если ; - инфимум (inf Q (u)) при umin, если ; - инфимум (inf Q (u)) при umax, если ; - глобальный минимум в точке ug, если ; - глобальный максимум в точке ug, если .

  15. Постановка задачи статической оптимизации Q(X, U) min(max) U yi=φi(X, U) , i=1,…,n, yiyiзад, i=1,…,k, yiyiзад, i=k+1,…,p, UjminUj Ujmax, j=1,…,r, где X=(x1,…,xn) – вектор внешних возмущающих воздействий, U=(u1,…,ur) – вектор управляющих воздействий, Y=(y1,…,yp) – вектор выходных переменных, yiзад - заданные значения выходных переменных, Ω - область допустимых управлений. Требуется найти такие значения управляющих воздействий U=(u1,…,ur), при которых выполняются приведенные выше условия, а критерий оптимальности Qпринимает минимальное (максимальное) значение.

  16. Необходимые условия корректной постановки задачи оптимизации Оптимизация имеет место тогда, когда рассматриваемая система имеет степени свободы. Число степеней свободы определяется по выражению: Число степеней свободы =Число искомых функций (переменных) –Число их связывающих уравнений . Размерность задачи оптимизации определяется по числу искомых функций (переменных), т.е. числом степеней свободы (ЧСС). Задача одномерная, если ЧСС =1, и многомерная, если ЧСС >1.

  17. Примеры корректной и некорректной постановок задачи оптимизации Пример корректной постановки задачи оптимизации: Q(u1,u2)  max(min), u1,u2 a1u1+a2u2 = b1. Число степеней свободы = = 2 (искомые переменные u1,u2) – 1 (число уравнений, связывающих переменные u1,u2) = 1. Пример некорректной постановки задачи оптимизации: Q(u1,u2)  max(min), u1,u2 a11u1+a12u2 = b1, a21u1+a22u2 = b2. Число степеней свободы = 2 – 2 = 0.

  18. Методы статической оптимизации • Классический метод исследования функции на экстремум • Методы нелинейного программирования: • численные методы решения одномерной задачи статической оптимизации; • численные методы решения многомерной задачи статической оптимизации • Линейное программирование • Динамическое программирование в дискретной форме

  19. Классический метод исследования функций на экстремум Необходимые и достаточные условия экстремума функции одной переменной Q=Q(u) Необходимое условие: . Достаточное условие: Если при u=u* впервые в порядке возрастания k ,где k– четное, то Q=Q(u) имеет экстремум.Причем, если , то Q(u)min, а если , то Q(u)max. Если приu=u* впервые в порядке возрастания k , где k– нечетное, то Q=Q(u) не имеет экстремума.

  20. Примеры исследования функции одной переменной на экстремум Пример 1. Q = (1-u)3. Необходимое условиеэкстремума : 3(1-u*)2(-1) = 0, u*=1. Достаточное условиеэкстремума = 6(1-u*) = 6(1-1) = 0, . k= 3 – нечетное. Ответ: при u*=1 исследуемая функция не имеет экстремума.

  21. Примеры исследования функции одной переменной на экстремум Пример 2. Q = (1-u)4. Необходимое условиеэкстремума : 4(1-u*)3(-1) = 0, u*=1. Достаточное условиеэкстремума = 12(1-u*)2 = 12(1-1)2 = 0, = 24(1-u*)= 24(1-1)= 0, = 24 = 0. k= 3 – нечетное. Ответ: при u*=1 исследуемая функция имеет минимум.

  22. Классический метод исследования функций на экстремум Необходимые и достаточные условия экстремума функции нескольких переменных Q=Q(U) =Q(u1,…,ur). Необходимое условие: . Достаточное условие: Если при U=U* все диагональные миноры матрицы Гессе (Г): (Г) строго положительны, то функция Q=Q(U) имеет минимум.Если при U=U* нечетные диагональные миноры матрицы (Г) строго отрицательные, а четные строго положительные, то функция Q=Q(U) имеет максимум.

  23. Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q =u1+2u12+u2+4u22+3u1u2 Необходимое условие экстремума: , 1+4u1*+3u2* = 0; , 1+8u2*+3u1* = 0; , , , u1* = 1 / = -5/23, u2* = 2 / = -1/23.

  24. Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q =u1+2u12+u2+4u22+3u1u2. Достаточное условие экстремума: ; ; ; ; Матрица (Г): 1-ый диагональный минор равен 4>0, 2-ой диагональный минор равен 48-33=32-9=23>0. Ответ: при u1* = -5/23, u2* = -1/23 исследуемая функция имеет минимум.

  25. Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q =u1-2u12+u2+4u22+3u1u2 Необходимое условие экстремума: , 1-4u1*+3u2* = 0; , 1+8u2*+3u1* = 0; , , , u1* = 1 / = 5/41, u2* = 2 / = -7/41.

  26. Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q =u1-2u12+u2+4u22+3u1u2. Достаточное условие экстремума: ; ; ; ; Матрица (Г): 1-ый диагональный минор равен –4<0, 2-ой диагональный минор равен -48-33=-32-9=-41<0. Ответ: при u1* = 5/41, u2* = -7/41 исследуемая функция не имеет экстремума.

  27. Аналитическое решение задачи на условный экстремум- Метод множителей Лагранжа.- Условие Куна-Таккера Аналитическое решение задачи на условный экстремум при условиях типа равенства: Q=Q(U)  min, U j(U) = 0, j = 1,…,m, U = (u1,…,ur), m < r. Задача решается методом множителей Лагранжа.

  28. Метод множителей Лагранжа 1. Составляется функция Лагранжа где j, j=1,…,m,- множители Лагранжа. 2. Совместно решается система уравнений: L(U,) / ui=0, i=1,…,r, j(U) = 0, j = 1,…,m.

  29. Пример решения задачи методом множителей Лагранжа Q =u12+u22, u1+u2– 1 = 0. Функция Лагранжа L=Q(u1,u2)+ (u1,u2)= u12+u22 + (u1+u2– 1), L/u1=2u1*+ =0, L/u2=2u2*+ =0, u1*+u2* – 1= 0, L/u1- L/u2=2u1*-2u2*= 0, отсюда u1*=u2*. Используя это равенство в уравнении ограничения, получаем u1*+u1*= 0, или u1*= 0,5;u2*= 0,5.

  30. Аналитическое решение задачи на условный экстремум- Метод множителей Лагранжа.- Условие Куна-Таккера Аналитическое решение задачи на условный экстремум при условиях типа неравенств: Q=Q(U)  min, U j(U)  0, j = 1,…,m, U = (u1,…,ur). Задача решается с использованием условий Куна-Таккера.

  31. Условия Куна-Таккера Рассматривается задача выпуклого программирования Q=Q(U)  min, U j(U)  0, j = 1,…,m, U = (u1,…,ur), где Q(U) и j(U) - выпуклые дифференцируемые функции. Алгоритм решения задачи. 1. Составляется функция Лагранжа: где j, j=1,…,m,- множители Лагранжа.

  32. Условия Куна-Таккера 2. Совместно решается система уравнений и неравенств: L(U,) / ui=0, i=1,…,r, jj(U) = 0, j = 1,…,m, j 0, j = 1,…,m, j(U)  0, j = 1,…,m.

  33. К определению выпуклости функции Пусть 0  1. Произвольную точку на линии ab можно описать как a+(b-a)(1-)= a+(1-)b,т.е. при  = 0 это точка b, а при  = 1 это точка а. В случае нелинейной функции ее значение в точке с= a+(1-)bестьQ[a+(1-)b].

  34. К определению выпуклости функции Значение линейной функции, проходящей через точки a и b, в точке с равно Q(a)+(Q(b) - Q(a))(c-a)/(b-a) = Q(a)+(Q(b) - Q(a))[a+(1-)b-a]/(b-a) = Q(a)+(Q(b) - Q(a))(1-) = Q(a)+ (1-)Q(b). Сравнивая значения исходной функции с линейной функцией в точке с можно записать условие выпуклости функции: если имеет место Q(a+(1-)b)< Q(a)+ (1-)Q(b), то исходная функция выпукла (лежит ниже линейной функции на отрезке [a,b]).

  35. Примеры решения задачи с использованием условия Куна-Таккера Пример 1. Q =u12+u22  min, u1, u2 u1+u21, или (u1,u2)= u1+u2– 1 0, L=Q(u1,u2)+ (u1,u2)= u12+u22 + (u1+u2– 1). Условия Куна-Таккера: * 0, L(U,) / uj = 0, *(u1*,u2*) = 0, j=1,2. Решение: L/u1=2u1*+  =0, L/u2=2u2*+  =0, (u1+ u2-1) = 0, u1+u2– 1 0. Пусть  =0, тогда u1*=0, u2*=0. Ограничение u1+u2– 1 0 в точке u1=0, u2=0 пассивно.

  36. Примеры решения задачи с использованием условия Куна-Таккера Пример 1 (продолжение): Пусть  0, тогда u1+u2– 1 = 0, 2u1= - , т.к.> 0, то u1<0; 2u2= - , т.к.> 0, то u2<0. В этом случае не выполняется условие u1+u2– 1 = 0. Пример 2. Q =u12+u22  min, u1, u2 u1+u21, или (u1,u2)= -u1-u2+ 1 0, L=Q(u1,u2)+ (u1,u2)= u12+u22 + (-u1-u2+ 1). Условия Куна-Таккера: * 0, L(U,) / uj = 0, *(u1*,u2*) = 0, j=1,2.

  37. Примеры решения задачи с использованием условия Куна-Таккера Пример 2 (продолжение): Решение: L/u1=2u1 - =0, L/u2=2u2 - =0, (-u1 -u2 +1) = 0, -u1-u2+1 0. Пусть  =0, тогда u1+u2 -1=0. Ограничение -u1-u2+1 0 в точке u1=0, u2=0 не выполняется. Пусть  0, тогда u1 =/2,u2 =/2, u1=u2; -u1-u2+1= 0, u1*, u2*=1/2. Ограничение -u1-u2+1 0 в точке u1= 1/2, u2= 1/2 активно.

  38. Численные методы решения одномерных задач статической оптимизации - Сканирования (с постоянным и переменным шагом). - Половинного деления исходного интервала, содержащего экстремум. - «Золотого» сечения. -С использованием чисел Фибоначчи.

  39. Метод сканирования с постоянным шагом Функция Q(u), a  u  b. Алгоритм поиска: 1. Задается точность вычисления оптимального значенияuu*. 2. Интервал (b-a)делится на N отрезков, N (b-a)/. 3. Вкаждойточкеui =a+i (b-a) / N , i =0,1,…, N,вычисляетсяфункция Q(ui)ивыбираетсяQ(u*)из условияQ(u* ) = max Q(ui)или ui Q(u* ) = min Q(ui). ui

  40. Метод сканирования с переменным шагом Функция Q(u), a  u  b. Алгоритм поиска: 1. Задается точность вычисления оптимального значенияuu*. 2. Интервал (b-a)делится на S отрезков, S <<(b-a)/. 3. В каждой точке u1i=a+i(b-a) / S, i =0,1,…,S, вычисляется функцияQ(u1i)и выбираетсяQ(u1*) из условияQ(u1*) = max Q(u1i)или ui Q(u1*) = min Q(u1i). ui 4. Назначают границы нового интервала поиска a1 и b1 из условия: a1 = u1k-1, b1 = u1k+1, где u1k-1 и u1k+1 есть значения, соседние с u1*= u1k.

  41. Метод сканирования с переменным шагом При максимизации функции Q=Q(u)  max, u Q(u1k-1) < Q(u1k) = Q(u1*) > Q(u1k+1). При минимизации функцииQ=Q(u)  min, u Q(u1k-1) > Q(u1k) = Q(u1*) < Q(u1k+1). 5.Пункты 2-4 повторяются для интервалов (b1 - a1), (b2 – a2),…, (bj- aj). 6. Расчет заканчивается при условии bj- aj.

  42. a b Q(u) u11 u12 u   Метод половинного деленияQ=Q(u)  max(min), au b Поиск методом половинного деления

  43. Метод половинного деленияQ=Q(u)  max(min), au b Алгоритм поиска: 1. Делится интервал (b-a)пополамu1=a+(b-a)/2. 2. Внутри интервала выбираются две точки u11=u1 -  и u12 =u1 +, где  = (0.01-0.25). 3. РассчитываютсяQ(u11)иQ(u12). 4. Определяются границы нового интервалаa1 и b1. Если Q=Q(u)  max, то приQ(u11)>Q(u12)выбираем a1 = a,b1 = u12; приQ(u11)Q(u12)выбираемa1 = u11,b1 = b; Если Q=Q(u)  min, то приQ(u11)>Q(u12)выбираем a1 = u11,b1 = b; приQ(u11)Q(u12)выбираемa1 = u11,b1 =u12; 5. Проверяется условие окончания поиска b1 - a1. 6. Для каждого нового интервала (bi- ai) повторяются пункты 1-4до выполненияусловия bi- ai.

  44. Q(u) a b 0.62(b-a) 0.38(b-a) 0.38(b-a) u u11 u12 Метод «золотого» сеченияQ=Q(u)  max(min), au b Поиск методом «золотого» сечения

  45. Метод «золотого» сечения Q=Q(u)  max(min), au b Алгоритм поиска: 1. Внутри интервала (b-a)выбираются две точки u11=a+(3-5)(b-a)/2 и u12 =b-(3-5)(b-a)/2 . 2. ВычисляютсяQ(u11)иQ(u12). 3. Определяются границы нового интервалаa1 и b1. Если Q=Q(u)  max, то приQ(u11)>Q(u12)выбираем a1 = a,b1 = u12; приQ(u11)Q(u12)выбираемa1 = u11,b1 = b. Если Q=Q(u)  min, то приQ(u11)>Q(u12)выбираем a1 = u11,b1 = b; приQ(u11)Q(u12)выбираемa1 = a,b1 =u12; 4. Проверяется условие окончания поиска b1 - a1.

  46. Метод «золотого» сечения Q=Q(u)  max(min), au b Алгоритм поиска(продолжение): 5. Если условие окончания поиска в пункте 4 не выполняется, на интервале (b1 - a1)со стороны, не смежной с меньшим отрезком, от граничной точки откладывается длина меньшего отрезка. 6. Проводитсяперенумерация точек: - ближайшая к левой границе обозначается u21; - ближайшая к правой границе обозначается u22; 7. Для каждого нового интервала (bi- ai) повторяются пункты 2-6до выполненияусловия bi- ai.

  47. a b Q(u) u2 u1 u 0.23(b-a) 0.38(b-a) Метод с использованием чисел ФибоначчиQ=Q(u)  max(min), au b Поиск с использованием чисел Фибоначчи

  48. Метод с использованием чисел ФибоначчиQ=Q(u)  max(min), au b Алгоритм поиска: 1. Определяется число N,N =(b-a)/. 2.В ряду чисел Фибоначчи находят Fs-1 < N< Fs, гдеF0= F1 =1, Fi = Fi-2+Fi-1, i = 2,3,4,… 3. Вычисляется  = (b-a) /Fs. 4. Выполняется 1-й шаг:u1 = a +  *Fs-2 и вычисляется Q=Q(u1). 5. Выполняется2-й шаг:u2= a +  *Fs-2-1и вычисляется Q= Q(u2).

  49. Метод с использованием чисел ФибоначчиQ=Q(u)  max(min), au b Алгоритм поиска(продолжение): 6. Дальнейшие шаги: ui+1= ul±sign(ui – ui-1) sign(Q(ui) - Q(ui-1))*Fs-2-i , где ul - значение u, при котором достигнуто наилучшеезначение функции. Знак (+) ставится в задаче Q(u)  max,знак (-) ставится в задаче Q(u)  min. На каждом шаге вычисляется функция Q(u). Поиск заканчивается после использования числа Фибоначчи F0 , т.е. когда будут исчерпаны все числа Фибоначчи от Fs-2 до F0 .

  50. Q(u1*,u2*) u1* u1 u2* u2 Численные методырешениямногомерных задач статическойоптимизации Решается задача Q(u1,…,ur)max(min) u Многомерная функция

More Related