1.15k likes | 1.76k Views
Методы оптимизации - I. Проф. В.П. Кривошеев. Основные понятия. Оптимизация есть процесс нахождения таких управлений или решений, при которых показатель функционирования объекта управления принимает наилучшее (минимальное или максимальное) значение.
E N D
Методы оптимизации - I Проф. В.П. Кривошеев
Основные понятия • Оптимизация есть процесс нахождения таких управлений или решений, при которых показатель функционирования объекта управления принимает наилучшее (минимальное или максимальное) значение. • Критерий оптимальности есть количественный показатель функционирования объекта управления. • Объект управления есть объект, в котором протекает управляемый процесс.
Виды критериев оптимальности: - целевая функция - функционал Целевая функция есть математический оператор, который числу на входе ставит в соответствие число на выходе. Функционал есть математический оператор, который функции на входе ставит в соответствие число на выходе.
Виды объектов управления:объект с сосредоточенными параметрами; объект с распределенными параметрами. Объект с сосредоточенными параметрами – есть объект, в каждой точке которого в рассматриваемый момент времени характеризующие его состояние переменные принимают одни и те же значения. Объект с распределенными параметрами – есть объект, в направлении координатных осей которого в рассматриваемый момент времени характеризующие его состояние переменные имеют различные значения (распределены в направлении координатных осей).
Состояния объекта управления • Статическое состояние • Динамическое состояние
Статическое состояние Статическое состояние Признаком статического состояния объекта управления является постоянство во времени переменных, характеризующих состояние объекта управления, т.е. dxi/dt = 0, где xi – переменные, характеризующие состояние объекта управления. Физически статическое состояние есть состояние, при котором имеет место Приход (энергии, вещества) = = Расход (энергии, вещества)
Динамическое состояние Признаком динамического состояния объекта управления является изменение во времени переменных, характеризующих состояние объекта управления, т.е. dxi/dt 0. Физически динамическое состояние есть состояние, при котором имеет место Приход (энергии, вещества) - Расход (энергии, вещества) Накопление или истечение (энергии, вещества).
Объект управления Переменные, характеризующие объект управления: x1 … xm u1 y1 uryn Входные переменные: • возмущающие (внешние) воздействия (xk,k=1,2,…,m); • управляющие воздействия (uj,j=1,2,…,r); Выходные переменные(yi,i=1,2,…,n).
Связь переменных при статическом и динамическом состояниях объекта Связь переменных при статическом состоянии объекта управления: или , где .
Связь переменных при статическом и динамическом состояниях объекта Связь переменных при динамическом состоянии объекта управления: , или , где . Здесь - переменная, характеризующая состояние объекта управления.
Выбор критериев оптимальности для задач оптимизации объектов, находящихся в статическом и динамическом состояниях Критерии оптимальности для объектов, находящихся в статическом состоянии: • для объектов с сосредоточенными параметрами – целевая функция в виде ; • для объектов с распределенными параметрами – функционал в виде где , l – пространственная координата.
Выбор критериев оптимальности для задач оптимизации объектов, находящихся в статическом и динамическом состояниях Критерии оптимальности для объектов, находящихся в динамическом состоянии есть функционал в виде: , где , t – время.
Виды функций по количеству экстремумов - унимодальные, имеющие один экстремум - полимодальные, более одного экстремума Виды экстремумов и наилучших значений функции - локальный минимум полимодальной функции в точке ui*, если , или и ; - локальный максимум полимодальной функции в точке ui*, если , или и , где i=1,2,…,k – число локальных экстремумов.
Виды экстремумов и наилучших значений функции - супремум (sup Q (u)) при umin, если ; - супремум (sup Q (u)) при umax, если ; - инфимум (inf Q (u)) при umin, если ; - инфимум (inf Q (u)) при umax, если ; - глобальный минимум в точке ug, если ; - глобальный максимум в точке ug, если .
Постановка задачи статической оптимизации Q(X, U) min(max) U yi=φi(X, U) , i=1,…,n, yiyiзад, i=1,…,k, yiyiзад, i=k+1,…,p, UjminUj Ujmax, j=1,…,r, где X=(x1,…,xn) – вектор внешних возмущающих воздействий, U=(u1,…,ur) – вектор управляющих воздействий, Y=(y1,…,yp) – вектор выходных переменных, yiзад - заданные значения выходных переменных, Ω - область допустимых управлений. Требуется найти такие значения управляющих воздействий U=(u1,…,ur), при которых выполняются приведенные выше условия, а критерий оптимальности Qпринимает минимальное (максимальное) значение.
Необходимые условия корректной постановки задачи оптимизации Оптимизация имеет место тогда, когда рассматриваемая система имеет степени свободы. Число степеней свободы определяется по выражению: Число степеней свободы =Число искомых функций (переменных) –Число их связывающих уравнений . Размерность задачи оптимизации определяется по числу искомых функций (переменных), т.е. числом степеней свободы (ЧСС). Задача одномерная, если ЧСС =1, и многомерная, если ЧСС >1.
Примеры корректной и некорректной постановок задачи оптимизации Пример корректной постановки задачи оптимизации: 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.
Методы статической оптимизации • Классический метод исследования функции на экстремум • Методы нелинейного программирования: • численные методы решения одномерной задачи статической оптимизации; • численные методы решения многомерной задачи статической оптимизации • Линейное программирование • Динамическое программирование в дискретной форме
Классический метод исследования функций на экстремум Необходимые и достаточные условия экстремума функции одной переменной Q=Q(u) Необходимое условие: . Достаточное условие: Если при u=u* впервые в порядке возрастания k ,где k– четное, то Q=Q(u) имеет экстремум.Причем, если , то Q(u)min, а если , то Q(u)max. Если приu=u* впервые в порядке возрастания k , где k– нечетное, то Q=Q(u) не имеет экстремума.
Примеры исследования функции одной переменной на экстремум Пример 1. Q = (1-u)3. Необходимое условиеэкстремума : 3(1-u*)2(-1) = 0, u*=1. Достаточное условиеэкстремума = 6(1-u*) = 6(1-1) = 0, . k= 3 – нечетное. Ответ: при u*=1 исследуемая функция не имеет экстремума.
Примеры исследования функции одной переменной на экстремум Пример 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 исследуемая функция имеет минимум.
Классический метод исследования функций на экстремум Необходимые и достаточные условия экстремума функции нескольких переменных Q=Q(U) =Q(u1,…,ur). Необходимое условие: . Достаточное условие: Если при U=U* все диагональные миноры матрицы Гессе (Г): (Г) строго положительны, то функция Q=Q(U) имеет минимум.Если при U=U* нечетные диагональные миноры матрицы (Г) строго отрицательные, а четные строго положительные, то функция Q=Q(U) имеет максимум.
Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q =u1+2u12+u2+4u22+3u1u2 Необходимое условие экстремума: , 1+4u1*+3u2* = 0; , 1+8u2*+3u1* = 0; , , , u1* = 1 / = -5/23, u2* = 2 / = -1/23.
Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 1. Q =u1+2u12+u2+4u22+3u1u2. Достаточное условие экстремума: ; ; ; ; Матрица (Г): 1-ый диагональный минор равен 4>0, 2-ой диагональный минор равен 48-33=32-9=23>0. Ответ: при u1* = -5/23, u2* = -1/23 исследуемая функция имеет минимум.
Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q =u1-2u12+u2+4u22+3u1u2 Необходимое условие экстремума: , 1-4u1*+3u2* = 0; , 1+8u2*+3u1* = 0; , , , u1* = 1 / = 5/41, u2* = 2 / = -7/41.
Примеры исследования функции нескольких переменных на экстремум классическим методом Пример 2. Q =u1-2u12+u2+4u22+3u1u2. Достаточное условие экстремума: ; ; ; ; Матрица (Г): 1-ый диагональный минор равен –4<0, 2-ой диагональный минор равен -48-33=-32-9=-41<0. Ответ: при u1* = 5/41, u2* = -7/41 исследуемая функция не имеет экстремума.
Аналитическое решение задачи на условный экстремум- Метод множителей Лагранжа.- Условие Куна-Таккера Аналитическое решение задачи на условный экстремум при условиях типа равенства: Q=Q(U) min, U j(U) = 0, j = 1,…,m, U = (u1,…,ur), m < r. Задача решается методом множителей Лагранжа.
Метод множителей Лагранжа 1. Составляется функция Лагранжа где j, j=1,…,m,- множители Лагранжа. 2. Совместно решается система уравнений: L(U,) / ui=0, i=1,…,r, j(U) = 0, j = 1,…,m.
Пример решения задачи методом множителей Лагранжа 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.
Аналитическое решение задачи на условный экстремум- Метод множителей Лагранжа.- Условие Куна-Таккера Аналитическое решение задачи на условный экстремум при условиях типа неравенств: Q=Q(U) min, U j(U) 0, j = 1,…,m, U = (u1,…,ur). Задача решается с использованием условий Куна-Таккера.
Условия Куна-Таккера Рассматривается задача выпуклого программирования Q=Q(U) min, U j(U) 0, j = 1,…,m, U = (u1,…,ur), где Q(U) и j(U) - выпуклые дифференцируемые функции. Алгоритм решения задачи. 1. Составляется функция Лагранжа: где j, j=1,…,m,- множители Лагранжа.
Условия Куна-Таккера 2. Совместно решается система уравнений и неравенств: L(U,) / ui=0, i=1,…,r, jj(U) = 0, j = 1,…,m, j 0, j = 1,…,m, j(U) 0, j = 1,…,m.
К определению выпуклости функции Пусть 0 1. Произвольную точку на линии ab можно описать как a+(b-a)(1-)= a+(1-)b,т.е. при = 0 это точка b, а при = 1 это точка а. В случае нелинейной функции ее значение в точке с= a+(1-)bестьQ[a+(1-)b].
К определению выпуклости функции Значение линейной функции, проходящей через точки 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]).
Примеры решения задачи с использованием условия Куна-Таккера Пример 1. Q =u12+u22 min, u1, u2 u1+u21, или (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 пассивно.
Примеры решения задачи с использованием условия Куна-Таккера Пример 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+u21, или (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.
Примеры решения задачи с использованием условия Куна-Таккера Пример 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 активно.
Численные методы решения одномерных задач статической оптимизации - Сканирования (с постоянным и переменным шагом). - Половинного деления исходного интервала, содержащего экстремум. - «Золотого» сечения. -С использованием чисел Фибоначчи.
Метод сканирования с постоянным шагом Функция Q(u), a u b. Алгоритм поиска: 1. Задается точность вычисления оптимального значенияuu*. 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
Метод сканирования с переменным шагом Функция Q(u), a u b. Алгоритм поиска: 1. Задается точность вычисления оптимального значенияuu*. 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.
Метод сканирования с переменным шагом При максимизации функции 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.
a b Q(u) u11 u12 u Метод половинного деленияQ=Q(u) max(min), au b Поиск методом половинного деления
Метод половинного деленияQ=Q(u) max(min), au 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.
Q(u) a b 0.62(b-a) 0.38(b-a) 0.38(b-a) u u11 u12 Метод «золотого» сеченияQ=Q(u) max(min), au b Поиск методом «золотого» сечения
Метод «золотого» сечения Q=Q(u) max(min), au 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.
Метод «золотого» сечения Q=Q(u) max(min), au b Алгоритм поиска(продолжение): 5. Если условие окончания поиска в пункте 4 не выполняется, на интервале (b1 - a1)со стороны, не смежной с меньшим отрезком, от граничной точки откладывается длина меньшего отрезка. 6. Проводитсяперенумерация точек: - ближайшая к левой границе обозначается u21; - ближайшая к правой границе обозначается u22; 7. Для каждого нового интервала (bi- ai) повторяются пункты 2-6до выполненияусловия bi- ai.
a b Q(u) u2 u1 u 0.23(b-a) 0.38(b-a) Метод с использованием чисел ФибоначчиQ=Q(u) max(min), au b Поиск с использованием чисел Фибоначчи
Метод с использованием чисел ФибоначчиQ=Q(u) max(min), au 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).
Метод с использованием чисел ФибоначчиQ=Q(u) max(min), au 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 .
Q(u1*,u2*) u1* u1 u2* u2 Численные методырешениямногомерных задач статическойоптимизации Решается задача Q(u1,…,ur)max(min) u Многомерная функция