Transcript Document
Приложно математично програмиране ЛЕКЦИЯ 3 Оптимизация при целеви функции с един управляващ параметър Prof. Boyan Bonev Ivanov, Ph.D. Email: [email protected] Institute of Chemical Engineering-BAS Лекции Лекция 1 Въведение в математичното програмиране Лекция 2 Линейно програмиране Лекция 3 Оптимизация при целеви функции с един управляващ параметър Лекция 4 Нелинейно програмиране – Градиентни методи Лекция 5 Нелинейно програмиране – Директни методи Лекция 6 Нелинейно програмиране – Методи с ограничения Лекция 7 Методи за булева и дискретна оптимизация Лекция 8 Методи за глобална оптимизация Лекция 9 Методи за многоцелева оптимизация 2 План на лекцията 1. Постановка на задачата 2. Методи на сканирането 2.1. Сканиране с постоянна стъпка 2.2. Сканиране с променлива стъпка 3. Метод на “дихотомията” 3.1. Постановка на задачата-графическа интерпретация 3.2. Алгоритъм на метода 4. Метод на “златното сечение” 4.1. Постановка на задачата-графическа интерпретация 4.2. Алгоритъм на метода 5. Интерполационни методи 5.1. Метод на Дейвис, Суен и Кемпи Постановка на задачата f ( x) MIN a xb ИЛИ f ( x) MAX x a, b Maximum Maximum Постановка на задачата - графическа интерпретация f (x) а X*min X*max X*min b x Методи на сканирането f (x) а X*min X*max X*min b x Сканиране с постоянна стъпка f (x) const а X*min b x Сканиране с променлива стъпка Алгоритъм на метода: 1. Приема се начален интервал на сканиране ba , L (1) L 45 2. Прави се сканиране в целия първоначален интервал и се определят координатите на max или min 3. Избира се нов интервал на сканиране (k ) (k ) a xmax ( k ) b xmax ( k ) 4. Проверява се критерият за спиране на търсенето ( k ) min 5. Намалява се стъпката за сканиране ( k 1) ( k ) L 6. Процедурата се повтаря в т.3 до достигане на зададената точност Сканиране с променлива стъпка f (x) (1) а а ( 2 ) X*min b b x Метод на “дихотомията” Алгоритъм на метода: 1. Изчислява се целевата функция на границите 2. Изчислява се целевата функция на средата на интервала x (1) ba a 2 3. Изчислява се делта ba a 2 4. Изчислява се Ц.Ф. За стойностите на аргумента x ( 2) a x (3) b 5. От получените 5 стойност се избира най-добрата и се запомня 6. Ако min търсенето се прекратява, иначе продължаваме в т.7 7. Отхвърля се половината от изследваната област и се определят новите граници за търсене на екстремума a xmin b xmin 8. Ако екстремума съвпада с една от граничните точки, съответната граница се запазва и алгоритъма продължава в т. 2 9. Ако екстремума е вътре в допустимите граници, алгоритъма продължава в т. 3 Метод на “дихотомията”-Графическа интерпретация f (x) 1 2 4 3 5 а а * X(1) X min b b x Метод на “златното сечение” Принципът на метода на “златно сечение” се състои в разделяне на търсената област на две части в отношение което удовлетворява т. нат “златно сечение” L L1 L1 L2 L1 Z 2 0.62 L L2 L2 L22 3LL2 0 L2 3 5 Z1 0.38 L 2 L L1 L3 L L1 L2 .... L1 L2 L3 L2 Метод на “златното сечение” f ( x1 ) f ( x2 ) f (x) 1 f ( x1 ) f ( x2 ) 2 0.62(b-a) 0.38(b-a) а x1 X*min x2 b x Метод на “златното сечение” f (x) f ( x1 ) f ( x2 ) 2 1 f ( x2 ) f ( x1 ) 0.62(b-a) 0.38(b-a) а X*min x1 b x Метод на “златното сечение” f ( x1 ) f ( x2 ) f (x) 2 1 f ( x1 ) f ( x2 ) 0.62(b-a) 0.38(b-a) а а X*min b b x Метод на “златното сечение” Алгоритъм на метода: 1. Изчислява се величините Z1 Z 2 2. Определят се границите по формулите x(1) a Z1 (b a) x( 2) a Z 2 (b a) 3. Изчисляват се Ц.Ф. За стойностите на границите 4. Ако f ( 2) f (1) 5. Ако f ( 2) f (1) променят се границите на допустимата област 5.1. Границата а се променя на а1 5.2. Запомня се най-добрият резултат до момента 5.3. Проверява се критерият за спиране на търсенето Z 2 (b a) min 5.4. Определя се x( 2) a Z 2 (b a) 5.5. Изчислява се Ц.Ф. и алгоритъма се повтаря в т.4 6. Ако f (1) f ( 2) (случай 2) 6.1. Границата b се променя b1 6.2. Запомня се най-добрият резултат до момента 6.3. Проверява се критерият за спиране на търсенето Z 2 (b a) min 6.4. Определя се x(1) a Z1 (b a) 6.5. Изчислява се Ц.Ф. и алгоритъма се повтаря в т.4 7. При изпълнение на условието за спиране на търсенето се оптечатва найдобрият резултат Метод на “златното сечение” f ( x1 ) f ( x2 ) f (x) 1 0 f ( x1 ) f ( x2 ) 0.62(b-a1) 0.38(b-a1) 1 f ( x1 ) f ( x2 ) 2 0.62(b-a) 0.38(b-a) а а1 X*min b b x f (x) Метод на Дейвис, Суен и Кемпи Интерполационни методи f ( x) b0 b1 ( x a) b11 ( x a)(x m) b0 f (a) D b11 bm f ( m) f ( a ) b1 ma f (b) f (a ) f (m) f (a ) D ba ma 1 2 1 b1 x a m 2 2b11 * 3 а m b x Метод на Дейвис, Суен и Кемпи Алгоритъм на метода: 1. Задават се 3 точки в допустимия интервал (обикновено това са двете гранични точки и една точка в средата на интервала) 2. Изчисляват се стойностите за целевата функция за тези точки 3. Извършва се квадратична апроксимация съгласно уравнението f ( x) b0 b1 ( x a) b11 ( x a)(x m) 4. Изчислява се минимума на апроксимираната целева функция x* 1 a m b1 2 2b11 b0 f (a) D b11 bm f ( m) f ( a ) b1 ma f (b) f (a ) f (m) f (a ) D ba ma 5. За стойността на условния минимум се изчислява оригиналната целева функция 6. От получените 4 точки се отхвърля тази с най-лош резултат 7. Проверява се критерия за спиране на търсенето 8. Ако критерия за спиране не е изпълнен, то процедурата се повтаря в т. 3 Метод на Дейвис, Суен и Кемпи f (x) Квадратична апроксимация 1 Квадратична апроксимация 2 3 5 4 X2min а X1min X*min b x