Колоквијум # задатак подељен на 4 питања: теоријска практична пишу се програми, коначно решење се записује на папиру, кодови се архивирају преко сајта Инжењерски оптимизациони алгоритми /3
Проблем: NLP: континуалне оптимизационе функције Карактеристика диоде дата је изразом I e I, где је U 5 mv и I na. Електромоторна сила генератора је E V, а отпорност R. Израчунати радну тачку диоде R I + U / U E U E U R I U U e Инжењерски оптимизациони алгоритми /3
Оптимизација и решавање трансцедентних једначина Континуална функција са једном променљивом Трансцедентна једначина Знамо да постоји тачно једно решење Оптимизациони проблем, L - норма opt U U E U U I e R E U R min I e U U opt, U U Инжењерски оптимизациони алгоритми 3/3
Традиционални методи NLP: континуалне функције Метод половљења интервала енглески: bisection/braceting method Метод сечице regula-alsi Њутнов метод апроксимација тангентама Брентов метод апроксимација параболама Градијентни метод Хесијан BFGS Broyden Fletcher Goldarb Shanno метод Инжењерски оптимизациони алгоритми 4/3
Половљење интервала Услов: постоји интервал a b < =,5 a + b Нови интервал: [a, ] ако a < [,b] ако b < Поновити процедуру док се нула не одреди са задатом тачношћу a 3 b Инжењерски оптимизациони алгоритми 5/3
Половљење интервала брзо конвергира b a У кораку n интервал је n Свака итерација смањује интервал пута Изузетно робустан Једноставан за програмирање Не захтева познавање извода функције! Може да се примени и ако је функција са шумом или са целим бројевима Захтева познавање почетног интервала Генерализација на вишедимензионе проблеме? Инжењерски оптимизациони алгоритми 6/3
Regula alsi: основна идеја и скица извођења Нула се тражи у пресеку линеарне апроксимације функције и апсцисе b a a a b a b a a a b a a b b b a a a b Инжењерски оптимизациони алгоритми 7/3
Regula Falsi метод сечице Услов: постоји интервал a b < Следећа апроксимација a b b b a a Нови интервал: [a, ] ако a < или [,b] ако b < Поновити док се нула не одреди са задатом тачношћу a Инжењерски оптимизациони алгоритми 8/3 b
Regula alsi: употреба Потребно је знати почетни интервал у којем постоји једна нула, а функција мења знак Конвергенција је нешто бржа од метода половљења интервала Мало сложенији за програмирање од половљења интервала постоји формула која се програмира Генерализација на вишедимензионе проблеме? Инжењерски оптимизациони алгоритми 9/3
Њутнов метод: основа идеја и скица извођења Такође је познат под именом Newton-Raphson Позната функција и њен први извод Једначина тангенте у тачки n је n y n n n n n n n n n Инжењерски оптимизациони алгоритми /3
Њутнов метод апроксимација тангентом Следећа апроксимација: Захтева добро полазно решење тангента води ка нули, није тако у општем случају 3 Потребно је израчунати извод функције, што није увек једноставно Инжењерски оптимизациони алгоритми /3
Њутнов метод: употреба Изузетно брза конвергенција Тачно или апроксимативно израчунавање извода ограничава употребу Уколико функција садржи локални минимум, алгоритам може да дивергира Функције са нумеричким шумом нису погодне за овај метод због израчунавања извода Генерализација на вишедимензионе проблеме? Инжењерски оптимизациони алгоритми /3
Инжењерски оптимизациони алгоритми 3/3 Њутнов метод: генерализација Полазимо од система нелинеарних једначина, са непознатих Развијемо једну једначину у Тејлоров ред,...,,...,,..., O p p p p,...,
Инжењерски оптимизациони алгоритми 4/3 Њутнов метод: генерални итеративни поступак Занемарујући чланове Δ, пресек тангенте по једној координати је По свим координатама Итеративно p p p p J J J i i i J
Брентов метод квадратна интерполација Услов: функција има само један минимум или максимум у посматраном интервалу Квадратна апроксимација на основу 3 тачке Конструисање параболе Рачунање минимума параболе Понављање метода док се не постигне потребна тачност Брентов метод обједињује половљење интервала, метод сечице и квадратну интерполацију Инжењерски оптимизациони алгоритми 5/3
Инжењерски оптимизациони алгоритми 6/3 Квадратна апроксимација Три различита одбирка функције Коефицијенти Квадратна апроксимација Пронађемо минимум c b a c b a c b a c b a 3 3 3 3 3 3 c b a 3 3 3 c b a a b min
Пример квадратне апроксимације Фунцкија Прва аппрокс. a Друга аппрокс. a 7 6.5 6 5.5 5 4.5 a ~a* +b*+c a ~a* +b*+c 4 3.95 3.9 3.85 3.8 3.75 a ~a* +b*+c a ~a* +b*+c 4 3.5 3.7 3.65 3.6 3.55 3.5 3 3. 3.4 3.6 3.8 4 4. 4.4 4.6 4.8 5 3 3 4 5 6 7 8 9 Инжењерски оптимизациони алгоритми 7/3
Ограничења традиционалних метода Оптимизациона функција не мора имати нулу ако је потребно пронаћи минимум, онда се тражи нула извода Извод оптимизационе функције не мора нужно да буде познат, а може и да не постоји! Проблем свих претходних метода: генерализација у случају више променљивих За све наведене, сем метода половљења, постоје ситуације када методи дивергирају или стану Инжењерски оптимизациони алгоритми 8/3
Hill-Climbing Алгоритми Локални оптимизациони алгоритми Заснивају се на итеративном поправљању решења од кога су кренули Претражују околину полазног решења Генерализовани блок дијаграм је приказан десно Да Полазно решење Крај? Не Следеће решење у околини Упоређивање са најбољим Инжењерски оптимизациони алгоритми 9/3
Слабости Hill-Climbing Алгоритама По правилу проналазе само локални оптимум Нема информације о томе колико смо далеко или близу глобалног оптимума Крајње решење зависи од полазног Генерално, није могуће предвидети максималан број потребних итерација зависи од оптимизационе функције Инжењерски оптимизациони алгоритми /3
Инжењерски оптимизациони алгоритми /3 Градијентни метод Gradient Полазна тачка Нумеричка апроксимација градијента Наредна тачка s je дужина корака која се задаје,...,,... grad i i i s,,...,, grad
Илустрација пута поновљен градијентни метод Инжењерски оптимизациони алгоритми /3
Предности и мане градијентног метода Локални оптимизациони алгоритам Изузетно брза конвергенција Додатно повећање брзине конвергенције: уколико је добро процењен правац повећати корак у следећој итерацији Проналази само најстрмији минимум у околини полазног решења то није нужно и најдубљи минимум! Ефикасан уколико знамо добро полазно решење У -димензионом простору захтева + итерација за процену градијента Корак за процену градијента Δ i зависи од проблема! Инжењерски оптимизациони алгоритми 3/3
Инжењерски оптимизациони алгоритми 4/3 Хесијан матрица Претпоставимо : R R и постоји други извод Хесијан: је матрица израчуната у Алгоритам за рачунање наредне итерације: H H
Инжењерски оптимизациони алгоритми 5/3 Пример коришћења Хесијана Функција Полазно решење Градијент Хесијан Наредно решење, b a b a 3 6 b a H 6 3
Предности и мане оптимизације засноване на Хесијану У претходном примеру даје решење у једном кораку за произвољну полазну тачку Уколико оптимизациона функција има непрекидан први и други извод, оптимизација заснована на Хесијану је ефикаснија од градијентне методе Које се решење добија уколико оптимизациона функција има више од једног минимума? Израчунавање двоструких парцијалних извода може да буде проблематично код практичних оптимизационих проблема или први и други извод не морају да постоје Инжењерски оптимизациони алгоритми 6/3
Практична употреба Хесијана Оптимизациона функција са више променљивих Тејлоров развој T T H... Проблем је рачунање Хесијана Најпознатији је Broyden Fletcher Goldarb Shanno алгоритам Инжењерски оптимизациони алгоритми 7/3
Инжењерски оптимизациони алгоритми 8/3 Broyden Fletcher Goldarb Shanno BFGS алгоритам је полазна тачка, B је нулта ест. Хес., типично I У одреди се правац претраге p Промени се позиција Нека је Естимација Хесијана у наредној тачки је Понавља се за наредну тачку у простору p B p s s y s B s B s s B s y y y B B T T T T
Комплетно и парцијално решење Алгоритми који раде са комплетним решењем потпуно дефинисани проблем заустављање алгоритма даје до тада најбоље решење примери: систематско претраживање, случајно претраживање, hillclimbing, градијентни метод Алгоритми који раде са парцијалним решењем апроксимативно решење surrogate models, itness itting, itness approimation, space mapping, Kriging, response surace methodology заустављени алгоритам не мора да има корисно решење случајно претраживање без памћења најбољег пронађеног Инжењерски употребљиви су алгоритми који дају најбоље решење до тада Инжењерски оптимизациони алгоритми 9/3
Задатак за вежбе #3 поставка Лежандрови полиноми су дефинисани на интервалу [,], рекурентном формулом P Изводи P n n P P P n Pn Pn Pn n n n Аналитички израз за нуле није познат, апроксимативно i-та нула пол. степена n app i,5 cos n,5 n Инжењерски оптимизациони алгоритми 3/3 n
Задатак за вежбе #3 детаљи Израчунати све нуле полинома степена n = 5 до машинске тачности double precision numbers Машинска тачност 5 значајних цифара 5 и су апрокс. једне нуле у корацима и Изабрати ЈЕДАН оптимизациони алгоритам и израчунати све нуле до машинске тачности Инжењерски оптимизациони алгоритми 3/3