Magisterska FINAL

257
Република Македoнија Универзитет Св. Кирил и Методиј, Скoпје Прирoднo-математички факултет Институт за математика Стеванче Николоски СЕКВЕНЦИЈАЛНО КВАДРАТНО ПРОГРАМИРАЊЕ (SQP). ПРИМЕНА НА SQP ВО АПРОКСИМАЦИЈА И ДИЗАЈН НА СПЛАЈН КРИВИ магистерска работа Скопје , 2012

Transcript of Magisterska FINAL

Page 1: Magisterska FINAL

Република Македoнија Универзитет Св. Кирил и Методиј, Скoпје

Прирoднo-математички факултет Институт за математика

Стеванче Николоски

СЕКВЕНЦИЈАЛНО КВАДРАТНО ПРОГРАМИРАЊЕ (SQP). ПРИМЕНА

НА SQP ВО АПРОКСИМАЦИЈА И ДИЗАЈН НА СПЛАЈН КРИВИ

магистерска работа

Скопје , 2012

Page 2: Magisterska FINAL
Page 3: Magisterska FINAL

Ментор: д-р Марија Оровчанец, редовен професор на

Институтот за математика при Природно - математички факлутет, Скопје

Членови на комисијата: д-р Љупчо Настовски, вонреден професор на

Институтот за математика при Природно - математички факлутет, Скопје

д-р Ирена Стојковска,

доцент на Институтот за математика при

Природно - математички факлутет, Скопје

Датум на одбрана: ____________________________ Научна област: Математика

Page 4: Magisterska FINAL
Page 5: Magisterska FINAL

Апстракт

Најефективните методи на условна оптимизација кој ја решаваат

подзадачата на квадратно програмирање, како од теоретски така и од

практичен аспект се методите од секвенцијално квадратно програмирање

(SQP). Овој метод е доста карактеристичен по тоа што мошне успешно и

ефективно ги решава задачите каде имаме ограничувања кои се

нелинеарни, што е доста корисно во пракса. Тоа претставува мотивацијата

за мојата магистерска работа, каде ќе биде прикажана практичната

примена на овој метод при апроксимација на сплајн криви.

Магистерската работа ќе се состои од два дела. Во првиот дел ќе

бидат дадени теоретските основи, резултати и користени поими. Имено,

ќе се запознаеме со основните дефиниции на поими и најважните

резултати од конвексната оптимизација- конвексни множества и функции.

Потоа, ќе бидат изложени резултати и поими од квадратното

програмирање и задачата на квадратно програмирање и ќе се запознаеме

исто така со делот што ги опфаќа методите на условна оптимизација. На

крај ќе биде изложен материјалот тесно поврзан со проблематиката на

магистерската, односно делот за SQP и воведот во теоријата на сплајн

криви, кои имаат значаен удел во роботика, односно во генерирањето на

траекторија на движење на роботите Вториот дел ќе се состои од математичка формулација на

оптимизационата задача, во која целта ќе биде да се апроксимира и

дизајнира сплајн крива преку оптимизација на контролните параметри

(јазли), и која ќе биде решена со помош на SQP. Во продолжение во овој

дел ќе биде прикажан главниот алгоритам кој дава нумеричко решение

на поставената задача од вториот дел, имплементација на методот во

математичкиот пакет MATLAB, ќе бидат дадени нумерички резултати на

специфични тестирани примери како и соодветна анализа на истите. Клучни зборови: сплајн криви, Б-сплајн, теорија на условна оптимизација,

квадратно програмирање, секвенцијално квадратно програмирање,

конвексна оптимизација, апроксимација, оптимална контрола

Page 6: Magisterska FINAL
Page 7: Magisterska FINAL

Abstract

The most effective algorithms for constrained optimization that solve the

subproblem of Quadratic Programming (QP) from theoretical and practical

point of view are the problems of Sequential Quadratic Programming (SQP).

This method is characteristic in solving nonlinear constrained optimization

problems in most effective way, which is so useful in practice. That is the

motivation for this master thesis, where is given an explanation for practical

application of this method in spline curve approximation.

This master thesis consists of two parts. In first part, there is given theoretical

basis, results and most used terms. Namely, we become familiar with basic

definitions of terms and the most important results of convex optimization –

convex sets and convex functions, and a results and terms associated with

quadratic programming and QP problems and also we become familiar with

contrained optimization methods. At the end of theoretical part of the thesis,

we are going to make an introduction to SQP and in theory of spline curves,

which have significant contribution in robotics i.e in trajectory generation

algorithms for robotic motion. Those Chapters is the most familiar with main

problematic of the thesis.

In second part, there is a mathematical formulation of practical optimization

problem, which explain a way of designing and approximating spline curve via

optimization of control parametars (knot vector), using SQP. In addition, there

is shown a main algorithm which gives a numerical solution of practical

problem in second part , an algorithm implementation in MATLAB

programming language, and there is a numerical results of specific tested

examples and appropriate analysis of them.

Key Words: spline curves, B-spline, constrained optimization, quadratic

programming, sequential quadratic programming, approximation, optimal

control

Page 8: Magisterska FINAL
Page 9: Magisterska FINAL

Благодарности

Најпрво би сакал да изразам особена благодарност до проф. д-р Марија

Оровчанец за професионалниот начин на соработка, поддршката и

мотивацијата во текот на изработувањето на оваа магистерска работа, која

ми беше повеќе од неопходна, како и за тоа што успешно ме воведе во

научно - истржувачката дејност. Исто така посебна благодарност упатувам

и до доц. д-р Ирена Стојковска и проф. д-р Љупчо Настовски за нивните

конструктивни забелешки со цел подобрување на квалитетот на текстот

како и за нивната подготвеност и пријателско расположение да излезат во

пресрет на секоја ситуација со предлог решение.

Им благодарам на сите мои колеги од Микросам А.Д., посебно на Самоил

Самак, кој преку работните задачи и ангажмани ми овозможи да ги спојам

теоретските знаења од областа на оптимизација со практичните

проблеми. Исто така посебна благодарност и до колегите м-р Игор

Димовски и Дијана Цветкоска, за нивната постојана поддршка и несебична

стручна и техничка помош, како и за конструктивните сугестии.

Благодарност до сите мои наставници, асистенти и професори кои

допринесоа уште повеќе да ја засакам математиката како наука, со целата

нејзина магичност и генијалност.

Исто така, благодарност и до моите најблиски, моето семејство и

пријателите, за љубовта и разбирањето, бидејќи тие се најзаслужни за

сите мои досегашни достигнувања во кариерата.

НАЈИСКРЕНО ВИ БЛАГОДАРАМ!

Page 10: Magisterska FINAL
Page 11: Magisterska FINAL

xi

Содржина

Вовед xv

I. Теоретски дел

Глава 1

Елементи од конвексна анализа 21

1.1 Конвексни множества ........................................................................... 21

1.2 Проекција. Теореми за раздвојување. ................................................. 24

1.3 Конус. Теорема на Фаркаш ................................................................... 30

1.4 Конвексни функции ............................................................................... 34

1.5 Силно конвексни функции .................................................................... 39

Глава 2

Основи на математичкото програмирање. Теорија на условна

оптимизација 41

2.1 Задача на математичкото програмирање ........................................... 41

2.2 Допустливи правци ................................................................................ 43

2.3 Екстремални својства ............................................................................. 46

2.4 Екстремални својства на конвексни множества ................................ 49

2.5 Доволни услови за оптималност .......................................................... 54

2.6 Лагранжова функција. Услови за оптималност. ................................. 56

2.7 Оптимизациони методи. Структура на оптимизациони методи.

Конвергенција ........................................................................................ 64

Глава 3

Квадратно програмирање 73

3.1 Оптимални услови за квадратното програмирање ............................ 73

3.2 Дуалност за квадратното програмирање ............................................ 77

Page 12: Magisterska FINAL

xii

3.3 Квадратно програмирање со равенствени ограничувања ................. 84

3.4 Метод на активно множество ............................................................... 94

3.5 Дуален метод ....................................................................................... 107

3.6 Примарно-дуални методи на внатрешна точка ................................ 114

3.6.1 Централен пат .................................................................................... 117

3.6.2 Примарно-дуални методи на внатрешна точка за конвексно

квадратно програмирање ................................................................ 120

Глава 4

Секвенцијално квадратно програмирање (SQP) 123

4.1 Локален SQP метод .................................................................................. 123

4.1.1 SQP приказ за задача со равенствени ограничувања ................... 126

4.1.2 SQP приказ за задача со неравенствени ограничувања ............... 128

4.1.3 IQP v.s EQP ........................................................................................ 130

4.2 Пресметување на чекорот ................................................................... 131

4.2.1 Задача со равенствени ограничувања ............................................. 131

4.2.2 Задача со неравенствени ограничувања ......................................... 135

4.3 Хесијан на квадратниот модел ........................................................... 137

4.3.1 Целосни квази – Њутнови апроксимации ...................................... 137

4.3.2 Хесијан на проширена Лагранжова функција ................................. 140

4.3.3 Апроксимации на редуцираниот Хесијан ....................................... 141

4.4 Значајни функции и опаѓање .............................................................. 144

4.5 SQP метод со линиско пребарување .................................................. 149

4.6 SQP методи со редуциран Хесијан ..................................................... 150

4.6.1 Некои својства на методите со редуциран Хесијан ....................... 151

4.6.2 Обновувачки критериум на ажурирањето со редуциран Хесијан 152

4.6.3 Практичен метод со редуциран Хесијан ......................................... 155

4.7 SQP методи на област на доверба ...................................................... 157

4.7.1 Пристап 1: Поместување на ограничувањата ................................. 159

Page 13: Magisterska FINAL

xiii

4.7.2 Пристап 2: Две елиптични ограничувања ....................................... 161

4.7.3 Пристап 3: S 1l QP (Секвенцијално 1l квадратно програмирање) 162

4.8 Практичен SQP алгоритам на област на доверба.............................. 166

4.9 Брзина на конвергенција .................................................................... 171

4.9.1 Брзина на конвергенција на методите со редуциран Хесијан ...... 174

4.10 Ефект на Маратос ................................................................................. 176

Глава 5

Теорија на сплајн криви. Конструкција на кубна сплајн крива 181

5.1 Вовед во криви и површини ............................................................... 181

5.2 Историски развој .................................................................................. 185

5.2.1 Лагранжова интерполација .............................................................. 185

5.2.2 Ермитова интерполација .................................................................. 189

5.2.3 Сплајн интерполација ....................................................................... 196

5.2.4 Безјѐови криви ................................................................................... 204

5.2.5 Б-сплајн криви ................................................................................... 211

II. Практичен дел

Глава 6

Апроксимација и дизајн на сплајн криви преку оптимална контрола на

векторот јазли 225

6.1 Мотивација ........................................................................................... 225

6.2 Математичка формулација ................................................................. 227

6.2.1 Оптимална контрола во CAGD .......................................................... 227

6.2.2 Услови на Schoenberg-Whitney ......................................................... 231

6.2.3 Разместувачка матрица и нејзиниот нулти простор (јадро) .......... 232

6.2.4 Решение на задачата на минимизација со најмали квадрати. Друга

примена на процесот на оптимална контрола. .............................. 235

Page 14: Magisterska FINAL

xiv

6.3 Имплементација .................................................................................. 237

6.3.1 Опис на алгоритмот ........................................................................... 237

6.3.2 Нумеричко решение ......................................................................... 238

6.4 Нумерички резултати .......................................................................... 241

Референци 247

Показател на поими 249

Показател на ознаки и кратенки 253

Page 15: Magisterska FINAL

Вовед

Под поимот на оптимизација подразбираме наоѓање на „најефтина“

алтернатива или највисоко достигливи перформанси при дадени услови,

или ограничувања, преку максимизирање на посакуваните фактори и

минимизирање на непосакуваните.

Од друга страна, проблемот на апроксимација на крива отсекогаш

претставувал и ќе претставува еден од потешките проблеми во

геометриското моделирање. Едно од клучните прашања од оваа област е

да се изберат разумен број на точки од оригиналната крива кои ќе можат

потоа да се интерполираат или апроксимираат со параметарски зададена

крива. Во оваа магистерска работа ќе биде разгледан проблемот кога се

дадени голем број на точки },...,,{ 21 mPPPP за кои „знаеме“ дека за

дадено множество на параметри(јазли) },...,,{ 21 muuuU ќе припаѓаат

на крива q , т.е

miPuq ii ,...,2,,1,)( ,

но реално таа крива ја немаме експлицитно или, пак, ќе треба даденото

множество точки да го апроксимираме со крива која ќе поминува „блиску“

до точките и ќе задоволува услови кои ние ќе ги дефинираме. Тоа е

случајот кога сакаме да го оптимизираме (минимизираме) изразот

m

i

i xfuq1

2)()(

кој ни го дава отстапувањето на апроксимираната сплајн крива q од

вистинската функција f која во пракса скоро секогаш е непозната.

Некогаш ќе сакаме апроксимираната крива да ја следи формата која, на

некој начин, ни ја кажува даденото множество точки, а некогаш ќе сакаме

да добиеме крива која ќе биде со одреден степен на глаткост.

Page 16: Magisterska FINAL

xvi Вовед

Во пракса, на пример, при дефинирањето на траекторија на движење на

робот, доволни ќе ни бидат информации за првиот, вториот и третиот

извод од кривата со кои ќе вршиме контрола на брзината, забрзувањата и

ударите соодветно, кои, притоа би настанале. Затоа во магистерската

работа во Глава 5 изложени се основите на теоријата на сплајн криви,

класа на параметарски криви кои го решаваат погоренаведениот

практичен проблем објаснат е начинот на конструирање на кубна сплајн

крива, крива со С3 степен на непрекинатост, т.е непрекинат трет извод.

Физичката дефиниција на поимот за сплајн вели: Сплајн е тенка метална

или дрвена лента што може еластично да се извитка така што ќе поминува

низ неколку поставени точки.

Пример: Чамец – дрвена штица, лента која се однесува како сплајн.

Додека, пак, математичкот начин на дефинирање е следниот: Сплајн

претставува глатко споена крива која е непрекината и по делови

диференцијабилна освен можеби во спојките (линеарен сплајн).

Во математичката литература издадена на македонски јазик во

терминологијата се среќава поимот сплајн, како дефиниција на овие

видови на криви, но, од особен интерес е да во иднина се најде и усвои

соодветен термин за овие криви.

Друга практична потреба во теоријата на роботика е да се минимизира

времето за стигнување од почетна до крајна точка. Доколку имаме голем

број на контролни точки, тогаш ќе биде потребно поголемо време за

поминување на целата траекторија на движење на роботот. Овој проблем

доведува и до дефинирање на нова оптимизациона задача за

минимизација на должината на сплајн кривата. Токму овој проблем е

основната мотивација која доведе до решение на практичниот проблем во

оваа магистерска работа. Преку практичниот проблем опишан во

последната Глава 6, одговорено е прашањето за намалување на бројот на

контролни точки, а со тоа и намалување на крајното време на движење и

намалување на должината на кривата, преку оптимална контрола на

множеството од јазли, односно, векторот од параметри кој ја контролира

формата на сплајн кривата, без притоа да биде нарушен посакуваниот

почетен изглед и својства на сплајнот кој е конструиран и за почетниот

број на контролни точки.

Page 17: Magisterska FINAL

xvii Вовед

Процесот на оптимизација на јазлите во практичната задача се решава

преку програмскиот пакет MATLAB со помош на MATLAB функцијата

fmincon која решава задачи од нелинеарна условна оптимизација, која е

дел од Matlab Optimization Toolbox™-от. Специјално, за нашиот проблем,

се користи методот на секвенцијално квадратно програмирање (SQP) за

кој теоретските резултати како и поважните поими се произнесени во

Глава 4. Проблемот на квадратно програмирање претставува еден вид на

задача од конвексната оптимизација. Поважните поими околу

конвексната оптимизација (конвексни множества и конвексни функции),

како и задачата на конвексното програмирање се дадени во Глава 1.

Најважните резултати од математичкото програмирање и основната

задача на математичкото програмирање и од теоријата на условна

оптимизација се произнесени во Глава 2. Во Глава 3 се дадени дефиниции

на најважните поими и теоремите кое се однесуваат на квадратното

програмирање, широка класа на оптимизациони задачи на кои се

базираат и SQP задачите.

Математичката формулација, и алгоритмот кој го решава практичниот

проблем на оптимизација на множеството јазли при апроксимацијата со

сплајн криви, заедно со начинот на кој што е имплементиран, се дадени

во Глава 6. Исто така прикажани се тест примерите и притоа добиените

нумерички резултати, кој се анализирани и систематизирани соодветно во

табела.

Page 18: Magisterska FINAL
Page 19: Magisterska FINAL

I. Теоретски дел

Page 20: Magisterska FINAL
Page 21: Magisterska FINAL

Глава 1

Елементи од конвексна анализа

1.1 Конвексни множества

Ќе работиме со функции со домен множество кое е подмножество од

конечно-димензионалниот Евклидски простор nR

Дефиниција 1.1. Множеството од сите подредени n -торки

n

T xxxx ,...,, 21 од n реални броеви nxxx ,...,, 21 се вика n -

димензионален Евклидски простор ако се исполнети следните услови:

Нека nn RyRx , и нека е реален број. Тогаш:

x + y = nn yxyxyx ,...,, 2211 (адитивност)

x = nxxx ,...,, 21 (множење со скалар)

n

i

ii yxyx1

,

(скаларен производ)

Елементите n

T xxxx ,...,, 21 се викаат точки (вектори) а броевите

nxxx ,...,, 21 се нивни координати. Во Евклидскиот простор воведуваме

ознака за Евклидска норма (должина на вектор)

2

1

, xxx

која го исполнува следното својство:

Page 22: Magisterska FINAL

22 Елементи од конвексна анализа

nRxx ,0

и 0x ако и само ако 0x ;

nRxRxx ,,

nRyxyxyx ,,

Евклидската норма и скаларниот производ го задоволуваат неравенството

на Коши- Буњаковски- Шварц:

nRyxyxyx ,,, .

Со Евклидската норма може да се дефинира конвергенција во nR . Низата

mx од точки кои припаѓаат во nR се вели дека конвергира кон точката

x кога m т.е xxmm

lim ако

0lim

xxmm

Точката x се нарекува гранична точка на низата. дадеме, исто така, уште

неколку дефиниции:

Дефиниција 1.2. Множеството xyyxU :)( се вика -

околина на точката x .

Дефиниција 1.3. Множеството nEX се вели дека е затворено ако го

содржи сите гранични точки т.е точките за кои во секоја нивна околина се

содржат бесконечно многу точки кои припаѓаат на X .

Дефиниција 1.4. Точката Xx се нарекува внатрешна точка на

множеството X ако постои околина на x таква што сите точки кои се

наоѓаат во неа припаѓаат на X .

Дефиниција 1.5. Точката Xx се нарекува точка од границата (работ)

на множеството X ако секоја нејзина околина содржи точки кои

припаѓаат и точки кои не припаѓаат на X . Множеството X кое ги

Page 23: Magisterska FINAL

23 Елементи од конвексна анализа

содржи сите точки од границата на множеството X се нарекува граница

или раб на множеството X .

Дефиниција 1.6. Множеството X во n -димензионалниот Евклидски

простор nR се нарекува конвексно ако за секои две точки nn RyRx ,

отсечката yx , кој ги поврзува, целосно припаѓа во X .

Конвексноста на множеството X значи дека Xyx , повелкува дека

Xyxz 1 за секое 10 . На пример, во 2R

отсечката,

полуправата, правата, кружницата, триаголникот, полурамнината,

рамнината се примери за конвексни множества.

Лесно можеме да забележиме дека множеството X кое е

определено со систем од линеарни равенки и неравенки

bBxaAxxX ,:

каде А и В се матрици е конвексно и затворено (бидејќи А и В се линеарни

оператори).

Во продолжение ќе бидат изложени неколку теореми без докази.

Доказите за овие тврдења може да ги погледнете во Karmanov [10].

Теорема 1.1. Пресек на произволна фамилија конвексни множества е

конвексно множество.

Теорема 1.2. Нека C и D се конвексни множества и нека R, .

Тогаш множеството DyCxyxDC ,: е конвексно.

Дефиниција 1.7. Точката z се нарекува конвексна комбинација на

точките mxxx ,...,, 21 ако mixxxz imm ,10,.....2211

и

m

i

i

1

1 .

Теорема 1.2. Множеството nRC е конвексно ако и само ако ги

содржи сите конвексни комбинации од своите точки.

Page 24: Magisterska FINAL

24 Елементи од конвексна анализа

Дефиниција 1.8. Нека nRA . Пресекот од сите конвексни множества во nR кои го содржат множеството A се нарекува конвексна обвивка на

множеството A и се означува со Aconv .

Теорема 1.3. Конвексната обвивка на множеството A е еднаква со

множеството од сите конвексни комбинации од точките во A .

Теорема 1.4. Внатрешноста и затворачот на конвексно множество се

исто така конвексни множества.

Теорема 1.5. Нека C е затворено конвексно множество и o

C .

Тогаш CCo

.

1.2 Проекција. Теореми за раздвојување.

Дефиниција 1.9. Под проекција на точка v на множеството X ќе

подразбираме точка Xp таква што

),(inf XvvxvpXx

(1.1)

и ),( Xv се нарекува растојание од точката v до множеството X .

Теорема 1.6. За секое затворено множество X и секоја точка v ,

постои точка Xp која е проекција на v врз X . Уште повеќе, ако

множеството X е конвексно, тогаш точката p е единствена.

Теорема 1.7. За да точката Xp да биде проекција на точка v врз

затворено конвексно множество X , потребно и доволно е за секој

Xx да е исполнето неравенството

0, pvpx (1.2)

Page 25: Magisterska FINAL

25 Елементи од конвексна анализа

Дефиниција 1.10. Под поимот хиперрамнина во nR ќе подразбираме

множество во следниот облик:

xcx ,: , каде 0c и nRc

Хиперрамнината во nR ги опфаќа двата полупростори

xcx ,: и xcx ,: .

Теорема 1.8 (Теорема за раздвојување). За секое конвексно и затворено

множество X и за секоја точка Xv постои хиперрамнина таква

што

vc, , (1.3)

и за секој Xx ,

xc, , (1.4)

Забелешка. Теоремава има очигледно геометриско значење: имаме

хиперрамнина која минува низ точката v така што X припаѓа во една

од полупросторите што ги опфаќа . (Цртеж.1.1)

Цртеж 1.1 Хиперрамнина- гоеметриско значење

Page 26: Magisterska FINAL

26 Елементи од конвексна анализа

Теорема 1.9 (Теорема за носечка хиперрамнина). Во секоја гранична

точка 0x од конвексно множество X постои носечка хиперрамнина

таква што постојат 0c и такви да xcx ,: ,

0, xc и xc, за секој Xx .

Забелешка. Лесно се гледа дека ако имаме тангентна хиперрамнина во

точката 0x , тогаш истата се совпаѓа со носечката хиперрамнина

(Цртеж.1.2) и во овој случај носечката хиперрамнина е единствена. Како и

да е, поимот за носечка хиперрамнина е далеку погенерален отколку за

тангентна хиперрамнина. На Цртеж.1.3 е прикажан случајот кога во

точката 0x не постои тангента и во тој случај немаме носечки

хиперрамини туку имаме носечки хиперправи и секој вектор кој лежи

„помеѓу“ 1c и

2c може да го земеме како вектор c .

Цртеж.1.2 Цртеж.1.3

Page 27: Magisterska FINAL

27 Елементи од конвексна анализа

Теорема 1.10 (Теорема за раздвојувачка хиперрамнина). Ако

множеството o

X од сите внатрешни точки од конвексно множество

X е непразно и нема пресек со конвексното множество Y ( YXo

)

тогаш за множествата X и Y постои раздвојувачка хиперрамнина ,

т.е постои вектор 0c таков што:

xcyc ,,

за секој Yy и Xx .

Забелешка. Треба да напоменеме дека барањето за множеството o

X да

биде непразно е многу битно и суштинско, бидејќи барањето на

теоремата ја вклучува и целата внатрешност на множеството X во однос

на просторот nR . На пример, во три димензионален простор z -оската и

рамнината 0z не се раздвојуваат бидејќи немаат заеднички внатрешни

точки.

Дефиниција 1.11. За точката x која припаѓа на множеството X велиме

дека е екстремна точка ако X не содржи точки x и x , xx такви

што

xxx )1(

за 1,0 .

Теорема 1.11 (Теорема за репрезентација). Секоја точка 0x која

припаѓа на конвексно, затворено и ограничено множество X може да

се претстави како конвексна комбинација од конечно многу екстремни

точки од множеството.

Доказ. (со индукција по најмалата димензија n на просторот nR што го

содржи множеството X ).

Ако 1n , тогаш X е отсечка и веднаш следува тврдењето од теоремата.

Page 28: Magisterska FINAL

28 Елементи од конвексна анализа

Нека претпоставима дека тврдењето е исполнето за 1 kn . Нека nRX . Ќе ги разгледаме следните два случаи.

(1) 0x е точка од границата на X . Во оваа точка конструираме

носечка хиперрамнина на X :

0,,: xcxcx .

Множеството XX 0 е пресек на конвексно затворено и ограничено

множество X со конвексно затворено и ограничено множество , па

следи дека и 0X е исто така конвексно затворено и ограничено

множество и уште повеќе имаме )1( k - димензионлен потпростор кој го

содржи 0X ( 0X ). Од индуктивната препоставка за 0

0 Xx постојат

екстремни точки Nxxx ,...,, 21 на множеството 0X такви што :

N

i

ii Nixx1

0 ,1,0,

11

N

i

i .

Ќе покажеме дека Nxxx ,...,, 21 се екстремни точки за X . Ќе

претпоставиме спротивно, нека за точка ix постојат xxXxx ,, и

1,0 такви што

xxxi )1(

Бидејќи 0Xxi имаме:

0,, xcxc i

и бидејќи е носечка хиперрамнина на X , следува

0,, xcxc , 0,, xcxc .

Page 29: Magisterska FINAL

29 Елементи од конвексна анализа

Уште повеќе, 10 повлекува дека

000 ,,)1(,1

,)1(,1

, xcxcxcxcxcxc i

Последните два услови покажуваат дека x (бидејќи 0,, xcxc ).

Како и да е , бидејќи Xx следува дека XXx 0 . Слично се

покажува и дека 0Xx . Во секој случај претпоставката е контрадикторна

со фактот дека ix е екстремна точка на множеството 0X .

(2) Нека 0x е точка од внатрешноста на множеството X . Земаме

права l која поминува низ 0x . Пресекот Xl е отсечка со крајни точки x

и x кои припаѓаат на границата од множеството X и бидејќи 0x е

внатрешна точка за X , постои 1,0 таков што:

(3)

xxx )1(0 .

Бидејќи теоремата важи за точките од границата x и x имаме дека е

исполнето и за 0x . Навистина, за точките од границата имаме:

1 1

1

1

1

,1,0,1,N

i

i

N

i

iii Niyx

2 2

1

2

1

,1,0,1,N

i

i

N

i

iii Nizx

каде iy и iz се екстремни точки на множеството X . Затоа имаме,

21

11

0 )1(N

i

ii

N

i

ii zyx

од каде следува исполнување на теоремата.

Page 30: Magisterska FINAL

30 Елементи од конвексна анализа

1.3 Конус. Теорема на Фаркаш

Во теоријата на математичкото програмирање важна улога игра и

теоремата на Фаркаш која ќе ја покажеме на крајот од ова поглавје. Пред

тоа ќе дефинираме неколку важни поими и ќе разгледаме некои факти

кои ќе ни бидат од интерес.

Дефиниција 1.12. Множеството K се нарекува конус ако од Kx

следува Kx за сите 0 . На пример, целиот простор nR и секој

негов потпростор претставува конус. Множеството од ненегативните

квадранти 0: xx е исто така конус. Исто така и множествата

0: Axx и 0,: xAxyy се исто така конуси.

Следниот факт ќе ни биде од корист во доказот на теоремата на Фаркаш.

Теорема 1.12. Множеството 0,: xAxyyY е затворено.

Нека B е nm матрица и нека nRv .

Теорема 1.13 (Теорема на Фаркаш). Неравенството 0, xv е

исполнето за секој 0: Bxxx ако и само ако постои вектор 0u

таков што uBv T .

Доказ. : Нека 0u и uBv T . Тогаш за секој 0: Bxxx имаме

дека:

0,,, BxuxuBxv T .

: Нека 0, xv за сите 0: Bxxx .

Да го разгледаме конусот

0,: uuBwwW T

Page 31: Magisterska FINAL

31 Елементи од конвексна анализа

Ако Wv теоремата е исполнета. Нека Wv . Множеството W е

конвексно и затворено, и уште од Теорема 1.8 постои вектор 0c таков

што

vcwc ,, (1.5)

за секој Ww .

Бидејќи Ww за секој 0 од (1.5) заклучуваме дека важи и

vcwc ,, за сите 0 . Оттука, 0, wc .

Како и да е,

0,,, BcuuBcwc T

па бидејќи последново е исполнето за секој 0u имаме дека

0Bc (1.6)

Сега, бидејќи Ww 0 од (1.5) следува дека

0, vc (1.7)

Ако земеме cx , од условите (1.6) и (1.7) добиваме контрадикција со

условите од теоремата.

Следно, ќе го разгледаме геометриското значење на теоремата на

Фаркаш.

Нека

T

T

T

b

b

b

B

3

2

1

и нека 0: BxxK .

Page 32: Magisterska FINAL

32 Елементи од конвексна анализа

Конусот K е множество од сите вектори x кои формираат неостри агли со

било кои од векторите 1b ,

2b и 3b (видете Цртеж.1.4, каде конусите K и

0,: uuBwwW T се соодветно исшрафирани).

Цртеж 1.4 Теорема на Фаркаш – геометриско толкување

Геометриското толкување на теоремата на Фаркаш е јасно: за аголот

помеѓу v и секој Kx да биде неостар потребно и доволно е векторот

v да припаѓа на конусот W .

Последица 1.1. За секоја матрица B е за секој вектор v важи следното:

или системот

0,,0 xvBx , (1.8)

или , пак, системот

0, uuBv T (1.9)

има решение.

Следната последица е само мала модификација на претходнава и истата

се користи во многу практични примери.

Page 33: Magisterska FINAL

33 Елементи од конвексна анализа

Последица 1.2. За секоја матрица B е за секој вектор v важи

следното: или системот

0,0,0 xvxBx , (1.10)

или , пак, системот

0, uuBv T (1.11)

има решение.

Нека е даден конусот 0,0: xBxxS .

Дефиниција 1.13. Векторот x кој припаѓа во конусот S се вика раб ако во

S не постојат xxxx ,, , такви што за 01 и 02 важи

равенството xxx 21 .

Да ја разгледаме сега хиперраминината

nixxxL i

n

i

i ,1,0,1:1

Очигледно е дека множеството LSQ е конвексно и ограничено.

Ако **

2

*

1 ,...,, kxxx се екстремни точки во множеството Q , тогаш

векторите ),1(0,,...,, **

22

*

11 kixxx ikk се рабови на конусот

S . Навистина, ако *

jj xz не е раб, тогаш постои Sx и Sx такви

што xxz 21 за некои 0, 21 . Од дефиницијата на Q следува

дека постојат 0, 21 такви што QxyQxy 21 , .

Имаме,

,,,1

2

22

1

1121

*

jjj

j yyzx

k

i

k

i

i

k

i

ii

j

yyz1 11

,1,1,11

Page 34: Magisterska FINAL

34 Елементи од конвексна анализа

а оттука 121 , што е во контрадикција со претпоставката дека *

jx е

екстремна точка во множеството Q .

Теорема 1.14 (Теорема за репрезентација). Секој вектор x кој припаѓа

на конус S може да се претстави како позитивна комбинација од

неговите рабови т.е постојат броеви 0......,,0,0 21 k

такви што

k

i

ii xx1

* .

1.4 Конвексни функции

Дефиниција 1.14. Функцијата )(x на конвексно множество X се вика

конвексна функција ако за секои Xyx , и секој 1,0 исполнето е

неравенството:

)()1()())1(( yxyx (1.12)

На Цртеж 1.5 е претставена конвексна функција.

Цртеж 1.5 Конвексна функција

Page 35: Magisterska FINAL

35 Елементи од конвексна анализа

Се гледа дека секоја точка од секоја тетива од графикот на функцијата

)(x лежат над графикот или припаѓаат на него.

Дефиниција 1.15. Ќе велиме дека функцијата )(x е конкавна функција

ако функцијата )(x е конвексна. Па така , ако

)()1()())1(( yxyx (1.13)

за секои Xyx , и секој 1,0 , тогаш функцијата )(x е

конкавнажфункција.ѓ

Дефиниција 1.16. Ако во (1.12) важи строго неравенство за секој 1,0

yx , тогаш за функцијата )(x ќе велиме дека е строго конвексна

функција.

Пример за конвексна функција е квадратната функција со позитивно

полудефинитна матрица.

Дефиниција 1.17. За nxn матрицата B ќе велиме дека е позитивно

полудефинитна (позитивно дефинитна) ако за секој ненулти вектор

nRp е исполнето 0pBpT ( 0pBpT

).

Теорема 1.15: За квадратната функција

xpBxxx ,,)(

да биде конвексна потребно и доволно е симетричната матрица B да

биде позитивно полудефинитна.

Забелешка. Јасно е дека за да квадратната функција )(x биде строго

конвексна потребно и доволно е матрицата B да биде позитивно

дефинитна.

Ќе разгледаме , сега, неколку својства на конвексните функции.

Теорема 1.16. За секоја конвексна функција )(x на конвексно

множество X и за секој број , множеството )(: xXxZ

е конвексно.

Page 36: Magisterska FINAL

36 Елементи од конвексна анализа

Забелешка. Јасно е дека ако )(x е конкавна функција, тогаш

множеството )(: xXxZ е конвексно.

Теорема 1.17 (Неравенство на Јенсен). Ако )(x е конвексна функција

на конвексно множество X и

,,1,,0

,1,1 1

miXx

xz

ii

m

i

m

i

iii

тогаш

m

i

ii

m

i

ii xx11

)( (1.14)

Без доказ ќе го прикажеме и следното својство на конвексните функции:

Теорема 1.17: Конвексната функција )(x на конвексното множество

X е непрекината во секоја точка од нејзината внатрешност и во

секоја точка од внатрешноста постои изводот по секој правец

)1( ss :

)()(lim

)(

0

xsx

s

x

.

Следните две својства на конвексните функции доста се применуваат во

методите на казнени функции.

Својство 1.1.

1) Ако )(x е конвексна функција на конвексно множество X ,

тогаш функцијата

0),(max)( xx

е исто така конвексна функција на множеството X .

Page 37: Magisterska FINAL

37 Елементи од конвексна анализа

2) Ако )(x е конвексна и ненегативна функција на конвексно

множество X , тогаш и )(2 x е исто така конвексна функција

на X .

Следнaта теорема го објаснува едно од поважните својства на

диференцијабилните конвексни функции.

Теорема 1.19. Функцијата )(x , диференцијабилна на конвексно

множество X е конвексна или конкавна ако и само ако за секој Xyx , ,

)()(,)( xyxyx (1.15)

или

)()(,)( xyxyx

соодветно.

Со цел да се стекне интуитивна претстава околу помините за локален и

глобален минимум, во продолжение ќе бидат дадени соодветни

објаснувања околу интуитивното значење на овие поими, кои подоцна ќе

бидат екслицитно дефинирани. Под барање на локален минимум се

подразбира наоѓање минимум на функцијата на цел во околина на

решението, додека, пак, под глобален, подразбираме, доаѓање до

решение, тргнувајќи од почетно приближување кое е далеку од

вистинскиот минимум на функцијата.

Понатаму, ќе го разгледаме проблемот на наоѓање на точка *x во

конвексно множество X , каде конвексната функција )(x достигнува

минимум т.е проблемот на наоѓање на оптимална точка (или глобален

минимум) Xxxx :)(minarg* . (Екстремално својство).

Page 38: Magisterska FINAL

38 Елементи од конвексна анализа

Теорема 1.20. Ако )(x е конвексна функција на конвексно множество,

тогаш секоја точка Xx * на локален минимум е оптимална за

проблемот на минимизација на функцијата )(x на множеството X

Теорема 1.21. Ако )(x е конвексна функција на конвексно множество

X , тогаш множеството од оптимални точки

XxxxxXxXXx

:)(minarg)(min)(: ***

е конвексно.

Теорема 1.22. Ако )(x е строго конвексна функција на конвексно

множество X и Xx * е оптимална точка т.е

)(min)( * xxXx

,

тогаш

)()( *xx

за сите Xx и *xx и оттука следува дека точката *x е

единствена.

Својство 1.2. (Својство на конвексните функции) Ако )(x е конвексна

функција , тогаш за секоја точка yxz , важи неравенството

xz

xz

xy

xy

zy

zy

)()()()()()( .

Теорема 1.23. Ако X е конвексно, затворено и неограничено

множество, тогаш постои насочен вектор 1, ss , таков што

Xsx , за секој 0 и за сите Xx .

Page 39: Magisterska FINAL

39 Елементи од конвексна анализа

Теорема 1.24. Ако )(xf е конвексна и непрекината функција на

затворено конвексно множество X , тогаш множеството

)(:)( xfXxX е ограничено за секој ако и само ако

постои број таков да множеството )(:)( xfXxX е

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

1.5 Силно конвексни функции

Во ова поглавје ќе разгледаме класа на функции за кои секогаш постои

точка на минимум на непразно затворено множество, и ќе покажеме уште

, дека , ако тоа множество е конвексно, тогаш таа точка е единствена.

Дефиниција 1.18. Функцијата )(x на множество X ќе ја нарекуваме

силно конвексна функција ако постои константа 0 таква што за секои

Xyx , такви да Xyx , и секој 1,0 исполнето е следното

неравенство:

2)1()()1()()1( yxyxyx

Бројот ќе го нарекуваме параметар на силната конвексност.

Пример 1.1 (Пример за силно конвексна функција) Да ја разгледаме

квадратната функција

,,,)( xpBxxx

каде B е позитивно дефинитна матрица. Силната конвексност следи од

следната врска

)(,)1()()1()()1( yxByxyxyx

бидејќи 2

)(, yxyxByx , каде што е најмалата

сопствена вредност на матрицата B .

Page 40: Magisterska FINAL

40 Елементи од конвексна анализа

Во продолжение, ќе наведеме неколку својства на силно

конвексните функции.

Својство 1.3. Ако функцијата )(x е силно конвексна и непрекината на

конвексно и затворено множество X , тогаш за секоја точка Xy

множеството

)()(:0 yxXxX

е ограничено и во него постои единствена точка

Xxxx :)(minarg* .

Својство 1.4. Ако )(x е силно конвексна функција на конвексно и

затворено множество X , тогаш:

1) за секој Xx исполнето е неравенството

)()(2 *

2* xxxx

и ако )()( 1 XCx тогаш

2) за секој Xyx , важи:

2,)()( yxyxyx

3) )(1* xxx

,

4) 2* )(

1)()(0 xxx

Page 41: Magisterska FINAL

Глава 2

Основи на математичкото

програмирање. Теорија на условна

оптимизација

Во ова поглавје, ќе ги разгледаме условите за постоење на локални

екстреми на диференцијабилни функции во области на доверба или

генерално условите за постоење на глобални екстреми (минимуми или

максимуми) на проблемите од математичкото програмирање.

2.1 Задача на математичкото програмирање

Нека )(xf е скаларна функција на множеството nRX . Задачата за

минимизирање на функцијата )(xf на множеството X ќе ја

нарекуваме основна задача на математичкото програмирање.

Ќе воведеме и некои ознаки: Ќе усогласиме дека изразите

Xxxf ,min)( (2.1)

или еквивалентно

Xxxf :)(min или )(min xfXx

,

ќе означуваат дека е поставена една од следните задачи:

(1) Најди оптимална точка Xx * таква што )(min)( * xfxfXx

,

Page 42: Magisterska FINAL

42 Основи на математичкото програмирање. Теорија на условна оптимизација

(2) Ако не постои таква точка *x најди )(inf* xffXx

,

(3) Покажи дека функцијата )(xf е неограничена од долу на

множеството X .

(4) Покажи дека X .

Во случајот (3) велиме дека задачата е неограничена задача.

Ако X , тогаш велиме дека задачата е допустлива, а ако

станува збор за недопустлива задача.

Ако nRX , задачата се нарекува задача на безусловна оптимизација,

а ако nRX , станува збор за задача од условна оптимизација.

Ако множеството X е конвексно и функцијата )(xf е конвексна, тогаш

(3.2) се нарекува задача на конвексно програмирање.

Ќе го разгледаме множеството

, (2.2)

каде се дадени скаларни функции.

Од дефинициите во претходното поглавје следи дека за да

множеството X дефинирано со (2.2) биде конвексно доволно е

функциите ),1()( mixci да бидат конкавни. Ако сите функции

),1()( mixci во задачата на конвексно програмирање (2.1) се

конкавни, а функцијата )(xf е конвексна, тогаш задачата ќе ја

нарекуваме основна задача на конвексното програмирање.

Функцијата )(xf во (2.1) се нарекува функција на цел. Множеството

X во проблемот (2.1) се нарекува допустлива област, точките кои

припаѓаат во него се викаат допустливи точки, а неравенствата

0)( xci кои ја определуваат допустливата област се нарекуваат

ограничувања. Точката Xxxfx :)(minarg* се нарекува

решение или оптимална точка или, понекогаш точка на глобален

минимум. Под локален минимум ќе подразбираме точка *x , таква што

X

mixcxX i ,1,0)(:

),1()( mixci

Page 43: Magisterska FINAL

43

Основи на математичкото програмирање. Теорија на условна оптимизација

ако постои 0 , од *xx да важи Xxxfxf ,)()( *

Конечно, точката x во која се исполнети потребните услови за локален

минимум на функцијата )(xf ќе ја нарекуваме стационарна точка.

2.2 Допустливи правци

Поимот за допустлив правец игра мошне важна улога во математичкото

програмирање. Во овој дел ќе го презентираме главното значење на

поимот допустлив правец, што понатаму ќе ни биде од особена важност.

Дефиниција 2.1. Правецот 0 s се нарекува допустлив во точката

ако постои број 0 таков што Xsx * за секој

],0[ (Цртеж. 2.1).

Цртеж 2.1 Допустливи правци

На пример, ако 0: xxX , тогаш секој вектор 0,0 ss претставува допустлив правец во точката , и во точката

Xx *

0x

Page 44: Magisterska FINAL

44 Основи на математичкото програмирање. Теорија на условна оптимизација

0

...

0

0

2

1

nx

x

x

x

секој правец s , каде

,...

0

2

1

ns

s

s

s

и nsss ,...,, 32 се произволни броеви, 0s , е допустлив правец.

Очигледно е дека, ако x е внатрешна точка од множеството X , тогаш

секој вектор s е допустлив правец во точката x .

Јасно се гледа дека екстремалните својства на функцијата на цел )(xf

во доволно мала околина на фиксирана точка Xx се единствено под

влијание на ограничувањата 0)( xci за кои се исполнети равенствата

0)( xci во секоја точка. Во овој контекст, ја воведуваме следната

дефиниција:

Дефиниција 2.2. Ограничувањето 0)( xci се нарекува активно во

точката Xx , ако 0)( xci .

Понатаму, ќе го користиме и множеството од индексите на активните

ограничувања во точката Xx :

.0)(:)( xcixI i

Во текот на оваа глава ќе претпоставиме дека функциите )(xf и

),1()( mixci се непрекинато диференцијабилни.

Page 45: Magisterska FINAL

45

Основи на математичкото програмирање. Теорија на условна оптимизација

Нека s е n димензионален вектор и нека е произволен

скалар.

За фиксирано Xx , ќе го разгледаме следниот систем на неравенки по

променливи s и :

)(,0,)( xIisxci

(2.3)

Под одредени услови, решението на овој систем ни ги дава

допустливите правци во точката x .

Теорема 2.1. Ако )0( ss го задоволува системот (2.3) за некое

0 , тогаш s е допустлив правец во точката Xx .

Теорема 2.2. Ако s е допустлив правец во точката Xx , тогаш

постои 0 , такво што, парот ,s го задоволува системот (2.3).

Теорема 2.3. Ако множеството X е претставено преку системот од

линеарни неравенки:

mibxaxcxX iii ,1,0,)(: ,

тогаш условите

)(,0, xIisai

се потребни и доволни за да s биде допустлив правец во точката

Xx .

Доказ. Да се види во Karmanov [10].

Page 46: Magisterska FINAL

46 Основи на математичкото програмирање. Теорија на условна оптимизација

2.3 Екстремални својства

Нека е дадена задачата на мамтематичко програмирање (2.1). Постојат

многу повеќе типови на минимум. Од особена важност ќе ни бидат

поимите за локален и глобален минимум, па егзактните дефиниции ќе

бидат дадени во продолжение.

Дефиниција 2.3. Точката Xx * се нарекува точка на локален

минимум ако постои 0 таков што Xxxfxf ,)()( * за кои

важи *xx .

Точката Xx * се нарекува точка на строг локален минимум ако

постои 0 таков што Xxxfxf ,)()( * и *xx .

Дефиниција 2.4. Точката Xx * се нарекува точка на глобален

минимум ако Xxxfxf ,)()( * . Точката *x се нарекува точка на

строг глобален минимум ако Xxxfxf ,)()( * и таков што *xx .

Дефиниција 2.5. Ако Xx * и ако постои околина ),( * xB на *x

таква што *x е единствениот локален минимум во ),( * xBX , тогаш

*x се нарекува точка на изолиран локален минимум.

Очигледно, точката на глобален минимум е исто така и точка на локален

минимум.

Во пракса повеќето алгоритми наоѓаат само локален минимум што не е

глобален. Секако, наоѓањето на глобален минимум е потешко, па затоа

често задоволни сме со локалниот минимум. Алгоритмите за глобална

оптимизација најчесто претставуваат алгоритми кои решаваат низа од

задачи на локална оптимизација. Па затоа, понатаму ќе ги земаме во

предвид моделирањата, својствата и конвергенцијата на алгоритмите за

локална оптимизација. Специјално, ако имаме задача што е од

конвексното програмирање, тогаш сите локални минимуми се и

глобални.

Page 47: Magisterska FINAL

47

Основи на математичкото програмирање. Теорија на условна оптимизација

Во овој дел ќе ги проучиме условите за постоење на стационарни

точки на основниот проблем на математичкото програмирање т.е преку

усогласената терминологија ќе ги разгледаме и условите за постоење на

локален минимум.

Уште еднаш ќе се навратиме на претпоставката дека функциите )(xf и

),1()( mixci се непрекинато диференцијабилни.

Во делот што следи ќе напоменеме и дека многу важна улога игра и

следниот систем од линеарни неравенки по променливи s и :

),(,0),( xIisxci

(2.4)

0),( sxf (2.5)

каде )(xI е множеството на индекси на активните ограничувања во x .

Теорема 2.4. За да точката Xx биде точка на локален минимум на

функцијата )(xf на множеството X потребно е да важи

0 (2.6)

за да секој пар ,s го задоволува системот (2.4),(2.5).

Последица 2.1: Ако точката Xx на локален минимум на

функцијата )(xf на множеството X е таква што )(xI , тогаш

0)( xf .

Теорема 2.5. Ако системот од вектори )(,)( xIixci е линеарно

независен во точката Xx , која е точка на локален минимум на

функцијата )(xf на множеството X , тогаш постојат броеви

)(,0 xIiui такви што:

.)()()(

xIi

ii xcuxf (2.7)

Page 48: Magisterska FINAL

48 Основи на математичкото програмирање. Теорија на условна оптимизација Доказ. Од теоремата 2.4 условите (2.4), (2.5) и (2.6) се исполнети.

Условот (2.6) формално може да го презапишеме како :

01,0 s . (2.8)

Искористувајќи ја теоремата на Фаркаш на системите (2.4), (2.5) и (2.8)

гледаме дека постојат )(,0 xIivi и 00 v такви што:

)()(0 0

)(

xfvxcvxIi

ii

, (2.9)

0

)(

1 vvxIi

i

(2.10)

Бидејќи претпоставката дека 00 v е во контрадикција со линеарната

независност на векторите )(),( xIixci имаме дека 00 v , па ако

ставиме )(,0

xIiv

vu i

i ќе имаме

)()()()( 0

)(

00

)(

xfvxcuvxfvxcvxIi

ii

xIi

ii

,

па ако поделиме со 00 v од двете страни на равенството се добива

)(

)()(xIi

ii xcuxf што требаше да се докаже.

Забелешка. Теоремата 2.5 понекогаш се толкува и на следниот начин:

Ако постојат броеви ),1(,0 miui такви што

0)(),()(11

m

i

ii

m

i

ii xcuxcuxf ,

тогаш x е стационарна точка во основната задача на математичкото

програмирање.

Коректноста на овие услови е очигледна: доволно е да ставиме 0iu

за )(xIi .

Page 49: Magisterska FINAL

49

Основи на математичкото програмирање. Теорија на условна оптимизација

Геометриската интерпретација на условот (2.7) е следната:

Забележуваме дека векторите )(),( xIixci се надворешните

нормали од ограничувачките површини 0)( xci во точката x , па (2.7)

можеме да го презапишеме во следната форма:

)(,0,)]([)()(

xIiuxcuxf i

xIi

ii

Оттука се гледа дека (2.7) значи дека антиградиентот може да биде

претставен како линеарна комбинација , со ненегативни коефициенти,

од надворешните нормали на ограничувањата во точката x . Со други

зборови, антиградиентот припаѓа во конусот кој е опфатен со

надворешните нормали на ограничувањата во точката .

2.4 Екстремални својства на конвексни

множества

Во случајот кога множеството mixcxX i ,1,0)(: е конвексно,

условите за линеарна независност на векторите )(xci кои одговараат на

активните ограничувања во Теорема 2.5 можеме да ги замениме со

поупростен услов кој го нарекуваме услов за регуларност.

Ако за секој mi 1 постои точка Xxi таква што

0)( ii xc (2.11)

Тогаш велиме дека множеството X го задоволува условот за

регуларност.

Услов за регуларност на Слејтер. Постои точка Xx таква што

0)( xci (2.12)

за секој mi ,1 .

x

Page 50: Magisterska FINAL

50 Основи на математичкото програмирање. Теорија на условна оптимизација Лесно се покажува дека условите (2.11) и (2.12) се еквивалентни.

Тривијално е дека (2.12) го имплицира (2.11).

Сега, нека е исполнето неравенството (2.11). Земаме

m

i

i

m

i

iii mixx1 1

,1,0,1, .

Тогаш, (3.12) следува од Јенсеновото неравенство за конкавните

функции )(xci .

Теорема 2.6. Нека )(xci се конкавни функции, множеството

mixcxX i ,1,0)(: е регуларно во Слејтерова смисла, и

Xx е точка на локален минимум за функцијата )(xf на X , тогаш

постојат броеви ,)(,0 xIiui такви што

)()()(

xcuxfxIi

ii

.

Доказ. Повторувајќи го доказот на теоремата 2.6 даден во Karmanov[10]

ќе стигнеме до следното:

,0,)(,0 0 vxIivi

)()(0 0

)(

xfvxcvxIi

ii

, (2.13)

0

)(

1 vvxIi

i

. (2.14)

За да го довршиме доказот останува уште да покажеме дека 00 v .

Нека претпоставиме дека 00 v . Тогаш од (2.14) имаме дека постои

најмалку едно )(,0 xIlvl . Од регуларноста на множеството X ,

следи дека постои точка Xz таква што ),1(,0)( mizci . Оттука,

имаме дека xzs е допустлив правец. Бидејќи, )(xcl е конкавна

функција, следува:

Page 51: Magisterska FINAL

51

Основи на математичкото програмирање. Теорија на условна оптимизација

0)()(),( xczcsxc lll .

Ако (2.13) го помножиме скаларно со s добиваме дека:

)(

.),(0xIi

ii sxcv (2.15)

Бидејќи s е допустлив правец во точката x , теорема 2.2 имплицира

дека )(,0),( xIisxci . Па сите изрази од десната страна на

(2.15) се со ист знак, па еден од нив , нека биде тоа l -тиот, сигурно е

ненулти: 0),( sxcv ll , што е во контрадикција со фактот дека

целата сума е еднаква на нула.

Забелешка. Во случај кога станува збор за конвексни функции

),1()( mixci условите за регуларност не се потребни.

Навистина, ако ),1()( mixci се конвексни функции, тогаш

0,)()()(

i

xIi

ii uxcuxf ,

е потребен услов за да x биде точка на локален минимум на функцијата

)(xf на X .

Ова следи од Фаркашовата теорема ако покажеме дека за секој nRu

таков што

)(,0),( xIiuxci

е исполнето неравенството

0),( uxf .

Бидејќи должината на векторот u не влијае на точноста на ова

неравенство , доволно е да покажиме дека е исполнето за вектори со

доволно мали должини. Нека xzu и z припаѓа во доволно мала

околина на точката x така што )(\,....,1,0)( xInizci . Точката z

припаѓа на множеството X бидејќи:

Page 52: Magisterska FINAL

52 Основи на математичкото програмирање. Теорија на условна оптимизација

)(,0),()()()( xIixzxcxczczc iiii .

Ако 0),( xzxf , тогаш од Тејлоровата формула добиваме

0),()()( xzoxzxfxfzf

бидејќи од претпоставката, xz е доволно мало, што е во

контрадикција со условот дека x е точка на локален минимум.

Теорема 2.7. Ако )(xci се конкавни функции, и затвореното

множество mixcxX i ,1,0)(: е регуларно во Слејтерова

смисла, и Xx е точка на локален минимум на функцијата )(xf на

множеството X , тогаш

))(( xfxpx .

Тука, )(vp означува проекција на точката v на множеството X .

Во случајот кога ограничувањата кои ја определуваат

допустливата област се линеарни, имаме дека Теоремата 2.6 е точна и

без претпоставката дека множеството X е регуларно.

Теорема 2.8. Ако ),1()( mixci се линеарни функции и

mibxaxcxXx iii ,1,0,)(: е точка на локален

минимум на функцијата )(xf на множеството X , тогаш постојат

броеви )(,0 xIiui такви што

)(

)(xIi

ii auxf .

Доказ. Нека 0 е доволно мало така што за сите точки кои припаѓаат

во околината

xyXyxU :)(

на точката x исполнето е неравенството

Page 53: Magisterska FINAL

53

Основи на математичкото програмирање. Теорија на условна оптимизација

)()( xfyf .

Нека xz е произволна точка која припаѓа на множеството X . Заради

конвексноста на множеството X имаме дека )()( xUzxx за

сите ],0( каде што

xz

,1min .

Затоа имаме

0,)(

)()(lim

0

zxxf

zxxfxf

.

Ако ставиме zxs , тогаш s е допустлив правец во точката x , па

погорното неравенство ја добива следната форма

0,)( sxf (2.16)

Бидејќи s е произволен допустлив правец во точката x , тогаш

неравенството (2.16) да биде исполнето за сите s за кои е задоволено

)(,0, xIisai (2.17)

Со примена на Теоремата на Фаркаш на (2.16) и (2.17) веднаш се

покажува оваа тероема.

При изведувањето на (2.16) го користевме само својството на

конвексност на множеството X и затоа можеме да го изведеме

следниот заклучок за стационарноста на точката x во задачата на

конвексно програмирање: За да точката x која припаѓа на

конвексното множество X биде точка на локален минимум на

функцијата )(xf на X , потребно е изводите во сите нејзини

допустливи правци во таа точка да бидат непозитивни:

0)(

)(

s

xf.

Page 54: Magisterska FINAL

54 Основи на математичкото програмирање. Теорија на условна оптимизација

2.5 Доволни услови за оптималност

Теорема 2.9 За да Xx биде точка на глобален минимум во

основната задача на конвексно програмирање доволно е да постојат

броеви )(,0 xIiui , такви што

)(

)()(xIi

ii xcuxf .

Теорема 2.10 (Теорема на Каруш-Кун-Такер - диференцијална форма )

Ако )(xci се конкавни функции, )(xf е конвексна функција и

множеството mixcxX i ,1,0)(: е регуларно во Слејтерова

смисла, тогаш за да Xx биде оптимална точка потребно и

доволно е да постојат броеви ),1(,0 miui такви што

0)(,)()(11

m

i

ii

m

i

ii xcuxcuxc .

При одредувањето на допустливата област X врз база на

ограничувањата, ги издвојуваме оние ограничувања кои се ненегативни:

0,,1,0)(: xmixcxX i .

Во овој случај Теоремата 2.10 на Каруш-Кун-Такер можеме да ја

преформулираме на следниот начин: Ако функциите )(xci се

конкавни, функцијата )(xf е конвексна и множеството X е

регуларно во Слејтерова смисла, тогаш за да Xx биде оптимална

точка потребно и доволно е да постојат броеви ),1(0 miui и

),1(0 njv j такви што:

n

j

jj

m

i

i evxcuxf11

)()( ,

Page 55: Magisterska FINAL

55

Основи на математичкото програмирање. Теорија на условна оптимизација

0,0)(11

n

j

jj

m

i

ii xvxcu .

Тука, ),1( nje j е j -тата координата на векторот 0,....,1,....,0T

je

каде 1 е на j -тото место во векторот.

Случај на линеарни ограничувања (критериум за оптималност).

Теоремите 2.2 и 2.9 можеме да ги ставиме во комбинација со следниот

критериум за оптималност: За да x биде точка на глобален

минимум за конвексната функција )(xf на множеството

mibxaxX ii ,1,0,:

потребно и доволно е да постојат броеви ),1(0 miui такви што

0,,)(11

m

i

iii

m

i

ii bxauauxf .

Теорема 2.11. За да Xx биде точка на глобален минимум во

основниот проблем на конвексното програмирање, доволно е за сите

s кои го задоволуваат системот од неравенки

)(,0,)( xIisxci (2.18)

да биде исполнет условот

0,)( sxf (2.19)

Page 56: Magisterska FINAL

56 Основи на математичкото програмирање. Теорија на условна оптимизација

2.6 Лагранжова функција. Услови за

оптималност.

Нека n -димензионалниот вектор x припаѓа на конвексното множество nR и нека 0y е ненегативен m -димензионален вектор. Нека

функцијата ),( yxL е конвексна во однос на x на множеството ,

односно конкавна во однос на y на ненегативниот октант

mRyy 0: .

Дефиниција 2.6. Парот ** , yx се вика седлеста точка за функцијата

),( yxL на множеството од сите x и 0y ако

0, ** yx

),(),(),( **** yxLyxLyxL (2.20)

за сите x и 0y .

Неравенството (2.20) можеме да го презапишеме и на следниот начин:

),(minmax),(maxmin),(00

** yxLyxLyxLxyyx

За понатамошни цели доволно ќе биде да го разгледаме случајот каде

}0:{ xxRn и nR .

Нека функцијата ),( yxL е конвексна во однос на x за секој 0x ,

односно конкавна во однос на y за секој 0y и непрекинато

диференцијабилна во однос на x и y .

Page 57: Magisterska FINAL

57

Основи на математичкото програмирање. Теорија на условна оптимизација

Теорема 2.12. За да секој пар )0,0(, **** yxyx е седлеста

точка за функцијата ),( yxL во регионот 0x , 0y потребно и

доволно е да важат следните услови:

0*

x

L, (2.21)

0,*

*

x

Lx , (2.22)

0* x , (2.23)

0*

y

L, (2.24)

0,*

*

y

Ly , (2.25)

0* y , (2.26)

каде

** ,

* ),(yyxxx

yxL

x

L

, ** ,

* ),(yyxxx

yxL

x

L

Во случајот кога, nR аналогно преку истиве аргументи се

покажува дека седлестата точка е детерминирана од условот

0*

x

L

и од условите (2.24)-(2.26).

Нека )(xc е m -димензионален вектор )(,...),(),()( 21 xcxcxcxc m

T .

Ја разгледуваме следната задача на конвексно програмирање:

0)(:,:)(min xcxXXxxf . (2.27)

Page 58: Magisterska FINAL

58 Основи на математичкото програмирање. Теорија на условна оптимизација Тука, е конвексно и затворено множество, )(xf е конвексна функција,

и сите функции )(xci се конкавни. Поведени од терминологијата, ќе

забележиме дека, за nE задачата (2.27) се сведува на основна

задача од конвексно програмирање.

Дефиниција 2.7. Функцијата

)(,)(),( xcyxfyxL (2.28)

дефинирана за сите nR и 0y се нарекува Лагранжова функција

на задачата на конвексно програмирање (2.27).

Во класичните задачи за условни екстреми (каде допустливата

област е дефинирана преку систем равенки) важна улога завзема и

методот на Лагранжови множители: решението на оригиналниот

проблем се бара меѓу стационарните точки на функцијата ),( yxL т.е

точките кои го задоволуваат системот од равенки

0,0

y

L

x

L.

Во задачите на конвексното (особено на линеарното) програмирање,

Лагранжовата функција исто така е многу важна. Имено, под некои

претпоставки, задачата на конвексното програмирање е редуцирана до

наоѓање на седлеста точка на Лагранжовата функција.

Теорема 2.13. (Доволни услови за оптималност). Ако парот ** , yx е

седлеста точка за Лагранжовата функција (2.28) на множеството

0, yx , тогаш *x е оптимална точка за задачата на конвексно

програмирање (2.27).

Доказ. Од (2.28) и од дефиницијата за седлеста точка (2.20) следува дека

се исполнети следните неравенства

)(,)()(,)()(,)( ****** xcyxfxcyxfxcyxf (2.29)

за сите 0, yx . Од левото неравенство следува дека

Page 59: Magisterska FINAL

59

Основи на математичкото програмирање. Теорија на условна оптимизација

)(,)(, *** xcyxcy , (2.30)

а бидејќи 0* y и неравенството (2.30) е исполнето за сите 0y ,

имаме 0)( * xc .

Неравенството (2.30) важи особено за 0y , па затоа имаме

0)(, ** xcy ,

па бидејќи 0* y и 0)( * xc , следува дека

0)(, ** xcy (2.31)

Ако Xx тогаш (2.27) имплицира дека 0)( xc , па затоа за Xx

имаме

0)(,* xcy (2.32)

Бидејќи е исполнето неравенството (2.29) за x , а уште повеќе и за

Xx , десната страна од неравенството (2.29) и исто така и (2.31) и

(2.32) имплицираат дека

)()(,)()( ** xfxcyxfx

за сите Xx . Како и да е, Xx * (бидејќи *x и 0)( * xc ), па

следува дека *x е оптимална точка.

Забелешка. Во доказот на Теоремата 2.13 никаде не ги искористивме

својствата за конвексност на функцијата )(xf и множеството , ниту

пак конкавноста на функциите ),1(,)( mixci , ниту условите за

глаткост. Затоа, постоењето на седлеста точка ** , yx на Лагранжовата

функција ја детерминира оптималноста на точката *x во генералните со

задачи на математичкото програмирање. Треба да нагласиме дека

ставовите за тоа дека тврдењата за оптималност на точката *x

имплицираат постоење на седлеста точка ** , yx на Лагранжовата

Page 60: Magisterska FINAL

60 Основи на математичкото програмирање. Теорија на условна оптимизација функција, се точни само во задачите од конвексното програмирање, и

покрај условот за регуларност на допустливата област. Ова е добро

познатата Каруш-Кун-Такерова теорема. Доказот ќе го видиме подолу,

под претпоставка дека функциите )(xf и ),1(,)( mixci се

непрекинато диференцијабилни, што е очигледна последица од

Теорема 2.5 и Теорема 2.12.

Нека допустливата област на задачата на конвексното

програмирање е зададен како

0,,1,0)(: xmixcxX i .

Ќе претпоставиме дека и конвексната функција )(xf и конкавните

функции ),1(,)( mixci се непрекинато диференцијабилни.

Теорема 2.14. (Теорема на Каруш-Кун-Такер). Ако множеството X во задачата на конвексно програмирање

Xxxf :)(min , 0,,1,0)(: xmixcxX i

го поседува својството на регуларност (2.11) , тогаш постоењето на

0* y такво што парот ** , yx е седлеста точка за Лагранжовата

функција

)(,)(),( xcyxfyxL

на множеството 0,0 yx , е потребен и доволен услов за

оптималност на точката Xx * .

Доказ. : следи од Теорема 2.13 за 0: xx .

: Ќе покажеме дека условите од Теоремата 2.12 (втората

формулација):

n

j

jj

m

i

ii evxcyxf1

*

1

*** )()( , (2.33)

Page 61: Magisterska FINAL

61

Основи на математичкото програмирање. Теорија на условна оптимизација

m

i

ii xcy1

** 0)( (2.34)

miyi ,1,0* (2.35)

01

**

n

j

jj xv (2.36)

njv j ,1,0* (2.37)

и условите од теоремата 2.12 за постоење на седлеста точка на

функцијата ),( yxL :

,0*

x

L (2.38)

0,*

*

x

Lx (2.39)

0* x (2.40)

,0*

y

L (2.41)

0,*

*

y

Ly (2.42)

0* y (2.43)

се еквивалентни. Еквиваленцијата ќе ја означуваме со симболот .

Нека се дадени **

2

*

1 ,...,, n

T vvvv и )(,...),(),()( 21 xcxcxcxc m

T .

Ќе забележиме дека важи

vxcyxfx

L m

i

ii

1

****

)()(

Page 62: Magisterska FINAL

62 Основи на математичкото програмирање. Теорија на условна оптимизација

)( **

xcy

L

.

Очигледно е дека

(2.38)(2.37),

(2.39)(2.36),

(2.42)(2.34),

(2.43)(2.35).

Условите (2.40) и (2.41) имплицираат дека Xx * .

За основната задача на конвексно програмирање, теоремата на Каруш-

Кун-Такер може да се формулира на следниот начин:

Ако множеството mixcxX i ,1,0)(: во основната задача

на конвексно програмирање го поседува и својството на регуларност,

тогаш постоењето на 0* y такво што парот ** , yx е седлеста

точка за Лагранжовата функција на множеството 0, yRx n , е

потребен и доволен услов за оптималност на точката Xx * .

Во случај на линеарни ограничувања имаме:

Ако функцијата )(xf е конвексна, и допустливата област е

детереминиран од линеарните ограничувања:

0,,1,0,: xmibxaxX ii,

тогаш за да точката Xx *

е оптимална, потребно и доволно е да

постои 0* y така што ** , yx е седлеста точка за Лагранжовата

функција на множеството 0,0 yx .

Теоремата на Каруш-Кун-Такер се користи и во нумеричките

методи за решавање на проблеми од математичкото програмирање. Таа

овозможува замена на оригиналната задача со задача на наоѓање на

Page 63: Magisterska FINAL

63

Основи на математичкото програмирање. Теорија на условна оптимизација

седлеста точка на Лагранжовата функција т.е задачата ја има следната

форма:

),(maxmin0

yxLyx

.

Забелешка. Каруш-Кун-Такеровата теорема е безначајна кога имаме

случај на дегенерирачки проблеми , на пример, кога

mixcxf i ,1,0)(,0)( **

Дефиниција 2.8. Ја воведуваме функцијата ),(sup)(0

yxLxgy

. Јасно е

дека задачата на математичко програмирање можеме да ја запишеме

на следниот начин:

0)(:,min)( xcxXxxg ,

бидејќи )()( xfxg за Xx . Оваа задача се нарекува примарна.

Означуваме со ),(inf)( yxLyhnEx

. Задачата

}0:{,max)( yyRyyh m

се нарекува дуална , а myyy ,...,, 21 се нарекуваат дуални променливи.

Теорема 2.15.

1) )()( yhxf за секои mRyXx , .

2) Ако се исполнети условите од Каруш-Кун-Такер-овата теорема

и ако

парот ** , yx е седлеста точка за Лагранжовата функција,

тогаш

mRyyhy :)(maxarg* и )()( ** yhxf

3) Ако )()( ** yhxf за секои mRyXx ** , , тогаш

Page 64: Magisterska FINAL

64 Основи на математичкото програмирање. Теорија на условна оптимизација

Xxxfx :)(minarg*,

mRyyhy :)(maxarg* . .

Дефиниција 2.9. Точката *** , yxv која ги задоволува условите

mixcmixcyyxcyxf iiiii

m

i

i ,1,0)(,,1,0)(,0,0)(,)( *****

1

**

ќе ја нарекуваме точка на Каруш-Кун-Такер (или ККТ точка), додека,

пак, векторот ),...,,( **

2

*

1

*

myyyy ќе го нарекуваме вектор на

Лагранжови множители.

2.7 Оптимизациони методи. Структура на

оптимизациони методи. Конвергенција

Оптимизационите методи претставуваат итеративни методи за наоѓање

на минимум на оптимизациона задача. Главната идеја е следната: За

дадена почетна точка nRx 0 се генерира низа од итерации kx

според некое итеративно правило, така што kx е конечна низа во која

последната точка е оптималното решение на задачата; кога kx е

бесконечна низа, тогаш таа има гранична точка која е оптимално

решение на задачата. Однесувањето на алгоритмите што го сметаме за

прифатливо, главно се состои во тоа да итерациите кои се движат во

околина на локалниот минимум *x , брзо да конвергираат кон точката *x . Ако е задоволено некое правило за конвергенција, тогаш

итеративниот процес завршува. Најприродниот критериум за запирање

е кога е исполнето

)( kxf

каде 0 е мал број.

Page 65: Magisterska FINAL

65

Основи на математичкото програмирање. Теорија на условна оптимизација

Во продолжение, заради фактот што функцијата )(xf со која ја

моделираме оптимизационата задача и која ја нарекуваме функција на

целта, може да биде функција од повеќе променливи, наместо

ознаката )(xf за првиот извод, ќе го разгледуваме градиентниот

вектор )(xf кој ги содржи сите парцијални изводи на f по секоја

координата од векторот x . За повеќе детали околу овие поими, во

Agoston[2] и Nocedal&Wright[15].

Па затоа, критериумот за запирање можеме да го презапишеме во

следната форма

)( kxf (2.44)

каде 0 е зададена толеранција.

Ако (2.44) важи, тогаш )( kxf се стреми кон 0 и итеративната низа kx

конвергира кон стационарната точка.

Нека kx е k -тата итерација, kp е k -тиот правец на пребарување и k е

k -тата должина на чекорот (види Nocedal&Wright [15] или

Sun&Yuan[20]). Тогаш k -тата итерација е

kkkk pxx 1 (2.45)

Од (2.45) гледаме дека различниот избор на k и kp ни ја дефинира

различноста на методите (види Nocedal&Wright[15], Sun&Yuan[20]).

Главно постојат две стратегии кај итеративните методи на оптимизација.

Доколку прво го избираме правецот на пребарување kp , а потоа

одредуваме должина на чекорот k со точно или приближно решавање

на задачата на еднодимензионална минимизација

)(min0

kk pxf

тогаш станува збор за методи на линиско прабарување.

Page 66: Magisterska FINAL

66 Основи на математичкото програмирање. Теорија на условна оптимизација

Во случај кога прво ја избираме максималната оддалеченост k и потоа

бараме правец и чекор кои ќе доведат до намалување на вредноста на

квадратната модел функција

pBppffpm k

TT

kkkRp n 2

1)(min

, со ограничување kp ,

станува збор за методи на област на доверба, каде k е радиусот на

област на доверба.

Доколку правецот на пребарување kp , кај методите на линиско

пребарување, го избереме да биде антиградиентот )( kk xfp , каде

)( kxf е градиентот на f пресметан во kx , тогаш станува збор за

метод на најбрзо спуштање или Кошиев метод. Ако

)()]([ 12

kkk xfxfp ,

каде )(2

kxf е Хесијанот на f пресметан во kx , тогаш методот е

Њутнов метод.

Доколку на местото од Хесијанот ставиме некоја негова апроксимација

kB т.е )(1

kkk xfBp , тогаш тие методи се наречени квази-

Њутнови методи или методи од Њутнов тип.

Во зависност од начинот на ажурирање на апроксимацијата kB

разликуваме повеќе квази-Њутнови методи.

(SR1 метод) k

T

kkk

T

kkkkkkkk

ssBy

sBysByBB

)(

))((1

(BFGS метод) k

T

k

T

kk

kk

T

k

k

T

kkkkk

sy

yy

sBs

BssBBB 1

Page 67: Magisterska FINAL

67

Основи на математичкото програмирање. Теорија на условна оптимизација

(DFP метод) T

kkk

T

kkkk

T

kkkk yyysIBsyIB )()(1

каде kkk xxs 1 и kkk ffy 1 и каде k

T

k

ksy

1 .

Методите во кои правецот на пребарување kp се пресметува преку

формулата

1)( kkkk pxfp ,

каде k е скалар кој обезбедува конјугираност на kp и 1kp , се познати

под името методи на конјугиран градиент.

Да забележиме дека постојат и методи кои ги комбинираат и двете

стратегии, линиско пребарување и област на доверба.

Најголемиот број на оптимизациони задачи се базираат на постојано

опаѓање на функцијата на целта во секоја итерација

)()()( 1 kkkkk xfpxfxf .

Производот kkk dp се нарекува чекор на придвижување.

Основната шема на оптимизационите методи е следната:

Алгоритам 2.1.

Чекор 0. (Почетен чекор)

Дадена е почетна точка nRx 0 и толеранција 0 .

Чекор 1. (Критериум за запирање)

Ако )( kxf , запри.

Чекор 3. (Наоѓање на чекор на придвижување)

Овој дел се базира на интеративна шема за наоѓање на

чекорот на придвижување kd

Page 68: Magisterska FINAL

68 Основи на математичкото програмирање. Теорија на условна оптимизација

Чекор 4. (Циклус)

Ставаме kkk dxx 1

;1 kk

и се враќаме на чекор 1.

Брзината на конвергенција, што претставува локална

карактеризација на алгоритмот, ја мери ефективноста на

оптимизациониот метод. Во продолжение ќе разгледаме неколку

различни типови на конвергенција.

Нека итеративната низа kx генерирана од некој алгоритам,

конвергира кон *x по норма т.е

0lim *

xxkk

(2.46)

Ако постојат реален број 1 и позитивна константа 0 , што е

независна од k и таква што

*

*

1lim

xx

xx

k

k

k (2.47)

тогаш велиме дека kx има -ти ред на Q - конвергенција. ( Q -

quotient- количник)

Имено,

1. Ако 1 и 1,0 , се вели дека низата kx конвергира Q -

линеарно.

2. Ако 1 и 0 или 21 и 0 , се вели дека низата

kx конвергира со Q -суперлинеарно.

3. Ако 2 , велиме дека низата kx конвергира со Q -

квадратна брзина на конвергенција.

Page 69: Magisterska FINAL

69

Основи на математичкото програмирање. Теорија на условна оптимизација

Основната мотивација за воведување на Q -конвергенцијата е за да

правиме споредба на брзините на различните оптимизациони методи.

Видовме што претставуваат Q -линеарната, Q -суперлинеарната и Q -

квадратната брзина на конвергенција. Ако алгоритмот има Q -

суперлинеарна или Q -квадратна брзина на конвергенција, велиме дека

конвергира побрзо. На пример, квази-Њутновите методи конвергираат

Q - суперлинеарно, а Њутновите методи конвергираат Q -квадратно.

Друга мера за брзината на конвергенција, која е послаба од Q -

конвергенцијата е R -конвергенцијата. ( R - root - корен) .

Нека n

k Rx е било која низа што конвергира кон *x . Нека

1,suplim

1,suplim

1*

1*

pxx

pxxR

kpk

k

kk

kp

1. Ако 01 R , велиме дека kx конвергира R - суперлинеарно

кон *x .

2. Ако 10 1 R , велиме дека kx конвергира R - линеарно кон

*x .

3. Ако 11 R , велиме дека kx конвергира R - сублинеарно кон

*x .

Дефинирањето на R -конвергенцијата може да го направиме и на

поинаков начин.

Низата kx се вели дека има R - линеарна брзина на конвергенција,

ако постои низа од ненегативни скалари kq таква што

kqxx kk ,*

и ако kq конвергира Q - линеарно кон 0.

Page 70: Magisterska FINAL

70 Основи на математичкото програмирање. Теорија на условна оптимизација

Слично, низата kx велиме дека конвергира R - суперлинеарно ако

kq конвергира Q - суперлинеарно кон 0. Низата kx велиме дека

конвергира R - квадратно ако kq конвергира Q - квадратно кон 0.

Следната теорема ни дава карактеризација на суперлинеарната брзина

на конвергенција која е корисна во конструкцијата на критериумот за

запирање.

Теорема 2.16. Ако низата kx конвергира Q - суперлинеарно кон *x ,

тогаш

1lim*

*

1

xx

xx

k

k

k (2.48)

Обратното не важи! .

Доказ. Види Sun&Yuan[20].

Ќе покажеме само дека обратното не важи, ќе дадеме контра-пример.

Во нормиран простор ,R дефинираме низа kx на следниот

начин:

,...)2,1(2

,...)2,1(!

1

122

12

ixx

ii

x

ii

i

Очигледно, 0* x . Имаме,

1,2,)1(2

11

1,12,1

*

1

iiki

iik

xx

xx

k

kk

kx го задоволува (2.49), а не конвергира Q -суперлинеарно кон *x

Page 71: Magisterska FINAL

71

Основи на математичкото програмирање. Теорија на условна оптимизација

Оваа теорема покажува дека ако алгоритмот конвергира Q -

суперлинеарно, наместо *xxk , можеме да ги искористиме

kk xx 1 како критериум за запирање.

Ќе го разгледаме критериумот за запирање што е најчесто користен во

пракса. За да имаме гарантирана конвергенција на алгоритмот имаме:

)()( *xfxf k или *xxk ,

каде 0 е влезна толеранција, специфициран од корисникот.

Најчесто користени критериуми за запирање се:

)( kxf (2.49)

kk xx 1 (2.50)

)()( 1kk xfxf (2.51)

Нормално, ако сакаме побрза конвергенција ги користиме (2.50) и (2.51).

Ако имаме информација за првиот извод на функцијата на целта, се

препорачува како соодветен критериум за запирање, критериумот

(2.49).

Во Himmeblau [9] е даден предлог за тоа, како да се искористат (2.50) и

(2.51).

Имено, кога kx и )( kxf , користиме

)(

)()(,

11

k

kk

k

kk

xf

xfxf

x

xx (2.52)

во спротивно, користиме

)()(, 11 kkkk xfxfxx (2.53)

Page 72: Magisterska FINAL

72 Основи на математичкото програмирање. Теорија на условна оптимизација

Page 73: Magisterska FINAL

Глава 3

Квадратно програмирање

3.1 Оптимални услови за квадратното

програмирање

Задачите од квадратното програмирање претставуваат наједноставните

нелинеарни задачи од условната оптимизација.

Општата задача на квадратното програмирање (QP) ја има следната форма

xgGxxxQ TT 2

1)(min (3.1а)

со ограничувања Eibxa i

T

i , (3.1б)

Iibxa i

T

i , (3.1в)

каде G е симетрична nn матрица, E и I се конечни множества од

индекси, и каде IibxaEibxaRxX i

T

ii

T

i

n ,;,: е допустлива

област за задачата (3.1). Овде матрицата G ја претставува Хесијановата

матрица (Agoston[2] и Nocedal&Wright[15]), што претставува матрица во

која се сместени вредностите на парцијалните изводи од втор ред по

променливи координатите на векторот nRx . Ако Хесијановата матрица

G е позитивно дефинитна, тогаш задачата (3.1a)-(3.1в) е задача на

конвексно квадратно програмирање, па локалното решение *x е и

глобално. Ако G е строго позитивно дефинитна, тогаш (3.1a)-(3.1в) е

строго конвексна QP задача и *x е единствено глобално решение. Ако

Page 74: Magisterska FINAL

74 Квадратно програмирање

G е недефинитна матрица, тогаш (3.1a)-(3.1в) е неконвексна QP задача,

што е поважно и поинтересно за разгледување. Во продолжение ќе ја

користиме ознаката g наместо Tf за градиент на f .

Теорема 3.1 (Потребни услови) Нека *x е точка на локален минимум на

QP задачата (3.1а)-(3.1в). Постојат множители ),...,1(* mii такви

што

m

i

iiaGxg1

** (3.2а)

Eibxa i

T

i ,* (3.2б)

Iibxa i

T

i ,* (3.2в)

Iibxa i

T

ii ,0** (3.2г)

Iii ,0* (3.2д)

Исто така,

),(,0 ** xGdGddT (3.3)

каде,

0),(,0

)(,0

,0

0),(**

***

ii

T

i

T

i

T

xIiad

xIiad

Eiad

dxG

.

Теорема 3.2. (Доволни услови) Нека *x е ККТ точка и * е соодветниот

вектор од Лагранжови множители.

Ако ),(0,0 ** xGdGddT , тогаш *x е точка на строг локален

минимум за задачата (3.1а)-(3.1в).

Page 75: Magisterska FINAL

75 Квадратно програмирање

Овие две теореми се истите со Теорема 2.13 и Теорема 2.14 кои ги

кажавме во делот 2.6 за оптимални услови во Глава 2, само во поинаков

запис, кој ќе се користи во понатамошното изложување на резултатите.

Следно, ќе ги дадеме потребните и доволните услови за задачата (3.1a)-

(3.1в).

Теорема 3.3. (Потребни и доволни услови) Нека *x е допустлива точка

за задачата на квадратно програмирање (3.1а)-(3.1в). *x е точка на

локален минимум ако и само ако ),( ** x е ККТ точка, таква што (3.2а)-

(3.2д) се исполнети и :

),(,0 ** xGdGddT

каде .

Доказ. Нека *x е локален минимум. Од теорема 3.1 следува дека постои

вектор со множители * таков што (3.2а)-(3.2д) се исполнети. Нека

),(0 ** xGd . Очигледно дека за доволно мало 0t , имаме

Xtdx *

Тогаш, од дефиницијата за d , за доволно мало 0t , имаме

GddtxQ

GddtdatxQ

GddtgGxtdxQtdxQxQ

T

Tm

i

T

ii

TT

2*

2

1

**

2****

2

1)(

2

1)(

2

1)()()()(

па од произволноста на d , имаме дека (3.3) важи.

0),(,0

)(,0

,0

0),(**

***

ii

T

i

T

i

T

xIiad

xIiad

Eiad

dxG

Page 76: Magisterska FINAL

76 Квадратно програмирање

Сега, ќе го покажеме доволниот услов. Нека претпоставиме спротивно, т.е

нека *x не е локален минимум. Па, постои Xdxx kkk * таков што

)()()( ** xQdxQxQ kkk

каде ddkkk ,0,0 . Знаеме дека

),( ** xGd

Па, од ККТ условите - дадени во Теоремата 2.14 на Каруш-Кун-Такер

имаме:

)(2

1),(),(),( 22*****

kk

T

kkk oGddxLxLxL

Ако двете страни ги поделиме со 2

k и го ставиме под знак на лимес, се

добива

0dGd T (3.4)

Бидејќи ),( ** xGd , следува дека (3.4) е во контрадикција со

претпоставката (3.3). Со тоа е комплетиран доказот.

Очигледно е дека, наоѓањето на ККТ точка за задачата на конвексно

квадратно програмирање е еквивалентна со задачата за наоѓање на nRx * и mR* , такви што (3.2а)-(3.2д) се исполнети.

Page 77: Magisterska FINAL

77 Квадратно програмирање

3.2 Дуалност за квадратното програмирање

Во овој дел, детално ќе дискутираме за дуалноста на конвексното

квадратно програмирање, бидејќи во повеќето практични задачи ќе

имаме поголем бенефит од дуалните структури, кои поефикасно ќе го

решат поставениот проблем од наша страна.

Претпоставуваме, нека G е позитивно дефинитна матрица. Од

резултатите во делот 3.1 знаеме дека решавањето на QP задачата (3.1a)-

(3.1в) е еквивалентно со решавањето на задачата (3.2а)-(3.2д). Ставаме

gAy (3.5)

и

Iibxat T

ii , (3.6)

каде mT

m

mnni

mjij RRaA

,...,, 1

,...,1

,...,1. Забележуваме дека во

(3.2а) имаме само Gxy , па оттука, (3.2б)-(3.2в) го добива обликот

T

mm

T ttbxAe

,...,,0,...,0 1

па (3.2а)-(3.2д) можеме да ги запишеме како

Tmm

T

ttxI

A

yG

be

0,...,0,,...,,0,...,0 11

(3.7а)

gyA (3.7б)

Iii ,0 (3.7в)

Iit ii ,0 (3.7г)

Iiti ,0 (3.7д)

Page 78: Magisterska FINAL

78 Квадратно програмирање

Од ККТ условите, следува дека (3.7а)-(3.7д) се еквивалентни за да ја решат

задачата

),(2

1max 1

,yQyGyb

defTT

y

(3.8а)

со ограничувања gyA (3.8б)

Iii ,0 (3.8в)

што претставува дуална задача на примарната (3.1a)-(3.1в). Лесно е да се

испита дека (3.8а)-(3.8в) можеме да ја трансформираме до облик

)(2

1),(max

,bxAxgGxxxL TTTT

x

(3.9а)

со ограничувања 0),( xLx (3.9б)

Iii ,0 (3.9в)

Ако го елиминираме y во (3.8б) и го искористиме во (3.5) добиваме дека

(3.8а)-(3.8в) можат да бидат редуцирани во следната форма:

)(2

1)(min 11 AGAgGAb TTTT

Rm

(3.10а)

со ограничувања Iii ,0 (3.10б)

Нека x и ),( y се допустливи точки за примарната задача (3.1a)-(3.1в) и

за дуалната задача (3.8а)-(3.8в) соодветно, тогаш имаме:

yxyGyGxxt

yGytAx

GxxyAxyQxQ

TTT

Ii

ii

Ii

T

ii

T

TT

22

1

2

1

2

1)(),()(

1

1

(3.11)

Page 79: Magisterska FINAL

79 Квадратно програмирање

каде it се дефинирани со (3.6). Тогаш, заради позитивната дефинитност на

G имаме

),()( yQxQ (3.12)

Од (3.11) следува дека двете страни во (3.12) се еднакви ако и само ако

0Ii

i

T

ii bxa (3.13)

и

yGx 1 (3.14)

Не е тешко да забележиме дека (3.14) и (4.13) се еквивалентни со (3.2а) и

(3.2г) соодветно. Па, под претпоставка за допустливост, ја имаме следната

теорема.

Теорема 3.4. Нека G е позитивно дефинитна. Ако примарната задача е

допустлива, тогаш Xx * е решение на примарната задача (3.1а)-

(3.1в) ако и само ако ),( ** y е решение на дуалната задача (3.8а)-

(3.8в).

Теорема 3.5. Нека G е позитивно дефинитна. Тогаш примарната

задача (3.1а)-(3.1в) е недопустлива ако и само ако дуалната задача

(3.8а)-(3.8в) е неограничена.

Доказ. Од (3.12), ако примарната задача е допустлива, функцијата на

целта во дуалната задача ги задоволува ограничувањата (3.8б)-(3.8в) е

рамномерно ограничена од горе. Сега, ако земиме примарната задача да

биде недопустлива, тогаш системот

Eixba i

T

i ,0~, (3.15а)

Iixba i

T

i ,0~, (3.15б)

,0~1,0,...,0 x (3.15в)

Page 80: Magisterska FINAL

80 Квадратно програмирање

нема решение за 1~ nRx . Од Теоремата 1.13 на Фаркаш, следува дека

постојат mii ,...,1 такви што

Ii

i

T

ii

Ei

i

T

ii baba ,1,0,...,0

т.е

01

m

i

iia (3.16)

11

m

i

iib (3.17)

Iii ,0

Ставаме ii t , и тогаш (3.16) значи дека 0 tAA . Од (3.8б)

следува дека gy . Затоа, кога t , од (3.8а) и (3.17) следува дека

tyQ ),(

Исто така, за сите 0t , имаме дека T

mtt ,...,1 и gy ги

задоволуваат ограничувањата (3.8б)-(3.8в) на дуалната задача. Со тоа

покажавме дека дуланата задача е неограничена.

Постои тесна врска помеѓу Лагранжовата функција

m

i

i

T

ii bxaxQxL1

)()(),(

на примарната задача и дуалноста. Не е тешко да се види дека

решавањето на ККТ условите е еквивалентно со наоѓањето на стационарна

точка на ),( xL во областа Iix i ,0|),( .

Бидејќи Хесијановата матрица на ),( xL е

Page 81: Magisterska FINAL

81 Квадратно програмирање

0),(2

TA

AGxL

со користење на идентитетот

AGA

G

I

AGIxL

IGA

ITT 1

1

2

1 0

0

0),(

0

знаеме дека ),(2 xL има само n позитивни сопствени вредности, а

бројот на негативните сопствени вредности е еднаков со рангот на

матрицата A , )(Arank . Па така, стационарната точка од ),( xL е

седлеста точка т.е постои * ,

IiR i

m ,0|

така што, ),( ** x го задоволува

),(),(),( **** xLxLxL (3.18)

за сите Xx , каде X е допустливата област за задачата (3.1) и .

Всушност, за секој Xx , имаме

)(),(max xQxL

За секој , ставајќи

gAy

добиваме дека ),( y е допустлива точка на дуалната задача (3.8а)-(3.8в).

Ова значи дека, ),( y како допустлива точка го задоволува

0),( xLx , па оттука имаме

),(2

1),(min 1 yQyGybxL TT

Rx n

Page 82: Magisterska FINAL

82 Квадратно програмирање

Нека ),( ** x е решение на (3.2а)-(3.2д) . Нека gAy ** . Следува дека

),( ** y е допустлива точка за (3.8а)-(3.8в), па за секој Xx и за секој

, имаме

),()(),(),(),( ******* xLxQxLyQxL

што значи дека ),( ** x е седлеста точка за ),( xL .

Обратно, ако

),(),(),( **** xLxLxL

важи за секој Xx и , тогаш

m

i

i

T

ii

m

i

i

T

ii

m

i

i

T

ii

bxaxQ

bxaxQbxaxQ

1

*

1

***

1

**

)()(

)()()()(

Ако го прегрупираме првото неравенство, добиваме

0))((1

**

m

i

i

T

iii bxa

што значи

0))(())(( **** Ii

i

T

iii

Ei

i

T

iii bxabxa (3.19)

Сега, ќе покажеме со контрадикција, дека

Eibxa i

T

i ,*

Iibxa i

T

i ,*

Нека k

T

k bxa *, за некој Ek . Ставаме *

ii , за ki и 1* kk ,

тогаш од (3.19) добиваме контрадикција со претпоставката дека k

T

k bxa *.

Page 83: Magisterska FINAL

83 Квадратно програмирање

Ако претпоставиме дека k

T

k bxa * за некој Ek , добиваме слична

контрадикција. Оттука имаме Eibxa i

T

i ,*.

Нека, за некој Ik е исполнето

1* kk и *

ii за ki

Оттука, јасно, следува

Ikbxa k

T

k ,0*

Ако ја повториме постапкава за секој Ik , се добива

Iibxa i

T

i ,0*

Добиваме дека *x е допустлива точка за примарната задача.

Ставаме 0 , па од (3.18) следува дека )0,(),( *** xLxL , што значи

0)(1

**

m

i

i

T

ii bxa (3.20)

Ако ги искористиме (3.20) и (3.18) и * , Xx добиваме

)(

)(),(

),(

),(

)()()(

1

**

*

**

1

****

xQ

bxaxL

xL

xL

bxaxQxQ

m

i

i

T

ii

m

i

i

T

ii

од каде се добиваа дека *x е точка на минимум за примарната задача.

Page 84: Magisterska FINAL

84 Квадратно програмирање

Оттука, ја добиваме следната теорема, пазната како теорема на седлеста

точка, која ја дава врската помеѓу седлестата точка на Лагранжовата

функција и точката на минимумот на примарната задача.

Теорема 3.6. (Теорема на седлеста точка за квадратно програмирање)

Нека G е позитивно дефинитна. Тогаш, Xx * е точка на минимум на

примарната задача (3.1а)-(3.1в) ако и само ако постои * таков

што **,x е седлеста точка за Лагранжовата функција ),( xL т.е

условите за седлеста точка

),(),(),( **** xLxLxL

се исполнети за секој Xx и секој .

3.3 Квадратно програмирање со равенствени

ограничувања

Задачата на квадратното програмирање со равенствени ограничувања

можеме да ја запишеме како:

GxxxgxQ TT

Rx n 2

1)(min

(3.21а)

со ограничувања bxAT (3.21б)

каде ,, mn RbRg nm , nj

mijiaA,...,1,...,1, ][

, nnRG и G е

симетрична.

Без губење од општост, претпоставуваме дека mArank )( т.е A има

целосен ранг по колони.

Прво, да го објасниме методот за елиминација на променливи. Ги

воведуваме следните ознаки

Page 85: Magisterska FINAL

85 Квадратно програмирање

NNNB

BNBB

N

B

N

B

N

B

GG

GGG

g

gg

A

AA

x

xx ,,, (3.21в)

каде mn

N

m

B RxRx , и BA е инверзибилна матрица. Преку овие

ознаки, условот на ограниченост (3.21б) може да го презапишеме како

bxAxA N

T

NB

T

B (3.21г)

Бидејќи 1

BA постои, следува дека

N

T

N

T

BB xAbAx 1 (3.22)

Ако последново го замениме во (3.21а) се добива следната форма:

cxgxGx N

T

NNN

T

NRx mn

N

ˆˆˆ2

1min

(3.23)

што е еквивалентно со (3.21а), каде

bAGAAGgAAgg BBBBNNBBBNNN

111 ][ˆ

T

N

T

BBBBNBNBN

T

N

T

BNBNNN AAGAAGAAAAGGG )()(ˆ 1111

bAgbAGAbc T

B

T

B

T

BBBB

T )(2

1ˆ 11

Ако NG е позитивно дефинитна, тогаш (3.23) го има следното решение

NNN gGx ˆˆ 1*

што е единствено. Па, решението на задачата (3.21а)-(3.21б) е

NN

T

N

T

B

T

B

N

B gGI

AAbA

x

xx ˆˆ)(

0

)( 1

11

*

*

*

(3.24)

Нека * е вектор со Лагранжови множители во *x . Тогаш

Page 86: Magisterska FINAL

86 Квадратно програмирање

** AGxg

па, оттука

)( **1*

NBNBBBBB xGxGgA

Ако NG од (3.23) е позитивно полудефинитна, тогаш кога

0ˆ)ˆˆ(

NNN gGGI (3.25)

т.е )ˆ(ˆNN GRg , ќе имаме дека задачата на минимизација (3.23) е

ограничена, па нејзиното решение е

xGGIgGx NNNNN~)ˆˆ(ˆˆ* (3.26)

каде mnRx ~ е било кој вектор,

NG ја означува обопштената инверзна

матрица на NG . Во овој случај, решението на задачата (3.21а)-(3.21б)

може да се претстави преку (3.26) и (3.22). Ако (3.25) не е исполнето, тогаш

задачата (3.23) нема долна граница, па така, задачата (3.21а)-(3.21г) не е

ограничена од долу, па оригиналната задача нема конечно решение.

Ако NG има негативни сопствени вредности, очигледно е дека задачата

за минимизација (3.23) не е ограничена од долу, па така задачата (3.21а)-

(3.21б) нема конечно решение.

Идејата за Методот на елиминација на променливи ќе го илустрираме на

примерот што следи во продолжение.

Page 87: Magisterska FINAL

87 Квадратно програмирање

Пример 3.1.

2

3

2

2

2

1)(min xxxxQ (3.27а)

со ограничувања 1321 xxx (3.27б)

132 xx (3.27в)

Од (3.27в) имаме

132 xx (3.28)

Ако го замениме во (3.27б) добиваме

31 2xx (3.29)

Всушност, имаме дека TB xxx 21 , 3xx N . Со замена на (3.28)-

(3.29) во (3.27а) добиваме

2

3

2

3

2

3 )1(4min3

xxxRx

(3.30)

Со решавање на (3.30) се добива .2

13 x Па ако го замениме

2

13 x во

(3.28)-(3.29) добиваме

T

x

2

1

2

31*

што претставува решение на (3.27а)-(3.27в). Ако искористиме дека ** Ag , се добива следното

*

2

*

1

11

11

01

1

3

2

од каде за Лагранжовите множители се добива 2*

1 и 1*

2 .

Page 88: Magisterska FINAL

88 Квадратно програмирање

Идејата за методот на елиминација на променливи е јасна. Во случај кога

BA се добива дека е приближно несингуларна, имаме дека

пресметувањето на решение на (3.24) е нумерички нестабилен процес.

Ќе го разгледаме сега обопштениот метод на елиминација на

променливи. Го раздвојуваме nR на два дисјунктни потпростори т.е

)()( Tn ANARR , каде }:{)( AvwwAR , за некој вектор v ,

претставува ранг (слика) на просторот А, а }0:{)( AwwAN T е

нултиот простор (јадро) за АТ. Нека myy ,...,1 е множество од линеарно

независни вектори во )( TAN . Нека се дадени ],...,[ 1 myyY , таква што

и ],...,[ 1 mnzzZ , таква што , каде Y и Z

се mn и )( mnn матрици соодветно. Очигледно, и ZY е

несингуларна. Имаме YAT е несингуларна и 0ZAT . Ставаме

xZxYx ˆ

каде mnm RxRx ˆ, , па од ограничувачките услови (3.21б), имаме дека

xYAxAb TT

Тогаш, допустливата точка за (3.21а)-(3.21б) може да ја претставиме како

xZbYAYx T ˆ)( 1 (3.31)

Со замена на (3.31) во (3.21а) се добива

xGZZxxZbYAGYg TTTT

Rx mnˆ

2

1ˆ))((min 1

ˆ

(3.32)

што претставува задача од безусловна оптимизација во mnR .

Тука, GZZ T и ))(( 1bYAGYgZ TT се наречени редуциран Хесијан и

редуциран градиент, соодветно. Нека GZZ T е позитивно дефинитна,

тогаш од (3.32) следува дека

)()( ARYR )()( TANZR

Page 89: Magisterska FINAL

89 Квадратно програмирање

])([ˆ)( 1 gZbYAGZZxGZZ TTTT (3.33)

или

))(()(ˆ 11* bYAGYgZGZZx TTT (3.34)

Системот (3.33) може да го решиме со помош на факторизацијата на

Холецки (види А.2 во Nocedal&Wright[15]) . Па, така, (3.34) и (3.31) ни го

даваат решението на задачата (3.21а)-(3.21б)

gZGZZZbYAYGZGZZZI

bYAGYgZGZZZbYAYx

TTTTT

TTTT

111

111*

)()())((

))(()()(

(3.35а)

Исто така, од ККТ условите ** GxgA , ако помножиме одлево со TY

и ако забележиме дека YAT е несингуларна, се добива

)()( ** GxgYAY TT

па

])([)(

][)(

1

**

bYAYGPPgYYA

GxgYYA

TTTTT

TTT

(3.35б)

каде

TT ZGZZGZIP 1)( (3.36)

е афино пресликување од nR во )(AR . Особено, ако го избереме Y таков

што

IYAT

каде YAT е инверзибилна матрица, тогаш (3.31) добива облик

xZYbx ˆ

каде mnRx ˆ и заради (3.35а)-(3.35б) имаме

Page 90: Magisterska FINAL

90 Квадратно програмирање

)()( 1* GYbgZGZZZYbx TT

gZGZZZYbP TTT 1)( (3.37а)

и

)()( ** YbGPPgYGxgY TTT (3.37б)

Од (3.31) знаеме дека допустливата област за (3.21а)-(3.21б) е потпростор

паралелен со )( TAN . Обопштениот метод на елиминации ги користи

само вектор колоните ),...,1( mnizi од Z , кој ја формира базата на

нултиот простор од TA , како базни вектори и ја трансформира задачата

од квадратното програмирање (3.21а)-(3.21б) во задача на безусловна

минимизација (3.32) на квадратна функција во редуциран простор. Така,

овој метод е познат и под името метод на нулти простор (јадро).

Погорната дискусија ни кажува дека клучниот момент во овој тип на метод

е изборот на матрицата Z , базната матрица на нултиот простор (јадрото)

)( TAN . Различен избор на Z формира различен метод на нулти простор

за решавање на задачата од квадратно програмирање (3.21а)-(3.21б).

Следно ќе ги разгледаме неколку типови на избор.

Методот на елиминација на променливи е специјален случај на

обопштениот метод на елиминација во кој

0

1

BAY

I

AAZ

T

N

T

B

Друг специјален случај е базиран на QR декомпозицијата на матрицата A .

Нека

RQR

QQR

QA 12100

Page 91: Magisterska FINAL

91 Квадратно програмирање

каде Q е nn ортогонална матрица ( IQQT ), R е mm

несингуларна горно-триаголна матрица. Го имаме следниот избор

21 , QZRQAY TT (3.38)

Општата шема за избор на Y и Z е следната. За секој Y и Z такви што

IYAT и 0ZAT ,

0IZYAT

Бидејќи ZY е несингуларна, постојат )( mnnRV такви што

1

T

T

V

AZY (3.39)

T

T

Z

YVA

1

Ова значи дека различните избори за )( mnnRV подлежат на различни

Y и Z и различни методи на елиминација. На пример, ако ставиме

mnIV

0

го имаме методот на елиминација на променливи (3.24).

Ако ставиме 2QV , го добиваме погорниот избор (3.38) со ортогонална

декомпозиција.

Лагранжовиот метод за решавање на задачи со равенствени

ограничувања се базира на ККТ условите

AGxg

bxAT

Погорниот систем ќе го презапишеме во матрична форма

Page 92: Magisterska FINAL

92 Квадратно програмирање

b

gx

A

AGT 0

(3.40)

Тука

0TA

AG (3.41)

е ККТ матрица за задачата од квадратно програмирање (3.21а)-(3.21б). Не

е тешко да покажеме дека ако A е матрица со целосен ранг по колони, и

GZZ T е позитивно дефинитна, тогаш ККТ матрицата (3.41) е

несингуларна.

Теорема 3.7. Нека mnRA е матрица со целосен ранг по колони. Нека

редуцираниот Хесијан GZZ T е позитивно дефинитна матрица. Тогаш

ККТ матрицата (3.41) е несингуларна. Исто така, постои единствена

ККТ точка **,x таква што исполнето е равенството (3.40).

Доказ. Ќе покажеме со контрадикција. Нека ККТ матрицата (3.41) е

сингуларна, па постои ненулти вектор 0),( vp таков што

00

v

p

A

AGT

(3.42)

каде nRp и mRv . Јасно, имаме 0pAT

. Ако со

T

v

p

ги

помножиме од лево двете страни на (3.42), се добива

Gppv

p

A

AG

v

pT

T

T

00

Бидејќи )( TANp и ],...,[ 1 mnzzZ го покрива )( TAN , ставаме ознака

Zup , за некој mnRu и се добива

GZuZuGpp TTT 0 .

Page 93: Magisterska FINAL

93 Квадратно програмирање

Од претпоставката дека GZZ T е позитивно дефинитна добиваме 0u , а

со тоа и

0 Zup (3.43)

Па, од (3.43) следува дека 0Av . Бидејќи A има целосен ранг по

колони, добиваме дека и 0v , па од (3.43) се добива контрадикција со

претпоставката 0),( vp . Со тоа доказот е комплетен.

Нека ККТ матрицата е несингуларна. Тогаш постојат матрици nnRU ,mnRW и mmRT такви што

TW

WU

A

AGTT

1

0 (3.44)

па единственото решение на (3.40) е

WbUgx *

(3.45а)

bTgW T * (3.45б)

Се додека ККТ матрицата (3.41) е несингуларна, имаме дека (3.44) се

добива на единствен начин, па седлестата точка на Лагранжовата

функција се добива на единствен начин преку (3.45а)-(3.45б).

Ако G е инверзибилна и A има целосен ранг по колони, тогаш постои 11 )( AGAT

. Не е тешко да се покаже дека изразите за WU , и T во (3.44)

се

11111 )( GAAGAAGGU TT

(3.46а)

111 )( AGAAGW T (3.46б)

11 )( AGAT T (3.46в)

Page 94: Magisterska FINAL

94 Квадратно програмирање

Од (3.40) следува дека решението на задачата од квадратно

програмирање со равенствени ограничувања е

][)( 11111* bgGAAGAAGgGx TT (3.47а)

][)( 111* bgGAAGA TT (3.47б)

Како што рековме, ако A има целосен ранг по колони и GZZ T е

позитивно дефинитна, тогаш ККТ матрицата е инверзибилна. Во овој

случај, ако Y и Z се дефинирани со (3.39), тогаш матриците WU , и T во

(3.44) можат да се претстават како

TT ZGZZZU 1)( (3.48а)

YPW T (3.48б)

YGPYT TT (3.48в)

каде P е дефинирана со (3.36). Ако ги замениме (3.48а)-(3.48в) во (3.45а)-

(3.45б) се добиваат формулите (3.37а)-(3.37б). Оттука Лагранжовиот метод

е еквивалентен со обопштениот метод на елиминации.

3.4 Метод на активно множество

Повеќето QP задачи вклучуваат неравенствени ограничувања и можат да

бидат претставени како во обликот (3.1a)-(3.1в). Во овој дел ќе дадеме

опис на тоа како задачите на квадратното програмирање со равенствени

ограничувања ќе бидат обопштени за да ги решат генералните QP задачи

(3.1a)-(3.1в) преку методите на активно множество.

Да се потсетиме што беа тоа активни ограничувања? Имено, нека се

дадени ограничувања kixci ,...,1,0)( , во една оптимизациона

задача, кои ја дефинираат допустливата област. За дадена точка x од

Page 95: Magisterska FINAL

95 Квадратно програмирање

допустливата област , ограничувањето 0)( xci е активно во x ако

0)( xci и неактивно ако 0)( xci . Равенствените ограничувања

секогаш се активни. Множеството од индексите на сите активни

ограничувања )(xci во x се нарекува активно множество во x и се

изначува со )(xI (види Nocedal&Wright[15]). Овдешното излагање го

започнуваме со разгледување на конвексниот случај т.е матрицата G во

(3.1a)-(3.1в) е позитивно полудефинитна. Другиот случај во кој G не е

дефинитна ќе го разгледаме на крајот од овој дел. Интуитивно,

неактивните неравенствени ограничувања не играат никаква улога во

околина на решението, па така, тие можат да се заменат со равенствени

ограничувања.

Следната лема е темелот на методот на активно множество.

Лема 3.1 Нека *x е точка на локален минимум за QP задачата (3.1а)-

(3.1в). Тогаш *x е точка на локален минимум на задачата:

)(2

1min xQGxxxg TT (3.49а)

со ограничувања )(, *xIEibxa i

T

i (3.49б)

Обратно, ако *x е допустлива точка за (3.1а)-(3.1в) и ККТ точка за

(3.45а)-(3.45б), и соодветниот вектор од Лагранжови множители * го

задоволува условот

)(,0 ** xIii (3.50)

тогаш *x е исто така ККТ точка за задачата (3.1а)-(3.1в).

Доказ. Бидејќи, околу *x , допустливата точка на (3.1a)-(3.1в) е исто така

допустлива за (3.49а)-(3.49б) очигледно е дека, локалниот минимум за

(3.1a) – (3.1в) е исто така локален минимум за задачата (3.49а)-(3.49б).

Нека *x е допустлива точка за (3.1a)-(3.1в) и нека е ККТ точка за (3.49а)-

(3.49б). Нека постојат ))(( *xIEii такви што

Page 96: Magisterska FINAL

96 Квадратно програмирање

)(

**

*xIEi

iiagGx (3.51а)

)(,0,0)( **** xIibxa ii

T

ii (3.51б)

Дефинираме

)(\,0 ** xIIii (3.52)

Од (3.51а)-(3.52) веднаш следува дека:

m

i

iiagGx1

** (3.53а)

Eibxa i

T

i ,* (3.53б)

Iibxa i

T

i ,* (3.53в)

Iii ,0* (3.53г)

ibxa i

T

ii ,0)( ** (3.53д)

што значи дека *x е ККТ точка за задачата (3.1a)-(3.1в).

Во методите на активно множество во секоја итерација се добива

допустлива точка, па заради тоа, овие методи поинаку може да се сретнат

како методи на допустлива точка. Во секоја итерација решаваме

квадратна подзадача над подмножество од равенствените ограничувања.

Ова подмножество се нарекува работно множество, кое ќе го

означуваме со )( *xIESk . Ако решението на квадратната подзадача

со равенствени ограничувања е допустливо на kS за оригиналната задача

(3.1a)-(3.1в), тогаш треба уште да утврдиме дали (3.50) е исполнето или не.

Ако (3.50) важи, тогаш запираме, и го земаме решението од оригиналната

задача. Во спротивно, ККТ условите не се задоволени, па функцијата на

целта )(Q може да се намали ако ги отфрлиме овие ограничувања. Така,

ги бришеме индексите од работното множество kS и ја решаваме

Page 97: Magisterska FINAL

97 Квадратно програмирање

новодобиената задача. Ако решението на QP подзадачата со равенствени

ограничувања на kS е недопустливо за задачата (3.1a)-(3.1в), тогаш треба

да додадеме ограничувања во работното множество kS и да ја решаваме

така добиената нова подзадача.

Во секоја итерација, допустливата точка kx и работното множество kS се

познати. Секоја итерација се обидува да го лоцира решението на

подзадачата со равенствени ограничувања на kS . Нека d е чекорот за kx .

Ќе ја претставиме QP подзадачата преку d .

Да ја разгледаме подзадачата

)()()(2

1min dxgdxGdx k

T

k

T

kRd n

(3.54а)

со ограничувања k

T

i Sida ,0 (3.54б)

која можеме да ја презапишеме како

dgGdd T

k

T

Rd n

2

1min (3.55а)

со ограничувања k

T

i Sida ,0 (3.55б)

каде gxGxQg kkk )( . Ја изразуваме ККТ точката за (3.54а)-(3.54б)

преку kd ( k -тата итерација на подзадачата (3.54а)-(3.54б)) и соодветно

Лагранжовите множители со )()(

k

k

i Si . Ако 0kd , тогаш kx е ККТ

точка за подзадачата

xgGxx TT

Rx n

2

1min (3.56а)

со ограничувања ki

T

i Sibxa , (3.56б)

Овојпат, ако ISi k

k

i ,0)( , тогаш kx е ККТ точка на подзадачата

(3.1a)-(3.1в), па завршуваме со итеративниот процес. Во спротивно, ќе

Page 98: Magisterska FINAL

98 Квадратно програмирање

постои негативен Лагранжов множител, на пример 0)( k

ik . Во тој случај,

намалувањето на функцијата на целта ќе го постигнеме преку отфрлање

на ki -тото ограничување од работното множество kS . Потоа се решава

така добиената QP задача. Ќе забележиме дека, ако имаме повеќе од

еден индекс, таков што 0i , обично го избираме оној ki за кој

)(

0)(

min k

iISi

i

ki

kk

(3.57)

и ставаме

kkk iSS \

Нека решението 0kd . Ако kk dx е допустлива во однос на сите

ограничувања, тогаш ставаме

kkk dxx 1

Во спротивно, линиското пребарување се врши долж правецот kd и

ставаме

kkkk dxx 1

каде k е должина на чекорот т.ш kkk dx е „најдобрата“ допустлива

точка на интервалот ],[ kkk dxx и најблиска до kk dx .

Сега ќе ја изведеме експлицитната формула за k . Бараме kkx да ги

задоволува сите ограничувања. Очигледно, ако kSi , тогаш соодветните

ограничувања секако ќе бидат допустливи. Така, ќе ни останат да ги

разгледаме уште ограничувањата за кои kSi . Има два случаи што ќе ги

разгледуваме.

Ако 0k

T

i da , за некое kSi , тогаш за сите 0k имаме

Page 99: Magisterska FINAL

99 Квадратно програмирање

kik

T

ikkk

T

i Sibxadxa ,)(

Во овој случај ограничувањето е задоволено.

Ако 0k

T

i da , за некое kSi , тогаш за сите 0k имаме дека

kikkk

T

i Sibdxa ,)(

само ако

k

k

T

i

k

T

iik Si

da

xab

,

Оттука, ќе земеме

k

T

i

k

T

ii

da

Sik

da

xab

kTi

k

0

min (3.58)

Бидејќи сакаме k да биде што поголем во интервалот ]1,0[ во однос на

допустливоста, ја имаме следната формула

k

T

i

k

T

ii

da

Sik

da

xab

kTi

k

0

min,1min (3.59)

Ако 1k т.е (3.58) важи, тогаш постои некое kSj таков што

k

T

j

k

T

jj

kda

xab .

Па така,

Page 100: Magisterska FINAL

100 Квадратно програмирање

jk

T

jkk

T

jk

T

j bdaxaxa 1 .

Ова значи дека имаме ново ограничување индексирано со kSj , што

постанува активно ограничување во 1kx . Па, го додаваме во активното

множество, и така, }{1 jSS kk .

Ако 1k , тогаш работното множество останува исто т.е kk SS 1 .

Во продолжение ќе го дадеме алгоритмот на методот на активно

множество.

Алгоритам 3.1. (Метод на активно множество)

Чекор 1: Дадено е 1x , стави )( 11 xIES , ;1k

Чекор 2: Најди го решението kd на подзадачата (3.54а)-(3.54б).

Ако 0kd , оди на чекор 3;

Инаку ако 0kd , пресметај )(k

i од

kSi

i

k

ik agGx )( .

Ако ISi k

k

i ,0)( , запри;

Инаку најди го ki од (3.57).

}{\ kkk iSS , kk xx 1 , оди на чекор 4.

Чекор 3. Најди го k со (3.59)

Стави

Page 101: Magisterska FINAL

101 Квадратно програмирање

kkkk dxx 1 ;

Ако 1k , оди на чекор 4;

Инаку најди го kSj таков што

jkkk

T

j bdxa )( ;

Стави }{ jSS kk ;

Чекор 4. kk SS 1 ; 1 kk , оди на чекор 2.

Следно, ќе направиме анализа на Алгоритмот 3.1. Од Алгоритмот 3.1

знаеме дека сите итерации се допустливи т.е

kXxk ,

и имаме намалување на функцијата на целта во секој чекор т.е

kxQxQ kk ,)()( 1

Понатаму, сѐ додека, 0kd (т.е kx не е ККТ точка за (3.56а)-(3.56б)) и

0k , имаме

)()( 1 kk xQxQ

Ако Алгоритмот завршува во конечен број на чекори, добиената точка е

ККТ точка за оригиналната задача (3.1a)-(3.1в).

Нека Алгоритмот не завршува во конечен број на чекори; бидејќи имаме

конечен број на ограничувања, не е можно да се добие бесконечно

Page 102: Magisterska FINAL

102 Квадратно програмирање

растење на бројот на елементите во kS , без да се редуцира. Па, постојат

бесконечно многу индекси k такви што 0kd . Ова следува од

Алгоритмот од тоа што постојат бесконечно многу индекси k такви што kx

е ККТ точка за (3.56а)-(3.56б). Бидејќи бројот на ограничувања е конечен,

kS има конечен број на различни комбинации, па низата од вредности на

функцијата на целта )}({ kxQ има конечно многу елементи. Оттука, мора

да постои доволно голем 0k таков што

01 ,)()( kkxQxQ kk

Тогаш за сите 0kk , едниот од двата услови

0k (3.60)

или

0kd (3.61)

сигурно важи. Бидејќи бројот на ограничувањата е конечен, невозможно е

алгоритмот да ги зголемува ограничувањата во kS , без притоа да врши

редукција на тие ограничувања од kS . Оттука мора да постојат бесконечно

многу индекси k такви што

0kd

и бесконечно многу индекси k такви што

0kd

Page 103: Magisterska FINAL

103 Квадратно програмирање

Па, постојат 012 kkk такви што

0,021 kk dd (3.62)

21,0 kkkdk (3.63)

и

112 kk (3.64)

Лема 4.4.3. Нека 0k е индекс за кој важи

01 ,)()( kkxQxQ kk .

Ако условот 012 kkk ги задоволува (3.62)-(3.64), тогаш

12 kk SS

Доказ. Од (3.62) имаме дека постојат )( 1k

i такви што

1

1)(

kSi

k

iiaxGg (3.65)

каде 0kxx . Од (3.60)-(4.61), следува дека 0, kkxxk .

Бидејќи 0,0 11 11 kkd , мора да важи

11 kSj (3.66)

така што 21 kSj ,

)(xIj

Page 104: Magisterska FINAL

104 Квадратно програмирање

и

011k

T

j da (3.67)

Бидејќи kd е решение на подзадачата (3.54б)-(3.55а) т.е kd е опаѓачки

правец на функцијата на целта, тогаш

0)( 11 k

T dxGg (3.68)

Со искористување на (3.65),(3.68) и }{\111 1 kkk iSS , добиваме

01

)(

11

1

1

k

T

i

k

i dakk

(3.69)

што значи дека,

0111

k

T

i dak

од дефиницијата на }{ ki . Ако ги споредиме (3.67)-(3.69) имаме 1k

ij .

Па така, од (3.66) следува дека 1k

Sj . Од друга страна, 21 2 kk SSj .

Оттука следува 12 kk SS .

Конечно, ја добиваме теоремата која го дава резултатот за конвергенција

на методите на активно множество.

Теорема 3.8. Ако за сите k , ))(( ki xIEia се линеарно независни,

тогаш имаме дека, или низата генерирана од Алгоритмот 3.1

конвергира до ККТ точка на задачата (3.1а)-(3.1в) во конечен број

итерации, или, пак, оригиналната задача (3.1а)-(3.1в) е неограничена од

долу.

Page 105: Magisterska FINAL

105 Квадратно програмирање

Доказ. Нека задачата (3.1a)-(3.1в) е ограничена од долу, тогаш низата

}{ kx е ограничена.

Ако решението на подзадачата (3.54а)-(3.54б) е 0kd , тогаш kx е ККТ

точка за (3.56а)-(3.56б) за актуелното работно множество kS .

Ако ISi k

k

i ,0)( , тогаш kx е ККТ точка за оригиналната задача

(3.1a)-(3.1в). Во спротивно, ќе постои )(,0)( ISi kk

k

ik за кој

наоѓаме допустлив опаѓачки правец kd таков што

kkk

T

j ijSjda ,,0 (3.70)

0k

T

i dak

и

0)())(()( )()()( k

ik

T

ii

Tk

k

T

ik

T

k

Tk

k

T

k kkkkdaedadAdg

Ако го замениме (3.70) во ограничувањата во (3.54б) т.е ако ставиме

}{\ kkk iSS , новодобиената QP задача ќе има допустлив опаѓачки

правец. Бидејќи 0k имаме

)()( 1 kk xQxQ

а со тоа, конечност на ограничувањата, алгоритмот никогаш нема да се

врати до актуелното работно множество kS , па низата }{ kx е конечна.

Page 106: Magisterska FINAL

106 Квадратно програмирање

Ако 0kd и 1k , тогаш kk SS 1 и подзадачата (3.54а)-(3.54б) е

непроменлива за 1kx , па така, 1kx е решение на (3.49а)-(3.49б).

Само ако 0kd и 1k , 1kx не е решение на (3.49а)-(3.49б). Во тој

случај од (4.55б) и Чекор 3 од Алгоритам 3.1, знаеме дека постои индекс

kSj , таков што j -тото ограничување е допустливо. Па, додаваме

ограничување во 1kS . Ако ја повторуваме оваа постапка, тогаш после

најмногу n итерации, работното множество kS ќе содржи n индекси, што

одговараат на n линеарно независни вектори, па од (3.55а) ќе следува

дека 0kd . Така, процедурата продолжува најмногу n -пати. Па, ќе

постои ККТ точка kx за подзадачата (3.56а)-(3.56б) во најмногу n

итерации.

Заради претходнава дискусија, добиваме дека алгоритмот ќе конвергира

во конечен број на итерации до ККТ точка на задачата (3.1a)-(3.1в).

Со модификација на алгоритмот, методот за активно множество за

конвексната QP задача, го обопштуваме и за недефинитниот случај во кој

Хесијановата матрица G има негативни сопствени вредности. Во делот

§3.3 видовме дека ако G во множеството kS е недефинитна, тогаш

задачата (3.54а)-(3.54б) може да биде неограничена. Избираме правец kd

таков што )(0 kk

T

i Sida , па, или

0k

T

k Gdd

или, пак,

Page 107: Magisterska FINAL

107 Квадратно програмирање

0,0)( k

T

kk

T

k GdddxQ

каде kk xGgxQ )( . Ако за сите 0, k

T

ik daSi , тогаш

оригиналната задача (3.1a)-(3.1в) е неограничена од долу. Во спротивно,

можеме да најдеме kSi и 0k

T

i da . Тогаш, кога 0k е доволно

големо, kk dx не е допустлива точка за (3.1a)-(3.1в). Во овој случај го

земаме k доволно голем и правиме, на тој начин, да kkk dx биде

допустлива точка.

3.5 Дуален метод

За задачата од конвексното квадратно програмирање

Gxxxg TT

Rx n 2

1min

(3.71а)

со ограничувања Eibxa i

T

i , (3.71б)

Iibxa i

T

i , (3.71в)

каде G е симетрична и позитивно полудефинитна, од делот §3.2 знаеме

дека нејзината дуална задача е

)(2

1)(min 11 AGAgGAb TTTT

Rm

(3.72а)

со ограничувања Iii ,0 (3.72б)

Page 108: Magisterska FINAL

108 Квадратно програмирање

Во продолжение ќе го воведеме методот на активно множество за

задачата (3.72а)-(3.72б). Равенствено ограничената подзадача која ќе ја

решаваме во секоја итерација е

)(2

1)(min 11 AGAgGAb TTTT

Rm

(3.73а)

со ограничувања ki Si ,0 (3.73б)

каде ISk е работното множество за дуалната задача (3.72а)-(3.72б).

Нека k е ККТ точка за подзадачата (3.73а)-(3.73б). Ставаме

)(1

kk AgGx

потоа

kk AgxG

и од

kik

TT SiAGAgGAb ,0)( 11

имаме

kik

T SibxA ,0)(

Оттука добиваме дека kx е ККТ точка за подзадачата

Gxxxg TT

Rx n 2

1min

(3.74а)

со ограничувања ki

T

i Sibxa , (3.74б)

Page 109: Magisterska FINAL

109 Квадратно програмирање

Ставаме kk SEIS \ . Очигледно е дека (3.74а)-(3.74б) е исто како

(3.26)-(3.27а). Не е тешко да забележиме дека за Лагранжовите

множители на дуалната задача (3.73а)-(3.73б) е исполнето:

kik

T

iik

T

i

T

k

T SibxabxAgGAbAGA ,)()( 11

Сакаме k да биде допустлива точка на (3.72а)-(3.72б). Ако Лагранжовиот

множител на дуалната задача (3.73а)-(3.73б) е ненегативен, тогаш kx е

ККТ точка на оригиналната задача (3.71а)-(3.71в). Нека kA е матрица со

колони )( ki Sia , k е вектор составен од компонентите на k , кои

одговараат на kSi . Бидејќи

kik

TT SiAGAgGAb ,0)( 11

(3.75а)

следува дека

kkk

T

i

T

ii SiAGagGab ,011

т.е

011)(

kk

T

k

T

k

k AGAgGAb (3.75б)

каде )(kb е составена од компонентите на b што одговараат на kSi .

Тогаш (3.75б) ни дава дека

][)( 1)(11 gGAbAGA T

k

k

k

T

kk

(3.76)

Кога не сите Лагранжови множители во изразот (3.75а) се ненегативни,

според методот на активно множество, го исфрламе индексот kk Si и го

Page 110: Magisterska FINAL

110 Квадратно програмирање

додаваме ki во kS . Заради погодност во означувањето, ставаме ki да

биде p . Потоа имаме, }{1 pSS kk . Нека

k

kk

k

01

Од (3.76) следува дека

k

T

ppk

k

p

T

pk

T

p

p

T

kk

T

k

xabaGaAGa

aGAAGA 011

11

што ни дава дека

1

)(

0

111

1

p

T

kk

T

k

k

k

k

aGAAGA

(3.77)

p

T

kk

T

kkkk

k

kkkk

aGAAGAAIGx

AGxx

))((

0

1111

11

1

1

Нека

111* )( GAAGAA T

kk

T

kk

pkk aAy * (3.78)

Бидејќи 1k треба да го задоволува 01 k , од (3.77) и (3.78) следува

jk

jk

ySj

ky

jk

k )(

)(min0

0)(

Page 111: Magisterska FINAL

111 Квадратно програмирање

Ако

0)( *1

pkk aAAIG

и 0ky , тогаш

01

)(1 1

1

1

k

k

T

k

T

k

yAGAy

и

0)(1 1

1

)1(

k

T

pp

T

k

kT

k xabgGAby

што ни кажува дека дуалната задача (3.73а)-(3.73б) не е ограничена. Па, од

теоријата на дуалност знаеме дека оригиналната задача (3.71а)-(3.71в)

нема допустливи точки.

Алгоритам 3.2. (Дуален метод)

Чекор 1. .0,,1;,2

1, 1111

1

1 qkSxgfgGx T

Чекор 2. Пресметај mixabr k

T

iii ,...,1, .

Ако 0ir , запри.

Избери го p таков што imi

p rr

1max ;

;0

k

k

Чекор 3. .;)(ˆ **1

pkkpkkpkk aAyaAAIGaGd

Page 112: Magisterska FINAL

112 Квадратно програмирање

Ако kjk Sjyj ,0)(| е непразно множество,

стави

;)(

)(

)(

)(min

0)(lk

lk

jk

jk

Sj

yk

yyk

jk

инаку стави k .

Чекор 4. Ако 0kd , оди на чекор 5.

Ако k , запри (задачата нема допустлива точка)

;1;}{\ qqlSS kk

;1

k

kkk

y

Модифицирај ги *

kA и kG ; врати се на чекор 3.

Чекор 5. ;/)(ˆk

T

pk

T

pp daxab

};ˆ,min{ kk

;1 kkkk dxx

;)(2

1111

qkkk

T

pkkk daff

;1

1

k

kkk

y

Page 113: Magisterska FINAL

113 Квадратно програмирање

Чекор 6. Ако ˆk , оди на чекор 7.

;1;}{1 qqpSS kk

Пресметај 1ˆ

kG и *

1kA , 1 kk ; и врати се на чекор 2.

Чекор 7. ;1;}{\1 qqlSS kk

Избриши ја l -тата компонента од k и добиј го новиот k ;

Пресметај kG и *

kA , и врати се на чекор 3.

Во повеќето конкретни пресметки се предлага да се користи

факторизација на Холецки на G

TLLG

а потоа примена на QR декомпозиција на kAL 1, т.е

0

1 k

kk

RQAL .

Овој пристап ни овозможува подобра нумеричка стабилност преку

директна употреба на 1G . Наместо тоа Powel [18] препорачува да се

користи

00

)2()1( k

kk

k

kk

RQQ

RQA

и потоа преку инверзна факторизација на Холецки за )2()2( ][ k

T

k QGQ т.е

Page 114: Magisterska FINAL

114 Квадратно програмирање

)2()2( ][ k

T

k

T

kk QGQUU

каде kU е горно-триаголна матрица. Во алгоритмот на Powel[18], во

секоја итерација се врши ажурирање на )1(

kQ ,kR и

kU .

3.6 Примарно-дуални методи на внатрешна

точка

Примарно-дуалните методи за внатрешна точка за линеарното

програмирање можат директно да се применат во конвексното квадратно

програмирање преку едноставна екстензија на методот. Најнапред, ќе го

прикажаме овој метод за линеарното програмирање.

Да ја разгледаме задачата од линеарно програмирање во

стандардна форма:

xcT

Rx nmin (3.79)

со ограничувања bAx

0x

каде c и x се вектори во nR , b е вектор во mR и A е nm матрица.

Дуалната задача на задачата (3.79) е

T

Rb

mmax (3.80)

со ограничувања csAT

0s

Page 115: Magisterska FINAL

115 Квадратно програмирање

каде е вектор во mR и s е вектор во nR . Примарно-дуалното решение

на (3.79) и (3.80) се карактеризира преку Каруш-Кун-Такеровите (ККТ)

условите:

csAT (3.81а)

bAx (3.81б)

nisx ii ,...,1,0 (3.81в)

0),( sx (3.81г)

каде векторите и s се Лагранжовите множители за ограничувањата

bAx и 0x , соодветно.

Примарно-дуалните методи на внатрешна точка наоѓаат примарно-дуално

решение ),,( *** sx од ККТ системот преку примена на варијанти на

Њутновите методи на трите равенствени ограничувања (3.81а)-(3.81в) во

овој систем и преку модификација на правците на пребарување и

должината на чекорот така што неравенствата 0),( sx да бидат

задаволени во строга форма во секоја итерација.

За да ги изведеме примарно-дуалните методи на внатрешна точка ќе ги

презапишеме ККТ условите (3.81а)-(3.81г) во поинаква форма преку

пресликувањето mnmn RRF 22: :

0),,(

XSe

bAx

csA

sxF

T

(3.82)

0),( sx (3.83)

каде ),...,,( 21 nxxxdiagX , ),...,,( 21 nsssdiagS и Te )1,...,1,1( ,

каде )(Adiag е дијагоналата на квадратната матрица A .

Примарно-дуалните методи на внатрешна точка генерираат итерации

),,( kkk sx кои го задоволуваат условот (3.83) во строга форма, т.е

Page 116: Magisterska FINAL

116 Квадратно програмирање

0),( sx т.е 0kx и 0ks . Од ова својство се доаѓа до самото име

внатрешна точка кај овој метод. Врз основа на ова својство кога ќе

добиваме решенија кои ќе ја задоволуваат равенката 0),,( sxF , но не

и 0),( sx , истите ќе ги одбегнуваме.

Њутновиот метод формира линеарен модел на F околу актуелната точка

и го добива правецот на пребарување ),,( sx преку решавање на

следниот систем линеарни равенки

),,(),,( sxF

s

x

sxJ

каде

n

m

m

m

n

x

F

x

F

x

F

x

F

J

1

1

1

е Јакобијанот на . Ако актуелната точка е

строго допустлива, равенките за Њутнов чекор добиваат форма:

XSes

x

XS

A

IAT

0

0

0

00

0

(3.84)

Забележуваме дека полниот чекор долж овој правец често е недозволив,

бидејќи ќе го нарушува условот 0),( sx . За да го избегнеме ова,

користиме линиско пребарување долж Њутновиот правец, па новата

итерација ќе ја има следната форма:

),,(),,( sxsx

за некој параметар од линиското пребарување ]1,0( .

Во продолжение ќе го воведеме поимот за централен пат, кој претставува

клучен поим кој ќе ја модифицира основната Њутнова процедура.

F

Page 117: Magisterska FINAL

117 Квадратно програмирање

3.6.1 Централен пат

Централен пат C претставува лак од строго допустливи точки кој играат

многу важна улога во примарно-дуалните алгоритми. Повторно предмет

на разгледување е задачата на линеарно програмирање (3.79).

Цртеж 3.1. Централен пат C

Тој е параметризиран од скалар 0 и секоја точка Csx ),,( е

решение на следниот систем

csAT (3.85а)

bAx (3.85б)

nisx ii ,...,2,1, (3.85в)

0),( sx (3.85г)

Овие услови се разликуваат од ККТ условите единствено во изразот на

десната страна од (3.85в). Наместо комплементарноста од (3.81в) тука

имаме дека производот по координати iisx има иста вредност за секој

индекс i . Од (3.85а)-(3.85г) го дефинираме централниот пат како:

0|),,( sxC

Page 118: Magisterska FINAL

118 Квадратно програмирање

Се покажува дека ),,( sx е дефиниран на единствен начин за секој

0 ако и само ако строго допустливото множество 0F дефинирано со:

0F 0),(,,|),,(0 sxcsAbAxsxF T

е непразно. Оттука централниот пат C е добро дефиниран.

Друг начин да се дефинира C е преку пресликувањето F дефинирано со

(3.82), па запишуваме:

0),(,0

0

),,(

sx

e

sxF (3.86)

Равенките (4.85а)-(4.85г) ги апроксимираат (4.81а)-(4.82) се подобро како

што се стреми кон 0. Ако C конвергира кон нешто кога се

приближува кон 0, мора да имаме конвергирање кон примарно-дуалното

решение на линеарната задача. Примарно-дуалните алгоритми го земаат

Њутновиот чекор кон точките од C за кои 0 , наместо Њутновиот

чекор за F . Бидејќи овие чекори се пристрасни кон внатрешноста на

ненегативниот октант дефиниран со 0),( sx , често земаме подолги

чекори кон внатрешноста уште пред да биде нарушен условот за

позитивност. За да го објаснеме овој пристрасен правец на пребарување,

воведуваме центрирачки параметар ]1,0[ и мера на дуалност

дефинирана со:

n

sxsx

n

Tn

i

ii 1

1

што ја мери просечната вредност на покоординатниот производ iisx . Ако

ставиме и го примениме Њутновиот метод на системот (3.86),

добиваме

Page 119: Magisterska FINAL

119 Квадратно програмирање

eXSes

x

XS

A

IAT

0

0

0

00

0

(3.87)

Чекорот ),,( sx е Њутнов чекор према точката Csx ),,( , за

кој сите покоординатни производи iisx се еднакви на . За разлика од

ова, чекорот (3.84) се добива директно за точката во која ККТ условите

(3.81а)-(3.82) се исполнети.

Ако 1 , равенките (3.87) дефинираат центрирачки правец т.е Њутнов

чекор према точката Csx ),,( .

Ако 0 , (3.87) ни го дава стандардниот Њутнов чекор.

Во продолжение ќе го приложиме генералниот примарно-дуален

алгоритам на внатрешна точка.

Алгоритам 3.3 (Примарно-дуален алгоритам на внатрешна точка)

Дадено е 0000 ),,( Fsx 0F

За ,...2,1,0k

реши го системот

eeSXs

x

XS

A

IA

kk

kkk

k

k

kk

T

0

0

0

00

0

каде ]1,0[k и ;/)( nsx kTk

k

стави ),,(),,(),,( 111 kkk

k

kkkkkk sxsxsx

за избран k таков што 0),( 11 kk sx .

крај(за)

Page 120: Magisterska FINAL

120 Квадратно програмирање

За повеќето задачи, да се најде строго допустлива почетна точка

),,( 000 sx е многу тешко. За недопустливите методи на внатрешна точка

потребно е само компонентите 0x и 0s да бидат строго позитивни. Ќе

направиме мали измени во равенката (3.87). Ако дефинираме резидуали

за двете линеарни равенки на следниот начин:

csArbAxr T

cb , ,

системот за пресметување на модифицираниот чекор е:

eXSe

r

r

s

x

XS

A

IA

b

c

T

0

00

0

(3.88)

3.6.2 Примарно-дуални методи на внатрешна точка за

конвексно квадратно програмирање

Сега, ќе се навратиме на конвексното квадратно програмирање. Ја

разгледуваме задачата на конвексното квадратно програмирање со

неравенствени ограничувања:

GxGxxxQ TT 2

1)(min (3.89а)

со ограничувања bAx (3.89б)

каде nmmn RARbRg ,, и nnRG е симетрична и позитивно

полудефинитна матрица. ККТ условите за (3.89а)-(3.89б) ќе и искажеме на

следниот начин: Ако *x е решение за (3.89а)-(3.89б), тогаш постои вектор

на Лагранжови множители * таков што важат следните услови за

),(),( ** xx :

Page 121: Magisterska FINAL

121 Квадратно програмирање

0 gAGx T (3.90а)

0bAx (3.90б)

mibAx ii ,...,2,1,0)( (3.90в)

0 (3.90г)

Ако го воведиме векторот bAxy , добиваме:

0 gAGx T (3.91а)

0 byAx (3.91б)

miy ii ,...,2,1,0 (3.91в)

0),( y (3.91г)

Како и во случајот на линеарно програмирање, и овде ККТ условите не се

потребни, но се доволни, бидејќи задачата (3.89а)-(3.89б) е задача од

конвексно програмирање. Оттука, можеме да ја решиме преку наоѓање на

решенија на системот (3.91а)-(3.91г). Ќе направиме модификации на

Њутновиот метод на овој систем. Може да дефинираме

0),(,),,(

y

eY

byAx

gAGx

sxF

T

каде

),...,,( 21 myyydiagY , ),...,,( 21 mdiag , Te )1,...,1,1(

За дадена итерација ),,( sx која го исполнува условот 0),( y ,

дефинираме мера на дуалност со

m

i

T

iim

yy

m 1

1

Page 122: Magisterska FINAL

122

Централниот пат C е множество од точки )0(),,( yx кое го

задоволува следното:

0),(,0

0

),,(

y

e

yxF

Чекорот ),,( yx е Њутнов тип на чекор према точката ),,( yx

од централниот пат. Како што се гледа од (3.88), чекорот го задоволува

следниот систем

eSe

r

r

y

x

Y

IA

AG

b

g

T

0

0

0

каде

byAxrgAGxr b

T

g ,

Па, наредната итерација ја добиваме на следниот начин

),,(),,(),,( yxyxyx

каде е избрана така што 0),( y .

Подетално излагање на примарно-дуални методи на внатрешна точка за

конвексно квадратно програмирање види Wright[22].

Page 123: Magisterska FINAL

123 Глава 4

Глава 4

Секвенцијално квадратно

програмирање (SQP)

Едни од најефективните методи на нелинеарна условна оптимизација се

оние кои решаваат квадратни подзадачи познати под името методи на

секвенцијално квадратно програмирање (SQP). SQP пристапот се користи

и при решавање на едноставни или посложени задачи со методи на

линиско пребарување или со методи на област на доверба.

Во оваа глава ќе го изведеме SQP методот во два чекори. Прво, ќе

презентираме локален алгоритам кој ќе биде мотивација за SQP методот и

ќе ни овозможи пресметка на чекор и пресметување на апроксимација на

Хесијанот преку едноставни техники. Потоа, ќе ги разгледаме практичните

методи на линиски пребарувања и методите на област на доверба кои

постигнуваат конвергенција од точка далеку од почетната точка.

4.1 Локален SQP метод

Нека е дадена задачата на нелинеарно програмирање со равенствени

ограничувања

)(min xf (4.1а)

со ограничувања 0)( xc (4.1б)

каде RRf n : и mn RRc : се глатки функции. Задачите содржат

само равенствени ограничувања не се често застапени во пракса, но мора

Page 124: Magisterska FINAL

124 Секвенцијално квадратно програмирање (SQP)

да се разбере суштината на (4.1), која е многу важна при дизајнот на SQP

методите за задачи со општи ограничувања.

Главната идеја на SQP е да се моделира (4.1) во тековната итерација kx

преку подзадача од квадратното програмирање, па минимумот на таа

подзадача, да го искористиме за да дефинираме нова итерација 1kx .

Предизвикот е да се дизајнира квадратна подзадача на тој начин да

произведе добар чекор за основната задача од условна оптимизација така

да SQP алгоритмот да има добри практични перформанси. Најверојатно,

наједноставното изведување на SQP методот, што сега ќе го претставиме,

е преку примената на Њутновиот метод на ККТ условите за оптималност

на (4.1).

Од делот §2.6 од Глава 2 знаеме дека Лагранжовата функција за оваа

задача е )()(),( xcxfxL T . Со )(xA , ќе ја означуваме

Јакобијановата матрица од ограничувањата т.е

)(,...,)(),()( 21 xcxcxcxA m

T (4.2)

каде )(xci е i -тата компонента од векторот )(xc .

Со вметнување на ККТ условите од прв ред во задачата со равенствени

ограничувања, добиваме систем од mn равенки со mn непознати x

и :

0)(

)()(),(

xc

xAxfxF

T (4.3)

Ако )( *

* xAA има целосен ранг, тогаш секое решение ),( ** x на

задачата со равенствени ограничувања (4.1) го задоволува (4.3).

Еден од препорачливите пристапи е да се решат нелинеарните равенки

(4.3) преку користење на Њутновиот метод (види Chapter 11

Nocedal&Wright[15]).

Јакобијанот на (4.3) е даден преку

Page 125: Magisterska FINAL

125 Секвенцијално квадратно програмирање (SQP)

0)(

)(),(

xA

xAxW T (4.4)

каде W го означува Хесијанот на Лагранжовата функција

),(),( 2 xLxW xx (4.5)

Њутновиот чекор од итерацијата ( kkx , ) е даден со:

p

pxxk

k

k

k

k

1

1, (4.6)

каде kp и

p се решенија на ККТ системот

k

k

T

kkk

k

T

kk

c

Af

p

p

A

AW

0 (4.7)

каде )( kk xAA и ),( kkk xWW .

Оваа итерација, која е позната под името Њутн-Лагранжов метод е

добро дефинирана, кога ККТ матрицата е несингуларна.

Од Глава 3 видовме дека несингуларноста е последица на следните

услови во продолжение.

Претпоставка 4.1.

а) Јакобијанот kA од ограничувањата има целосен ранг по редици.

б) Матрицата kW е позитивно дефинитна на тангентниот простор

од ограничувања т.е 0dWd k

T за сите 0d , такви што 0dAk

.

Првата претпоставка, всушност, е поврзана со линеарната независност на

вектор колоните на T

kxA )( .

Page 126: Magisterska FINAL

126 Секвенцијално квадратно програмирање (SQP)

Вториот услов е исполнет, кога ),( x е блиску до оптималното решение

),( ** x и доволните услови од втор ред се задоволени во решението.

Њутновите итерации (4.6) и (4.7) се покажува дека конвергираат

квадратно и под овие претпоставки се конструира алгоритам за решавање

на задачи со равенствени ограничувања кога почетната точка е доволно

блиску до ),( ** x .

4.1.1 SQP приказ за задача со равенствени

ограничувања

Постои алтернативен пат да ги видиме итерациите (4.6) и (4.7). Нека во

итерацијата ),( kkx ја дефинираме следната квадратна задача:

pfpWp T

kk

T

p

2

1min (4.8 а)

со ограничувања 0 kk cpA (4.8 б)

Ако важи Претпоставката 4.1 , тогаш, задачата има единствено решение

),( kkp за кое важи:

0 k

T

kkkk AfpW (4.9 а)

0 kkk cpA (4.9 б)

Главно што може да се забележи е дека kp и

k може да се најдат преку

решението на Њутновите равенки (4.7). Ако одземеме k

T

kA

од двете

страни на првата равенка во (4.7), добиваме:

k

k

k

k

k

T

kk

c

fp

A

AW

10 (4.10)

Page 127: Magisterska FINAL

127 Секвенцијално квадратно програмирање (SQP)

Оттука, од несингуларноста на матрицата од коефициенти, имаме дека

kpp и kk 1 .

Ќе ја разгледаме интересната врска т.е еквиваленцијата помеѓу SQP и

Њутновиот метод. Ако важи Претпоставка 4.1 во kx , тогаш новата

итерација ),( 11 kkx може да ја дефинираме или како решение на

квадратната програма (4.8) или како итерација генерирана од Њутновиот

метод (4.6),(4.7) применет на оптималните услови на задачата. Овие

алтернативни интерпретации се доста корисни. Њутновата гледна точка ја

олеснува анализата, додека, пак, SQP приказот ни овозможува да ги

изведеме практичните алгоритми и да ја прошириме техниката на случајот

со неравенствени ограничувања.

Во продолжение ќе го разгледаме SQP методот во наједноставна форма.

Алгоритам 4.1. (Локален SQP алгоритам)

Избери го почетниот пар ),( 00 x ;

за ,...2,1,0k

Пресметај ги kkkkkk cxWWff ,),(,, и kA ;

Реши ја задачата (4.8) за да ги најдеш kp и

k ;

kkkkk pxx 11 ; ;

ако важи тестот за конвергенција

запри со приближното решение ),( 11 kkx ;

крај (за)

Лесно се покажува локалната конвергенција на овој алгоритам, бидејќи

знаеме дека е еквивалентен со Њутновиот метод применет на

нелинеарниот систем 0),( xF .

Page 128: Magisterska FINAL

128 Секвенцијално квадратно програмирање (SQP)

Уште повеќе, ако важи Претпоставка 4.1 во решението ),( ** x на (4.1),

ако f и c се двапати диференцијабилни со Липшиц-непрекинати втори

изводи, и ако почетната точка ),( 00 x е доволно блиску до ),( ** x ,

тогаш итерациите генерирани од Алгоритам 4.1 конвергираат квадратно

кон ),( ** x .

Треба да се напомене дека во запишувањето на функцијата на целта (4.8а)

на квадратната програма, можеме да го замениме линеарниот израз

pf T

k со pxL T

kkx ),( , бидејќи ограничувањето (4.8б) ги прави овие

два избори еквивалентни. Во овој случај (4.8а) е квадратна апроксимација

на Лагранжовата функција и ова се однесува како алтернативна

мотивација на SQP методот. Ќе ја замениме нелинеарната програма (4.1)

со задачата на минимизација на Лагранжовата функција базирана на

равенствените ограничувања (4.1б). Ако направиме квадратна

апроксимација на Лагранжовата функција и линеарна апроксимација на

ограничувањата, тогаш го добиваме (4.8).

4.1.2 SQP приказ за задача со неравенствени

ограничувања

SQP приказот може многу лесно да се прошири на генералната задача на

нелинеарното програмирање

)(min xf (4.11а)

со ограничувања Eixci ,0)( (4.11б)

Iixci ,0)( (4.11в)

За да ја дефинираме подзадачата, ќе ги линеаризираме и равенствените и

неравенствените ограничувања, па се добива:

Page 129: Magisterska FINAL

129 Секвенцијално квадратно програмирање (SQP)

pfpWp T

kk

T 2

1min (4.12а)

со ограничувања Eixcpxc ki

T

ki ,0)()( (4.12б)

Iixcpxc ki

T

ki ,0)()( (4.12в)

Потоа може да искористиме еден од алгоритмите од квадратното

програмирање, опишани во Глава 3, за да ја решиме оваа задача.

Локалниот SQP алгоритам за (4.11) се добива од Алгоритам 4.1 опишан

погоре, со една модификација: Чекорот kp и новиот кандидат за

множител 1k , се дефинирани како решението и соодветниот Лагранжов

множител на (4.12). Следниот резултат ни покажува дека овој пристап се

идентификува со задача на активно множество со неравенствени

ограничувања. Велиме дека ќе биде исполнет условот за строга

комплементарност во решението ),( ** x ако не постои индекс Ii

таков што 0)( ** xcii .

Теорема 4.1. Нека *x е оптимална точка за (4.11). Претпоставуваме

дека Јакобијанот *A на активните ограничувања во *x има целосен

ранг по редици, па 0* dWd T , за сите 0d , такви што 0* dA ,

каде ),( **

* xWW и исполнет е условот на строга

комплементарност.

Тогаш, ако ),( kkx е доволно блиску до ),( ** x , постои локално

решение на подзадачата (4.12), во која активното множество kA

е

исто како активното множество )( *xA на нелинеарната програма

(4.11) во *x .

Со IQP ќе означуваме задача на квадратно програмирање со

неравенствени ограничувања, а додека, пак, со ЕQP, QP задача со

равенствени ограничувања.

Page 130: Magisterska FINAL

130 Секвенцијално квадратно програмирање (SQP)

4.1.3 IQP v.s EQP

Постојат два начини на имплементација на SQP методот за решавање на

генералната задача на нелинеарното програмирање (4.11). Првиот

пристап, во секоја итерација ја решава квадратната подзадача (4.12),

земајќи го активното множество во решението на подзадачата како

кандидат за оптимално. Овој пристап е наведен како IQP пристап, кој е

докажан како доста успешен во пракса. Главниот недостаток на овој

пристап е тоа што, како што генералната QP задача (4.12) станува

поголема и покомплицирана, така овој метод станува поскап

пресметковно. Како што итерациите на ЅQP методот конвергираат кон

решението, сепак, решавањето на квадратната задача станува многу

поекономично, доколку пренесуваме информации од претходната

итерација, со цел, да направиме погодно оптимално решение на

актуелната подзадача. Оваа таканаречена “hot start“ стратегија ќе ја

опишеме покасно.

Вториот пристап врши селектирање на подмножество од ограничувања и

овозможува во секоја итерација тоа да биде работно множество, и ги

решава само подзадачите со равенствени ограничувања од облик (4.8),

каде ограничувањата во работните множества се дадени како равенства, а

сите други ограничувања се игнорираат. Работното множество се ажурира

во секоја итерација преку правилото базирано на оценка на Лагранжовиот

множител, или преку решавање на помошната подзадача. Овој ЕQP

пристап има предност во тоа што равенствено ограничените квадратни

подзадачи се со помали пресметковни трошоци при решавањето на (4.12)

и бараат помалку софистициран софтвер.

Пример за ЕQP метод, е методот на проекција на градиентот (види

Chapter 16 во Nocedal&Wright[15]). Во овој метод, работното множество е

детерминирано преку минимизација на квадратниот модел, долж

патеката добиена со проектирање на правецот на најбрзо спуштање на

допустливата област. Друга варијанта на ЕQP методот се добива со

користење на методот на последователно линеарно програмирање. Овој

пристап се базира на линеарна програма добиена со отфрлање на

квадратниот израз pWp k

T од (4.12а), применувајќи го ограничувањето

Page 131: Magisterska FINAL

131 Секвенцијално квадратно програмирање (SQP)

kp од методите на област на доверба (види Chapter 4 во

Nocedal&Wright[15]) на чекорот p и земајќи за активно множество на

оваа подзадача да биде работното множество за тековната итерација.

Потоа се врши фиксирање на ограничувањата во работното множество и

се решава квадратна програма со равенствени ограничувања (со вклучен

израз pWp k

T) за да се добие чекорот.

4.2 Пресметување на чекорот

4.2.1 Задача со равенствени ограничувања

На почеток, ќе ја разгледаме квадратната програма со равенствени

ограничувања (4.8). Досега работевме под претпоставка дека Хесијанот на

овој модел е дефиниран преку Хесијанот на Лагранжовата функција

),( kkxxk xLW како во (4.5). Во продолжение оваа матрица ќе ја

замениме со квази-Њутновата апроксимација kB (види Chapter 8 во

Nocedal&Wright[15]), но дискусијата во овој дел е независна од изборот.

Ако важи Претпоставката 4.1 , решението на (4.8) ќе биде дадено преку

ККТ системот (4.10). Во Глава 3 опишавме повеќе техники за решавање на

овој систем. Ќе ги прегледаме овие техники уште еднаш тука, со тоа што ќе

добиеме неколку поедноставувања, знаејќи дека системот е изведен од

ЅQP подзадачата, наместо од општата QP задача.

Директно решавање на ККТ системот

Првата алтернатива е да се реши целиот )()( mnmn ККТ систем

(4.10) преку симетрична недефинитна факторизација. Во овој пристап, ККТ

матрицата е факторизирана како TLDL , каде D е дијагонална матрица

со блокови со големини 11 или 22 , а L е долно-триаголна матрица.

Овој пристап е познато под името пристап на проширен систем. Тој

Page 132: Magisterska FINAL

132 Секвенцијално квадратно програмирање (SQP)

директно ни ги овозможува чекорот kp во примарните променливи и

новиот кандидат 1k за Лагранжовиот множител.

ККТ системот (4.10) може да биде решен и преку други итеративни методи

како QMR и LSQR итерациите (види Chapter 16 во Nocedal&Wright[15]).

Раното прекинување на итерацијата е осетливо прашање, бидејќи

добиениот правец на пребарување нема да води кон минимумот. Заради

оваа потешкотија, методите за директно решавање на ККТ системите не се

користат при практична имплементација на ЅQP методот. Проблемот на

услов за запирање е сеуште предмет на истражување.

Дуален пристап

Ако kW е позитивно дефинитна, ККТ системот (4.10) можеме да го

раздвоиме и еден по друг да ги решиме следните два системи за да ги

добиеме kp и 1k :

kkkkk

T

kkk cfWAAWA

1

1

1 (4.13а)

1 k

T

kkkk AfpW (4.13б)

Овој пристап е ефикасен за квази-Њутновите методи кои експлицитно ја

одржуваат позитивната дефинитност на апроксимациите kH на матрицата

1

kW . Ако го користиме директниот метод за решавање на (4.13а),

едноставно го формираме производот T

kkk AWA 1 секогаш кога

1

kW е

ажурирана. Ако, пак, го користиме методот на конјугиран градиент,

експлицитната слобода за 1

kW ни дава можност за лесно пресметување

на производот T

kkk AWA 1.

Page 133: Magisterska FINAL

133 Секвенцијално квадратно програмирање (SQP)

Метод на нулти простор (јадро)

Пристапот со нулти простор е суштината на повеќето ЅQP методи. Овој

пристап бара познавање на матриците kY и

kZ кои ги покриваат целиот

ранг на просторот TA и нултиот простор наkA , соодветно.

Ставаме,

ZkYkk pZpYp

и го заменуваме во (4.10) и го решаваме следниот систем за да ги

добиеме Yp и Zp :

kYkk cpYA (4.14а)

T

k

T

kYkk

T

kZkk

T

k fZpYWZpZWZ (4.14б)

Лагранжовите множители 1k , кои ќе ги нарекуваме QP множители од

причина што ќе стане јасна покасно, се добиваат со решавање на:

)(1 kkk

T

kk

T

kk pWfYYA (4.15)

Единствената претпоставка што ја правиме за kW е дека редуцираниот

Хесијан kk

T

k ZWZ е позитивно дефинитен. Види во Глава 3 за деталите на

овој метод на нулти простор, односно делот каде е опишан обопштениот

метод на елиминации во делот §3.3.

Постојат неколку варијанти за пресметување на апроксимација на

основниот ККТ чекор kp . Првата варијанта е да се избрише изразот што

го вклучува kp од десната страна на (4.15), па да се раздвојат пресметките

на kp и 1k . Ова поедноставување може да се оправда, ако замислиме

дека kp конвергира кон 0 како што се приближува до решението, а

kf

обично не. Оттука, новите множители ќе бидат добра оценка на QP

множителите во околина на решението. Ако се случи да избереме

Page 134: Magisterska FINAL

134 Секвенцијално квадратно програмирање (SQP)

T

kk AY (што е правилен избор за kY кога

kA има целосен ранг по

редици), добиваме:

kk

T

kkk fAAA

1

1 (4.16)

Овие множители се наречени множители на најмали квадрати кои исто

така, можат да се изведат со решавање на задачата

2

2min

T

kk Af (4.17)

Од оваа релација, јасно е дека множителите на најмали квадрати се доста

корисни и во случај кога тековната итерација е далеку од решението,

бидејќи се бара да бидат задоволени оптималните услови од прв ред во

(4.3) што е можно поблиску. Во пракса, пожелно е да се користат

најактуелните информации при пресметувањето на множителите на

најмали квадрати. Затоа, во Алгоритам 4.3 во делот §5.6, прво ќе го

пресметуваме чекорот kp со користење на (4.14) , ќе ги пресметуваме

градиентите на функциите и ограничувањата во новите точки 1kx и ќе ги

дефинираме k преку (4.16), но со изразот од десната страна пресметан

во точката 1kx .

Концептуално, користењето на множителите на најмали квадрати, го

трансформираат ЅQP методот од итерација во точките x и во

едноставна примарна итерација само по променливата x .

Втората класа на варијанти, познати под името методи на редуциран

Хесијан одат чекор напред и го бришат изразот Ykk

T

k pYWZ од (4.14б), на

тој начин што го добиваат системот

k

T

kZkk

T

k fZpZWZ )( (4.18)

Оваа варијанта има предност заради тоа што потребно е да ја зачувува и

факторизира само матрицата kk

T

k ZWZ , а не и матрицата kk

T

k YWZ .

Подоцна ќе покажеме дека отфрлањето на изразот kkk

T

k pYWZ е

Page 135: Magisterska FINAL

135 Секвенцијално квадратно програмирање (SQP)

оправдано, бидејќи нормалната компонента Yp обично конвергира кон 0

побрзо отколку тангенцијалната компонента Zp , на тој начин што (4.18) го

прават да биде добра апроксимација на (4.14б).

4.2.2 Задача со неравенствени ограничувања

Правецот на пребарување во ЅQP методите на линиско пребарување за

задача со неравенствени ограничувања, се добива со решавање на

подзадачата (4.12). Тоа може да го направиме со Алгоритмот 3.1 за

методот на активно множество за квадратното програмирање. Ако kW не

е позитивно полудефинитна, тогаш треба да воведеме варијација за

недефинитната фаза, која ќе ја опишеме во овој дел.

Можеме да направиме значителни заштеди при решавањето на

квадратната подзадача преку таканаречените “hot start“ стратегии.

Специјално, може да се земе решението p~ од претходната квадратна

подзадача како почетна точка во тековната подзадача. Исто така, можеме

да го иницијализираме работното множество, за секоја QP подзадача да

биде крајното активно множество од претходната ЅQP итерација. Покрај

тоа, може да се случи – особено при задачи кои содржат само линеарни

ограничувања - да ги земеме истите или да ги ажурираме факторизациите

од матриците од претходната итерација. Овие “hot start“ процедури се од

особена важност за ефикасноста на ЅQP методите на линиско

пребарување. Чест недостаток што се јавува кај ЅQP методите на линиско

пребарување е што линеаризациите (4.12б) и (4.12в) на нелинеарните

ограничувања може да не доведат до недопустливи подзадачи. На

пример, во случај 1n и ако ограничувањата се 1x и 02 x , кога ги

линеаризираме овие ограничувања во 3kx се добиваат неравенствата

13 p и 069 p

кои се противречни.

Page 136: Magisterska FINAL

136 Секвенцијално квадратно програмирање (SQP)

За да се ослободиме од овој недостаток, дефинираме релаксација на ЅQP

подзадачата која гарантирано ќе биде допустлива.

Во повеќето оптимизациони програмски пакети, прво, се пристапува кон

решавање на (4.12а)-(4.12в), но ако се добие дека квадратната програма е

недопустлива, се решава помошната задача

)()(min wvexf T (4.19а)

со ограничувања Eiwvxc iii ,0)( (4.19б)

Iiwvxc iii ,0)( (4.19в)

0v (4.19г)

Тука, претставува ненегативен казнен параметар и )1,...,1,1(Te . Ако

нелинеарната задача (4.11) има допустливо решение и е доволно

големо, решенијата на (4.11) и (4.19) се идентични. Во спротивно, ако

немаме допустливо решение за нелинеарната задача и ако е доволно

голем, тогаш помошната задача (4.19) обично ни дава „добра“

недопустлива точка. Во овие софтверски пакети обично се зема

)(100 sxf , што се покажало добар избор за практичните потреби.

Тука sx ја означува првата итерација во која се откриени противречни

линеаризирани ограничувања. Ако се доби дека подзадачата е

недопустлива, тогаш во секоја следна итерација се пристапува кон

решавање на помошната подзадача (4.19).

Алтернативни пристапи за решавање на квадратната подзадача (4.12)

нудат методите на внатрешна точка, објаснати во делот §3.6 и ЅQP

методите на област на доверба. Во последниов метод имаме воведување

на релаксација на ограничувањата.

Page 137: Magisterska FINAL

137 Секвенцијално квадратно програмирање (SQP)

4.3 Хесијан на квадратниот модел

Ќе го разгледаме изборот на матрицата kW во квадратниот модел (4.18а).

За поедноставување ќе се фокусираме прво на оптимизационата задача

(4.1) со равенствени ограничувања. Еквиваленцијата помеѓу ЅQP и

Њутновиот метод применет на (4.3) се базира во изборот на kW како

Хесијан на Лагранжовата функција ),(2

kkxx xL (види (4.5)). Овој избор

подлежи на квадратна брзина на конвергенција под одредени разумни

претпоставки и често имаме брз прогрес кога итерациите се оддалечени

од решението. Во секој случај, матрицата се состои од вторите изводи на

функцијата на целта и ограничувањата, кои не се лесни за пресметување.

Уште повеќе, не често е обезбедена позитивна дефинитност на нултиот

простор од ограничувањата. Во ова поглавје ќе ги разгледаме различните

алтернативни избори на kW .

4.3.1 Целосни квази – Њутнови апроксимации

Прва идеја што паѓа на памет е да се одржи квази – Њутновата

апроксимација kB до целосниот Хесијан на Лагранжовата функција

),(2

kkxx xL . Бидејќи, познато е дека BFGS формулата е доста успешна

во случај на безусловна оптимизација, ќе ја вметнеме и во овој случај. За

повеќе, околу дефинициите и резултатите за квази-Њутновите методи за

безусловна оптимизација, видете во Chapter 8 во Nocedal&Wright[15].

Ажурирањето на kB , од k -тата до 1k -та итерација ќе ги користи

векторите ks и

ky , дефинирани на следниот начин:

),(),(, 1111 kkxkkxkkkk xLxLyxxs (4.20)

Потоа ја пресметуваме новата апроксимација kB со формулата

k

T

k

T

kk

kk

T

k

k

T

kkkkk

sy

yy

sBs

BssBBB 1 (BFGS)

Page 138: Magisterska FINAL

138 Секвенцијално квадратно програмирање (SQP)

Ова ќе го гледаме како примена на квази-Њутновите обновувачки

формули во случајот кога функцијата на цел е дадена преку Лагранжовата

функција ),( xL (каде е фиксирано). Овие дефиниции го зајакнуваат

пристапот на решавање.

Ако Lxx

2 е позитивно дефинитен во областа во која ја вршиме

минимизацијата , квази-Њутновите апроксимации }{ kB ќе рефлектираат

со некои информации за закривеноста на задачата , па итерациите ќе

конвергираат грубо и брзо, слично како и во случајот на BFGS методот кај

безусловна оптимизација.

Ако Lxx

2 содржи негативни сопствени вредности, тогаш BFGS пристапот

на апроксимирање со позитивно дефинитна матрица ќе биде

неефективен. Всушност, BFGS ажурирањето бара ks и

ky да го

задоволуваат условот на закривеност 0k

T

k ys , кој не мора да важи кога

ks и ky се дефинирани со (5.20), дури и во случај кога итерациите се

блиску до решението.

За да ја надминеме оваа потешкотија, ќе го прескокнеме BFGS

ажурирањето ако не е исполнет условот:

kk

T

kk

T

k sBsys (4.21)

каде е позитивен параметар (пример 210 ). Стратегијата на

прескокнување е искористена во некои SQP имплементации и се

применува во многу задачи. За некои задачи, оваа стратегија има многу

лоши перформанси, па на тој начин за овој метод т.е BFGS пристап, нема

да можеме да речеме дека е универзален т.е добар за повеќето

алгоритми.

Поефикасна модификација имаме обезбедено во случајот кога

ажурирањето секогаш е добро дефинирано преку модификација на

дефиницијата на ky .

Page 139: Magisterska FINAL

139 Секвенцијално квадратно програмирање (SQP)

Процедура 4.1 (Пригушено BFGS ажурирање за SQP)

Дефинирај ги ks и

ky како во (4.20) и стави

kkkkkk sByr )1(

каде k е скалар дефиниран со:

kk

T

kk

T

k

k

T

kkk

T

k

kk

T

k

kk

T

kk

T

k

k sBsysyssBs

sBs

sBsys

2.0,)(

)8.0(

2.0,1

(4.22)

Ажурирај го kB на следниот начин:

k

T

k

T

kk

kk

T

k

k

T

kkkkk

rs

rr

sBs

BssBBB 1 (4.23)

Формулата (4.23) е стандардната (BFGS) формула, во која ky е заменет со

kr . Ова гарантира дека 1kB ќе биде позитивно дефинитна, бидејќи лесно

се покажува дека кога 0k , имаме kk BB 1

, а во случај на 1k ќе

имаме (веројатно и недефинитна) матрица добиена од немодифицирано

BFGS ажурирање. На тој начин, вредноста )1,0(k дава матрица која ја

интерполира тековната апроксимација kB што е добиена со

немодифицираната BFGS ажурирачка формула. Изборот на k обезбедува

новодобиената апроксимација да останува доволно блиску до тековната

апроксимација kB , за да обезбедува позитивна дефинитност.

Пригушеното BFGS ажурирање е вклучено во различни SQP програми и

добро се однесува за повеќето задачи. Нумеричките резултати, исто така,

покажуваат дека се случува и овој метод да има недоследности и лошо да

се однесува за потешки задачи. Сеуште не сме сигурни дека за дадена

задача, Хесијанот на Лагранжовата функција може да не биде позитивно

дефинитен. Постојат повеќе корекции кои се направени, меѓутоа,

повторно се нема обезбедено позитивна дефинитност на Хесијанот на

Лагранжовата функција

Page 140: Magisterska FINAL

140 Секвенцијално квадратно програмирање (SQP)

),(2 xLxx . (4.24)

Стратегијата која следи има поинаков пристап. Имено, таа го модифицира

Хесијанот на Лагранжовата функција директно со додавање на израз во

Лагранжовата функција (на тој начин се добива проширена Лагранжова

функција), со што се постигнува позитивна дефинитност.

4.3.2 Хесијан на проширена Лагранжова функција

Ќе ја разгледаме проширената Лагранжова функција дефинирана со:

2

)(2

1)()();,( xcxcxfxL T

A

(4.25)

за некој позитивен скалар . Во Chapter 17 од Nocedal&Wright[15]

покажано е дека во минимумот ),( ** x , кој ги задоволува доволните

услови од втор ред, Хесијанот на оваа функција

)()(),( **1**22 xAxAxLL T

xxAxx

(4.26)

е позитивно дефинитен за сите помали од дадена вредност * . Ќе

забележиме дека последниот израз во (4.25) ја вклучува и позитивната

кривина на Лагранжовата функција на просторот опфатен од колоните на TxA )( , притоа оставајќи ја непроменета закривеноста на нултиот простор

на )(xA . Избираме, матрицата kW во квадратната задача (4.8) да биде

);,(2 kkxx xL или, пак, некоја квази-Њутнова апроксимација kB на

оваа матрица. За доволно мали вредности на , овој Хесијан секогаш ќе

биде позитивно дефинитен, и може директно да се користи во SQP

методите на линиско пребарување.

И оваа стратегија си има свои недоследности. Имено, дадената вредност * зависи од други вредности кои не ги знаеме, како што се

ограничувањата на вторите изводи на функциите од задачата, па тешко е ,

Page 141: Magisterska FINAL

141 Секвенцијално квадратно програмирање (SQP)

во принцип, да се избере соодветна вредност за . Изборот на многу

мали вредности на , ќе резултира со поголема доминантност на

последниот израз од (5.26) над оригиналниот Хесијан на Лагранжовата

функција, што предизвикува лоши перформанси во пракса. Ако е многу

големо, тогаш Хесијанот на проширената Лагранжова функција може да не

биде позитивно дефинитен и AL да не биде конвексна функција, па

условот на закривеност на syT

k можно е да не важи.

Една од варијантите, базирана на векторот A

ky е дефинирана со:

11

1

111 );,();,(

k

T

kk

kkAxkkAx

A

k

cAy

xLxLy

каде ја користиме дефиницијата (4.20) за да го изведеме второто

равенство. Може да се покаже е дека во околина на решението, постои

максимална вредност за , која гарантира рамномерна позитивност на

sy TA

k )( . Па, алгоритмот може да го дизајнираме на тој начин што го

селектира кој ќе биде адаптиран да го исполни критериумот за

позитивност и ќе го замени ky со

A

ky во BFGS ажурирачката формула.

Сеуште постои недоволно искуство, за да знаеме дали овој пристап води

кон ефикасен SQP метод.

4.3.3 Апроксимации на редуцираниот Хесијан

Двата пристапи кои ги образложивме, точно или приближно го

пресметуваат nn Хесијанот. Една алтернатива е да се апроксимира само

редуцираниот Хесијан на Лагранжовата функција kkkxx

T

k ZxLZ ),(2 , што

претставува матрица со помала димензија која под стандардни

претпоставки е позитивно дефинитна во околина на решението. Овој

пристап се користи во квази-Њутновите методи на редуциран Хесијан,

кои го пресметуваат правецот на пребарување од формулите (4.14) и

Page 142: Magisterska FINAL

142 Секвенцијално квадратно програмирање (SQP)

(4.16) и квази-Њутновата варијанта на (4.18). Овие системи ќе ги

презапишеме на следниот начин:

kk

T

kkk fAAA 1)( (4.27а)

kYkk cpYA )( (4.27б)

k

T

kZk fZpM (4.27в)

Го користиме kM за да ја разграничиме апроксимацијата на

редуцираниот Хесијан од апроксимацијата на целосниот Хесијан. Ќе

забележиме, исто така, дека на овој начин ги дефинираме множителите

на најмали квадрати k , така што да ги искористат најскорешните

информации за градиентот. Во продолжение, ќе ја објаснеме

конструкцијата на квази-Њутновите апроксимации kM на редуцираниот

Хесијан kkkxx

T

k ZxLZ ),(2 . Како и претходно, дефинираме

),(2

kkxxk xLW и нека само што сме се придвижиле за чекорот Zk p

од ),( kkx до ),( 11 kkx . Од теоремата на Тејлор имаме:

)],(),([ 111 kkxkkkkxkkk xLpxLpW ,

каде YkZkkkk pYpZxxp 1 . Ако помножиме одлево со T

kZ имаме

)],(),([ 11

11

kkxkkkkx

T

k

Ykkk

T

kkkkk

T

k

xLpxLZ

pYWZpZWZ

(4.28)

Секантната равенка за kM се добива со отфрлање на изразот

Ykkk

T

k pYWZ 1 и се добива

kkk ysM 1

(4.29)

каде ks и

ky се дефинирани со:

Zkk ps (4.30а)

kB

Page 143: Magisterska FINAL

143 Секвенцијално квадратно програмирање (SQP)

)],(),([ 11 kkxkkkkx

T

kk xLpxLZy (4.30б)

Потоа, ја применуваме (BFGS) формулата употребувајќи ги овие

дефиниции за корегирачките вектори ks и

ky за да ја дефинираме новата

апроксимација 1kM . Во делот §4.6 ќе ја дадеме процедурата која

обезбедува исполнување на условот на закривеност 0k

T

k ys .

Во левата страна од (4.28) имаме kk

T

k ZWZ 1 наместо 111 kk

T

k ZWZ .

Можеме да го користиме 1kZ во (4.28), без да се води сметка на

неконзистентноста на индексите и да се докаже дека ky во (4.30б) може

да се дефинира ако kZ го замениме со

1kZ . Но ова не е потребно,

бидејќи поедноставниот алгоритам објаснаат погоре има исто силни

својства на конвергенција.

Постојат неколку варијанти на (4.30б) кои имаат слични својства. Една

таква формула е

)]()([ 1 kk

T

kk xfxfZy (4.31)

Друг, позадоволителен пристап е да се користи информацијата за

закривеноста добиена долж тангентниот простор од ограничувањата, а не

долж целосниот чекор од алгоритмот. Во овој пристап, ky го дефинираме

со

)],(),([ 11 kkxkZkkx

T

kk xLpxLZy (4.32)

за кој што имаме потреба од дополнителна пресметка на градиентот на

функцијата и ограничувањата во точката Zkk pZx .

Повеќето детали за методите на редуциран Хесијан ќе ги дадеме во делот

§5.6.

Page 144: Magisterska FINAL

144 Секвенцијално квадратно програмирање (SQP)

4.4 Значајни функции и опаѓање

За да обезбедиме конвергенција на SQP методот и во случај кога имаме

далечна точка, често користиме значајна функција т.е помошна функција

од особено значење , преку која ќе ја контролираме должината на

чекорот или, пак, ќе одредуваме дали чекорот е прифатлив и дали

радиусот на областа на доверба, во методите на област на доверба (види

Chapter 4 во Nocedal&Wright[15]) треба да биде модифициран или не.

Овие функции играт улога на функција на цел во безусловната

оптимизација, бидејќи сакаме во секој чекор да се обезбеди доволно

намалување на истата. Постојат повеќе типови на вакви значајни функции

во SQP методите, но ние ќе се фокусираме на недиференцијабилната 1l

значајна функција

Ii

i

Ei

i xcxcxfx )(1

)(1

)(),(1

каде xx

,0max и каде го нарекуваме казнен параметар. Ќе

започнеме со 1l значајната функција, за задачата со равенствени

ограничувања (4.1) , дефинирана со:

11 )(

1)(),( xcxfx

(4.33)

каде

n

i

ixx1

1.

Оваа функција не е секаде диференцијбилна; посебно, во точките x во

кои една или повеќе компоненти од )(xc се нули и градиентот во овие

точки не е дефиниран. Во секој случај, пак, важи дека секогаш во овие

точки постои извод по правец, долж правецот kp добиен од SQP

подзадачата. Ова го кажува следниот резултат.

Page 145: Magisterska FINAL

145 Секвенцијално квадратно програмирање (SQP)

Лема 4.1 Нека kp и 1k се добиени од SQP итерацијата (4.10) . Тогаш

за изводот на 1 по правец kp важи следното:

11

1

1 )();),(( kkkk

T

kkk cpWppxD

(4.34)

каде ||max ii

xx

.

Доказ: Со примена на Тејлоровата теорема на f и mic i ,...,2,1,

добиваме

1

1

1

1

11 )()();();( kkkkkk cpxcfpxfxpx

1

1

1

122

kkk

T

k cpAcppf

каде позитивната константа ги ограничува изразите за вториот извод за

f и c . Ако kpp е даден со (4.10), имаме дека

kkk cpA , па за

1 имаме дека

22

1

1

11 );();( kkk

T

kkkk pcpfxpx .

На сличен начин, ја добиваме и следната долна граница

22

1

1

11 );();( kkk

T

kkkk pcpfxpx

Ако земеме лимес во овие изрази, за изводот на 1 по правец kp се

добива

1

1

1 ));;(( kk

T

kkk cpfpxD

Фактот дека kp го задоволува првото равенство во (4.10) ни дава

1

1

11 ));;(( kk

T

k

T

kkk

T

kkk cAppWppxD

.

Page 146: Magisterska FINAL

146 Секвенцијално квадратно програмирање (SQP)

Заради второто равенство во (4.10), ако го замениме изразот 1k

T

k

T

k Ap со

1 k

T

kc во последниов израз, и ако се повикаме на неравенството

111 kkk

T

k cc

добиваме

11

1

1 ));;(( kkkk

T

kkk cpWppxD

.

Од (4.34) ќе следува дека kp ќе биде опаѓачки правец за 1 ако

kW е

позитивно дефинитна и ако е доволно мало. Ако се направи подетална

анализа ќе видеме дека сѐ што е потребно е да kW биде позитивно

дефинитна на тангентниот простор од ограничувањата. Погодна вредност

за казнениот параметар се добива со избор на константа 0 и

дефинирање на во секоја итерација да биде

1

1

k (4.35)

Сега, ќе ја разгледаме значајната функција на Fletcher-овата зголемена

Лагранжова функција, дефинирана како

2

)(2

1)()()();( xcxcxxfx T

def

F

(4.36)

каде 0 е казнен параметар, а означува 2l норма дефинирана

како

n

i

ixx1

2

2 , и

)()()()()(1

xfxAxAxAx T

(4.37)

се оценките за множителите на најмали квадрати (4.17).

Fletcher-овата значајна функција (4.36) е диференцијабилна со градиент

Page 147: Magisterska FINAL

147 Секвенцијално квадратно програмирање (SQP)

k

T

kk

T

kk

T

kkkF cAcAfx 1)();(

каде

k е nm Јакобијанот на )(x пресметан во kx .

Ако kp го задоволува SQP равенството (4.10) имаме:

21);( kkk

T

k

T

kk

T

kk

T

kF cpcpfpx

Нека ставиме Y

T

kZkk pApZp , каде kZ е база за нултиот простор за

kA и каде ќе дефинираме T

kk AY . Ако се повикаме на (4.27б) имаме

дека

k

T

kk

T

kY

T

k cAAApA1

каде со комбинирање со (4.37) пресметано во kxx , имплицира дека

k

T

kY

T

k

T

k cpAf . Оттука се добива

21

21);(

kkk

T

kZk

T

k

kkk

T

kk

T

kY

T

k

T

kZk

T

kk

T

kF

cpcpZf

cpccpAfpZfpx

Од (4.10) имаме дека kY

T

kkZkkkk fpAWpZWpW .

Ако ова го искористиме ќе добиеме

21

);(

kkk

T

k

Zkkk

T

YZkk

T

k

T

Zk

T

kF

cpc

pZWAppZWZppx

(4.38)

Оттука, kp ќе биде опаѓачки правец за Fletcher-овата значајна функција

ако редуцираниот Хесијан на Лагранжовата функција kk

T

k ZWZ е

позитивно дефинитен и ако го задоволува условот

Page 148: Magisterska FINAL

148 Секвенцијално квадратно програмирање (SQP)

2

1 2

1

k

kk

T

kZkkk

T

YZkk

T

k

T

Z

c

pcpZWAppZWZp

(4.39)

за некоја позитивна константа . (Ако 0kc , тогаш својството за

опаѓање важи за секоја вредност на ), факторот 2

1 е произволен, па

некогаш ќе се користат и други вредности; целта е да се обезбеди дека

изводот по правец е доволно голем за да биде дел од изразот

Zkk

T

k

T

Z pZWZp . Забележуваме дека формулата (4.39) за не е толку

едноставна како соодветната формула за 1l значајната функција, и

нивните вредности зависат од сингуларните вредности на kA и kk

T

k ZWZ .

Во пракса, изборот на , ни дозволува да ги воспоставиме резултатите за

глобална конвергенција.

Теорема 4.2. Нека kx не е стационарна точка за нелинеарната задача

со равенствени ограничувања (4.1) и нека редуцираниот Хесијан

kk

T

k ZWZ е позитивно дефинитен. Тогаш, правецот на праберување kp ,

генериран од SQP итерацијата (4.10) е опаѓачки правец за 1l значајната

функција 1 ако е даден со (4.35). Ако го задоволува (4.39), тогаш

kp е опаѓачки правец и за Fletcher-овата функција F .

Во повеќето SQP имплементации се става избор за во секоја итерација

на следниот начин: Избираме позитивна константа 0 и дефинираме:

1

1

1

11

,)2(

,

k

kk

k (4.40)

каде во случај на 1l значајната функција ставаме и го

заменуваме со изразот во големите загради во (4.39) во случајот на

Fletcher-овата значајна функција.

1k

Page 149: Magisterska FINAL

149 Секвенцијално квадратно програмирање (SQP)

4.5 SQP метод со линиско пребарување

Од дискусијата во претходните делови, видовме дека има повеќе

варијанти на SQP методи со линиско пребарување што се разликуваат во

начинот на пресметување на апроксимациите за Хесијанот, во изборот на

значајна функција и во процедурата за пресметување на чекорот. Сега, ќе

ја диксутираме идејата која е дадена во практичниот квази-Њутнов

алгоритам за решавање на задачи од нелинеарното програмирање (4.11)

со равенствени и неравенствени ограничувања.

Алгоритам 4.2 (SQP алгоритам за нелинеарното програмирање)

Избери параметри )5.0,0( , )1,0( ; Избери почетен пар ),( 00 x ;

Избери почетна nn симетрична и позитивно дефинитна

апроксимација kB за Хесијанот;

Пресметај 0000 ,,, Acff ;

за ...,2,1,0k

ако е задоволен критериумот за запирање

запри;

Пресметај го kp со решавање на (4.12)

Избери го k т.ш

kp е опаѓачки правец за во kx ;

Стави 1k ;

додека );(),();( kkkkkkkkk pxDxpx

kk , за некој ),0( ;

крај(додека)

Стави kkkk pxx 1

;

Page 150: Magisterska FINAL

150 Секвенцијално квадратно програмирање (SQP)

Пресметај ги 1111 ,,, kkkk Acff ;

Пресметај го 1k преку решавање на

11

1

111

kk

T

kkk fAAA ;

Стави

),(),(, 111 kkxkkxkkkk xLxLyps ;

Добиј го 1kB со ажурирање на

kB , користејќи квази-Њутнова

формула;

крај(за)

Лесно се добива верзија на овој алгоритам што користи апроксимација на

вториот извод со смена на kB со Хесијанот на Лагранжовата функција

kW .

4.6 SQP методи со редуциран Хесијан

Се навраќаме сега на случајот каде е од корист апроксимација само на

редуцираниот Хесијан на Лагранжовата функција (што е спротивно на

целосниот Хесијан, како во алгоритмот даден во претходниот дел).

Методите кои го користат овој пристап се нарекуваат методи со

редуциран Хесијан и се докажани како многу ефикасни во пракса, посебно

во оптималната контрола.

Квази-Њутновите методи со редуциран Хесијан се дизајнирани за

решавање на задачи кај кои вториот извод тешко се пресметува, и кај кои

бројот на степени на слобода на задачата )( mn е мал. Овие методи

ажурираат )()( mnmn апроксимација kM на kk

T

k ZWZ и потребно е

да го задоволуваат (4.29). Јачината на овие методи е во тоа што, кога

)( mn е мало, kM е со најголем квалитет, и пресметките на

Page 151: Magisterska FINAL

151 Секвенцијално квадратно програмирање (SQP)

компонентата Zp што се однесува на чекорот од нултиот простор преку

(4.27в) не е скапо.

Друга предност, за разлика од квази-Њутновите апроксимации на

целосниот Хесијан, е тоа што е многу веројатно, редуцираниот Хесијан

дека ќе биде позитивно дефинитен и во случај кога тековната итерација е

подалеку од решението, па механизмот на заштита (“safeguard” каде

1 kk BB ако 0k

T

k ys ) кај квази-Њутновото ажурирање ќе биде

помалку застапен при имплементациите на линиско пребарување.

За ова поглавје ќе ги разгледаме некои од својствата на методите со

редуциран Хесијан и потоа ќе ја презентираме практичната

имплементација.

4.6.1 Некои својства на методите со редуциран Хесијан

Нека, прво го разгледаме случајот со равенствени ограничувања за

аргументот што се однесува на тангенцијалниот чекор (4.18).

Ако го задржиме Yp и го пресметаме чекорот kp преку користење на

квази-Њутновата апроксимација на Хесијанот kW , ќе забележиме дека Yp

се базира на Њутновата итерација применета на ограничувањата 0)( xc

(види (4.27б)), па нормално е да очекуваме дека Yp ќе конвергира

квадратно кон нула.

Спротивно на ова, тангенцијалната компонента Zp конвергира само

суперлинеарно, бидејќи се користи квази-Њутновата апроксимација на

Хесијанот. Оттука, во пракса често се забележува дека

0Z

Y

p

p (4.41)

Ова својство е познато под името тангенцијална конвергенција.

Page 152: Magisterska FINAL

152 Секвенцијално квадратно програмирање (SQP)

Се забележува дека Yp е малку значајно, па заради тоа, оправдано е што

се отфрла при пресметките (ставајќи 0Yp ). На овој начин, ја отфрламе

можноста за пресметување на апроксимацијата на kk

T

k YWZ . Цената која ја

плаќаме на сметка на отфрлањето на Yp е тоа што, целосниот чекор kp ,

што се добива, повеќе не е решение на ККТ системот (4.10), туку само

негова апроксимација.

Со Coleman-Conn методот што се однесува на (4.32), пресметувањето на

чекорот (4.27в),(4.27б) ја има следната форма:

k

T

kZk fZpM (4.42а)

)( ZkkYkk pZxcpYA (5.42б)

4.6.2 Обновувачки критериум на ажурирањето со

редуциран Хесијан

Ќе го разгледаме глобалното однесување на методите со редуциран

Хесијан и ќе одговориме на прашањето дали се очекува условот на

закривеност да важи во околина на решението.

Нека го дефинираме Хесијанот на „просечната“ Лагранжова функција kW

до чекорот kp , да биде

1

0

1),( dpxLW kkkxxk (4.43)

Потоа, за нашата прва дефиниција (4.30б) на ky , од Тејлоровата теорема

имаме дека

YkkZkkkkk pYWpZWpWy

Page 153: Magisterska FINAL

153 Секвенцијално квадратно програмирање (SQP)

Ако го земеме ks да биде целосниот чекор kp , се добива:

Ykk

T

kZZkk

T

k

T

Zk

T

k pYWZppZWZpsy (4.44)

Во околина на решението, првиот израз од десната страна е позитивен

заради претпоставката за исполнетост на доволните услови од втор ред,

но вториот израз има променлив знак. Бидејќи квази-Њутновите методи

со редуциран Хесијан нудат тангенцијална конвегенција (4.41), Yp

конвергира кон 0 побрзо отколку Zp . Оттука, првиот израз од десната

страна на (4.44) ќе го доминира вториот, како резултат на позитивноста на

k

T

k sy .

За да се заштитиме од лошо квази-Њутново ажурирање, едноставно ќе го

прескокнеме ажурирањето ако условот (4.21) не е исполнет.

Прескокнувањето на BFGS ажурирањето е пооправдано во случај на

методите со редуциран Хесијан, отколку во методите со целосен Хесијан.

Во ситуациите кога ажурирањето е прескокнато, вториот израз во (4.44) го

надминува првиот израз, укажувајќи на тоа дека компонентата на чекорот

Yp не е во никаква врска со Zp . Бидејќи нормалната компонента Yp е

одредена од информацијата за првиот извод (види во (4.27б)), која е

точно позната, се прави добар прогрес кон решението. Однесувањето,

пак, на компонентата на чекорот Zp , која зависи од апроксимацијата на

редуцираниот Хесијан, е таква што сме помалку загрижени за неа во оваа

ситуација, и можеме да се одлучиме да го прескокнеме ажурирањето.

Оваа дискусија е мотивот за следното правило на прескокнување, кое

експлицитно ги следи големините на нормалните и тангенцијалните

компоненти од чекорот.

Page 154: Magisterska FINAL

154 Секвенцијално квадратно програмирање (SQP)

Процедура 4.2. (Ажурирање-Прескокнување)

Дадена е низа од позитивни броеви k со

1k

k .

ако 0k

T

k sy и ZkY pp

Пресметај ги ks и ky од (4.30)

Ажурирај го kM со BFGS формулата за да се добие 1kM ;

инаку

Стави kk BB 1 ;

крај(ако)

Изборот на низата k е произволен; во пракса често се користи вредноста

1.11.0 kk .

Во Coleman-Conn методот, ky е дадено со (4.32). Во овој случај, ја

модифицираме дефиницијата на Хесијанот на просечната Лагранжова

функција kW со смена на изразот kp во интегралот (4.43) со изразот

Zp . Тогаш, за k

T

k sy се добива дека

Zkk

T

k

T

Zk

T

k pZWZpsy ,

што ни гарантира дека k

T

k sy ќе биде позитивно во околина на решението

под претпоставка дека се исполнети доволните услови од втор ред.

Page 155: Magisterska FINAL

155 Секвенцијално квадратно програмирање (SQP)

4.6.3 Практичен метод со редуциран Хесијан

Погорните дискусии ни кажуваат дека постои голема доза на

комплексност во практичниот метод со редуциран Хесијан, посебно кога

решаваме оптимизациони задачи со голем број на одлучувачки.

Алгоритам 4.3. (Метод со редуциран Хесијан за задачи со равенствени

ограничувања)

Избираме параметри )5.0,0( , )1,0( ;

Избираме почетен пар ),( 00 x ;

Избираме почетна )()( mnmn симетрична позитивно дефинитна

апроксимација на редуцираниот Хесијан 0M ;

Пресметај ги ;,,, 0000 Acff

Пресметај ги 0Y и 0Z кои го покриваат ранг- просторот на TA0 и

нултиот простор на 0A , соодветно;

за ...,2,1,0k

ако важи критериумот за запирање

запри;

Пресметај ги Yp и Zp со решавање на

kYkk cpYA )( ; k

T

kZk fZpM ;

Стави ZkYkk pZpYp ;

Избери го k , таков што kp е опаѓачки правец за во kx ;

Стави 1k ;

Page 156: Magisterska FINAL

156 Секвенцијално квадратно програмирање (SQP)

додека );();();( kkkkkkkkk pxDxpx

Стави kk , за некое ),0( ;

крај(додека)

Стави kkkk pxx 1 ;

Пресметај ги ;,,, 1111 kkkk Acff

Пресметај ги 1kY и 1kZ кои го покриваат ранг- просторот на

T

kA 1 и нултиот простор на 1kA , соодветно;

Пресметај го 1k со решавање на

11

1

111

k

T

k

T

k

T

kk fYAY ;

Стави

Zkk ps , )],(),([ 111 kkxkkx

T

kk xZxZZy ;

ако критериумот за ажурирање важи

Најди го 1kM со ажурирање на kM со формулата (4.19)

инаку

kk MM 1 ;

крај(ако)

крај(за)

Page 157: Magisterska FINAL

157 Секвенцијално квадратно програмирање (SQP)

4.7 SQP методи на област на доверба

Имплементацијата на SQP методите на област на довебра имаат неколку

атрактивни својства. Овие методи го земаат во предвид и случајот кога

градиентите на активните ограничувања се линеарно зависни и ги

користат информациите за вториот извод.

Во овој дел ќе ги опишеме алгоритмите кои се изградени за случајот на

равенствени ограничувања.

Ќе започнеме фокусирајќи се на задачата со равенствени ограничувања

(4.1) за која соодветната квадратна подзадача е дадена со (4.8). Со

додавање на ограничување на област на доверба, го добиваме следниот

нов модел:

pfpWp T

kk

T

p

2

1min (4.45а)

со ограничувања 0 kk cpA (4.45б)

kp (4.45в)

означува 2l норма, иако во пракса често се работи со скалирана

област на доверба од облик kSp . Радиусот на областа на доверба

k ќе се ажурира во зависност од тоа каква е предвидената редукција во

значајната функција во однос на актуелната редукција.

Ако постои добра согласност, тогаш радиусот на областа на доверба

останува непроменет или се зголемува, но ако има несогласување,

радиусот се намалува.

Вклучувањето на 2l - ограничувањето на областа на доверба, ја прави

подзадачата (4.45) потешка за решавање, одколку квадратната задача

(4.8). Уште повеќе, новиот модел можно е да нема решение заради тоа

што ограничувањата (4.45б), (4.45в) може да се случи да бидат

Page 158: Magisterska FINAL

158 Секвенцијално квадратно програмирање (SQP)

неконзистентни, како што е прикажано на Цртеж 4.1. Во овој пример, секој

чекор p , кој ги задоволува линеарните ограничувања, може да биде

надвор од областа на доверба.

Цртеж 4.1 Неконзистентни ограничувања во моделот на област на

доверба

За да го решиме овој можен конфликт помеѓу задоволување на

ограничувањето на областа на доверба (4.45в) и линеарните

ограничувања (4.45б), нема да биде во ред доколку се зголемува k , се

додека множеството од чекори p , кое ги задоволува линеарните

ограничувања (4.45б) нема пресек со областа на доверба. Овој пристап ќе

се коси со предлогот за користење на областа на доверба на прво место,

како начин за дефинирање на областа за која му веруваме на моделот

(4.45а),(4.45б) кој веднаш ќе се одрази на однесувањето на вистинската

функција на цел и функциите од ограничувањата во (4.1), па со тоа ќе се

нарушат својствата за конвергенција на алгоритмот. Посоодветно

гледиште е дека нема потреба да се обидуваме во секој чекор да бидат

егзактно задоволени равенствените ограничувања, туку ќе целиме да ја

зголемиме допустливоста на овие ограничувања во секој чекор и истите

да бидат задоволени единствено во граничен случај. Ова гледиште

Page 159: Magisterska FINAL

159 Секвенцијално квадратно програмирање (SQP)

подлежи на три различни техники на преформулирање на подзадачата на

област на доверба, кои ќе бидат објаснати во продолжение.

4.7.1 Пристап 1: Поместување на ограничувањата

Во овој пристап (4.45б) ќе го замениме со поместеното ограничување

0 kk cpA (4.46)

каде ]1,0( се избира доволно мало такво што множеството од

ограничувања (4.45б), (4.45в) е допустливо. Не е тешко да се најде

вредност за така што се постигне оваа цел. На Цртеж 4.1 се гледа дека

го има ефектот на поместување на правата што му одговара на

линеаризираните ограничувања со паралелната права што ја сече областа

на доверба (види Цртеж 4.2).

Цртеж 4.2 Конзистентни ограничувања после поместувањето

Page 160: Magisterska FINAL

160 Секвенцијално квадратно програмирање (SQP)

Вредноста строго влијае на перформансите на алгоритмот, бидејќи таа

контролира дали пресметаниот чекор p се стреми повеќе кон

задоволување на допустливоста на ограничувањата или кон

минимизирање на функцијата на цел. Ако секогаш го избираме k да

биде помал од максимално прифатливата вредност (ова е во случај кога

ограничувачката права минува во блиска околина на тековната итерација

kx ), тогаш чекорот кој е пресметан со подзадачата (4.45) ќе се стреми да

да направи мало подобрување на допустливоста на ограничувањата

0)( xc , и наместо тоа се фокусира на намалувањето на вредноста на

функцијата на цел.

Следната имплементација на пристапот на поместување на

ограничувањата ја надминува оваа потешкотија, со пресметување на

чекорот во две фази. Во првата фаза ја игнорираме функцијата на цел и

истражуваме само колку блиску можеме да дојдеме до задоволување на

линеаризираните ограничувања (4.45б), додека се во областа на доверба

(4.45в). Попрецизно, ја решаваме следната „нормална подзадача“:

2

min kkv

cvA (4.47а)

со ограничувања kv 2

(4.47б)

каде е некој параметар од интервалот )1,0( . (Типична вредност е

8.0 ). Решението kv на оваа подзадача го нарекуваме нормален

чекор. Потоа бараме да целосниот чекор kp од методот на област на

доверба, дава исто толкаво намалување задоволувајќи ги ограничувањата

како и нормалниот чекор. Ова се постигнува ако го замениме kc со

kkvA во (4.46), на тој начин што ќе добиеме нова подзадача:

pfpWp T

kk

T

p

2

1min (4.48а)

со ограничувања kkk vApA (4.48б)

Page 161: Magisterska FINAL

161 Секвенцијално квадратно програмирање (SQP)

kp (4.48в)

Јасно се гледа дека ограничувањата (4.48б) и (4.48в) на оваа подзадача се

конзистентни, бидејќи изборот kvp ги задоволува и двете

ограничувања.

4.7.2 Пристап 2: Две елиптични ограничувања

Друга модификација на пристапот е да се преформулира SQP подзадачата

како:

pfpWp T

kk

T

p

2

1min (4.49а)

со ограничувања kkk cpA 2

(4.49б)

kp (4.49в)

Забележуваме дека оваа задача се редуцира до (4.45) ако 0k .

Постојат неколку начини да се избере границата k . Прво нешто што

треба да биде исполнето е чекорот kp да биде толку добар за да ги

задоволува ограничувањата како чекорот во методите на најбрзо

спуштање. Дефинираме

2k

C

kk cpA

каде Cp е Кошиева точка за задачата

2

2)(min kk

vcvAvm (4.50)

со ограничување kv 2

Page 162: Magisterska FINAL

162 Секвенцијално квадратно програмирање (SQP)

Во Chapter 4 во Nocedal&Wright[15] може да се види дека Кошиевата точка

претставува минимум на m долж правецот на најбрзо спуштање )0(m

при ограничување на област на доверба. Јасно е дека изборот на k ги

прави ограничувањата (4.49б) и (4.49в) конзистентни, бидејќи Cp ги

задоволува и двете ограничувања. Бидејќи овој избор на чекорот форсира,

чекорот добиен со решавање на (4.50) да направи голем прогрес кон

долустливоста, во најмала рака како Кошиевата точка, затоа може да

констатираме дека итеративниот процес ќе има добри својства на

глобална конвергенција.

Алтернативен начин да го избериме k е да го дефинираме да биде секој

број што го задоволува следното неравенство

2

2

2

22212

minmin kkbp

kkkbp

cpAcpAkk

каде 1b и 2b се две константи такви што 10 12 bb .

Без оглед на вредноста на k , решевањето на подзадачата (4.49) е

потешко отколку стандардната задача на област на доверба.

4.7.3 Пристап 3: S 1l QP (Секвенцијално 1l квадратно

програмирање)

Погорните два пристапи се развиени специфично за равенствено

ограничена оптимизација, па не е тривијално да ги прошириме на задачи

со неравенствени ограничувања. Пристапот кој ќе го опишеме сега, се

справува со неравенствени ограничувања на директен начин, па описот ќе

го вршиме во однос на општата задача (4.11).

SQP подзадачата од квадратното програмирање, сега, е дадена со (4.12)

Како и претходно, и сега се соочуваме со проблемот дека, кога

ограничувањето на областа на доверба ќе ја додадеме во овој модел,

Page 163: Magisterska FINAL

163 Секвенцијално квадратно програмирање (SQP)

може да предизвика множеството од ограничувања за оваа подзадача да

биде недопустливо. За да ја избегнеме оваа потешкотија, S1l QP пристапот

ги префрла линеарните ограничувања (4.12б) и (4.12в) во функцијата на

цел на квадратната програма, во форма на 1l казнен израз, оставајќи ја

притоа само областа на доверба како ограничување. Оваа стратегија се

базира на следната подзадача:

Ii

T

kiki

k

Ei

T

kiki

k

k

TT

kp

pxcxc

pxcxcpWppf

)()(1

)()(1

2

1min

(4.51)

со ограничувања kp

каде ја користиме ознаката },0max{][ xx . Позитивниот скалар k е

казнен параметар, кој ја дефинира тежината која се доделува на

исполнувањето на ограничувањата поврзано со минимизација на

функцијата на цел.

Областа на доверба ја користи l нормата, бидејќи таа ја прави

подзадачата полесна за решавање. Оваа задача можеме да ја

дефинираме како задача од квадратното програмирање и можеме да ја

решаваме со стандардните алгоритми за квадратното програмирање.

Овие алгоритми можеме да ги модифицираме за да ги земеме во предвид

и придобивките од специјалните структури во (4.51), а може да се

овозможи и да се користи таканаречената “hot start“ информација. Ова

подлежи на добро почетно нагаѓање за почетната точка и оптималното

активно множество за (4.51), преупотреба на матричните факторизации

и.т.н. (види во делот §4.2.2)

Ја користиме 1l значајната функција 1

Ii

i

Ei

i xcxcxfx )(1

)(1

)();(1

(4.52)

Page 164: Magisterska FINAL

164 Секвенцијално квадратно програмирање (SQP)

за да ја потврдиме користа од чекорот генериран со решавањето на (4.51).

Фактички, подзадачата (4.51) може да се гледа како апроксимација на

(4.52) во која ставаме k , заменувајќи ја секоја ограничувачка

функција ic со нејзината линеаризација, и заменувајќи го „глаткиот дел“

f со квадратна функција чиј израз за кривината ги вклучува

информациите и за функцијата на цел и од ограничувачките функции.

S1l QP алгоритмот го прифаќа приближното решение на (4.51) како чекор,

ако односот на актуелната и предвидената редукција на 1 не е премногу

мал. Во спротивно, се намалува радиусот на областа на доверба и

повторно се решава подзадачата за да се добие нов потенцијален чекор.

Овој пристап има доста атрактивни својства. Не само што формулацијата

(4.51) ја надминува можноста за недоследност меѓу линеаризираните

ограничувања и областа на доверба, исто така, овозможува и олеснување

на претпоставките за регуларност на kA .

Во подзадачата (4.51), матрицата kW може да биде дефинирана како

егзактниот Хесијан на Лагранжовата функција или како квази-Њутнова

апроксимација, па тука нема потреба од тоа да матрицата биде позитивно

дефинитна. Најважно, сепак, е кога k (еквивалентно со во (4.52)) е

избрано да биде доволно големо, и локалните минимуми на значајната

функција 1 , нормално, соодветствуваат со локалното решение на (4.11),

тогаш алгоритмот има добри својства на глобална конвергенција.

Прво, ја решаваме (4.51) за да го добиеме чекорот kp . Ако овој чекор ни

дава растење на значајната функција 1 , тогаш тоа може да биде

индикатор дека линеарните апроксимации на ограничувањата не се

доволно точни. За да го надминеме ова, повторно ја решаваме (4.51) со

линеарниот израз pxcxc T

kiki )()( заменет со квадратната

апроксимација

pxcppxcxc ki

TT

kiki )(2

1)()( 2 (4.53)

k

Page 165: Magisterska FINAL

165 Секвенцијално квадратно програмирање (SQP)

Но, ова не е добро во пракса, дури и ако Хесијаните на ограничувањата се

сите познати, бидејќи подзадачата станува тешка за решавање. Наместо

тоа, ги пресметуваме вредностите од ограничувањата во новата точка

kk px и ги користиме овие апроксимации. Ако го игнорираме изразот од

трет ред, имаме

k

T

i

T

kk

T

kikikki pxcppxcxcpxc )(2

1)()()( 2 (4.54)

Дури и кога незнаеме каков ќе биде чекорот p , ако ги користиме

квадратните апроксимации (4.53) на подзадачата, ќе го претпоставиме

следното:

k

T

i

T

k

T

i

T pxcppxcp )()( 22 (4.55)

Ако (4.55) го замениме во (4.53) и го искористиме (4.54) се добива

подзадачата позната како корекција од втор ред:

Ii

T

kii

kEi

T

kii

k

k

TT

kp

pxcdpxcdpWppf )(1

)(1

2

1min

со ограничувања kp

(4.56)

каде

k

T

kikkii pxcpxcd )()(

Оваа задача има слична форма со (4.51) и се решава со истите техники.

Бидејќи активното множество во решението на (4.56) често е исто или

слично со активното множество од оригиналната задача (4.51), може да ги

користиме “hot start“ техниките за да ја решиме (4.26), притоа додавајќи

мали измени.

Чекорот добиен со корекцијата од втор ред, бара евалуација на

ограничувањата )( kki pxc за IEi , кој не се препорачува да се

применува секој пат кога значајната функција расте. Уште повеќе, главната

претпоставка (4.55) нема да важи ако чекорот е голем, па потребно е да се

Page 166: Magisterska FINAL

166 Секвенцијално квадратно програмирање (SQP)

осигураме дека областа на доверба е асимптотски доволно голема за да

не му попречи на корегирачкиот чекор.

4.8 Практичен SQP алгоритам на област на

доверба

Во претходното поглавје, опишавме варијанти на SQP методи на област на

доверба. Сега, ќе се задржиме на Пристап 1, кој се базира на (4.47) и (4.48)

и ќе го дадеме деталниот алгоритам.

Постои разумна доза на флексибилност во пресметките на нормалниот

чекор v и на целиот чекор p , особено затоа што егзактните решенија на

нормалната подзадача (4.47) или главната задача на област на доверба

(4.48) не ни се потребни, бидејќи приближните решенија често знаат да

бидат доволни. Нормалната подзадача (4.47) може да биде приближно

решена преку методот на конјугирани градиенти (види Algorithm 4.3 во

Chapter 4 во Nocedal&Wright[15]) или преку “dogleg“ методот.

Нека kA е матрица со целосен ранг и избираме нашиот Њутнов чекор во

“dogleg“ методот да биде векторот на минималната Евклидска норма што

го исполнува 0 kk cvA . (Забелешка: Њутновиот чекор може да не

биде единствен, на пример во случај на несингуларност на Хесијанот во

(4.47))

Имаме

k

T

kk

T

k

B cAAAp 1][

Сега, ќе го разгледаме решението на главната подзадача (4.48). Една од

техниките погодна за задачите со голем и среден број на одлучувачки

променливи е да се користи пристапот на редуциран Хесијан.

Бидејќи, нормалниот чекор kv е во рангот на просторот T

kA , за целиот

чекор kp го запишуваме како

Page 167: Magisterska FINAL

167 Секвенцијално квадратно програмирање (SQP)

kkkk uZvp , за некое mnRu (4.57)

каде kZ е базата на нултиот простор од T

kA . Значи, ја фиксираме

компонентата од kp , во рангот на просторот на T

kA , да биде kv , векторот

на нормалниот чекор и не дозволуваме да има други движења

(поместувања) во овој правец. Ако ја замениме оваа форма на kp во

(4.48а) и (4.48б), ја добиваме следната тангенцијална подзадача по

редуцираната променлива u :

uZWZuuZvWfum kk

T

k

T

k

T

kkk

def

ku 2

1)()(min (4.58а)

со ограничувања 2

2

2

2 kkk vuZ (4.58б)

Едноставната форма (4.58б) на ограничувањето на областа на доверба е

последица на фактот дека компонентите kv и kkuZ во (4.57) се

ортогонални.

Не можеме (4.58б) да ја третираме како скалирано ограничување на

областа на доверба, бидејќи матрицата kZ , во принцип, не мора да е

квадратна. Сепак, (4.58б) може да го запишеме како

22

kk

T uSu , со k

T

kk ZZS 2

каде kS е позитивно дефинитна, бидејќи kZ има линеарно независни

колони. Решението kkuZ на (4.58) го нарекуваме тангентен чекор.

На Цртеж 4.3 се илустрирани нормалниот и тангентниот чекор за

едноставната задача со две непознати и едно нелинеарно равенствено

ограничување. Испрекинатите елиптични линии ја претставуваат кривата

на функцијата на цел )(xf , со минимум во долниот десен дел од сликата.

Равенственото ограничување е претставено со полна линија, а

испрекинатата кружница е ограничувањето на областа на доверба.

Тангентниот простор од ограничувањата е претставен со точкаста линија

Page 168: Magisterska FINAL

168 Секвенцијално квадратно програмирање (SQP)

низ точката kx ( kZ има само една колона во овој пример) и нормалниот

чекор е нормален на овој простор. Ова исто многуобразие транслатирано

во точката kk vx дефинира множество од тангентни чекори, како што е

дадено со долната точкаста линија. Конечниот чекор kp во овој се протега

сѐ до ограничувањето на областа на доверба.

Цртеж 4.3 Чекорот kkkk uZvp од методот нз област на доверба

Значајната функција која му одговара на овој пристап е

недиференцијабилната 2l функција

2

)(1

)();( xcxfx

(4.59)

Користењето на 2l нормата е конзистентно и овде и во нормалната

подзадача, но можат да се користат и други значајни функции.

Page 169: Magisterska FINAL

169 Секвенцијално квадратно програмирање (SQP)

Актуелната редукција во оваа функција во потенцијалниот чекор kp е

дефинирана како:

);();( kkkkk pxxared

додека, пак, предвидената редукција е

vredummpred kkk

1)()0(

каде km е дефинирана во (4.58а), а vpred е редукцијата на моделот

(4.47а) добиен од нормалниот чекор kv и е дадена со:

kkkk vAxcxcvpred )()(

Бараме k да биде доволно мало, така што pred ќе биде позитивно и

пропорционално со vpred т.е

vpredpred k

1 (4.60)

каде 10 (пример 3.0 )

Ова неравенство може да го направиме да важи преку избор на казнениот

параметар k таков што

vpred

umm kkk

)1(

)()0(1

(4.61)

Во продолжение ќе дадеме прецизен опис на овој SQP метод на област на

доверба за оптимизационата задача (4.1) со равенствени ограничувања.

Page 170: Magisterska FINAL

170 Секвенцијално квадратно програмирање (SQP)

Алгоритам 4.4. (SQP метод на област на доверба)

Избери ги константите 0 и )1,0(,, ;

Избери почетна точка 0x , почетна област на доверба 00 ;

за ...,2,1,0k

Пресметај ги kkkk Afcf ,,, ;

Пресметај ги кандидатите за множители k од (4.16);

ако

k

T

kk Af ˆ и kc

запри со приближно решение kx ;

Реши ја нормалната подзадача (4.47) за kv ;

Пресметај ја матрицата kZ чии колони го покриваат нултиот

простор на kA ;

Пресметај ја или ажурирај ја kW ;

Реши го (4.58) за ku ;

Стави kkkk uZvp ;

Пресметај pred

aredk ;

ако nk

Стави kkk pxx 1 ;

Избери 1 k да го задоволува kk 1 ;

Page 171: Magisterska FINAL

171 Секвенцијално квадратно програмирање (SQP)

инаку

Стави kk xx 1 ;

Избери 1 k да го задоволува kk p 1 ;

крај(за)

Константата , која ја дефинира помалата област на доверба за

нормалната задача (4.47), често се избира да е 0.8, но оваа вредност не е

критична за перформансите на овој метод.

4.9 Брзина на конвергенција

Во овој дел ќе ги изведиме условите кои гарантираат локална

конвергенција на SQP методите, поконкретно, суперлинеарна брзина на

конвергенција. За поедноставување, дискусијава ќе ја базираме само на

Алгоритам 4.1 даден во делот §4.1 за оптимизација со равенствени

ограничувања, но ќе ги разгледаме и за случајот на егзактен Хесијан и

квази-Њутновата верзија на истиот.

Започнуваме со листа од претпоставки за задачата и за квази-Њутновите

апроксимации kB кои ќе ни бидат од корист во овој дел. Секој од

резултатите кои ќе следат користат една од овие две претпоставки.

Претпоставка 4.2

а) Во решението *x со оптимални Лагранжови множители * ,

ограничениот Јакобијан на ограничувањата *A има целосен ранг по

колони, и Хесијанот на Лагранжовата функција, ),( **2 xLxx е

позитивно дефинитен на тангентниот простор од ограничувањата.

б) Низите }{ kB и }{ 1

kB се ограничени, па постои константа 2 т.ш

2kB , 2

1

kB , за секој k

Page 172: Magisterska FINAL

172 Секвенцијално квадратно програмирање (SQP)

Прво ќе го дадеме резултатот за Њутновиот SQP метод, кој ги користи

егзактните втори изводи.

Теорема 4.3. Нека важи Претпоставка 4.2 (а) и нека f и c се двапати

диференцијабилни, со Липшиц-непрекинати втори изводи во околина на

),( ** x . Тогаш, ако 0x и 0 се доволно блиску до *x и * , паровите

),( kkx генерирани од Алгоритам 4.1 со kW дефинирана како Хесијан на

Лагранжовата функција, конвергира квадратно кон ),( ** x .

Доказот на ова тврдење како и доказот на наредното се сосема аналогни

како кај тврдењата кај Њутновите методи за решавање на нелинеарни

системи, бидејќи Алгоритмот 4.1 е еквивалентен со Њутновиот алгоритам

за решавање на нелинеарен систем од облик 0),( xF .

Преминуваме сега на квази-Њутновите варијанти на Алгоритмот 4.1 во кој

Хесијанот на Лагранжовата функција ),(2

kkxxk xLW е заменет со

квази-Њутновата апроксимација kB . Ќе ја искористиме и проектирачката

матрица kP дефинирана за секоја итерација k со

T

kkk

T

kk

T

kk ZZAAAAIP 1][

каде kZ има ортонормални колони. Оваа матрица го проектира секој

вектор од nR во нултиот простор од градиентите на ограничувањата.

Проектираниот Хесијан kkWP игра важна улога во анализата.

Прво, го множиме првото равенство од ККТ системот (4.10) со kP и го

користиме фактот 0T

kk AP , за да на крај добиеме

kkkkk fPpWP

Ова равенство покажува дека чекорот е комплетно детерминиран со

еднонасочна проекција на kW и е независно од остатокот од kW . Исто

така, ни сугерира и дека квази-Њутновиот метод ќе биде локално

Page 173: Magisterska FINAL

173 Секвенцијално квадратно програмирање (SQP)

конвергентен ако kk BP е добра апроксимација на kkWP , и ќе биде

суперлинеарно конвергентен ако kk BP точно го апроксимира kkWP . За да

го прецизираме вториов заклучок, ќе презентираме резултат кој го

карактеризира квалитетот на апроксимацијата.

Теорема 4.4. Нека важи Претпоставка 4.2 и нека итерациите kx

генерирани од Алгоритам 4.1 со квази-Њутнови апроксимации на

Хесијаните kB , конвергира кон *x . Тогаш kx конвергира суперлинеарно

ако и само ако за Хесијановите апроксимации е исполнето

0)()(

lim1

1*

kk

kkkk

k xx

xxWBP. (4.62)

Во продолжение ќе ги примениме овие резултати на квази-Њутновите

ажурирачки шеми кои ги дискутиравме на почетокот од овој дел.

Започнуваме со целосната BFGS апроксимација базирана на (4.20). Како

гаранција дека секогаш е добро дефинирана, претпоставуваме дека

Хесијанот на Лагранжовата функција е позитивно дефинитен во

решението.

Теорема 4.5. Нека *W и 0B се симетрични и позитивно дефинитни и

нека Претпоставката 4.2 е исполнета. Ако *

0 xx и *0 WB се

доволно мали, тогаш итерациите kx генерирани од Алгоритам 4.1 со

BFGS Хесијановите апроксимации kB дефинирани со (4.20) и (4.23) (каде

kk sr ) го задоволуваат лимесот (4.62). Затоа, итерациите kx

конвергираат суперлинеарно кон *x .

За „придушената“ стратегија на BFGS ажурирање дадена во Процедура 4.1,

добиен е послаб резултат. Ако претпоставиме дека итерациите kx

конвергираат кон решението *x , се покажува дека брзината на

конвергенција е R-суперлинеарна.

Page 174: Magisterska FINAL

174 Секвенцијално квадратно програмирање (SQP)

4.9.1 Брзина на конвергенција на методите со

редуциран Хесијан

SQP методите со редуциран Хесијан ја ажурираат апроксимацијата kM во

kk

T

k ZWZ . Од дефиницијата на kP се гледа дека kk

T

k ZMZ се зема како

апроксимација на двостраната проекција kkk PWP . Затоа, бидејќи

методите на редуциран Хесијан не ја апроксимираат едностраната

проекција kkWP , не можеме да очекуваме дека (4.62) е исполнето. За

овие методи можеме да го изведеме условот за суперлинеарна

конвергенција ако (4.62) го презапишеме како

0)()()()()(

lim1

1*

1

1*

kk

kkkkk

kk

kkkkk

k xx

xxPIWBP

xx

xxPWBP (4.63)

За да го користиме овој лимес, ќе дефинираме nn матрица T

kkkk ZMZB . Следниот резултат вели дека потребно е само првиот

израз од (4.63) да тежи кон 0 за да се добие послабата форма на

суперлинеарна конвергенција, наречена суперлинеарна конвергенција во

два чекори.

Теорема 4.6. Нека е исполнета Претпоставка 4.2 (а) и нека матриците

kB се ограничени. Нека уште итерациите kx генерирани со Алгоритам

4.1 со апроксимиран Хесијан kB конвергираат кон *x и

0)()(

lim1

1*

kk

kkkkk

k xx

xxPWBP (4.64)

Тогаш низата }{ kx конвергира кон *x суперлинеарно во два чекори т.е

0lim*

*

2

xx

xx

k

k

k.

Page 175: Magisterska FINAL

175 Секвенцијално квадратно програмирање (SQP)

Претходно спомнавме дека методите со редуциран Хесијан често

изложуваат тангенцијална конвергенција, што значи дека нормалната

компонента на чекорот е многу помала од тангенцијалната компонента

(види (4.41)). Со други зборови, исполнето е следново:

0)()(

lim1

1

kk

kkk

k xx

xxPI.

Тогаш, од (4.63) и (4.64) следува дека брзината на конвергенција е

суперлинеарна во еден чекор. Брзината се достигнува и кога изразот

)()( * kkk PIWBP нема мала вредност.

Нека претпоставиме дека локалниот метод со редуциран Хесијан го

користи BFGS ажурирањето. Итерацијата е ZkYkkk pZpYxx 1 , каде

Yp и Zp се дадени со (4.27). Апроксимацијата kM на редуцираниот

Хесијан се ажурира со BFGS формулата, користејќи ги корегирачките

вектори (4.30) и почетната апроксимација 0M е симетрична и позитивно

дефинитна. Ако претпоставиме дека базата на нултиот простор kZ која се

користи за да ги дефинираме корегирачките вектори (4.30), глатко варира

т.е

*

* xxOZZ kk (4.65)

тогаш го имаме следниот резултат кој ја користи Теорема 4.6.

Теорема 4.7. Нека важи Претпоставка 4.2 (а). Нека kx е генерирана со

методот со редуциран Хесијан кој го опишавме. Ако низата }{ kx

конвергира кон *x R - линеарно, тогаш }{ kM и }{ 1

kM се рамномерно

ограничени и kx конвергира суперлинеарно во два чекори.

Page 176: Magisterska FINAL

176 Секвенцијално квадратно програмирање (SQP)

4.10 Ефект на Маратос

Во делот §4.8 забележавме дека некои значајни функции можат да спречат

брза конвергенција на SQP методите преку отфрлање на чекорите кои

прават добар прогрес кон решението. Овој непосакуван феномен се

нарекува ефект на Маратос. Овој ефект ќе го илустрираме преку

следниот пример, во кој SQP чекорите kp даваат зголемување на

квадратната брзина на конвергенција, но предизвикуваат растење и на

вредноста на функцијата на цел и на нормата на ограничувањето. Како

резултат на ова, ќе имаме отфрлање на овие чекори од страна на многу

значајни функции.

Пример 4.1. Ја разгледувме задачата

1

2

2

2

121 )1(2),(min xxxxxf

со ограничување 012

2

2

1 xx

Лесно се добива дека оптималното решение е Tx )0,1(* (види Цртеж

4.4) што одговара на Лагранжовиот множител 2

3* и дека

IxLxx ),( **2 .

Нека ја разгледаме итерацијата kx во форма T

kx )sin,(cos која е

допустлива за секоја вредност на . Сега, ќе дефинираме правец на

пребарување kp преку решавање на подзадачата (4.8) со

IxLB xxk ),( **2 .

Page 177: Magisterska FINAL

177 Секвенцијално квадратно програмирање (SQP)

Цртеж 4.4 Ефектот на Маратос: Пример 4.1

Бидејќи

,cos)( kxf

sin4

1cos4)( kxf ,

sin2

cos2)( T

kxA ,

квадратната подзадача (4.8) ја добива следната форма

2

2

2

1212

1

2

1sin4)1cos4(cosmin pppp

со ограничување 12 cot pp .

Со решавање на оваа подзадача, добиваме

cossin

sin 2

kp (4.66)

Page 178: Magisterska FINAL

178 Секвенцијално квадратно програмирање (SQP)

кој подлежи на нова точка

)cos1(sin

sincos 2

kk px

Ако 0sin , имаме

,2

sin2 2

2

*

xpx kk

2sin2

2

* xxk ,

а оттука

2

1

2

*

2

*

xx

xpx

k

kk

Следува дека овој чекор пристапува до решението со Q -квадратна брзина

на конвергенција. Исто така забележуваме дека

)(coscossin)( 2

kkk xfpxf

0)(sin)( 2 kkk xcpxc

па и двете, и вредноста на функцијата на цел и вредноста во

ограничувањата се зголемуваар за овој чекор.

На Цртеж 4.4 е илустриран случајот кога 2

и SQP методот преминува

од )0,1()0( x во )1,1()1( x . Избравме голема вредност за за да биде

појасно, но ќе забележиме дека имаме покажано дека чекорот ќе биде

отфрлен за секоја ненулта вредност на .

Овој пример покажува дека секоја значајна функција од облик

))((1

)();( xchxfx

Page 179: Magisterska FINAL

179 Секвенцијално квадратно програмирање (SQP)

(каде )(h е ненегативна функција за која важи 0)0( h ) ќе го отфрла

чекорот (4.66), па секој алгоритам базиран на значајна функција од овој

тип ќе биде под влијание на ефектот на Маратос.

Постојат неколку стратегии за справување со ефектот на Маратос, но нѐ ни

е од интерес да се задржуваме на нив.

За стратегиите за корекција од втор ред и за “watchdog“ (немонотона)

стратегија може да се види во Chapter 18 во Nocedal&Wright[15].

Page 180: Magisterska FINAL
Page 181: Magisterska FINAL

Глава 5

Теорија на сплајн криви. Конструкција

на кубна сплајн крива

5.1 Вовед во криви и површини

Во овој дел целта ќе ни биде да се запознаеме со основните поими,

дефиниции и резултати кои произлегуваат од теоријата на криви и

површини, кои ќе бидат искористени во овој магистерски труд при

воведувањето на сплајн кривите, кои се основен поим разработен во

практичниот дел од овој труд.

Имено, се поставува прашањето: Како се дефинираат кривите и

површините во пракса? Тоа зависи од она што сакаме да правиме и да

постигнеме.

Голем број на трудови за криви и површини се занимаваат со наоѓање на

интуитивен начин за дефинирање и манипулација со една иста

математичка крива.(Agoston[1], De Boor [5] и G. Farin [6])

На пример, едни сакаат да дефинираат по делови кубна крива со неколку

точки што ја контролираат формата или преку дадени тангентни вектори

или преку условите на закривеност за дадена крива и.т.н. Ова се само

неколку од начините на дефинирање на по делови кубна крива, на кои

подетално ќе се навратиме подоцна.

Претходно, ќе разгледаме неколку различни начини на дефинирање на

непрекината крива во дискретен случај, односно ако е дадено множество

точки т.н контролни точки. Овој проблем се нарекува генерален проблем

на апроксимација(Agoston[1]):

Page 182: Magisterska FINAL

182 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Дефиниција. 5.1. Дадено е фиксно множество функции 1, 2,..., k. Да се

најдат коефициенти ic т.ш:

k

i

ii xcxg1

)()( (5.1)

)(xg се нарекува апроксимација на некоја „теоретска“ функција )(xf .

Функциите )(xi се нарекуваат примитивни или базни функции.

На пример, ако )(xf е функција со реални вредности од реална

променлива, тогаш функциите )(xi можат да бидат мономите ix , и во

тој случај добиваме полиномна функција )(xg која ја апроксимира )(xf .

Основните својства што треба да се задоволени се:

1) Функцијата g треба да биде „блиску“ до f во зависност

од соодветно дадена толеранција;

2) Коефициентитеic треба да бидат единствени.

Што значи функциите да бидат „блиску“? Тоа зависи од метриката

избрана над просторот на функции D , кои ја апроксимираат )(xf .

Најсоодветната метрика за нашиов проблем наречена максимална

метрика и е дефинирана како:

D

dxxbxabad )()(),( ,

каде ),( bad е растојанието меѓу двете функции )(xa и )(xb . Од друга

страна,пак, функцијата )(xf ќе биди позната само во конечен број на

точки sxxx ,...,, 21, па, најдобриот начин е да се минимизира

отстапувањето во jx . Пред да го дефинираме добро познатиот пристап на

апроксимација, ќе разгледаме две работи. Прво, функцијата g ,

дефинирана со (5.1) зависи од вредностите ic , па ќе ја користиме

следната ознака ),...,,;( 21 kcccxg за да експлицитно ја предочиме

зависноста. Второ, бидејќи во растојанијата имаме квадратен корен, за

Page 183: Magisterska FINAL

183 Теорија на сплајн криви. Конструкција на кубна сплајн крива

поедноставување на обликот на задачата за минимизација ќе користиме

квадрати од растојанијата.

Дефиниција 5.2. Функцијата ),...,,;( 21 kcccxg која го минимизира

s

j

kjjk cccxgxfcccE1

2

2121 ),...,,;()(),...,,(

се нарекува апроксимација со најмали квадрати на функцијата )(xf .

Наоѓањето на апроксимација со најмали квадрати се базира на

изедначување на парцијалните изводи icE / , ki ,..,2,1 на нула и со

решавање на системот од линеарни равенки што се добива за секое ic ,

ki ,..,2,1 . Потребно за оваа задача е да важат следните услови:

1) Интерполациски услови:

)()( jj xfxg , за некои фиксирани jx , sj ,..,2,1

2) Комбинација на 1) со условите за глаткост

)()( jj xfxg , sj ,..,2,1

3) Услови за ортогоналност(нормалност)

igf i ,0, , ki ,..,2,1

4) Варијациони услови

hfgfAh

min ,

каде A е линеарен потпростор од X дефиниран со помош

на функциите i , ki ,..,2,1 .

5) Интуитивните услови за формата кои го воведуваат и

поимот за закривеност на крива или површина.

Page 184: Magisterska FINAL

184 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Заедничката нишка која е во позадина на многу дискусии и расправи

поврзани со параметризацијата на криви и површини во CAGD (Control

Aided Geometric Design) може да се прочита од Farin[6]:

„Иако ќе изгледа дека зборуваме за различни параметризации, често станува

збор за една единствена функција и тоа не значи дека опишуваме различни функции.

Единствената работа која би предизвикала промени е тоа како ќе ја претставиме

параметризацијата – кои контролни точки да ги избериме, кои се јазлите на кои

соодветствуваат тие контролни точки и.т.н. Поимите како Безјѐова крива или Б-сплајн

крива означуваат различни гледишта на иста функција.“

Ќе разгледаме сега делови поврзани со терминологијата. Дефинициите за

параметарска крива и параметризација, репараметризација може да се

видат во делот за Диференцијална геометрија во Agoston[2].

Нека е дадена параметарска крива

)(),...,(),()(,],[: 21 upupupupRbap m

m .

Координатните функции ip ,

mi ,..,2,1 по параметар u , се реални

функции со реални променливи.

Дефиниција 5.3. Ако сите ip , mi ,..,2,1 имаат исти својства, тогаш

велиме дека и p го има истото својство. На пример, ако ip , mi ,..,2,1

се полиноми или сплајнови (поим кој наскоро ќе го дефинирам) тогаш

велиме дека и p е полиномна или сплајн крива соодветно. Ако сите ip ,

mi ,..,2,1 се линеарни, квадратни или кубни полиноми, тогаш велиме

дека и p е линеарна, квадратна или кубна крива соодветно.

Page 185: Magisterska FINAL

185 Теорија на сплајн криви. Конструкција на кубна сплајн крива

5.2 Историски развој

5.2.1 Лагранжова интерполација

Задача на Лагранжовата интерполација:

Дадени се точки ).,(...,),,(),,( 1100 nn yxyxyx Треба да се најде полином

)(xp т.ш ii yxp )( , за ni ,...,1,0 .

Теорема 5.1. Постои единствен полином )(xp од степен n кој е

решение на задачата на Лагранжова интерполација, наречен

Лагранжов полином.

Доказ. Дефинираме полиноми

n

ijj ji

j

nninixx

xxxxxxLxL

0

10,, ),...,,;()( (5.2)

Полиномите niL , се викаат Лагранжови базни функции во однос на

nxxx ,...,, 10. Лесно се проверува дека

ji

jixL ijjni

,0

,1)(, (5.3)

па така полиномот од n -ти степен

n

i

nii xLyxp0

, )()( (5.4)

ги задоволува интерполациските услови. Со ова ја покажавме

егзистенцијата. За да покажеме единственост, претпоставуваме дека ако

)(xq е друг полином од n -ти степен кој ги задоволува истите овие услови,

тогаш полиномот од n -ти степен )()()( xqxpxh има 1n корени

nxxx ,...,, 10. Ова не е можно, освен ако )(xh е нулти полином, бидејќи

Page 186: Magisterska FINAL

186 Теорија на сплајн криви. Конструкција на кубна сплајн крива

нетривијалните полиноми од n -ти степен можат да имаат најмногу n

корени.(Corollary E 5.4 во Agoston[2]) . Со тоа теоремата е покажана.

Забележуваме дека Лагранжовите базни функции го задоволуваат

равенството:

n

i

ni xL0

, 1)( (5.5)

за сите x . Ова важи, бидејќи очигледно оваа равенство е исполнето за

jxx и затоа што нетривијалниот полином од n -ти степен може да

прима иста вредност најмногу n пати.

Погорната дискусија можеме да ја примениме и во интерполација

на точки од mR со параметарски зададена крива, бидејќи тоа е едноставно

со примена на (5.4) во m -те координати од точките одделно. Со други

зборови, ако се дадени различни реални броеви nuuu ,...,, 10

и точки

m

n Rppp ,...,, 10 , функцијата

n

i

inni puuuuLup0

10, ),...,,;()( (5.6)

е единствена полиномна крива од n -ти степен која го интерполира

множеството од точки ip во вредностите

iu . Оваа крива се нарекува

Лагранжова интерполациона полиномна крива. Бидејќи кубните криви

ќе ни бидат од интерес, ќе ги разгледаме само формулите за овој случај

т.е за 3n .

Имаме:

Page 187: Magisterska FINAL

187 Теорија на сплајн криви. Конструкција на кубна сплајн крива

))()((

))()(()(

))()((

))()(()(

))()((

))()(()(

))()((

))()(()(

231303

2103,3

321202

3103,2

312101

3203,1

302010

3213,0

uuuuuu

uuuuuuuL

uuuuuu

uuuuuuuL

uuuuuu

uuuuuuuL

uuuuuu

uuuuuuuL

(5.7)

Ако ставиме

3

0

)(

ijj

jii uu

и

тогаш лесно се покажува дека )(up може да биде запишан во следната

матрична форма:

3

2

1

0

23 1)(

p

p

p

p

Muuuup (5.8)

Претпоставуваме дека

3

210

2

310

1

320

0

321

3

022110

2

033110

1

033220

0

133221

3

210

3

310

1

320

0

321

3210

1111

uuuuuuuuuuuu

uuuuuuuuuuuuuuuuuuuuuuuu

uuuuuuuuuuuu

M

Page 188: Magisterska FINAL

188 Теорија на сплајн криви. Конструкција на кубна сплајн крива

3223

2112

1001 ,

ppuu

ppduu

ppuu

.

каде ji pp е должината на сегментот од ip до jp .

Ќе забележиме дека оддалеченоста на iu влијае на формата на кривата.

Помали вредности на d , даваат поблиско „движење“ на кривата до

сегментот од 1p до

2p , но лоша апроксимација во другите сегменти.

Цртеж 2.1. Влијание на оддалеченоста на iu во формата на кривата

Иако теорема 5.1. покажува дека секогаш можеме да најдеме

интерполирачки полином, постојат и сериозни недостатоци за користење

на овој полином како интерполирачка крива. Прво, ова е пресметковно,

доста скапо. Второ, кривата која ќе се конструира ќе биде разбранувана,

па нејзиниот облик нема да се поклопува со обликот кој го подразбираме

од даденото множество на точки.

Page 189: Magisterska FINAL

189 Теорија на сплајн криви. Конструкција на кубна сплајн крива

5.2.2 Ермитова интерполација

За да ги избегнеме осцилациите од полиномот добиен со Лагранжова

интерполација, можеме да составиме полином од втор степен, но

генерално, ќе има „шпицови“ на составите (спојките). Овие „шпицови“

претставуваат точки во кои кривата не е диференцијабилна. Ако се

обидеме да користиме кубни полиноми, тогаш ќе имаме доволно степени

на слобода да формираме полиноми кои имаат ист наклон во составните

точки.

Лема 5.1. За дадени реални броеви 1010 ,,, mmyy , постои единствен

кубен полином )(xp таков што:

1010 )1(,)0(,)1(,)0( mpmpypyp

Доказ. Општиот кубен полином

32)( dxcxbxaxp

има четири степени на слобода т.е четири неопределени коефициенти.

Ако ги замениме нашите услови се добиваат четири равенки и четири

непознати, кои даваат единствено решение за cba ,, и d . Ќе користиме

матричен пристап во образложувањето.

Бидејќи

232)( dxcxbxp

лесно се проверува дека

1

0

1

0

0123

0100

1111

1000

m

m

y

y

a

b

c

d

(5.9)

4х4 матрицата на левата страна од (5.9) има инверзна. Со лесни пресметки

се добива инверзната матрица hM

Page 190: Magisterska FINAL

190 Теорија на сплајн криви. Конструкција на кубна сплајн крива

0001

0100

1233

1122

hM (5.10)

Оттука имаме,

1

0

1

0

m

m

y

y

M

a

b

c

d

h (5.11)

и

1

0

1

0

23 1)(

m

m

y

y

Mxxxxp h (5.12)

Ако ги дефинираме полиномите 321 ,, FFF и

4F со

hMxxxxFxFxFxF ]1[)()()()( 23

4321 (5.13)

тогаш

1)(

1)(

23)(

121)(

2

4

2

3

2

2

2

1

xxxF

xxxF

xxxF

xxxF

(5.14)

Уште поважно

)()()()()( 41302110 xFmxFmxFyxFyxp (5.15)

Ќе истакнеме дека за полиномите )(xFi, 4,3,2,1i е исполнето:

Page 191: Magisterska FINAL

191 Теорија на сплајн криви. Конструкција на кубна сплајн крива

1)1(,0)0(,0)1(,0)0(

0)1(,1)0(,0)1(,0)0(

0)1(,0)0(,1)1(,0)0(

0)1(,0)0(,0)1(,1)0(

4444

3333

2222

1111

FFFF

FFFF

FFFF

FFFF

(5.16)

Постоењето на функциите со вакви својства ќе гарантира и исполнување

на равенството (5.15).

Цртеж 5.2. Ермитови базни функции

Дефиниција 5.4. Матрицата hM дефинирана со (5.10) се вика Ермитова

матрица. Полиномите )(xFi дефинирани со равенствата (5.13) и (5.14) се

нарекуваат Ермитови базни функции.

На Цртеж 5.2 се прикажани Ермитовите базни функции.

Исто така,

1)()( 21 xFxF (5.17)

важи за секој x . Бидејќи и iF преставуваат дел од погенерална шема на

функции, слично како кај Лагранжовите полиноми, ќе ги воведеме

следните алтернативни ознаки:

23,343,233,113,0 ,,, FHFHFHFH (5.18)

Лемата 5.1 е специјален случај на општата интерполациона задача:

Page 192: Magisterska FINAL

192 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Задача на по делови Ермитова интерполација.

За дадени тројки nnn myxmyxmyx ,,,...,,,,,, 111000, да се најдат

кубни полиноми 1,...,1,0,)( nixpi, такви што:

11

11

)(

)(

)(

)(

iii

iii

iii

iii

mxp

yxp

mxp

yxp

, 1,...,1,0 ni (5.19)

Теорема 5.3. Задачата на по делови Ермитова интерполација има

единствено решение.

Доказ. Оваа теорема е последица на (5.12). Со едноставна смена на

променливите во (5.12) каде x ќе го смениме со

ii

i

xx

xxs

1

но овој трик нема целосно да успее, бидејќи заради правилото на

диференцирање на сложена функција ќе добиеме погрешни наклони во

крајните точки, бидејќи

ii xxdx

ds

1

1

Затоа, треба да ги модифицираме влезните наклони за некој соодветен

фактор. Лесно се проверува дека точната формула за Ермитовите базни

функции )(xpiе:

1,...,1,0,

)(

)(1)(

11

1

123

ni

xxm

xxm

y

y

Msssxp

iii

iii

i

i

hi .

Можеме да ја упростиме оваа формула. Дефинираме

Page 193: Magisterska FINAL

193 Теорија на сплајн криви. Конструкција на кубна сплајн крива

0001

0100

1233

1122

)( 22

2233

dddd

dddd

dM h , за 0d (5.20)

Тогаш

1

123 )(1)()()()(

i

i

i

i

ihiiii

m

m

y

y

xMxxxxxxxp (5.21)

каде iii xxx 1, 1,...,1,0 ni .

Равенството (5.21) во Теорема 5.1 ни покажува дека

интерполирачките полиноми )(xpi можат да се претстават во следната

форма

143121 )()()()()( iiiii mxfmxfyxfyxfxp , 1,...,1,0 ni (5.22)

каде функциите )(xf j , 4,3,2,1j , кои зависат од i ) се дефинирани со:

)(]1)()()([])()()()([ 23

4321 ihiii xMxxxxxxxfxfxfxf (5.23)

каде 1,...,1,0 ni

Интересно својство што тука го забележуваме е дека

1)()( 21 xfxf (5.24)

за сите x . Доказот е тривијален, исто како што би го демонстрирале за

(5.17), изведувајќи ги експлицитните формули за 4,3,2,1,)( ixfi , слично

како во (5.14).

Page 194: Magisterska FINAL

194 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Исто како и во Лагранжовиот случај, и тука можеме да интерполираме

точки од mR со параметарска крива. Со други зборови, за дадени

различни точки nuuu ,...,, 10

, точки nppp ,...,, 10

и тангентни вектори

nvvv ,...,, 10 во nR , постои единствена крива

m

n Ruup ],[: 0 наречена

Ермитова по делови интерполациона крива и за која важи:

1. ii pup )( , ni ,...,1,0

2. ii vup )( , ni ,...,1,0 и

3. 1,

ii uui pp е кубен полином, 1,...,1,0 ni

Всушност,

1

123 )(1)()()()(

i

i

i

i

ihiiii

v

v

p

p

uMuuuuuuup (5.25)

каде iii uuu 1, ni ,...,1,0 . Како и (5.22), преку (5.23) можеме (5.25)

да ја претставиме како

143121 )()()()()( iiiii vufvufpufpufup (5.26)

каде функциите )(uf j , 4,3,2,1j , се дефинирани со (5.22).

Јасно е дека функцијата )(up е диференцијабилна по конструкција, па,

како и да е, задачата која ја поставивме на почеток не е целосно решена,

бидејќи, иако ќе имаме интерполациона крива со помал степен, без

„шпицови“, претпоставуваме дека ќе ни бидат познати тангентните

вектори iv .

Сега, ќе пристапиме кон обопштување на задачата на Ермитова

интерполација.

Нека kRA и нека mRAp : е функцијата

Page 195: Magisterska FINAL

195 Теорија на сплајн криви. Конструкција на кубна сплајн крива

ttss vugvugpufpufup )(...)()(...)()( 1111 (5.27)

каде m

ji Rvp , и ip се „точки“, а jv се „вектори“, а )(uf i

и )(ugi се

функции со реални вредности. Разликата помеѓу „точка“ и „вектор“, тука,

е во начинот на трансформирање. Претпоставуваме дека афиното

пресликување T од mR го пресликува „векторот“ v (се мисли на

сегментот насочен од почетокот до точката v ), во „векторот“ )()0( vTT .

Даденото пресликување T од mR можеме да го запишеме во форма

0)()( qqMqT

каде M е линеарна трансформација (Теорема 2.5.8, Chapter 2 од

Agoston[1])

Нека mRApX )( . Прашањето кое си го поставуваме е , како да го

најдеме трансформираното множество )(XTY ? Произволна точка

)(up од X , со T ја пресликуваме во форма

01111 )()(...)()()()(...)()( qvMugvMugpMufpMuf ttss (5.28)

Ако ги замениме вредностите за ip и векторите

iv во (5.27) со нивните

трансформирани вредности, добиваме:

)29.5()()(...)()(

)()()(...)()(

)()(...)()()()(...)()(

11

0

1

11

110011

tt

s

j

jss

ttss

vMugvMug

qufpMufpMuf

vMugvMugqpMufqpMuf

Дефиниција 5.5. Функцијата )(up , дефинирана со (5.27) се вели дека е

афино инваријантна ако изразите (5.28) и (5.29) дефинираат иста точка.

Теорема 5.4. Функцијата )(up дефинирана со равенството (5.27) е

афина инваријанта ако и само ако

s

j

j uf1

1)(

Page 196: Magisterska FINAL

196 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Доказ. Со лесна споредба на (5.28) и (5.29) јасно се гледа дека резултатот

од теоремата важи.

Последица 5.1. Лагранжовите и Ермитовите интерполациони криви се

афини инваријанти.

Доказ. Следува веднаш од претходната теорема и од равенствата (2.5) и

(2.54).

5.2.3 Сплајн интерполација

Дефиниција 5.6. Сплајн од m -ти степен и ред 1m ја нарекуваме

функцијата RbaS ],[: , за која постојат реални броеви nixi ,...,1,0,

т.е bxxxa n ...10, такви што:

1. S е полином од степен не поголем од m на ],[ 1ii xx за

1,...,1,0 ni и

2. S е 1mC функција.

ix се нарекуваат јазли , а векторот nxxx ...10 е наречен вектор од

јазли со должина 1n , за сплајнот. Влезното множество на точки

niyx ii ,...,0:),( се нарекува множество од контролни точки, а

подредените парови ),( ii yx се нарекуваат контролни точки.

Интервалите 1, ii xx се нарекуваат распони. Ако за јазолот ix е

исполнето didiiii xxxxx 111 ... каде 11 , nxx ,

тогаш за ix велиме дека е јазол со кратност d

S се нарекува линеарен, квадратен или кубен сплајн ако има степен 1,2

или 3 соодветно.

Од особен интерес ќе ни бидат кубните сплајн интерполациски криви,

бидејќи за нив ќе бидат исполнети глобалните услови за

диференцијабилност т.е ќе имаме непрекинатост на вториот извод на

Page 197: Magisterska FINAL

197 Теорија на сплајн криви. Конструкција на кубна сплајн крива

],[ 0 nxx , што е од особено значење во практичните потреби при

математичкото моделирање на траекторија на движење.

Дефиниција 5.7. Нека е дадена низа од 1n контролни точки ),( 00 yx ,

),( 11 yx ,..., ),( nn yx со јазли nxxx ,...,, 10

такви што

bxxxa n ..., 10. Функцијата )(xS со коефициенти 0,is , 1,is , 2,is и

3,is , која ги задоволува следните својства

1) 3

3,

2

2,1,0, )()()()()( iiiiiiii xxsxxsxxssxSxS за секој

],[ 1 ii xxx и 1,...,1,0 ni

2) niyxS ii ...,,1,0,)(

3) 2,...,1,0,)()( 111 nixSxS iiii

4) 2,...,1,0,)()( 111 nixSxS iiii

5) 2,...,1,0,)()( 111 nixSxS iiii

се нарекува кубен сплајн.

Дефиниција 5.8. Задачата за наоѓање на кубен сплајн кој ги задоволува 1)

– 5) се нарекува задача на кубна сплајн интерполација.

Теорема 5.5. (Егзистенција на кубниот сплајн) Задачата на кубна сплајн

интерполација има решение.

Доказ. Доказот на ова тврдење е превземен од Mathews&Kurtis[12].

Кубниот сплајн )(xS е определен со n кубни полиноми

1,...,1,0,)( nixSi. Секој од овие полиноми има по 4 неопределени

коефициенти, па значи, проблемот има n4 степени на слобода. Од друга

страна, пак, својството 2) определува 1n услови, а својствата 3)-5)

определуваат по 1n услови, и тоа се вкупно 24)1(31 nnn

услови. Тоа значи дека недостасуваат уште 2 услови за проблемот да е

еднозначно определен. Овие два услови се нарекуваат услови на

крајните точки, на кои подетално ќе се навратиме подоцна. Бидејќи

)(xS е по делови кубна функција на интервалот ],[ 0 nxx (на секој од

распоните 1, ii xx ) следува дека нејзиниот втор извод е по делови

Page 198: Magisterska FINAL

198 Теорија на сплајн криви. Конструкција на кубна сплајн крива

линеарна функција. На распонот 1, ii xx , функцијата )(xS е линеарна

функција, па ако се познати )( ixS и )( 1

ixS , отсечката што ги поврзува

точките )(, ii xSx и )(, 11

ii xSx може да се добие со Лагранжова

интерполација:

ii

ii

ii

ii

xx

xxxS

xx

xxxSxS

1

1

1

)()()( (5.30)

Ги воведуваме ознаките

1,...,1,0,

,...,1,0,)(

1

nixxh

nimxS

iii

ii

Тогаш (5.30) преминува во облик

)()()( 11 i

i

ii

i

ii xx

h

mxx

h

mxS

(5.31)

Со интегрирање на (5.31) се добива

ii

i

iii

i

ii qxx

h

mpxx

h

mxS 212

1 )(2

)(2

)( (5.32)

Повторно со интегрирање на, сега на (5.32), се добива

)()(6

)()(6

)( 311

3

1 iii

i

iiii

i

ii xxqxx

h

mxxpxx

h

mxS

(5.33)

Во (5.33) ставаме ixx , по што се добива

ii

ii

iiiii

i

iiii hp

hmxxpxx

h

myxS

6)()(

6)(

2

1

3

1 (5.34)

Во (5.33) ставаме 1 ixx , по што се добива

Page 199: Magisterska FINAL

199 Теорија на сплајн криви. Конструкција на кубна сплајн крива

ii

ii

iiiii

i

iiii hq

hmxxqxx

h

myxS

6)()(

6)(

2

1

1

3

1

1

111

(5.35)

Во (5.34) и (5.35) добиваме

ii

ii

iii

ii

i hqhm

yhphm

y

6

,6

2

1

1

2

па ip и

iq можеме да ги изразиме на следниот начин:

i

iii

ih

yhmp

6 (5.36)

6

11 ii

i

ii

hm

h

yq

(5.37)

Со замена на ip и

iq од (5.36) и (5.37) во (5.33), се добива:

)(6

)(6

)(6

)(6

)38.5()(6

)(6

)(6

)(6

)(

111

313

1

1131

1

3

1

i

ii

i

ii

ii

i

ii

i

ii

i

i

i

ii

i

ii

i

i

i

i

iii

i

i

ii

xxhm

h

yxx

hm

h

yxx

h

mxx

h

m

xxhm

h

yxx

h

m

xxh

yhmxx

h

mxS

Во формулата (5.38) единствени непознати величини се броевите .

Значи

)(6

)(6

)(6

)(6

)(11

1

313

1 i

ii

i

ii

ii

i

ii

i

ii

i

ii xx

hm

h

yxx

hm

h

yxx

h

mxx

h

mxS

im

Page 200: Magisterska FINAL

200 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Со диференцирање на последново равенство се добива

)39.5(66

)(2

)(2

)(11212

1

ii

i

iii

i

ii

i

ii

i

ii

hm

h

yhm

h

yxx

h

mxx

h

mxS

Во (5.39) ако ставиме ixx , се добива

66)(

2)(

112

1

ii

i

iii

i

iii

i

iii

hm

h

yhm

h

yxx

h

mxS

i

iiiiiiii

i

iii

i

iii

h

yyhmhmhm

h

yhm

h

yhm 1111

63662 (5.40)

Воведуваме ознака

i

iii

h

yyd

1 (5.41)

по што формулата (5.40) добива облик

i

iiii

i dhmhm

xS

63)(

1 (5.42)

Аналогно, со формулата (5.38), заменувајќи го i со 1i се добива и

формулата:

1

111

163

)(

i

iiii

i dhmhm

xS (5.43)

Од својството 4) од дефиницијата за кубен сплајн следува

1,...,2,1,)()(1 nixSxS ii

Со изедначување на десните страни на (5.42) и (5.43) се добива систем од

1n равенки:

1

1111

6363

i

iiii

i

iiiid

hmhmd

hmhm

Page 201: Magisterska FINAL

201 Теорија на сплајн криви. Конструкција на кубна сплајн крива

11111 6262 iiiiiiiiii dhmhmdhmhm

)(622 11111 iiiiiiiiii ddhmhmhmhm

iiiiiiii uhmmhhmh 1111 )(2 (5.44)

каде

)(6 1 iii ddu (5.45)

при што поради (5.31) има 1n непознати nimi ,...,1,0, .

Системот (5.44) има вишок 2 степени на слобода. За да се дојде до

конкретно решение на проблемот- еден точно определен кубен сплајн,

неопходно е да се определат дополнителните 2 услови- условите на

крајните точки.

Во зависност од изборот на крајните точки, се вели дека конструкцијата е

базирана на одредена стратегија. Во пракса, најчесто користени се

следните стратегии:

i. Зглобен кубен сплајн- се задаваат вредности за )( 0xS и )( nxS .

Во овој случај на системот (5.44) му се додаваат уште 2 равенки:

2

)(3 1

00

0

0

mxSd

hm

2

)(3 1

1

1

nnn

n

n

mdxS

hm

ii. Природен кубен сплајн- „релаксирана крива“- нулта закривеност

на сплајнот на краевите. На (5.44) ги додаваме следните 2 равенки

0;00 nmm

iii. Екстраполирање на S во крајните точки – на системот (5.44) се

додаваат равенките

Page 202: Magisterska FINAL

202 Теорија на сплајн криви. Конструкција на кубна сплајн крива

2

211

1

1

120

10

)(

;)(

n

nnn

nnh

mmhmm

h

mmhmm

iv. S е константен во близина на крајните точки- на системот

(5.44) ги додаваме следните равенки:

110 ; nn mmmm

v. Зададени вредности за )( 0xS и )( nxS - се додаваат равенките

)(;)( 00 nn xSmxSm

Во сите пет стратегии, додаените два екстра услови се доволни за

постоење на единствен кубен сплајн со дадените услови.

Независно која стратегија ќе се примени, се добива тридијагонален строго

дијагонално доминантен систем (види Chapter 3 во Mathews&Kurtis[12])

2

1

0000

000

00

00

000

1

2

1

1

2

1

0

1

112

221

110

00

extra

u

u

u

extra

m

m

m

m

m

ba

cba

cba

cba

cb

n

n

n

nn

nnn

(5.46)

каде 1extra и 2extra се едни од условите на крајни тпчки (i) – (v), кој има

единствено решение и ефикасен алгоритам за негово решавање.

Значи, со решавање на (5.46) се пресметуваат непознатите 0m ,

1m ,2m ,...,

1nm ,nm . Па со тоа што ги знаеме нивните вредности, лесно се изведуваат

формулите за пресметување на коефициентите 0,is , 1,is , 2,is и 3,is на

сплајнот )(xS во 1):

Page 203: Magisterska FINAL

203 Теорија на сплајн криви. Конструкција на кубна сплајн крива

i

iii

ii

iii

ii

ii

h

mms

ms

mmhds

ys

6

2

6

)2(

13,

2,

1

1,

0,

, 1,...,0 ni (5.47)

Сега, секој од кубните полиноми )(xSi може ефикасно да се пресмета со :

iiiiii xxwywswswsxS ,)()( 1,2,3, (5.48)

Со тоа, теоремата е покажана.

Практичното значење на сплајновите е тоа што го поседуваат својството на

минимално осцилирање. Значи, од сите функции )(xf кои се двапати

диференцијабилни на интервалот ],[ ba и кои интерполираат дадено

множество од контролни точки n

iii yx0

,

, кубниот сплајн има најмалку

осцилации. Следната теорема го објаснува овој феномен.

Теорема 5.6. Нека ],[2 baCf и )(xS е единствениот кубен

интерполирачки сплајн за )(xf кој поминува низ точките n

iii xfx0

)(,

и го задоволува условот i) на крајните точки т.е нека )()( afaS и

)()( bfbS . Тогаш

b

a

b

a

dxxfdxxS22

)()( (5.49)

Доказ. Со парцијална интеграција и од условите на крајните точки, имаме

dxxSxfxS

dxxSxfxSxSxfxSdxxSxfxS

b

a

b

a

bx

ax

b

a

))()(()(00

))()(()())()()(()()()( |

Page 204: Magisterska FINAL

204 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Бидејќи 3,6)( isxS , на распонот 1, ii xx следува дека

1,...,1,0,0)()(6)()()( |1

1

3,

NixSxfsdxxSxfxSi

i

i

i

xx

xxi

x

x

.

Оттука, 0)()()(1

i

i

x

x

dxxSxfxS , од каде следува дека

b

a

b

a

dxxSdxxfxS2

)()()( (5.50)

Бидејќи 2)()(0 xSxf , ако го ставиме под интеграл, се добива

b

a

b

a

b

a

b

a

dxxSdxxSxfdxxfdxxSxf222

)()()(2)()()(0

од каде, ако го замениме (5.50) во последново неравенство се добива

b

a

b

a

dxxSdxxf22

)()(0

5.2.4 Безјѐови криви

Во овој дел ќе разгледаме една класа на криви кои се дофинирани од

контролни точки, но воглавно, не ги интерполираат. Иако пристапот преку

геометриски коефициенти е доста големо достигнување, често во пракса,

специфицирањето на тангентни вектори е доста техничка работа. На

корисникот, често, подобро му е со поместување на некоја од

контролните точки да ја добие формата која ќе биде во склад со неговите

очекувања. На следниот цртеж 5.3 е дадена кубна крива )(up со

контролни точки 3210 ,,, pppp , која почнува во

0p , а завршува во3p .

Page 205: Magisterska FINAL

205 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Цртеж 5.3 Безјѐова крива

На лесен начин се поставуваат точките да бидат такви што1p и

2p се

избираат да ги конструираат тангентите на кривата преку 0p

и 3p

соодветно. Тогаш

32

10

)1(

)0(

ppp

ppp

(5.51)

за некои и . Нека 3 се фиксни за кои подоцна ќе објасниме

зошто се токму овие вредности. Од дефиницијата имаме дека Ермитовата

кубна матрица за кубната крива )(up (види Chapter 11.3 од Agoston[1]) е

bhbBM , каде

3300

0033

1000

0001

hbM и

3

2

1

0

p

p

p

p

Bb.

Матрицата bB ги дефинира геометриските точки за Безјѐовата крива.

Следува дека

bbbbbhbhhh BFBUMBMUMBUMup )( (5.52)

каде hM е Ермитовата матрица и

bb UMF ,

Page 206: Magisterska FINAL

206 Теорија на сплајн криви. Конструкција на кубна сплајн крива

0001

0033

0363

1331

hbhb MMM (5.53)

Дефиниција 5.9. Елементите од матрицата bB , ги означуваме со

ip

3,2,1,0i соодветно, и се нарекуваат Безјѐови коефициенти на кривата

)(up . Матрицата bM се вика Безјѐова матрица.

За )(up се добива следната формула: (види Agoston[1])

3

3

2

2

1

2

0

3 )1(3)1(3)1()( pupuupuupuup (5.54)

Оваа кубна крива се нарекува кубна Безјѐова крива која се однесува за

точките ip . Забележуваме дека сумата на коефициентите е единица, па

кривата лежи во конвексната покривка на точките ip , 3,2,1,0i Токму ова е

причината за изборот на вредности за и ( 3 )

Следно, ќе направиме генерализација на конструирањето на Безјѐова

крива со помош на произволен број на точки, а не само со четири.

Пристапите се следни:

1) почнуваме прво со Бернштајнова полиномна апроксимација на

непрекинати функции и продолжуваме да ги изведуваме

останатите својства.

2) коритење на погеометриски „мултиафин“ пристап.

Ќе го разгледаме само првиот пристап. Вториот може да се види во Section

11.5.2 во Agoston[1].

Page 207: Magisterska FINAL

207 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Дефиниција 5.10. Нека mRf ]1,0[: е непрекината функција.

Дефинираме

n

i

nin uBn

ifufF

0

, )())(( (5.55)

каде

ini

ni uui

nuB

)1()(, (5.56)

Полиномната функција ))(( ufFn се вика Бернштајнова полиномна

апроксимација од n -ти степен на функцијата f .

Дефиниција 5.11. За дадена низа од точки ip во niRm ,...,1,0, велиме

дека дефинира Безјѐова крива )(up , ]1,0[u ако

n

i

ini puBup0

, )()( (5.57)

Точките ip се викаат Безјѐови или контролни точки за )(up , а

полигоналната крива дефинирана од нив се вели дека формира Безјѐов,

карактеристичен или контролен полигон за )(up . Функциите )(, uB ni се

нарекуваат Безјѐови базни функции.

Забелешка. Францускиот инженер Pierre Bѐzier, кој ги вовел Безјѐовите

криви, ги користел коефициентните функции во (5.57) кои се тесно

поврзани со Бернштајновите полиноми, само се дадени во поразлична

форма (види Farin[6]).

Безјѐовите криви имаат голем број на убави својства. Првото од нив е дека

лежат во конвексната покривка на нивниот карактеристичен полигон. Ова

следува од следните два факти дадени во Теорема 1.72 во Agoston[1]

Page 208: Magisterska FINAL

208 Теорија на сплајн криви. Конструкција на кубна сплајн крива

1) 0)(, uB ni

2) 1)(0

,

n

i

ni uB .

Својството 2) очигледно важи nn uu )1(11 .

Исто така, лесно се проверува дека Безјѐовата крива почнува во првата, а

завршува во последната контролна точка т.е 0)0( pp и

npp )1( .

Безјѐовите криви се симетрични. Ова значи дека, ако ги земеме

контролните точки во обратен редослед, ќе ја добиеме истата крива. Ова

следува од

)1()( ,, uBuB ninni , 3,2,1,0i (5.58)

Следно, ќе покажеме дека Безјѐовите криви имаат едноставна рекурзивна

дефиниција, па за таа цел, ќе ги презапишеме во поинаква форма и ќе го

искристиме идентитетот што важи за биномните коефициенти

1

11

i

n

i

n

i

n (5.59)

па добиваме

n

nn

i

i

ini

n

i

i

inin

n

nn

i

i

inin

i

i

inin

n

nn

i

i

ininn

i

ini

pupuui

nu

puui

npuu

pupuui

npuu

i

npu

pupuui

npupuBup

11

1

1

1

1

1

0

1

1

1

1

1

0

1

1

0

0

,

)1(1

1

)1(1

)1()1(

)1(1

1)1(

1)1(

)1()1()()(

Page 209: Magisterska FINAL

209 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Изразите во средни загради се Безјѐови криви од n точки. Нека )(, up ji

означува Безјѐова крива дефинирана со точките jii ppp ,...,, 1 . Јасно,

)(,0 up n е )(up . Ако ги смениме променливите во сумите погоре се

добива

)()()(

)()()1()(

1,0,11,0

,11,0

upupuup

uupupuup

nnn

nn

(5.60)

Оттука, следува дека Безјѐовата крива од 1n точки е проста линеарна

конвексна комбинација (види во глава 1 –дефиниција 1.7) од две Безјѐови

криви од n точки.

Најпознатиот алгоритам за конструирање на Безјѐова крива )(up е

алгоритмот на ДеКастељо (види Chapter 11.4.1 во [1])

Изводите на Безјѐова крива )(up се пресметуваат на следниот начин:

)()(

)1()!(!

!)()1(

)!(!

!

)1()(

1,1,1

11

,

uBuBn

uuini

ninuu

ini

ni

uui

n

du

duB

du

d

nini

iniini

ini

ni

(5.61)

Следува дека

1

0

1,

1

0

11,

1

0

1,

1

1,1

0

1,1,1

)()(

)()(

)()()(

n

k

knk

n

k

knk

n

k

knk

n

k

knk

k

n

k

nknk

puBnpuBn

puBnpuBn

puBuBnupdu

d

0)()( 1,1,1 uBuB nnn . Ако ги искомбинираме овие две изведувања, ја

добиваме следната формула:

Page 210: Magisterska FINAL

210 Теорија на сплајн криви. Конструкција на кубна сплајн крива

)()(1

0

1,1 uBppnupdu

d n

k

nkkk

(5.62)

На овој начин покажавме дека изводот на Безјѐова крива е исто така

Безјѐова крива. Ќе ги разгледаме следните специјални случаи што

следуваат од (5.62) применети на )(up и на )(up

101 )1(,)0( nn ppnpppnp (5.63)

и

21012 2)1()1(,2)1()0( nnn pppnnppppnnp (5.64)

Равенството (5.63) ни дава едно многу важно својство на Безјѐовите криви:

векторот 10 pp е тангентен на кривата на почетокот, а векторот

nn pp 1 е

тангентен вектор на кривата на крајот. Види го цртежот 5.4.

Цртеж 5.4 Безјѐова крива и Безјѐов(контролен) полигон

Исто така, во дефиницијата за Безјѐова крива забележуваме дека доменот

на кривата е интервалот ]1,0[ . Но, генерално, тоа не е неопходно.

Со трансформацијата

ab

avpvq )( (5.65)

каде )(up е Безјѐовата крива на интервалот ]1,0[ дефинирана со (5.57),

дефинираме крива mRbaq ],[:

Page 211: Magisterska FINAL

211 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Што се однесува на недостатоците и практичните проблеми кои ги имаме

со користење на Безјѐовите криви, можеме да го кажеме следното:

1) Степенот на кривата расте со зголемување на бројот на контролни

точки;

2) Немаме локална контрола. Најмала промена на некоја од

контролните точки предизвикува повторно пресметување на

целата крива, иако при една промена на контролна точка имаме

мала промена на изгледот на кривата.

Ова се навистина значајни недостатоци во пракса, бидејќи често при

моделирањето на криви ќе бидеме подложни на корекции во

контролните точки. Овој проблем е решен со воведувањето на Б-сплајн

кривите, кои ќе ги разгледаме во продолжение.

5.2.5 Б-сплајн криви

Најчестиот проблем што се јавуваше кај Безјѐовите криви, а тоа беше при

промената на контролни точки, се решава преку воведувањето на Б-сплајн

кривите. Промената на контролни точки кај овој тип на криви има само

локален ефект.

Б-сплајн кривите може да се дефинираат на неколку начини:

1) преку решавање на равенки специфицирани под одредени услови

(Теорема 5.7, на пример);

2) преку скратени (еднострани) степенски функции (види во

Agoston[1]);

3) рекурзивно (со функциите )(, uN ki , кои ќе ги дефинираме

покасно);

4) со матрици (специјално во случај на квадратни и кубни Б-

сплајнови);

5) преку пристапот со мултиафино пресликување (види Section 11.5.2

во Agoston[1])

Во продолжение ќе ги разгледаме случаите 1) , 3) и 4).

Page 212: Magisterska FINAL

212 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Полигоните се наједноставниот пример на Б-сплајн криви. Нека е даден

полигонот X со темиња niyxp iii ,...,1,0,, . Дефинираме функции S

и iS , 1,...,1,0 ni со:

1)1()( iii ytyttS , 1,...,1,0 ni (5.66)

и

txy

xtxxx

xtS

xty

tS

nn

ii

ii

i

,

,

,

)( 1

1

00

(5.67)

Функцијата S е сплајн функција во однос на јазлите ii xt , а полигонот

претставува график на овие функции на интервалот nxx ,0.

Графикот на iS над 1, ii xx е отсечка 1, iii ppX од X и

iS

соодветствува на линеарната параметризација на iX .

Забележуваме дека, ако поместиме било која точка ip , влијаеме само на

двете функции 1iS и

iS кои се во непосредна близина. S можеме да ја

запишеме како сума од базни функции, слично како кај Лагранжовата и

Ермитовата интерполација. Имено, за секој i ги разгледуваме основните

„капа“ функции )(tbi дефинирани со:

tx

xtxxx

tx

xtxxx

xt

xt

tb

i

ii

ii

i

ii

ii

i

i

i

1

1

1

1

1

1

1

,0

,

,

,0

)( (5.68)

ib , ni ,...,1 се наречени линеарни Б-сплајнови, бидејќи се ненулти само

во два распони. (види Цртеж 5.5 (а) )

Page 213: Magisterska FINAL

213 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Цртеж 5.5 Линеарни Б-сплајнови

Својството на овие „капа“ функции, кои во моментов изгледаат мошне

неважни, е тоа што нивниот збир е 1, т.е:

1

1

11,1)(n

i

ni xtxtb (5.69)

Секоја отсечка од полигонот, освен првата и последната, е график од

сумата на две „капа“ функции. Попрецизно,

10,)()()( 11 nitbytbytS iiiii (5.70)

Види Цртеж 5.5 (b). Со други зборови, ако ги исклучиме крајните точки,

имаме

11

1

1

,)()(

n

n

i

ii xtxtbytS (5.71)

Исто така, од природната параметризација на функцијата и од (5.71)

следува следната параметризација за X :

ii

n

i

i

n

i

ii yxtbtbyttStt ,)()(,))(,(1

1

1

1

Последново равенство го дава фактот дека

1

1

)(n

i

ii xxbt

Page 214: Magisterska FINAL

214 Теорија на сплајн криви. Конструкција на кубна сплајн крива

што следува од (5.71) за специјаниот случај ii xy , па ќе имаме дека

ttS )( . Со други зборови, имаме друг пример на параметарска крива во

следната форма:

n

i

ii pubup0

)()( (5.72)

за некои функции )(ubi и контролни точки

ip .

Во продолжение ќе бидат дадени својствата на генерален Б-сплајн од

степен m

1) да е сплајн од m -ти степен;

2) да се анулира надвор од ( 1m ) -те соседни распони.

Следната теорема ни дава пример дека кубните сплајнови го

задоволуваат условот на компактен носач.

Теорема 5.7 Нека се дадени јазли 112 ,,, iiii xxxx и

2ix . Постои

единствен кубен сплајн )(tbi таков што:

1) 0)( tbi, за

2 ixt или txi 2 и

2) 1)()()( 11 iiiiii xbxbxb

Доказ. (Доказот може да се види во Bartels,Beatty&Barsky[4]) Во основа

имаме четири кубни полиноми, по еден за секој распон, што ни дава 16

степени на слобода. Фактите дека потребно е два соседни полиноми да

имаат исти вредности во пет јазли и да имаат исти први и втори изводи, ни

даваат 15 услови. (Во крајните точки 2ix и

2ix функциите и нивните

изводи се еднакви на 0). Нормализирачкото ограничување во 2) е

дополнителниот „екстра“ услов што ни е потребен за да имаме

единствено решение. Ова решение се состои од четири полиноми:

Page 215: Magisterska FINAL

215 Теорија на сплајн криви. Конструкција на кубна сплајн крива

12

123

1

23

1

123

21

23

,1336

1

,4636

1

,13336

1

,6

1

)(

ii

i

ii

i

ii

i

ii

i

i

xx

xtuuuu

xx

xtuuu

xx

xtuuuu

xx

xtuu

tb (5.73)

каде t се наоѓа во интервалите 12 , ii xx , ii xx ,1, 1, ii xx и 21, ii xx

соодветно. (Цртеж 5.6). Без условот 2) ќе имаме многу решенија.

Цртеж 5.6 Кубни Б-сплајн базни функции

Следно, ќе ја дадеме рекурзивната дефиниција за Б-сплајн на Cox-de Boor.

Дефиниција 5.11. За 0,0 kn и неопаѓачка низа од реални броеви

knuuuU ,...,, 10 дефинираме функции niRRN ki 0,:, ,

рекурзивно, на следниот начин:

uuuu

uuuuN

ii

ii

i

1

1

1,,,0

,1)( (5.74 а)

Ако 1k

)()()( 1,1

1

1,

1

, uNuu

uuuN

uu

uuuN ki

iki

kiki

iki

iki

(5.74 б)

0,0 kn

Page 216: Magisterska FINAL

216 Теорија на сплајн криви. Конструкција на кубна сплајн крива

каде неопределените изрази од облик 0

0 ги изедначуваме со 0.

Функцијата )(, uN ki се нарекува i -ти Б-сплајн или Б-сплајн базна

функција од ред k и степен 1k во однос на вектор од јазли U .

За Б-сплајновите важи дека секој сплајн може да биде претставен како

линеарна комбинација од Б-сплајн базни функции. Овој резултат може да

се најди во Seidel[19]. Буквата „Б“ во името Б-сплајнови доаѓа од терминот

„базни“.

Сплајновите се под големо влијание на изборот на јазлите. Ова всушност

претставува и мотивот за практичниот дел што го опфаќа оваа

магистерска работа.

На следните цртежи е даден изгледот на функциите )(, uN ki за неколку

различни избори на n и k .

Цртеж 5.7а Функциите )(1, uNi кога 1,3 kn

Цртеж 5.7б Функциите )(1, uNi и )(2, uNi кога 2,3 kn

Ќе воведиме неколку термини поврзани со Б-сплајнови.

Page 217: Magisterska FINAL

217 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Дефиниција 5.12. Векторот од јазли за сплајн или Б-сплајн од ред k се

вели дека е прицврстен ако и првиот и последниот јазол имаат кратност

k . Во спротивно, се нарекува неприцврстен. Неприцврстен вектор од

јазли U со должина L се нарекува рамномерен или периодичен ако

јазлите iu се еднакво оддалечени, па, постои константа 0d таква што

duu ii 1 за 20 Li . Ако U е прицврстен тогаш се вели дека е

рамномерен ако сите јазли iu освен првите и последните k јазли, се

еднакво оддалечени т.е duu ii 1 за kLik . Векторот од јазли

што не е рамномерен се нарекува нерамномерен.

Придавките прицврстен, неприцврстен, рамномерен, нерамномерен или

периодичен се применуваат кај сплајнови или кај Б-сплајнови ако се

применети на нивниот вектор од јазли. Во некои литератури (пример

Piegl&Tiller[17]) под „непериодичен“ вектор од јазли го подразбираме

прицврстен нерамномерен вектор од јазли или, пак, „отворено

рамномерен“ го поистоветува со тоа што ние велиме за рамномерно

прицврстен.

Дефиниција 5.13. Нека knuuu ,...,, 10 е вектор од јазли за Б-сплајн од ред

k . Ако iui , ќе го нарекуваме стандардно рамномерен вектор јазли ако

0... 110 kuuu

1 kiui, за nik (5.75)

2...21 knuuu knnn

Теорема 5.7. Функциите )(, uN ki дефинирани со (5.74) ги задоволуваат

следните својства:

1) (Својство на комапактен носач)

,,,0)(, kiiki uuuuN

Само функциите )(,1 uN kki , )(,2 uN kki ,..., )(, uN ki се ненулти на

интервалот 1, ii uu .

Page 218: Magisterska FINAL

218 Теорија на сплајн криви. Конструкција на кубна сплајн крива

2) (Својство на диференцијабилност)

Функцијата )(, uN ki е C во внатрешноста на распоните и mkC 1 во

јазлите со кратност m .

)(, uN ki е сплајн функција од ред k ако сите јазли имаат кратност 1

3) uuN ki ,0)(,

4) Важи 1)(0

,

n

i

ki uN , за сите 1,1 nku . За останатите не

важи. Ако векторот од јазли е прицврстен, тогаш

идентитетот важи за сите knu ,0 .

Доказ. (Види Seidel[19]; Farin [6]; Piegl&Tiller[17]). Својствата 1) и 3) лесно

се покажуваат користејќи индукција по k . Ако 1k , тогаш имаме

тривијален случај. Индукцијата, исто така, игра важна улога и при

докажувањето на останатите делови. Причината за рестрикција на

доменот во 4) ќе биде појасна во дискусијата што ќе ја направиме подоцна

за квадратен Б-сплајн. Исто така, ако векторот од јазли е прицврстен ,

тогаш knnk ,01,1 .

Дефиниција 5.14. За дадена низа точки nipi ,...,1,0, , кривата

n

i

iki puNup0

, )()( (5.76)

се нарекува Б-сплајн крива од ред k (или од степен 1 km ) со

контролни точки nipi ,...,1,0, (или точки на де Бур) и вектор јазли

knuuu ,...,, 10. Домен на кривата е дефиниран да биде интервалот

11, nk uu .

Забелешка. Ако кривата е прицврстена (односно векторот на јазли што се

однесува на кривата е прицврстен), тогаш домен на кривата ќе биде

целиот интервал knuu ,0.

Page 219: Magisterska FINAL

219 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Секое делче nikuup ii 1,, 1, од целата крива )(up се нарекува

сегмент од кривата. Полигоналната крива дефинирана со контролните

точки се нарекува контролен полигон (полигон на де Бур) на кривата.

Во продолжение ќе покажеме дека квадратните и рамномерни Б-сплајн

криви )(up дефинирани со (5.76) можат многу лесно да се пресметаат и

со помош на матрици.

Нека 1, iiu . Бидејќи само 0)(1, uNi за некој u , формулата

(5.76) ни кажува дека коефициентите jp се анулираат за сите j , освен за

iiij ,1,2 . Со други зборови

iii piupiuuiuiiupuiup2

12

2

2

1211

2

11

2

1)(

Нека 1,0),(1 uuqi е рестрикција на )(up на интервалот 1, ii , но

репараметризирана на 1,0 . Тогаш

iiii pupuupuuipuq 2

1

2

2

2

1 12212

1)()(

Забележуваме дека коефициентите на точките не зависат од i . Во

матрична форма (со смена на i со 1i ) имаме:

1

1

2

2 1)(

i

i

i

si

p

p

p

Muuuq (5.77)

каде 2sM е квадратна рамномерна или периодична Б-сплајн матрица

дефинирана со:

011

022

121

2

12sM (5.78)

Page 220: Magisterska FINAL

220 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Кривата )(uqi е дефинирана со 11 ni и 1,0u го означува истото

множество како и оригиналниот квадратен Б-сплајн )(up со рестрикција

за u да биде во ],1[ ii .

Исто така лесно се пресметува и изводот.

На пример,

1

1

2012)(

i

i

i

si

p

p

p

Muuq (5.79)

Ако ги повториме истите чекори во случајот кога имаме рамномерен

кубен Б-сплајн )(up , се добива сличен резултат. Имено, за 21 ni и

1,0u , тогаш,

2

1

1

3

23 1)(

i

i

i

i

si

p

p

p

p

Muuuuq (5.80)

Точките jp во (5.77) и (5.80) се нарекуваат i -ти Б-сплајн коефициенти.

Многу важно е да се забележи разликата меѓу рамномерно прицврстен и

рамномерен Б-сплајн. Првиот Б-сплајн почнува во првата и завршува во

последната точка, а додека, пак, вториот, не поминува низ крајните точки,

туку почнува во средината на првиот и завршува во средината на

последниот сегмент (Цртеж 5.8)

Page 221: Magisterska FINAL

221 Теорија на сплајн криви. Конструкција на кубна сплајн крива

Цртеж 5.8 Рамномерно прицврстен v.s рамномерен Б-сплајн

Во Bartels,Beatty&Barsky [4] има дадено решение за рамномерниот Б-

сплајн да поминува низ првата и крајната точка, преку воведување на

таканаречени „фантом“ точки кои ги дефинира на следниот начин:

101 2 ppp и

11 2 nnn ppp (5.83)

Page 222: Magisterska FINAL
Page 223: Magisterska FINAL

223 Практичен дел

II. Практичен дел

Page 224: Magisterska FINAL
Page 225: Magisterska FINAL

225 Глава 6

Глава 6

Апроксимација и дизајн на сплајн

криви преку оптимална контрола на

векторот јазли.

6.1 Мотивација

Се повикуваме на сплајн кривата )(sC , дефинирана со контролни точки

(познати како точки на de-Boor) id и вектор од јазли t на следниот начин:

1

0

, )()(n

i

kii sNdsC (6.1)

каде bsa , )(, sN ki се базните функции на сплајнот дефинирани за

множеството од јазли t т.е ),(,, stNN kiki .

Ќе ги разгледаме следните дизајн-задачи:

Нека е дадено множество од точки 3,2,,...,, 10 dRPPPP d

m , кое

генерира по делови полиномна крива )(sC , која ќе решава еден од

следните дизајни:

Интерполација: Да се интерполира крива )(sC низ дадените точки

за дадена параметризација ),...,( 0 msss таква што:

ii PsC )( (6.2)

Page 226: Magisterska FINAL

226 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

Апроксимација: Најди крива )(sC што ќе минува што е можно

поблиску до даденото множество точки. Растојанието се мери во

параметарските вредности ),...,( 0 msss . Најблискиот сплајн се

дефинира со:

),(min,

stDst

(6.3)

каде

m

i

ii PsCtsD0

2)(),( (6.4)

И двете дизајн-задачи имаат неколку степени на слобода (с.с) – со

промена на векторот јазли и на параметарските вредности ќе се креираат

различни криви што ќе бидат решение за дадената дизајн-задача.

Задачата која ќе ја разгледаме овде е тоа како да ги искористиме овие (с.с)

со цел да се оптимизира нашата функција на цел, на тој начин што се

креира интерполациона крива со минимална кривина или да се

апроксимира крива со најмала апроксимативна грешка ( т.е најмало

отстапување од контролните точки).

Во мојава магистерска теза е понуден алгоритам кој ги решава погорниве

дизајн-задачи на ефикасен начин за секои нерамномерни сплајн криви од

произволен степен. Овој алгоритам е земен од трудот Goldenthal &

Bercovier [8] .

Оптималната контрола за дизајн на криви, тука, е применета на векторот

јазли t од сплајнот како контролна променлива u , во прилог на

параметризацијата на кривата. За минимизација на функцијата на цел,

наместо методот на проектиран градиент, ја користиме MATLAB

функцијата за условна минимизација, fmincon.

За време на оптимизациониот процес можно е да се евалуира погрешна

конфигурација т.е конфигурација на векторот јазли t и параметризацијата

s , која ги нарушува условите на Schoenberg-Whitney (описот на овие

услови е даден во делот §6.2.2). Евалуацијата, во секој случај, мора да се

комплетира, бидејќи без тоа оптимизаторот (софтверот за оптимизација),

Page 227: Magisterska FINAL

227

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

нема да може да го врши оптимизациониот процес. Преку примена на

оптималната контрола, во овој случај, повторно се овозможува евалуација

на крива за оваа погрешна конфигурација на начин кој што ќе има смисла.

Главните придонеси се следните:

Користењето на векторот јазли t , како контролна променлива u ,

за процесот на оптимална контрола со параметризација s ;

Опфаќање на сингуларните случаи за време на оптимизациониот

процес за да се обезбеди поголема стабилност на алгоритмот.

Објаснување на геометриското значење на нултиот простор од

разместувачката матрица во случај на нарушување на условите на

Schoenberg-Whitney.

Во делот §6.2 ќе биде опишана математичката формулација на проблемот,

а додека, пак, делот §6.3 ќе се однесува на деталите поврзани со

имплементацијата (ќе биде даден алгоритмот). Нумеричките резултати од

тестираните примери ќе бидат дадени во делот §6.4.

6.2 Математичка формулација

6.2.1 Оптимална контрола во CAGD

Контролен систем се нарекува системот опишан преку променливата x ,

таканаречена променлива на состојба. Променливата x зависи од некоја

контролна променлива u . Различни вредности на u дефинираат

различни состојби на системот, каде врската помеѓу x и u е дадена преку

решението на дадена линеарна равенка која може да вклучува и

диференцијална равенка:

0),( uxA (6.5)

Ова се нарекува равенка на состојбата.

Page 228: Magisterska FINAL

228 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли. Функцијата на целта ),( uxJ е реална функција која дава вредност за

парот ),( ux . Често е зададена преку интегрална функција. Задачата на

оптимална контрола е да се најде контролна променлива u , таква што

секоја состојба x , за која 0),( uxA ќе ја минимизира функцијата на цел

),( uxJ т.е

}0),(|),({min),(),(

uxAuxJuxJux

Во нашиов случај ќе работиме со нерамномерни Б-сплајн криви:

1

0

, )()(n

i

kii sNdsC

каде d

i Rd се точки на de-Boor и kiN , се Б-сплајн базни функции над

низата од јазли; n е бројот на базни функции кои се користат за сплајнот, а

k е редот на секој сплајн.

Разгледуваме две различни равенки на состојби, секоја со неколку

функции на цел.

Равенки и променливи на состојба

Равенката на состојбата (6.5) и за интерполирачките и за

апроксимирачките равенки ја има следната форма:

PdstM ),( (6.6)

каде M е матрица на разместување која обезбедува крива )(sC вметната

по методот на најмали квадрати низ влезните точки d

m RPPPP ,...,, 10 ,

3,2d .(види ги равенките (6.3) и (6.4) во случај на апроксимација или

егзактно вметнување или види ја (6.2) во случај на интерполација).

Конечно, 3,2,,...,0 lRddd l

m , е матрицата од точки на de-Boor која

ја дефинира кривата.

Page 229: Magisterska FINAL

229

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

Променливите на состојбата x се променливи кои ја дефинираат формата

на кривата )(sC . De-Boor -овите точки дејствуваат како променливи на

состојбата во нашиов случај.

Контролни променливи

Во нашава задача, за контролни променливи се избрани t и

експериментите се спроведуваат наизменично помеѓу t и s . Избирањето

на векторот од јазли t како контролна променлива, никогаш не се

правело, бидејќи тоа резултирало како нелинеарен проблем со можни

сингуларитети.

Некои забелешки поврзани со геометријата на

параметризацијата и геометријата на векторот од јазли

Класичната „оптимална“ задача на параметризација, ја разгледува

фиксираната база на сплајн кривите, базирани на фиксираната база на

сплајн функции- на пример, таква се смета задачата на апроксимација,

каде нелинеарноста на задачата за параметризација, всушност, се должи

на нормата на најмали квадрати (равенка (6.4)), базирана на

параметризациски јазли t . Ако минимизацијата со најмали квадрати се

врши на голем број јазли, нивното влијание се намалува сѐ додека не

бидат блиску до дадена 2L непрекината норма. Бидејќи базните функции

се фиксирани, непрекинатата норма е независна од изборот на t .

За разлика од ова, геометријата, пак, на векторот јазли ја одредува базата

на дадена сплајн крива, променувајќи ги јазлите (до скалирачки фактор),

модифицирајќи ја актуелната база и како последица на тоа, се врши

променување на функционалниот простор каде се врши апроксимација

или интерполација. Ова е еквивалентно на идејата на додавање на јазли

со методот на конечни елементи, каде геометријата ја дефинира базата.

Тука оптималната вредност ќе биде во релација со точките дури и за

непрекинати норми, како 1L и 2L нормите.

Page 230: Magisterska FINAL

230 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли. Во пракса може да ги користиме, редоследно, и векторот од јазли и

параметризацијата за да добиеме подобри резултати, отколку со

користење на само еден од нив. Во продолжение, за подобрување на

оптимизационите резултати, ќе дадеме неколку од повеќето предности

при користењето на векторот од јазли како контролна променлива:

- Постојат ситуации во кои параметризацијата е фиксирана и не може да

се користи при дизајнирање на кривата.

- Помала димензија: При глобалната репараметризација, контролните

точки (точките на de-Boor d ) беа вклучени во решавањето на задачата,

додека, пак, јазолот t , тука, претставува контролна променлива.

Предноста на презентираниов пристап е дека димензијата на просторот на

пребарување е помала- 1D вектор наместо 2D/3D вектор ни дава два или

три пати повеќе променливи за оптимизирање.

- Ефикасност: Во задачите на апроксимација, постојат N дадени точки и

n de-Boor-ови точки и nN , големината на класичната задача на

репараметризација е N во спореба со големината n , во случајот кога го

користиме векторот со јазли.

Функција на целта

Функцијата на цел ),( uxJ е функцијата со која ќе ја дизајнираме кривата.

Тука ќе бидат имплементирани следните функции на цел:

Минимална апроксимативна грешка – Во овој случај се користи иста

равенка на состојба и равенка на контрола. Целта е да се најде

параметризација и вектор од јазли кои ќе ја минимизираат

апроксимативната грешка (равенки (6.3) и (6.4)).

Проценка на должината на кривата : Да се најде крива која го

апроксимира интерполира множеството од дадени точки и која има

најмала должина. Во пракса, ја користиме следната равенка за да ја

апроксимираме должината на кривата:

b

a

dssCJ2

1 )(

Page 231: Magisterska FINAL

231

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

Проценка на закривеност: Да се најде крива која го апроксимира или

интерполира множеството од дадени точки и која ќе има најмала

вредност на кривина. Во пракса, се користи следната поедноставна

интегрална функција:

b

a

dssCJ2

2 )(

Еластична енергија: Се однесува на D.Bernoulli (1742). Еластичната

енергија складирана во тенка еластична греда е пропорционална на

интегралот:

b

a

dssCJ )(2

3

6.2.2 Услови на Schoenberg-Whitney

Условите на Schoenberg-Whitney велат дека, секој параметар

njss j 0, ќе го задоволува следниот услов:

kjjj tst

каде k е редот на сплајнот и t е векторот од јазли на сплајнот. Ова е

потребен и доволен услов за постоење и единственост на интерполацијата

или апроксимацијата.

Page 232: Magisterska FINAL

232 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

6.2.3 Разместувачка матрица и нејзиниот нулти простор

(јадро)

Разместувачката матрица врши пресликување помеѓу точките на de-Boor и

точките од кривата кои служат како точки за интерполација или

апроксимација. Нека разгледаме разместувачка матрица креирана за

следната интерполациона задача:

Дадена параметризација s и вектор јазли t дефинираат крива која

поминува низ дадено множество од точки т.е

1

0

, )()(n

j

jikjii dsNsCP

Бидејќи постојат n базни функции и n параметарски вредности, горната

равенка можеме да ја организираме во nn матрица M , каде

)(,, ikjji sNM и во други две dn матрици кои ги содржат точките на

de-Boor 110 ,...,, ndddd и точките за интерполацијата 10 ,..., nPPP .

Задачата за интерполација можеме да ја запишеме како

PdM

Забележуваме дека M е тотално позитивна. Пример за едноставна,

несингуларна, разместувачка матрица е прикажан на Цртеж 6.1(а) (ова е

почетна интерполирачка матрица). Кога матрицата е сингуларна ,

равенката на состојба не може да се евалуира и оптимизациониот процес

не може да продолжи. Бидејќи разместувачката матрица прави

пресликување помеѓу точките на de-Boor и точките од кривата, нејзиниот

нулти простор (јадро) е покриено од векторите на еднодимензионалните

точки на de-Boor. Затоа матрицата на нултиот простор можеме да ја

визуелизираме како 1D Б-сплајн. Цртеж 6.2(а) е пример на нарушување на

условите на Schoenberg-Whitney. Резултантната разместувашка матрица е

прикажана на Цртеж 6.1(б). Лесно може да видиме дека големината на

нултиот простор на оваа матрица е 3.

Page 233: Magisterska FINAL

233

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

(а) Несингуларна разместувачка матрица

(б) Сингуларна матрица со димензија 3 на нултиот простор

Цртеж 6.1

На Цртеж 6.2(б), трите вектори кои го покриваат нултиот простор на

разместувачката матрица се прикажани како сплајнови. Бидејќи во

презентираниот пример, наоѓањето на разместувачката матрица за

нултиот простор е тривијално, користењето на SVD-тип (Singular Value

Decomposition) на факторизација може да биде „уништување“, но тоа не е

случај секогаш, и едно што треба да се запомни е дека SVD се користи за

да се добие решение по методот на најмали квадрати.

Page 234: Magisterska FINAL

234 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

(а) Нарушувањето на условите на Schoenberg-Whitney на левата страна од сликата.

Векторот јазли t е означен со крукчињата, а додека, пак, параметарските вредности

се означени со .

(б) Векторите од нултиот просотор што е покриен од матрицата прикажана на

Цртеж 6.1(б) се визуелизирани како сплајн базни криви

Цртеж 6.2 Резултатот од нарушувањето на условите на Schoenberg-

Whitney креира сингуларна матрица дадена на Цртеж 6.1(б). Оваа

матрица има нетривијален нулти простор со димензија 3. Нејзиниот

нулти простор е визуелизиран како сплајн кривата дадена на Цртеж 6.3

Page 235: Magisterska FINAL

235

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

6.2.4 Решение на задачата на минимизација со најмали

квадрати. Друга примена на процесот на

оптимална контрола.

Во случај кога равенката на состојбата нема егзактно решение, ќе го

користиме решението на задачата на најмали квадрати. На Цртеж 6.3(а) е

прикажано решението на задачата на најмали квадрати на матрицата од

Цртеж 6.1(б).

Бидејќи bAx , за сите x , се пресметува решението задачата со најмали

квадрати, наместо векторот x кој го минимизира изразот 2

bAx . SVD

декомпозицијата ни дава решение на задачата со најмали квадрати на

равенката на состојбата:

)(],,[ MSVDVU (6.7)

Псевдо-инверзната матрица M на разместувачката матрица M со ранг

nr , се добива на следниот начин:

TUVM 1

каде V и U се ортонормални матрици и е дијагонална матрица во

која последните rn вредности се нули. Апроксимацијата со најмали

квадрати за рравенката (6.6) , сега, ја добива формата:

dMP~

(6.8)

Ова решение не е единствено: секоја комбинација на решението со

најмали квадрати и линеарната комбинација на вектори кои го покриваат

нултиот простор од разместувачката матрица M , последните rn

редици од V

],...,[)( nrn VVMN

подлежат на алгебарски еквивалентно решение, врз база на равенката

Page 236: Magisterska FINAL

236 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

PVdMPdMr

i

irni

0

)(

~~

Сепак, со различни линеарни комбинации од нултиот простор ќе

добиваме различно геометриско решение т.е различни криви, секоја со

различна вредност на функцијата на целта. Со цел да останеме доследни

на концептот на оптимална контрола, ќе треба да ги најдеме

коефициентите )0,( rii што ќе ја минимизираат контролната

равенка (равенката на контрола) преку решенијата добиени од методот на

најмали квадрати. Заради оваа причина, повторно се применува

концептот на оптимална контрола: овојпат контролните променливи се

коефициентите i , од векторите на нултиот простор, а променливите на

состојба и равенките на контрола остануваат истите од претходно. Овојпат

ќе имаме евалуација дури и под сингуларна конфигурација. Оваа

евалуација е потребна за оптимизаторот (софтверот за оптимизација) и

често се користи при нумеричка евалуација на градиентот на функцијата

на цел. Со доставување на оваа евалуација на оптимизаторот, тој може да

го продолжи процесот на евалуација, одејќи чекор подалеку, т.е опфаќајќи

ја и сингуларната конфигурација и прекинувајќи го оптимизациониот

процес со несингуларна конфигурација.

(а) (б)

Цртеж 6.3 Изглед на кривата без додавање на векторите од нултиот простор.

Вредност на функцијата на цел 4833.46 (а); со додавање на векторите. Вредност на

функцијата на цел 1446.07 (б)

Page 237: Magisterska FINAL

237

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

Емпириски, процесот на оптимална контрола за наоѓање на најдобри

решенија со методот на најмали квадрати (наместо игнорирањето на

нултиот простор), подлежи на подобри оптимизациски резултати, но со

одредени загуби во време на извршување на процесот на оптимизација.

На Цртеж 6.3(б) ни е прикажана истата крива како на Цртеж 6.3 (а), после

додавањето на линеарната комбинација на нултиот простор на матрицата

од Цртеж 6.1(б). Ќе забележиме дека локалниот ефект при додавањето на

нултиот простор ни дава намалување на вредноста на функцијата на цел

за разлика од претходно.

Ограничувањето на оваа техника се перформансите – за мојата MATLAB

имплементација конвергенцијата може да трае и неколку минути, дури и

за криви со десетина контролни точки, кога имаме справување со

сингуларна конфигурација (што се случува релативно ретко во пракса).

6.3 Имплементација

6.3.1 Опис на алгоритмот

1 . Ги земаме влезните точки )3,2(,...,0 dRPPP d

n од корисникот;

2. Креираме почетен вектор јазли- рамномерен или оптимален вектор

јазли t ;

3. Креираме почетна параметризација s (униформна, лачно-должинска

или центрипетална) ;

4. Додека се прави подобрување во евалуациите на функцијата на цел

а ) Оптимизирај ја функцијата на цел во однос на јазлите;

б) Оптимизирај ја функцијата на цел во однос на параметрите;

5. Врати ја резултантана крива;

Page 238: Magisterska FINAL

238 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

6.3.2 Нумеричко решение

За да ги оптимизираме равенките на оптимална контрола, ја користиме

MATLAB функцијата fmincon. Оваа функција го наоѓа условниот минимум

на скаларната функција на цел од неколку променливи, почнувајќи од

некоја почетна оценка. Не е потребна експлицитна пресметка на

градиентите во нејзиниот оптимизационен алгоритам.

Оптимизацијата го користи методот на секвенцијално квадратно

програмирање (SQP) (види Глава 5). Во овој метод во секоја итерација се

решава подзадача од квадратното програмирање QP (види Глава 4).

Оценката на Хесијанот на Лагранжовата функција се ажурира во секоја

итерација, преку квази-Њутновата BFGS ажурирачка формула (види ги

делот §5.3.1 и MATLAB документацијата). За евалуација на сплајновите и

операциите поврзани со сплајновите го користам MATLAB Curve Fitting

Toolbox™-от.

Функцијата на цел е имплементација на сите функции на цел прикажани

претходно. Контролната променлива ја претставува или векторот јазли,

или пак, параметризацијата.

Линеарни ограничувања

И векторот јазли t , и параметризацијата s се дадени преку нивните

интервали (распони) (наместо преку тековната вредност на секој влез во

векторот) т.е

101 ,..., mm tttt

101 ,..., nn ssss

За да имаме валидна параметризација или валиден вектор јазли, ќе ги

примениме следните ограничувања:

Ttt ii max1min0

Page 239: Magisterska FINAL

239

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

Tss ii max1min0

Tttn

i

ii

0

1)(

Tssn

i

ii

0

1)(

каде T е должината на кривата (параметарска), која останува константна

за време на параметризацијата.

Почетно нагаѓање

Пробани се неколку нагаѓања: За центрипетална, рамномерна и лачно-

должинска параметризација n , за обичен вектор јазли, за рамномерен

вектор јазли и за оптимален вектор јазли (MATLAB функцијата optknt ни

генерира оптимален вектор јазли), што ни обезбедува „најдобар“ избор на

јазлите за дадената параметризација, кои ќе се користат за интерполација.

Експериментите покажуваат дека начиот алгоритам дава слични резултати

независно од почетното нагаѓање.

Подцртеж Ред на крива

Почетен вектор јазли Функција на

цел

Почетна вредност на

функцијата на цел

Крајна вредност на функцијата

на цел

(а) 4 оптимален J1 3.53 2.18

(б) 5 рамномерен J1 2.29 0.583

(в) 6 оптимален J1 2.39 1.22

(г) 4 рамномерен J2 137.28 4.49

(д) 5 рамномерен J2 1564.46 41.92

(ѓ) 5 оптимален J2 756.86 125.85

(е) 4 рамномерен Ј1 59.81 25.17

(ж) 4 рамномерен Ј2 212.38 64.89

(з) 4 рамномерен Ј2 1.905х103 24.92

(ѕ) 4 рамномерен Ј1 57.7615 18.36

Табела 6.1 Конфигурации за фигурите на Цртеж 6.4 и оптимизационите резултати

добиени притоа.

Page 240: Magisterska FINAL

240 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

(а) Почетна крива: оптимален вектор (г) Почетна крива: рамномерен вектор

јазли, кубен сплајн јазли, кубен сплајн

(б) Почетна крива: рамномерен вектор (д) Почетна крива: рамномерен вектор

јазли, сплајн од 5-ти ред јазли, сплајн од 5-ти ред

(в) Почетна крива: оптимален вектор (ѓ) Почетна крива: оптимален вектор

јазли, сплајн од 6-ти ред јазли, сплајн од 6-ти ред

Page 241: Magisterska FINAL

241

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

6.4 Нумерички резултати

На Цртеж 6.5 е прикажан напречниот пресек на Turbine-овото сечило.

Напречниот пресек содржи 140 точки и истите се апроксимирани преку 28

точки на de-Boor. Функцијата на цел што ја користиме е 3J . На Цртеж 6.6

се прикажани вредностите на кривината на почетната и на

резултантната крива. Забележливо е намалувањето на вредноста за

кривината. За да се чуваме од растењето на апроксимативната грешка на

кривата до неприфатливи вредности, максималната дозволива грешка е

ограничена да биде двапати помала од почетната апроксимативна грешка.

Цртеж 6.4 ги содржи резултатите од интерполацијата. Подцртежите (а)-(в)

ја користат 1J функцијата на цел, додека, пак, подцртежите (г)-(ѓ) ја

користат 2J функцијата на цел. Се гледа дека оптимизацијата ќе работи и

за криви од повисок ред за различни почетни вектори со јазли.

Оптимизационите резултати и почетните конфигурации за тест примерите

прикажани на подцртежите (а)-(ѓ) се сумирани во Табела 6.1.

На Цртеж 6.7 е прикажан изгледот на Б-сплајн кривите добиени пред и

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

x=[0 ,1,1.5, 2.5, 4, 4.5, 5.5, 6, 8, 10]; (6.9а) y=[10,8, 5, 4, 3.5, 3.4, 6, 7.1, 8, 8.5]; (6.9б)

Сплајн интерполацијата се прави преку Matlab функцијата spmak која е

дел од Curve Fitting Toolbox™.

Од цртежот и од оптимизационите резултати прикажани во Табела 6.1 (е)

се гледа дека оптимизираниот сплајн има помала должина (делот од 6-10

во хоризонталната оска), што беше и основната цел на функцијата 1J .

Page 242: Magisterska FINAL

242 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

Цртеж 6.7 Почетна крива (испрекината линија – вредност 59.81 ) од ред 4 и изглед на

сплајн кривата после оптимизација на векторот јазли (полна линија – вредност 25.17)

при рамномерен вектор јазли

На Цртеж 6.8(а) е прикажан изгледот на Б-сплајн кривите добиени пред и

после оптимизацијата на векторот од јазли за контролните точки (6.9).

Овде е тестирано за функцијата на цел 2J што ни дава намалување на

вредностите на закривеност. Графикот на закривеностите пред и после

промените се дадени на Цртеж 6.8(б) и на него се гледа соодветното

намалување, а оптимизационите резултати се прикажани во редицата (е)

од Табела 6.1.

Page 243: Magisterska FINAL

243

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

(а) Почетниот сплајн ( испрекината линија – вредност 212.38) и крајниот сплајн (полна

линија – вредност 64.89) од тест примерот (е) од Табела 6.1 , каде јасно се гледа дека

сплајнот добиен после оптимизација на јазлите е поглаток во однос на влезниот.

(б) Параметарски вредности на кривината на сплајновите прикажани во (а). Јасно е

видливо намалувањето на вредностите на кривините после оптимизација на

векторот јазли

Page 244: Magisterska FINAL

244 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

Цртеж 6.8 Оптимизациони резултати од редицата (е) во Табела 6.1

На Цртеж 6.9 е прикажан изгледот на Б-сплајн кривите добиени пред и

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

x=[1, 2, 3,3.2, 3.4, 3.6, 3.8, 4, 4.2, 4.4, 4.6, 4.8, 5, 6, 7]; (6.10а) y=[1, 1, 1, 1.3, 1.6, 1.75, 1.9, 2, 1.9, 1.75, 1.6, 1.3, 1, 1, 1]; (6.10б)

Од цртежот и од оптимизационите резултати прикажани во Табела 6.1 (ѕ)

се гледа дека оптимизираниот сплајн има помала должина (делот 1-3 и 5-

7 од хоризонталната оска), што беше и основната цел на функцијата 1J .

Цртеж 6.9 Почетна крива (испрекината линија – вредност 57.7615) од ред 4 и изглед на

сплајн кривата после оптимизација на векторот јазли (полна линија - вредност 18.36)

при рамномерен вектор јазли

Овде исто така, е тестирана функцијата на цел 2J што ни дава

намалување на вредностите на закривеност. Графикот на закривеностите

пред и после промените се дадени на Цртеж 6.10(а) и на него се гледа

соодветното намалување, а оптимизационите резултати се прикажани во

редицата (з) од Табела 6.1.

Page 245: Magisterska FINAL

245

Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

(а) Почетниот сплајн (испрекината линија – вредност 1.905х103) и крајниот сплајн

(полна линија – вредност 24.92) од тест примерот (з) од Табела 6.1 , каде јасно се гледа

дека сплајнот добиен после оптимизација на јазлите е поглаток во однос на влезниот.

(б) Параметарски вредности на кривината на сплајновите прикажани во (а). Јасно е

видливо намалувањето на вредностите на кривините после оптимизација на

векторот јазли (види на почетокот и на крајот)

Цртеж 6.8 Оптимизациони резултати од редицата (з) во Табела 6.1

Page 246: Magisterska FINAL

246 Апроксимација и дизајн на сплајн криви преку оптимална контрола на векторот јазли.

Цртеж 6.5 Напречен пресек на Turbine-ово сечило: почетна вредност на функцијата на

цел 62.309; крајна вредност на функцијата на цел 23.854; почетна апроксимативна

грешка 0.0831; крајна апроксимативна грешка 0.117

Цртеж 6.6 Апсолутна вредност на кривината , распределба за параметарските

вредности на кривата, испрекинатата линија ја претставува почетните вредности на

закривеноста, а полната линија крајните вредности на закривеностите на кривата

Page 247: Magisterska FINAL

247 Референци

Референци

[1] M. Agoston “Computer Graphics and Geometric Modeling. Implementation and Algorithms” Springer-Verlag London Limited 2005 [2] M. Agoston “Computer Graphics and Geometric Modeling. Mathematics” Springer-Verlag London Limited 2005 [3] M. Alhanaty and M. Bercovier, “Curve and surface fitting and design by optimal control methods”, Computer-Aided Design,Vol. 33, No. 2, pp. 167-182, February 2001 [4] R.H Bartels, J.C Beatty and Barsky, Brian A. “An Introduction to Splines for Use in Computer Graphics and Geometric Modeling”, Morgan Kaufmann Publishers, 1987 [5] C. De Boor – “A Practical Guide to Splines” ,Springer, 2001 [6] G. Farin “Curves and Surfaces for CAGD “ Fifth Edition Morgan Kaufmann Publishers , 1999 [7] M.C Ferris, O.L. Mangasarian, S.J. Wright, “Linear Programming with MATLAB” SIAM, 2007 [8] R. Goldenthal,M.Bercovier “Spline Curve Approximation and Design by Optimal Control Over the Knots” March 16, 2003 [9] D.M Himmeblau , “Applied Nonlinear Programming”, McGraw-Hill, 1972 [10] V.G. Karmanov “Mathematical Programming” Moscow – 1986 [11] D. G.Luenberger , Y.Ye “Linear and Nonlinear Programming“ , Third Edition, Springer, 2008 [12] J.H Mathews, D.F Kurtis “Numerical Methods using MATLAB” 3rd Edition , Prentice Hall, 1999

Page 248: Magisterska FINAL

248 Референци

[13] R. Morandi, D. Scaramelli, and A. Sestini “A Geometric Approach for Knot Selection in Convexity-Preserving Spline Approximation” International Conference on Curves and Surfaces [4th], Saint-Malo, France. Proceedings, Volume 1. Curve and Surface Design pp.287–296, 1-7 July 1999 [14] L. Neralic “Uvod u matematicko programiranje 1” Zagreb – 2003 [15] J. Nocedal & S.J. Wright “Numerical Optimization” , Springer, 1999 [16] J. J. Petric “Nelinearno programiranje” Beograd – 1979 [17] L. Piegl, W. Tiller “The NURBS Book”, Springer, 1995

[18] M.J.D Powel, “On the quadratic programming algorithm of Goldfarb

and Idnani”, Math.Prog.Study 25(1985) pp 46-61 [19] H.P. Seidel “A New Multiaffine Approach to B-Splines” CAGD, 6(1), 1989, pp.23–32 [20] W. Sun, Y. Yuan “Optimization Theory and Methods-Nonlinear Programming” ,Springer, 2006 [21] V.Vujcic, M.Asic, N.Milicic “Matematicko programiranje”, Beograd – 1980 [22] S.J. Wright, “Primal-Dual Interior-Point Methods”, SIAM Publicitations, Philadephia , PA, 1997 [23] www.mathworks.com – Matlab documentation

Page 249: Magisterska FINAL

249 Показател на поими:

Показател на поими:

„капа“ функции, 212, 213 BFGS метод, 66 DFP метод, 67 hot start стратегии, 135 Q- конвергенција, 68 QP множители, 133 QR декомпозиција, 90 R-конвергенцијата, 69 SR1 метод, 66 SVD факторизација, 233, 235, 257 Turbine-ово сечило, 241 активно множество, 95 активно ограничување, 44, 94, 95,

96, 100, 104, 106, 108, 109, 129, 131, 135, 163

актуелна редукција, 157, 169 алгоритам на ДеКастељо, 209 апроксимација, 5, 6, xv, 123, 128,

131, 133, 135, 137, 139, 140, 143, 149, 150, 151, 152, 155, 164, 172, 173, 174, 175, 182, 183, 188, 206, 207, 228, 229, 230, 232

апроксимација со најмали квадрати, 183

афино инваријантна, 195 базни функции, 182, 186, 191,

192, 212, 215, 216, 228, 232 Безјѐова крива, 184, 205, 206,

207, 209, 210 Безјѐова матрица, 206 Безјѐови базни функции, 207 Безјѐови коефициенти, 206 Б-сплајн, 5, 184, 211, 212, 214,

215, 216, 217, 218, 219, 220, 221, 228, 232

Б-сплајн базна функција, 216 Б-сплајн коефициенти, 220

Б-сплајн криви, 211 Б-сплајн матрица, 219 вектор од јазли, 196, 216, 217,

225, 230 внатрешна точка, 22, 29, 44, 114,

115, 119, 120, 122, 136 глобален минимум, 46 градиентен вектор, 65 граница или раб на множество,

23 гранична точка, 22, 26, 64 n -димензионален Евклидски

простор, 21 допустлив правец, 43, 44, 45, 50,

51, 53 допустлива задача, 42, 79, 116 допустлива област, 42, 73, 90, 94,

95, 130 допустливи точки, 42, 78, 111,

117 дуална задача, 63, 78, 107 Евклидска норма, 21, 166 Екстремално својство, 37 екстремна точка, 27, 29, 34 Ермитова интерполација, 189,

192, 194 Ермитова матрица, 191 Ермитова по делови

интерполациона крива, 194 Ермитови базни функции, 191,

210 Ермитови базни функции., 191 ефект на Маратос, 176 задача на безусловна

оптимизација, 42 задача на конвексно

програмирање, 42

Page 250: Magisterska FINAL

250 Показател на поими:

Задача на оптимална контрола, 228

задача од условна оптимизација, 42

значајна функција, 144, 146, 147, 148, 149, 178, 179

Интерполација, 225 јазли, 5, xv, xvi, xvii, 196, 197, 214,

217, 218, 225, 226, 227, 228, 229, 230, 231, 232, 234, 237, 238, 239, 240, 241, 242, 243, 244, 245

Јакобијан, 116, 124, 125, 129, 147 казнен параметар, 136, 144, 146,

163 квадратното програмирање (QP),

73 квази-Њутнови методи, 66, 69,

132, 137, 141, 153 ККТ матрица, 92 ККТ точка, 64, 74, 75, 76, 92, 95,

96, 97, 101, 102, 104, 105, 106, 108, 109

ККТ услови, 54, 60, 62, 63, 64, 76 конвексна комбинација, 23, 27,

209 конвексна обвивка, 24 конвексна функција, 34, 35, 36,

37, 38, 39, 40, 54, 58, 141 конвексно множество, 23, 24, 25,

26, 27, 28, 31, 33, 34, 35, 36, 37, 38, 39, 40, 42, 49, 53, 54, 57, 58, 60, 62, 73, 120, 121, 122, 135

конкавна функција, 35, 36, 50 контролен полигон, 207, 219 Контролен систем, 227 контролна променлива, 226, 227,

228, 229, 230 контролни точки, xvi, 181, 184,

196, 197, 203, 204, 207, 211, 214, 218, 225, 237

конус, 30, 34

координати, 21 корекција од втор ред, 165, 179 Кошиев метод, 66 критериум за оптималност, 55 кубен сплајн, 196, 197, 200, 201,

202, 214, 240 кубна Безјѐова крива, 206 кубна сплајн интерполација, 197 Лагранжов полином, 185 Лагранжова интерполација, 185 Лагранжова интерполациона

полиномна крива, 186 Лагранжова функција, 56, 58, 140,

141, 146, 152, 154 Лагранжови базни функции, 185 Лагранжови множители, 58, 74,

85, 95, 109, 120, 171 линеарни Б-сплајнови, 212 локален минимум, 43, 46, 47, 50,

51, 52, 53, 74, 75, 76, 95 мера на дуалност, 118, 121 метод на најбрзо спуштање, 66 метод на нулти простор (јадро),

90 методи на конјугиран градиент,

67 методи на линиско прабарување,

65 методи на област на доверба, xii,

66, 123, 157, 166, 169, 170 методи на секвенцијално

квадратно програмирање, 123 методи од Њутнов тип, 66 множество од контролни точки,

196, 203 множители на најмали квадрати,

134, 142, 146 неактивно ограничување, 95 недопустлива задача, 42 неограничена задача, 42 Неравенство на Јенсен, 36 нерамномерен вектор јазли, 217

Page 251: Magisterska FINAL

251 Показател на поими:

нулти простор (јадро), 88 Њутн-Лагранжов метод, 125 Њутнов метод, 66, 116, 118, 121,

124, 127, 137, 172 опаѓачки правец, 65, 104, 105,

146, 147, 148, 149, 155 оптимален вектор јазли, 239 оптимална точка, 37, 38, 41, 42,

54, 58, 59, 129 оптимизација, 5, 9, xv, xvii, 41, 46,

73, 88, 123, 124, 137, 138, 144, 162, 171, 226, 236, 237, 242, 243, 244, 245

основна задача на математичкото програмирање, 41

параметарска крива, 184, 194, 214

позитивно дефинитна матрица, 35, 39, 73, 77, 79, 84, 85, 88, 92, 93, 94, 107, 125, 132, 138, 139, 141, 146, 149, 155, 164, 167, 175

последователно линеарно програмирање, 130

предвидена редукција, 157, 164, 169

примарна задача, 63, 134 примитивни функции, 182 пристап на проширен систем, 131 проблем на апроксимација, 181 Проектиран Хесијан, 172 проекција, 24, 52, 130, 172, 174 променлива на состојба, 227 раб, 23, 33 работно множество, 96, 105, 130 равенка на состојба, 227 равенки за Њутнов чекор, 116 равенствени ограничувања, 84,

91, 94, 95, 96, 97, 115, 123, 124, 129, 130, 131, 137, 144, 148, 151, 155, 157, 169, 171

рамномерен вектор јазли, 217, 220, 221, 237, 239, 240, 242, 244

ранг (слика) на простор, 88 распони., 196, 212, 214 редуциран градиент, 88 редуциран Хесијан, 88, 134, 141,

143, 150, 151, 152, 153, 155, 166, 174, 175

сегмент, 219, 220 седласта точка, 56, 57, 58, 59, 60,

61, 62, 63, 81, 82, 84 секвенцијално квадратно

програмирање, 5, xvii, 238 силно конвексна функција, 39 сплајн, xvi ,196, 241 сплајн крива, 5, xv, xvi, 181, 184,

218, 229 стандардно рамномерен вектор

јазли, 217 стационарна точка, 43, 48, 80, 148 строг глобален минимум, 46 строг локален минимум, 46 тангентен чекор, 167 тангенцијална конвергенција,

151, 175 тангенцијална подзадача, 167 Теорема на Фаркаш, 30, 32 точка на глобален минимум, 42,

54, 55 точки (вектори), 21 тридијагонален строго

дијагонално доминантен систем, 202

услов за регуларност, 49 Услов за регуларност на Слејтер,

49 услов за строга

комплементарност, 129 Услови на Schoenberg-Whitney,

231 услови на крајни точки, 197

Page 252: Magisterska FINAL

252

факторизацијата на Холецки, 89 функција на цел, 65 целосен ранг по колони, 84, 92,

93, 94, 171

Централен пат, 117 центрирачки параметар, 118 центрирачки правец, 119 чекор на придвижување, 67

Page 253: Magisterska FINAL

253 Показател на ознаки и кратенки

Показател на ознаки и кратенки

Ознаки

def

- „по дефиниција“

- „припаѓа во“

- „подмножество на“

- „вистинско подмножество на“

- Декартов производ

- Норма

, - Скаларен производ на вектори

TA - Транспонирана матрица на матрицата A

1A - Инверзна матрица на матрицата A

Arank - Ранг на матрицата A

BA - Спојување оддесно на матрица A со матрица B

- Вектор редица

- Вектор колона

- Празното множество

R - Множеството на реални броеви

N - Множеството на природни броеви

nR - Евклидски простор

Page 254: Magisterska FINAL

254 Показател на ознаки и кратенки

)( fN - Нулти простор на пресликувањето f

minarg - Множество од оптимални точки – минимуми

maxarg - Множество од оптимални точки - максимуми

Aconv - Конвексна обвивка на множеството A

A - Затворач на множеството A

o

A - Внатрешност на множеството A

nx - Низа од броевите ...,,...,, 21 nxxx

)(vp - Проекција на точката v

f или f - Градиент на f

f2 или f - Хесијан на f

kC - Простор од k - пати непрекинато диференцијабилни функции

L - Лагранжова функција

AL - Зголемена Лагранжова функција

Кратенки

QP - Квадратно програмирање или квадратна програма

SQP - Секвенцијално квадратно програмирање

S1l QP - Секвенцијално

1l квадратно програмирање

EQP - Квадратна програма со равенствени ограничувања

IQP -Квадратна програма со неравенствени ограничувања

(с.с) - Степени на слобода

Page 255: Magisterska FINAL

255 Показател на ознаки и кратенки

ККТ - Каруш – Кун – Такер (Karush – Kuhn – Tucker)

BFGS - Broyden – Fletcher – Goldfarb – Shanno

SR1 - Symmetric Rank 1

DFP - Davidon Fletcher Powel

CAGD - Control – Aided – Geometry – Design

SVD - Singular Value Decomposition

Page 256: Magisterska FINAL
Page 257: Magisterska FINAL