237
Matematinis Programavimas A. Zilinskas 2005

Matematinis programavimas

Embed Size (px)

DESCRIPTION

The textbook is oriented to rather a broad audience. Thestudents of departments of Informatics, Economics, Engineering and Applied Mathematics are meant as the primary usersof the text. The course has been developed and the textbookhas been written as a part of TEMPUS project S_JEP 12382-97 (partner universities VMU, Copenhagen, Maastricht, KUT)[25]. The textbook contains theoretical material of the lectures.The instructions of practical work are included into WWWhome page of the project. Some illustrative materials and examples of problem solutions, prepared by our students, arealso available at the home page as well as advanced theoreticalmaterial (e.g. lectures by prof. J.Clausen) and references tosoftware.The course was prepared under strong ináuence of methodology of Project Based Learning (PBL). I was introduced intothe ideas of PBL by D.Tempelaar and became a supporterof PBL mainly because of his enthusiasm. While preparing the course many similar courses of di§erent universitieswere analised and discussed with the colleagues, especiallyfrom the partner universities. I would like to thank alsomy colleagues from Institute of Mathematics and Informatics J.Mockus, V.äaltenis, G.Dzemyda, V.Tieöis whose criticshelped me during many years. The indirect ináuence of thecolleagues from institutions where I delivered lectures as a visiting professor or worked as a researcher (Dortmund university,RWTH Aachen, Abo Akademi, Danish Technical University)is acknowledged. I would like to thank many people, but letme mentioned here only few: J.Clausen, A.Kolen, K.Madsen,R.Mathar, H.Peters, H.-P.Schwefel, A.Tˆrn.

Citation preview

Page 1: Matematinis programavimas

Matematinis Programavimas

A.µZilinskas

2005

Page 2: Matematinis programavimas

2

Abstract

Matemathical ProgrammingA.µZilinskasThe textbook is oriented to rather a broad audience. The

students of departments of Informatics, Economics, Engineer-ing and Applied Mathematics are meant as the primary usersof the text. The course has been developed and the textbookhas been written as a part of TEMPUS project S_JEP 12382-97 (partner universities VMU, Copenhagen, Maastricht, KUT)[25]. The textbook contains theoretical material of the lectures.The instructions of practical work are included into WWWhome page of the project. Some illustrative materials and ex-amples of problem solutions, prepared by our students, arealso available at the home page as well as advanced theoreticalmaterial (e.g. lectures by prof. J.Clausen) and references tosoftware.The course was prepared under strong in�uence of method-

ology of Project Based Learning (PBL). I was introduced intothe ideas of PBL by D.Tempelaar and became a supporterof PBL mainly because of his enthusiasm. While prepar-ing the course many similar courses of di¤erent universitieswere analised and discussed with the colleagues, especiallyfrom the partner universities. I would like to thank alsomy colleagues from Institute of Mathematics and Informat-ics J.Mockus, V.�altenis, G.Dzemyda, V.Tie�is whose criticshelped me during many years. The indirect in�uence of thecolleagues from institutions where I delivered lectures as a vis-iting professor or worked as a researcher (Dortmund university,RWTH Aachen, Abo Akademi, Danish Technical University)is acknowledged. I would like to thank many people, but letme mentioned here only few: J.Clausen, A.Kolen, K.Madsen,R.Mathar, H.Peters, H.-P.Schwefel, A.Törn.

Page 3: Matematinis programavimas

Contents

1 I¾VADAS 71.1 Matematinio programavimo kurso apibudinimas . . . . 71.2 Uµzdavinio formulavimas . . . . . . . . . . . . . . . . . 121.3 Pavyzdµziai . . . . . . . . . . . . . . . . . . . . . . . . . 161.4 Uµzdaviniu¾klasi�kacija . . . . . . . . . . . . . . . . . . 181.5 Metodu¾efektyvumas . . . . . . . . . . . . . . . . . . . 201.6 I�kilosios aib·es ir funkcijos . . . . . . . . . . . . . . . . 231.7 Lipshitz�o s ¾alyga . . . . . . . . . . . . . . . . . . . . . 271.8 Uµzduotys ir kontroliniai klausimai . . . . . . . . . . . . 28

2 OPTIMIZACIJA BE RIBOJIMU¾ 312.1 Butinos ir pakankamos minimumo s ¾alygos . . . . . . . 312.2 Konvergavimas . . . . . . . . . . . . . . . . . . . . . . 362.3 Nusileidimo metodu¾apibudinimas . . . . . . . . . . . . 372.4 Gradientinis nusileidimas . . . . . . . . . . . . . . . . . 382.5 Greiµciausias nusileidimas . . . . . . . . . . . . . . . . . 442.6 Niutono metodas . . . . . . . . . . . . . . . . . . . . . 502.7 Patikimos srities metodai . . . . . . . . . . . . . . . . . 552.8 Kintamos metrikos metodai . . . . . . . . . . . . . . . 572.9 Jungtiniu¾krypµciu¾metodai . . . . . . . . . . . . . . . . 582.10 Paie�kos metodai . . . . . . . . . . . . . . . . . . . . . 652.11 Globali optimizacija . . . . . . . . . . . . . . . . . . . . 70

3

Page 4: Matematinis programavimas

4 CONTENTS

2.12 Uµzduotys ir kontroliniai klausimai . . . . . . . . . . . . 76

3 NETIESINIS PROGRAMAVIMAS 793.1 Minimumo s ¾alygos . . . . . . . . . . . . . . . . . . . . 793.2 Dualumas . . . . . . . . . . . . . . . . . . . . . . . . . 873.3 Baudos ir barjeru¾metodai . . . . . . . . . . . . . . . . 983.4 Leistinu¾ju¾krypµciu¾metodai . . . . . . . . . . . . . . . . 1013.5 Gradientu¾projekciju¾ ir redukciju¾metodai . . . . . . . 1043.6 Lagrange�o funkciju¾metodai . . . . . . . . . . . . . . . 1083.7 Metodu¾aptarimas . . . . . . . . . . . . . . . . . . . . 1133.8 Istorin·es pastabos . . . . . . . . . . . . . . . . . . . . . 1193.9 Uµzduotys ir kontroliniai klausimai . . . . . . . . . . . . 120

4 TIESINIS PROGRAMAVIMAS 1234.1 Uµzdavinio formulavimas . . . . . . . . . . . . . . . . . 1234.2 Geometrin·e interpretacija . . . . . . . . . . . . . . . . 1264.3 Baziniai sprendiniai . . . . . . . . . . . . . . . . . . . . 1274.4 Atraminis baz·es keitimas . . . . . . . . . . . . . . . . . 1344.5 Simplekso algoritmas . . . . . . . . . . . . . . . . . . . 1374.6 Startas . . . . . . . . . . . . . . . . . . . . . . . . . . . 1444.7 Dualumas TP . . . . . . . . . . . . . . . . . . . . . . . 1464.8 Sud·etingumas . . . . . . . . . . . . . . . . . . . . . . . 1534.9 Elipsoidu¾metodas . . . . . . . . . . . . . . . . . . . . 1564.10 Vidinio ta�ko metodai . . . . . . . . . . . . . . . . . . 1624.11 Istorin·es pastabos . . . . . . . . . . . . . . . . . . . . . 1714.12 Uµzduotys ir kontroliniai klausimai . . . . . . . . . . . . 174

5 RACIONALUS I�RINKIMAS 1775.1 Ar visada galime optimizuoti? . . . . . . . . . . . . . . 1775.2 I�rinkimo uµzdaviniu¾savyb·es . . . . . . . . . . . . . . . 1785.3 Naudingumo funkcija . . . . . . . . . . . . . . . . . . . 1805.4 Neapibr·eµztumas . . . . . . . . . . . . . . . . . . . . . . 185

Page 5: Matematinis programavimas

CONTENTS 5

5.5 Garantuoto rezultato principas . . . . . . . . . . . . . . 1865.6 Vidutinio naudingumo principas . . . . . . . . . . . . . 1885.7 Subjektyvios tikimyb·es . . . . . . . . . . . . . . . . . . 1905.8 Savage�o teorija . . . . . . . . . . . . . . . . . . . . . . 1925.9 Nery�kios aib·es . . . . . . . . . . . . . . . . . . . . . . 1945.10 Psichologin·es preferencijos santykio savyb·es . . . . . . 1955.11 Stochastin·e optimizacija . . . . . . . . . . . . . . . . . 2025.12 Uµzduotys ir kontroliniai klausimai . . . . . . . . . . . . 203

6 DAUGIAKRITERIS OPTIMIZAVIMAS 2056.1 Intuityvusis i�rinkimas . . . . . . . . . . . . . . . . . . 2056.2 Apibr·eµztys . . . . . . . . . . . . . . . . . . . . . . . . . 2066.3 Kriteriju¾kompozicija . . . . . . . . . . . . . . . . . . . 2096.4 Nuosekli kriteriju¾analiz·e . . . . . . . . . . . . . . . . . 2146.5 Pareto aib·es aproksimacija . . . . . . . . . . . . . . . . 2196.6 Dialoginiai metodai . . . . . . . . . . . . . . . . . . . . 2266.7 Metodu¾aptarimas . . . . . . . . . . . . . . . . . . . . 2326.8 Uµzduotys ir kontroliniai klausimai . . . . . . . . . . . . 234

Page 6: Matematinis programavimas

6 CONTENTS

Page 7: Matematinis programavimas

Chapter 1

I¾VADAS

1.1 Matematinio programavimo kursoapibudinimas

Optimizavimo uµzdaviniai aktualus i¾vairiose µzmoniu¾ veiklos srityse.Inµzinieriai, projektuojantys naujas technologijas, siekia maksimalausefektyvumo. Verslininkai ir vadybininkai stengiasi darb ¾a organizuotitaip, kad butu¾ gautas maksimalus pelnas. �eiminink·e, i�·ejusi ap-sipirkti, stengiasi pasirinkti mar�rut ¾a taip, kad kelionei sugai�tu¾gali-mai maµziau laiko. Kasdienin·eje veikloje daµznai optimizuojama intu-ityviai, nesinaudojant jokia teorija. Taµciau svarbiais ir sud·etingaisatvejais stengiamasi uµzdavini¾ suformuluoti tiksliai ir ji¾ spr¾esti tamskirtais metodais. Tradici�kai optimizavimo uµzdavinu¾ esant riboji-mams sprendimo teorija ir metodai vadinami matematiniu pro-gramavimu. Istori�kai pirmiausiai buvo sukurta tiesinio progrmav-imo teorija, davusi pradµzi ¾a ir termino programavimas paplitimui �iuokontekstu. �is terminas buvo pasirinktas tod·el, kad sukurtieji meto-dai buvo skirti optimaliam ekonominiu¾, transporto, kariniu¾programu¾sudarymui. Terminas programavimas �iuo kontekstu atsirado netgi

7

Page 8: Matematinis programavimas

8 CHAPTER 1. I¾VADAS

anksµciau negu kitu, gal but dabar labiau i¾prastu kontekstu, rei�kianµciualgoritmu¾ ra�ym ¾a, i�pradµziu¾ kompiuterio komandomis, v·eliau - pro-gramavimo kalbomis.Optimizavimo teorija ir optimizavimo metodu¾ bei juos realizuo-

janµcios programin·es i¾rangos kurimas yra aktyviai vystoma moksloir technikos �aka. Pagrindin·es mokslin·es literaturos leidyklos pub-likuoja vir� de�imt tarptautiniu¾ µzurnalu¾ ir knygu¾ seriju¾, skirtu¾ op-timizacijos tematikai. Programin·es i¾rangos rinkoje siuloma keliosde�imtys komerci�kai platinamu¾ optimizavimo paketu¾. µZymiai dau-giau programin·es i¾rangos sukurta nekomerciniais pagrindais. Kadangioptimizavimo metodai svarbus ir teoriniu, ir taikomuoju poµziuriais,daugelyje univeritetu¾skaitomi tokios tematikos kursai, kurie vadinamiMatematinis programavimas, Tiesinis/Netiesinis programavimas, Op-timizavimo metodai ir pan.I¾vairiuose universitetuose skaitomi kursai skiriasi tiek turiniu, tiek

medµziagos atrinkimu, tiek ir jos pateikmo metodika. Tas ry�kujau vien pavarµcius vadov·elius. Daµznai d·emesys sukoncentruojamasi¾ tiesini¾ programavim ¾a, netiesiniams uµzdaviniams skiriant santykinaimaµz ¾a kurso dali¾, pvz. [8], [21]. Toks medµziagos atrinkimas daµznaigrindµziamas tuo, kad daugelis praktikoje, ypaµc ekonomikoje, kylanµciu¾uµzdaviniu¾yra tiesiniai. Taµciau vis daµzniau tenka nagrin·eti netiesiniusuµzdavinius, o tiesiniu¾ir netiesiniu¾uµzdaviniu¾sprendimo metodu¾id·ejosvis labiau persipina. Tod·el �iame vadov·elyje stengtasi subalansuotitiesiniams ir netiesiniams uµzdaviniams skirtos medµziagos apimti¾.Tokie vadov·eliai, kaip [4], [26], labai formalus: grieµztai matem-

ati�kai formuluojamos teoremos, pateikiami detalus i¾rodymai, beveikn·era iliustraciju¾ ir praktiniu¾ uµzdavinu¾ sprendimo pavyzdµziu¾. Tokievadov·eliai skirti gan siaurai auditorijai, butent matematikams besis-pecializuojantiems optimizacijos teorijos srityje.Galima nurodyti prie�ingos orientacijos, t.y. labai prakti�ku¾knygu¾,

pvz. [9], [22], kurios apsiriboja metodu¾id·eju¾apra�ymu ir ju¾pagrindurealizuotu¾ algoritmu¾ testavimo rezultatu¾ aptarimu. Jos nesunkiai ir

Page 9: Matematinis programavimas

1.1. MATEMATINIO PROGRAMAVIMOKURSOAPIBUDINIMAS9

greitai skaitomos, jose pateikiamos rekomendacijos, kaip susirasti tin-kam ¾a metod ¾a spr¾esti tipiniam uµzdaviniui. Tokios knygos skirtos varto-tojui, kuris gali pasitenkinti gan pavir�utini�komis µziniomis. Paprastu¾receptu¾ metodo pasirinkimui pakanka, jei i�kylantys praktiniai uµz-daviniai nelabai sud·etingi, gerai atitinkantys pagrindµzianµcias metodusteorines prielaidas.Taµciau informatikos, ekonomikos ir kitu¾ sriµciu¾ specialistai,

gvildenantys �iuolaikines problemas, gan daµznai susiduria susud·etingais optimizavimo uµzdaviniais, kuriu¾ sprendimas reikalaujakiek gilesnio, negu vien metodo id·eja, optimizavimo teorijos su-vokimo. Ketinantiems specializuotis optimizavimo metodu¾srityje ne-sunku i�sirinkti studijoms kelet ¾a geru¾ knygu¾, pvz. [3], [2], [16], [11],[15], kuriose pavyko suderinti teorij ¾a su praktika. Taµciau tokios studi-jos reikalauja daug laiko. Nors ir nerealu, kad taikomosios sritiesspecialistas gal·etu¾ ilgam pasi�v¾esti optimizacijos teorijos studijoms,taµciau susidur¾es su sud·etingesniu optimizavimo uµzdaviniu jis turi butipasiruo�¾es ir pasiskaityti optimizacijos teorijos literatur ¾a, ir susivoktiprogramin·es i¾rangos apra�ymuose, ir nesuklysti vertindamas programu¾paketu¾ reklam ¾a. Tokiam specialistui reikalingu teorijos ir metodu¾i¾vadu ir pretenduoja tapti �is vadov·elis.�alia standartiniu¾matematinio programavimo metodu¾, vadov·elyje

trumpai i�d·estytas racionalaus i�rinkimo teorijos bei optimizavimo sudaugeliu kriteriju¾ i¾vadas. Matematinio programavimo kursuose �itematika daµzniausiai nenagrin·ejama. Taµciau ji tampriai susijusi suoptimizavimo metodu¾ taikymais ir jai reikia rasti vietos studiju¾ pro-gramoje. Jei specialus Optimaliu¾sprendimu¾pri·emimo/Daugiakriteriu¾sprendimu¾ kursas n·era d·estomas, tai trump ¾a ju¾ i¾vad ¾a tikslingiausiapateikti metodologi�kai artimame Matematinio programavimo kurse.�is vadov·elis sumanytas kaip optimizavimo teorijos ir praktikos

vienov·es projekcija i¾ kvali�kuoto vartotojo interesus, atsiµzvelgiant i¾studijoms skiriamo laiko ribotum ¾a, atitinkanti¾ vieno semestro kurs ¾abakalauro studiju¾ programoje. Matyt, nei¾manoma para�yti vadov·eli¾

Page 10: Matematinis programavimas

10 CHAPTER 1. I¾VADAS

vienodai gerai tinkanti¾ keliu¾ specialybiu¾ studentams. I�d·estytaimedµziagai studijuoti reikalingas pairuo�imas nevir�ija matematin·esanaliz·es ir tiesin·es algebros elementu¾. Ruo�iant vadov·eli¾, buvo ori-entuojamasi i¾ Vytauto Didµziojo ir Kauno Technologijos universitetu¾studentu¾poreikius. Autoriui teko d·estyti �i¾ kurs ¾a ir silpniau matem-ati�kai pasiruo�usiai auditorijai, kuriai reik·edavo paai�kinti butinusmatricu¾ teorijos rezultatus; be to, budavo praleidµziami kai kuriei¾rodymai, o kursas papildomas praktiniais pavyzdµziais. Savaranki�kaistudijuojanti¾ skaitytoj ¾a persp·esime, kad norint suprasti d·estomusmetodus, reik·etu¾buti susipaµzinusiam su daugelio kintamu¾ju¾ funkciju¾skleidimu Teiloro eilute, vektoriu¾ tiesinio nepriklausomumo s ¾avoka,matricos tikriniu¾reik�miu¾bei vektoriu¾s ¾avokomis.Autoriaus nuomone, matematikams, besiruo�iantiems dirbti

taikymu¾ srityje, taip pat butu¾ naudinga i�klausyti matematinio pro-gramavimo kurs ¾a, orientuot ¾a i¾praktiniu¾uµzdaviniu¾sprendim ¾a. Varguar matematinio programavimo uµzdaviniai bei metodai yra tinkami-ausia sritis matematinei erudicijai lavinti. Bet �i sritis, be abejon·es,yra teorijos ir praktikos s ¾aveikos sritis. Tod·el veng·eme ilgu¾ ir painiu¾i¾rodin·ejimu¾, o steng·em·es i�ry�kinti metodu¾ id·ejas, paai�kinti, kadakokie metodai yra tinkamiausi. Gilesn·ems teorijos studijoms i�literuros s ¾ara�o galima pasirinkti, pavyzdµziui [2], [3], [11].Vadov·elis parengtas vykdant TEMPUS projekt ¾a S_JEP 12382-

97, koordinuojam ¾a Vytauto Didµziojo universiteto ir vykdom ¾a kartusu Kauno Technologijos universitetu ir dviem partneriais i�EuroposS ¾ajungos valstybiu¾: Kopenhagos ir Maastrichto universitetais [25].Ra�ant vadov·eli¾ buvo remtasi ilgamete moksliniu¾ tyrimu¾ optimizaci-jos srityje ir pana�iu¾disciplinu¾d·estymo partimi. Anksµciau publikuotosknygos [22], [23], nors formaliai ir netur·ejo vadov·eliu¾statuso, bet buvovartojamos i¾vairius kursus klausiusiu¾studentu¾. Pasiteisinusi d·estymopoµziuriu medµziaga i�[22], [23] buvo perdirbta ir i¾traukta i¾�i¾vadov·eli¾.Kadangi absoliuti �i¾kurs ¾a klausanµciu¾ju¾studentu¾dauguma yra aktyvusInterneto vartotojai, dalis kurso medµziagos yra patalpinta tinklalapyje,

Page 11: Matematinis programavimas

1.1. MATEMATINIO PROGRAMAVIMOKURSOAPIBUDINIMAS11

skirtame auk�µciau min·etam projektui [25].

�ioje knygoje i�d·estyta tik teorin·e Matematinio programav-imo kurso medµziaga. Tikim·es, kad siulomos savaranki�ko darbouµzduotys ir kontroliniai klausimai pad·es geriau i¾sisavinti �ios disci-plinos teorij ¾a. Taµciau Matematinio programavimo kursas neapsiribojavien teorijos studijomis. Svarbu prakti�kai i�bandyti i¾vairius meto-dus, palyginti ju¾ efektyvum ¾a sprendµziant testinius uµzdavinius. �iokurso praktikumui skirta medµziaga pateikta tinklalapyje [25]. Au-toriaus nuomone, medµziagos padalinimas i¾ teorin¾e dali¾, atspausdint ¾atradiciniu budu, ir praktin¾e Internetin¾e dali¾, kuri turi buti i¾sisavinamadirbant kompiuteriu, atitinka racionali ¾a studiju¾metodik ¾a. Pastarosiosparuo�imui didel·es i¾takos tur·ejo paµzintis su Maastrichto universiteteplaµciai taikoma Problem Based Learning metodika [19] ir diskusijossu �ios metodikos entuziastu D.Tempellar�u. Tinklalapyje pateiktipraktiniu¾ darbu¾ apra�ymai, kuriuos paruo�·e Dr. M.Tamo�iunait·e,sud·etingesniu¾situaciju¾iliustracijos, musu¾studentu¾paruo�ti kai kuriu¾uµzdaviniu¾ sprendiniai, nuorodos i¾ reikaling ¾a programin¾e i¾rang ¾a. Tin-klalapyje taip pat patalpinta medµziaga, skirta gilesniam kai kuriu¾temu¾nagrin·ejimui, pavyzdµziui, projekto partnerio profesoriaus J.Clausenanglu¾kalba paruo�tos paskaitos [6], [5].

Autoriaus paµziuroms i¾ Matematinio Programavimo disciplin ¾adidel·es i¾takos tur·ejo ilgametis bendravimas su kolegomis i�Matem-atikos ir Informatikos Instituto J.Mockumi, V.�alteniu, G.Dzemyda,V.Tie�iu. Atrenkant medµziag ¾a �iam kursui buvo nagrin·eti pana�uskituose universitetuose skaitomi kursai, ypaµc daug diskutuota su kole-gomis i� projekto partneriu¾ Kopenhagos ir Maastrichto universitetu¾,o taip pat i�Danijos Technikos, Dortmundo, Aacheno Technikos, AboAkademi universitetu¾, kriuose buvo skaityti pana�us kursai einant viz-ituojanµcio profesoriaus pareigas ir/arba vykdyti moksliniai tyrimaiartima �iam kursui tematika. Sunku butu¾ i�vardinti visus kolegas,su kuriais vykusias diskusijas prisimindavau ra�ydamas �i¾ vadov·eli¾,

Page 12: Matematinis programavimas

12 CHAPTER 1. I¾VADAS

tod·el nor·eµciau pad·ekoti bent jau tiems, su kuriais buvo diskutuotaskonkreµciai �is projektas arba kuriu¾ i¾tak ¾a jauµciau ry�kiausiai, t.y. pro-fesoriams J.Clausen, A.Kolen, K.Madsen, R.Mathar, H.Peters, H.-P.Schwefel, A.Törn. Pirm ¾a vadov·elio versij ¾a [24] i�leido VytautoDidµziojo Universiteto leidykla 1999 metais. �is versija gerokai pa-pildyta, i�taisytos redagavimo klaidos. D·ekoju recenzentui Doc. dr.A. Apiniui uµz vertingas patabas.I�kilus terminologiniams klausimams buvo vadovaujamasi [12].

1.2 Uµzdavinio formulavimas

Matematinis uµzdavinio formulavimas labai svarbus optimizavimo eta-pas, nuo kurio priklauso ir jo i�sprendµziamumas, ir gautu¾ rezultatu¾adekvatumas praktiniam uµzdaviniui, kuri¾jis formalizuoja. Jei norimapraktini¾ uµzdavini¾ spr¾esti kompiuteriu, reikia sudaryti uµzdaviniomatematini¾ modeli¾ ir ji¾ atitinkanµci ¾a kompiuterio program ¾a. Opti-mizavimui skirt ¾a kompiuterio program ¾a galima pasirinkti i�daugeliokomerciniu¾ ar laisvai platinamu¾ optimizavimo paketu¾. Matematiniomodelio sudarymas priklauso taikomosios srities specialistu¾ kompe-tencijai. Nors pastarieji optimizavimo metodu¾paprastai nekuria, betir jiems butinos i¾vadin·es teorijos µzinios, �iokia tokia metodu¾ taikymopatirtis. Kadangi sudarant modeli¾beveik visada tenka rinktis kompro-mis ¾a tarp modelio sud·etingumo ir adekvatumo, svarbu µzinoti metodu¾,kuriais bus sprendµziamas uµzdavinys, galimybes ir bendras savybes.S·ekming ¾a uµzdavinio formulavimo ir jo sprendimo metodo suderinim ¾ailiustruoja legenda apie Kartagenos i¾kurim ¾a.Karalaitei Didonai buvo padovanota tiek µzem·es, kiek galima uµz-

dengti jauµcio oda. Daug kas net nebandytu¾ tokiame plote ir lu�nel·esstatytis, nekalbant jau apie miesto i¾kurim ¾a. Bet Didona rado genialu¾sprendini¾. Ji sukarp·e jauµcio od ¾a siauromis juostel·emis, jas suri�o irgaut ¾aja ilga juostele atsitv·er·e sau teritorij ¾a. Viena i� savo teritori-

Page 13: Matematinis programavimas

1.2. UµZDAVINIO FORMULAVIMAS 13

jos ribu¾ Didona pasirinko Vidurµzemio juros pakrant¾e, kuri sudar·enaturali ¾a teritorijos rib ¾a. Kita riba buvo pusapskritimiu i�lenkta ju-ostel·e. Taip ji �uµzdeng·e�, t.y. atsitv·er·e, maksimalu¾ plot ¾a. Be to,Kartagena gavo i�·ejim ¾a i¾ jur ¾a. Didonos sprendinys buvo geras ne tikteritorijos maksimizavimo, bet ir kitu strategi�kai svarbiu poµziuriu,kuris net neatsispindi pradiniame uµzdavinio formulavime.Pradinis uµzdavinio formulavimas apie teritorij ¾a, kuri ¾a galima uµz-

dengti jauµcio oda, daugeliui µzmoniu¾butu¾suprantamas vienareik�miai.Pasirodo, jis gali tur·eti ir kitoki ¾a interpretacij ¾a. Ne tik �iuo mi-tologiniu atveju, bet ir nudienos praktikoje labai svarbu, kad uµz-davinio formulavimas butu¾tikrai adekvatus siekiamiems tik-slams. Karalaitei Didonai rasti lemtingojo uµzdavinio sprendimo bud ¾a,tikriausiai pad·ejo dievai. Matemati�kai suformuluoti maksimalausploto uµzdavini¾ esant duotam perimetrui galima ir be matematin·esanaliz·es µziniu¾, bet taip vadinamu¾izoperimetriniu¾uµzdaviniu¾sprendimometodai buvo sukurti kokiais dviem tukstantmeµciais v·eliau. Kadangikarali�ka intuicija duota nedaugeliui, tai kuriamos teorijos ir metodai,padedantys parastiems mirtingiesiems spr¾esti sud·etingus uµzdavinius.Taµciau ir esant �iuolaikiniam mokslo lygiui efektyvus sprendimometodai µzinomi toli graµzu ne kiekvienam optimizacijos uµzdaviniui.Tod·el formuluojant uµzdavini¾ reikia atsiµzvelgti i¾ numatomu¾ naudotioptimizavimo metodu¾efektyvum ¾a.Optimizavimo uµzdaviniais dom·ejosi, juos tyrin·ejo ir metodus jiems

kur·e tokie i¾µzymus mokslininkai kaip Newton, Lagrange, Euler irdaugelis kitu¾. Optimalumo principai svarbus mokslo metodologi-jai. Nemaµzai gamtos d·esniu¾ formuluojami kaip optimalumo s ¾alygos.Pavyzdµziui, �viesos spindulio kelias nevienalyt·eje aplinkoje nusako-mas trumpiausiu sklidimo laiku. Optimalumo principais i�rei�kiamisvarbus ekonomikos d·esniai.Toliau vartojamose formul·ese ir matematiniuose rei�kiniuose vek-

torius, matricas ir aibes µzym·esime didµziosiomis raid·emis. Vektoriu¾bei matricu¾ komponent·es bus µzymimos atitinkamomis maµzosiomis

Page 14: Matematinis programavimas

14 CHAPTER 1. I¾VADAS

raid·emis su apatiniais indeksais. Vektoriu¾ ir matricu¾operacijose vek-toriai suprantami kaip vektoriai-eilut·es arba vektoriai-stulpeliai prik-lausomai nuo konteksto. Esant butinybei skirti vektorius-eilutes irvektorius-stulpelius, pastarieji bus µzymimi su vir�utiniu indeksu t,rei�kianµciu transponavim ¾a, pavyzdµziui, X - vektorius-eilut·e, X t -vektorius-stulpelis.Optimizavimu vadinama paie�ka uµzdavinio formulavimu

apibr·eµztoje aib·eje tokio elemento, kuriam kriterijaus reik�m·e butu¾minimali (arba maksimali). Daµznai nagrin·ejamoji aib·e yra n - mat·esEuklido erdv·es poaibis. Tada galima kalb·eti apie (parametru¾) vek-toriaus su minimalia kriterijaus reik�me paie�k ¾a. Parametru¾vektoriaus X 2 Rn komponent·es xi; i = 1; :::; n; vadinamos uµzdaviniokintamaisiais, o kriteriju¾ apibr·eµzianti funkcija f(X) vadinamatikslo funkcija. Kintamieji turi patenkinti uµzdavinio formulavim ¾aatitinkanµcias s ¾alygas. Pavyzdµziui, jei kintamasis xi rei�kia kaµzkokioobjekto mas¾e, jis negali buti neigiamas. Jei xj rei�kia temperatur ¾aCelsijaus skal·eje, tai jis netur·es prasm·es budamas maµzesniu uµz-273.15. Be abejo, realiame uµzdavinyje temperaturos kitimo inter-valas, apibr·eµziamas technologiniu¾ uµzdavinio s ¾alygu¾, prasid·es gerokaiauk�µciau absoliutaus nulio ir tur·es vir�utini¾ r·eµzi¾. Kintamieji gali butisusieti lygyb·emis ir nelygyb·emis, i�reikianµciomis gamtos d·esnius (pvz.energijos tvarumo), turimus resursus, standartu¾ reikalavimus ir pan.Erdv·es Rn poaibis A; kuriame patenkinamos uµzdavinyje apibr·eµztoss ¾alygos kintamiesiems, vadinamas leistin ¾aja sritimi. Leistinoji sritispaprastai apibr·eµziama lygyb·emis ir nelygyb·emis ribojimu¾ funkciju¾reik�m·ems, pvz.

A = fX 2 Rn : g1(X) = 0; g2(X) � 0g:

Minimizavimo (analogi�kai, maksimizavimo) uµzdavinys uµzra�omas

minX2A

f(X);

Page 15: Matematinis programavimas

1.2. UµZDAVINIO FORMULAVIMAS 15

o jo sprendimas rei�kia minimalios tikslo funkcijos reik�m·es f� �f(X); X 2 A ir minimumo ta�ko X� 2 A; f(X�) = f� suradim ¾a. Kadmatemati�kai suformuluotas uµzdavinys tur·etu¾ prasm¾e, reikia garan-tuoti sprendinio egzistavim ¾a. Tam uµztenka minimaliu¾ prielaidu¾, pvz.sprendinys egzistuoja, jei tikslo funkcija tolydin·e ir leistinoji aib·eapr·eµzta ir uµzdara. Sprendinio egzistavimui taip pat pakanka, kad leisti-noji aib·e butu¾baigtin·e.Minimumo ta�ko radimo uµzdavinys gali buti nekorekti�kas, t.y. uµz-

davinio sprendinys gali stipriai pasikeisti duomenims pasikeitus visaineµzymiai. Pavyzdµziui, uµzdavinio

min f (x) ; f (x) = � � x; �106 � x � 106; (1.1)

minimumo ta�kas yra x� = �106, kai � > 0, ir x� = 106, kai � < 0:Taigi, pakitus uµzdavinio parametrui � labai nedaug, sakysim, nuo�10�6 iki 10�6, uµzdavinio sprendinys keiµciasi maksimaliai galimu dy-dµziu 2 � 106:Prakti�kai priimtina ir teori�kai korekti�ka butu¾ tokia uµzdavinio

formuluot·e: rasti tikslo funkcijos reik�m¾e f" ir j ¾a atitinkanti¾ leisti-nosios aib·es ta�k ¾a, kuriame tikslo funkcijos reik�m·e skiriasi nuo mini-malios ne daugiau negu leistina tolerancija ": �iame vadov·elyje daromaprielaida, kad nagrin·ejamieji minimizavimo uµzdaviniai yra korekti�ki.Tada minimumo ir minimumo ta�ko suradimo uµzdaviniai yra ekviva-lentus.Kaip pasinaudoti optimizavimo teorija, kai kokiame nors prak-

tiniame uµzdavinyje i�kyla optimizavimo butinyb·e? Norint sufor-muluoti uµzdavini¾ matemati�kai, reikia sudaryti taikomojo uµzdaviniomatematini¾modeli¾:Pirma, reikia i�sia�kinti, koki¾ kriteriju¾ tikslinga optimizauoti,

kokie uµzdavinio parametrai gali buti keiµciami ir kokioje srityje jie galikisti, t.y. apibr·eµzti kintamu¾ju¾ vektoriu¾ X, tikslo funkcij ¾a f(X) irleistin ¾aj ¾a sriti¾ A. Pasinaudojus optimizavimo metodu, bus gautas

Page 16: Matematinis programavimas

16 CHAPTER 1. I¾VADAS

optimaliu¾ parametru¾ vektorius X�, kuriuos ir reik·es realizuoti prak-ti�kai i¾gyvendinant uµzdavinio sprendini¾.Antra, reikia tur·eti pakankamai µziniu¾ apie taikom ¾aj ¾a sriti¾,

kad butu¾ galima sudaryti algoritm ¾a tikslo funkcijos f(X) ir ribo-jimus apibr·eµzianµciu¾ funkciju¾ gi(X) reik�m·ems (daugeliu atveju iri�vestin·ems) apskaiµciuoti.Remiantis matematinio modelio savyb·emis ir optimizacijos teorijos

rezultatais pasirenkamas tinkamiausias metodas suformuluotam opti-mizavimo uµzdaviniui spr¾esti.

1.3 Pavyzdµziai

Prad·ekime nuo labai paprasto uµzdavinio. Kokia tur·etu¾buti staµciakam-pio gretasienio formos d·eµz·e, kad vienetiniam pavir�iaus plotui jos turisbutu¾maksimalus? Paµzym·ej¾e d·eµz·es ilgi¾, ploti¾ir auk�ti¾x1; x2; x3; tikslofunkcij ¾a gal·esime uµzra�yti formule

f(X) = x1 x2 x3;

ir leistin ¾aj ¾a sriti¾ trimis nelygyb·emis ir viena lygybe

A = fX 2 R3 : xi � 0; 2x1x2 + 2x1 x3 + 2x3 x2 = 1g:

Matematinis modelis µcia labai paprastas: vos kelios analitin·es for-mul·es. Uµzdavinys tikrai turi sprendini¾, nes tikslo funkcija yra tolydi,o leistinoji sritis apr·eµzta ir uµzdara. Uµzdavinio kintamu¾ju¾prasm·e aki-vaizdi: gaminamos d·eµz·es matavimai. Ar i�sprendus uµzdavini¾ gautasrezultatas bus naudingas praktiniams taikymams? Taip, jei medµziagostaupymas yra pagrindinis tikslas: su duotu medµziagos, pvz. faneros,kiekiu gal·etume pagaminti maksimalaus turio d·eµz¾e. Bet �is uµzdavinioformulavimas ignoruoja daugeli¾ aplinkybiu¾, kurios gali buti svarbios

Page 17: Matematinis programavimas

1.3. PAVYZDµZIAI 17

praktikoje. Pavyzdµziui, daµznai reikia ne vienos, o daugelio d·eµziu¾, fan-er ¾a reikia pjaustyti i�tam tikros formos lapu¾ir minimizuoti pjaustymoatliekas, d·eµzes reikia veµzti tam tikro dydµzio koteineriuose ir pan. At-siµzvelgiant i¾ konkretaus taikymo aplinkybes, tikriausiai reik·etu¾ tik-slinti matematini¾modeli¾: atsiµzvelgti i¾daugiau ribojimu¾, ar net keistitikslo funkcij ¾a. Daugelyje praktiniu¾ optimizavimo uµzdaviniu¾ adek-vataus modelio sudarymas yra gan ilgas iteracinis procesas, kuriamedalyvauja suinteresuotu¾organizaciju¾specialistai ir vadybininkai [23].I¾vairiose technikos srityse galima rasti daug projektavimo

pavyzdµziu¾, kuriu¾ optimizacinis formulavimas laikytinas standartiniu.Vienas i� tokiu¾ pavyzdµziu¾ yra radioelektroniniu¾�ltru¾ projektavimas:duota daµznumin·e charaktersitika Fe($), $� � $ � $�; kuri ¾a reikiarealizuoti pasirinktos strukturos R;L;C �ltru. Paµzym·ej¾e atitinkamu¾elementu¾ elektrines charakteristikas Ri; Li; Ci, ir sudar¾e elektrin·esgrandin·es daµznumin·es charakteristikos F ($;Ri; Li; Ci) apskaiµciavimoalgoritm ¾a, galime formuluoti optimizavimo uµzdavini¾

minRi;Li;Ci

max$��$�$�

jFe($)� F ($;Ri; Li; Ci)j;

apibr·eµziant leistin ¾aj ¾a sriti¾ i� projekto speci�kaciju¾ i�plaukianµciaisreikalavimais projektuojamam �ltrui. Kintamu¾ju¾ reik�m·es, suras-tos sprendµziant optimizavimo uµzdavini¾, apibr·eµzia optimalaus �l-tro elementu¾ elektrines charaktersitikas. Uµzdavinys butu¾ gerokaisud·etingesnis, jei �ltro struktura butu¾i�anksto neapibr·eµzta, ir reik·etu¾ie�koti ne tik optimaliu¾elementu¾charakteristiku¾, bet ir optimalios �l-tro strukturos.Projektuojant i¾vairias statybines konstrukcijas svarbu ne tik

uµztikrinti pakankam ¾a ju¾ stiprum ¾a (pvz., atsparum ¾a gniuµzdymui,lenkimui ir pan.), bet ir minimizuoti medµziagu¾, ypaµc brangiu¾ju¾, sunau-dojim ¾a. Jei konstrukcijos kaina yra formuluojama kaip optimizavimouµzdavinio tikslo funkcija, tai jos apskaiµciavimo algoritmas yra papras-tas. Taµciau gali buti problemu¾su duomenu¾neapibr·eµztumu. Gal but,

Page 18: Matematinis programavimas

18 CHAPTER 1. I¾VADAS

iki bus prad·eta gamyba pasikeis situacija statybiniu¾medµziagu¾rinkoje,ir naudotinu¾medµziagu¾kainos bus nebe tokios, kokios yra projektavimometu. Gali atsirasti naujos technologijos, ir rinkoje pasirodys medµzi-agos, kurios projektavimo metu apskritai nebuvo gaminamos. Uµz-davinio ribojimu¾ formulavimui reikia µzinoti konstrukciniu¾ medµziagu¾atsparumo apskaiµciavimo metodus. Nors algoritminiu poµziuriu �imatematinio modelio dalis yra sud·etingesn·e, bet ji gan stabili ir uni-versali. Kart ¾a sukurti, konstrukciju¾atsparumo skaiµciavimo algoritmai(ir juos realizuojantys programu¾paketai) gali buti naudingi i¾vairiemsuµzdaviniams spr¾esti. Be min·etu¾ju¾ aplinkybiu¾ gali tekti atsiµzvelgti i¾i¾vairius gamybos faktorius, nes kokia nauda i�labai geros konstrukci-jos, kurios realiai nebus i¾manoma pagaminti.Pastarasis pavyzdys rodo, kad praktinio optimizavimo uµzdavinio

matematinio modelio sudarymas ir suformuluoto matematinio opti-mizavimo uµzdavinio sprendimas gali buti sud·etingas, auk�tos kvali-�kacijos reikalaujantis uµzdavinys. Jo sprendimas gali pareikalauti i�gamintojo tam tikru¾ i�laidu¾. Taµciau i¾sotintos rinkos s ¾alygomis opti-mizuoti ir paµcius gaminius, ir gamybos proces ¾a, ir �rmu¾vadyb ¾a tiesiogbutina, nes konkuruoti tenka su tais, kurie optimizuoja.

1.4 Uµzdaviniu¾klasi�kacija

Optimizavimo uµzdaviniai klasi�kuojami priklausomai nuo tikslofunkcijos ir leistinosios srities savybiu¾. Auk�µciau pateiktame opti-mizacijos uµzdavinio formulavime buvo ie�koma optimalaus kintamu¾ju¾vektoriaus. Tokie uµzdaviniai vadinami daugiamat·es optimizacijos uµz-daviniais, arba optimizacija n-mat·eje Euklidin·eje erdv·eje. Svarbusspecialus atvejis n = 1 vadinamas vienmate optimizacija, arba vienokintamojo funkciju¾optimizacija.Svarbi uµzdaviniu¾klas·e yra neapimta pateikto formulavimo. Tai op-

timizavimo teorijoje nagrin·ejami uµzdaviniai, kuriuose ie�komasis ob-

Page 19: Matematinis programavimas

1.4. UµZDAVINIU¾KLASIFIKACIJA 19

jektas yra funkcija, pvz., valdymo signalo priklausomyb·e nuo laiko,uµztvankos pro�lis ir pan. Pamin·etas i¾vade izoperimetrinis uµzdavinystaip pat priklauso �iai klasei. Bendru atveju funkcija n·era apibr·eµziamabaigtiniu kintamu¾ju¾skaiµciumi. Tod·el ir uµzdaviniai formuluojami kaipoptimizacija funkciju¾ erdv·ese. Svarbus tokiu¾ uµzdaviniu¾ poklasis yraoptimalaus valdymo uµzdaviniai. �iame kurse tokie uµzdaviniai ne-nagrin·ejami. Taµciau paµzym·esime, kad jie daµzniausiai sprendµziamipakeiµciant pradini¾uµzdavini¾, suformuluot ¾a funkciju¾erdv·eje, pagalbiniu¾uµzdaviniu¾su baigtiniu kintamu¾ju¾skaiµciumi seka.Jei leistinoji sritis baigtin·e (atskirais atvejais gali buti begalin·e

suskaiµciuojama), tai uµzdavinys vadinamas diskretaus programavimo(diskreµciosios optimizacijos) uµzdaviniu. Detaliau klasi�kuojant i�skiri-ami uµzdaviniai su sveikaskaitiniais ir Bulio kintamaisiais, o taip patkombinatorinis programavimas. Pastaruoju atveju ie�koma optimaliosapibr·eµztu¾kintamu¾ju¾reik�miu¾kombinacijos, pvz. kuprin·es uµzdavinyjeie�koma tokios dvimaµciu¾ vektoriu¾ i�duotosios baigtin·es aib·es kombi-nacijos, kad ju¾ pirmu¾ju¾ komponenµciu¾ (sukraunamu¾ i¾ kuprin¾e daiktu¾kaina) suma butu¾maksimali, esant antru¾ju¾komponenµciu¾(daiktu¾turioarba mas·es) sumos apribojimui.Jei kintamieji n·era diskretus, tai bendru atveju uµzdavinys vadina-

mas netiesinio programavimo uµzdaviniu, specialiai nepabr·eµziant, kadleistinoji sritis yra kontinuali. Kalbant apie netiesinio programavimouµzdavinius, paprastai, turima galvoje lokalaus minimumo paie�ka. Kainorima rasti globalu¾ minimum ¾a, kalbama apie globali ¾a optimizacij ¾a.Jei tikslo funkcija ir leistinoji aib·e yra i�kilos, uµzdavinys vadinamasi�kilaus programavimo uµzdaviniu. Jei tikslo funkcija tiesin·e, o leisti-noji sritis apibr·eµzta tiesin·emis lygyb·emis ir nelygyb·emis, tai uµzdavinysvadinamas tiesinio programavimo uµzdaviniu.Kai kuriose taikymo srityse, ypaµc ekonomikoje, tenka optimizuoti

neapibr·eµztumo s ¾alygomis. Tokiu atveju uµzdavinio matematiniamemodelyje turi buti i¾vertinti neapibr·eµztumai. Formuluojant tikimybiu¾teorijos terminais gaunami stochastinio programavimo uµzdaviniai.

Page 20: Matematinis programavimas

20 CHAPTER 1. I¾VADAS

�ioje knygoje apie juos bus tik trumpai uµzsiminta.Kitas svarbus optimizacijos uµzdavinio apibendrinimas, kuriam

skirsime nemaµzai d·emesio, susij¾es su butinumu optimizuojant atsiµzvel-gti i¾daugeli¾kriteriju¾. Tokius uµzdavinius nagrin·eja daugiakriter·es op-timizacijos teorija.

1.5 Metodu¾efektyvumas

Tik labai specialiais atvejais optimizavimo uµzdavini¾pasiseka i�spr¾estianaliti�kai, t.y. formule uµzra�yti sprendini¾. Ne visada paprasta netpatikrinti, ar duotasis ta�kas X 2 A yra nagrin·ejamojo uµzdaviniominimumo ta�ku, ar ne. Minimumo Apibr·eµztis bendru atveju nelabaikuo gali pad·eti, nes kontinualios leistinosios srities atveju nei¾manomapalyginti nagrin·ejamos tikslo funkcijos reik�m·es su visomis kitomis.Kartais potencialiu¾ sprendiniu¾ aib·e yra baigtin·e, nors leistinoji sritisir kontinuali. Taip yra, pavyzdµziui, tiesinio programavimo uµzdavini-uose, kuriuose leistinoji aib·e yra daugiamatis briaunainis (poliedras),t.y. kontinuali. Taµciau nesunku i¾sitikinti, kad potencialiu¾ sprendiniu¾aib·e sutampa su poliedro vir�uniu¾ aibe ir tod·el yra baigtin·e. Surastioptimalu¾sprendini¾baigtin·eje potencialiu¾sprendiniu¾aib·eje galima at-likus piln ¾a aib·es perµziur ¾a, t.y. baigtiniu µzingsniu¾ skaiµciumi, norspatarasis gali buti ir labai didelis.Kai optimizavimo uµzdavinys kokiu nors metodu i�sprendµziamas

baigtiniu µzingsniu¾ skaiµciumi N , metodo efektyvumas gali buti verti-namas algoritmu¾sud·etingumo teorijos kriterijais. I¾vertinama µzingsniu¾skaiµciaus N priklausomyb·e nuo n ir kitu¾uµzdavinio parametru¾, ir �iospriklausomyb·es tipas apsprendµzia metodo sud·etingumo klas¾e. Kuogreiµciau auga N , tuo sud·etingesnis metodas, arba tuo menkesnis joefektyvumas.Bendru atveju, baigtiniu µzingsniu¾ skaiµciumi nei¾manoma garan-

tuoti sprendinio suradimo, tod·el apsiribojama apytiksliu uµzdavinio

Page 21: Matematinis programavimas

1.5. METODU¾EFEKTYVUMAS 21

sprendimu, kai apytiksliu sprendiniu vadinamas ta�kas apytiksliaipatenkinantis (pakankamas arba butinas) minimumo s ¾alygas. Uµz-davinys sprendµziamas iteratyviai: pradedama kokiu nors ta�ku X0 irkonstruojama seka Xi, kurios nariai su indeksais i � N apytiksliaipatenkina minimumo s ¾alygas:Jei baigtiniu µzingsniu¾ skaiµciumi uµzdavinys nei�sprendµziamas,

reikalaujama, kad metodas bent jau konverguotu¾, t.y., kad metodogeneruojamos sekos ribiniai ta�kai sutaptu¾ su uµzdavinio sprendini-ais. Bus paprasµciau i¾rodin·eti matematinius teiginius, jei darysimeprielaid ¾a, kad minimumo ta�kas X� lokaliai vienintelis, t.y. tamtikroje jo aplinkoje n·era kitu¾ minimumo ta�ku¾. Kartais darysimedar stipresn¾e prielaid ¾a, kad egzistuoja vienintelis lokalaus minimumota�kas, kuris yra ir globalaus minimumo ta�ku. Paµzym·ej¾e paklaid ¾ai-tajame µzingsnyje

"i = jjXi �X�jj;�i = f(Xi)� f(X�);

metod ¾a vadinsime konverguojanµciu i¾minimumo ta�k ¾a, jei "i ! 0; irkonverguojanµciu i¾ minimum ¾a, jei �i ! 0: Jei paklaidos riba nebutu¾lygi nuliui, tai vargu ar tur·etume pakankam ¾a pagrind ¾a vadinti sek ¾a Xi

generuojanti¾metod ¾a minimizavimo metodu. Kita vertus, konvergav-imas yra asimptotin·e sekos savyb·e. Priminsime, kad sekos "i konver-gavimas terei�kia tokio N " egzistavim ¾a kiekvienam " > 0; kad "i � ";jei i � N ": Konvergavimo faktas nieko nesako apie N " dydi¾. Gal but,N " toks didelis, kad per priimtin ¾a laik ¾a paklaida nesumaµz·es iki norimodydµzio. Tada metodo konvergavimas netur·es praktin·es reik�m·es.Konverguojantys metodai lyginami ju¾ konvergavimo greiµcio

poµziuriu. Jei pirmo metodo paklaida e"i, o antro b"i, tai pirmas metodaskonverguoja greiµciau uµz antr ¾a, kai

Page 22: Matematinis programavimas

22 CHAPTER 1. I¾VADAS

limi!1

e"ib"i = 0:Lyginant metodu¾ paklaidas su standartin·emis sekomis, pvz.

geometrine progresija, apibr·eµziamos metodu¾ klas·es. Toliau busapibr·eµztos svarbiausios pirmo ir antro (konvergavimo) laipsnio metodu¾klas·es. Kaip konvergavimo faktas, taip ir konvergavimo greitis yraasimptotin·e savyb·e, kuri gali pasireik�ti prie tokiu¾dideliu¾i, kai tas ne-beturi praktin·es reik�m·es. D·el to, kad konvergavimo tyrimu¾rezultataiyra asimptotinio pobudµzio, kai kurie taikymais besidominantys spe-cialistai juos apskritai ignoruoja. Ju¾vertinimus lemia eksperimentai sutestiniais uµzdaviniais bei anksµciau spr¾estu¾ praktiniu¾ uµzdaviniu¾ rezul-tatai. Taµciau eksperimentiniu¾tyrimu¾rezultatus sunku vienreik�mi�kaiinterpretuoti ir apibendrinti. Gan daµznai eksperimento s ¾alygos bunanepilnai apra�ytos. Nereti atvejai, kai vieno tyrin·etojo (pavyzdµziui,metodo autoriaus) rezultatai nepasitvirtina kitu¾ tyrin·etoju¾ eksperi-mentuose.Kita vertus, kai kuriu¾ knygu¾, pvz. [4], [26], pagrindinis objek-

tas yra grynai matematiniai konvergavimo aspektai. Neneigiant tokiu¾tyrin·ejimu¾matematin·es vert·es, tenka pasteb·eti, kad kartais teoremu¾s ¾alygos yra prakti�kai nepatikrinamos arba labai retai pasitaikanµcios.Tokiu¾ atveju¾ nagrin·ejimas vargu ar sudomins praktiniu¾ uµzdaviniu¾sprendimu besidominanµcius optimizavimo metodu¾taikytojus. Taµciau,norint suprasti, prie kokiu¾ s ¾alygu¾vartotinas vienas ar kitas metodas,kaip parinkti metodo parametrus, butina i�nagrin·eti pagrindines kon-vergavimo teoremas. Suvokti konvergavimo prieµzastis svarbu ne vientam, kad butu¾ lengviau patikrinti konvergavimo s ¾alygas praktiniuoseuµzdaviniuose. Tik jas suvokdamas metodo vartotojas gali i�siai�kinti,kod·el l·etai ger·eja pasiektas minimumo i¾vertis, k ¾a daryti, jei skaiµciavi-mai sustoja nepasiekus tik·etos tikslo funkcijos reik�m·es. �ioje knygojepateikiama nedaug konvergavimo teoremu¾, manytume minimumas, bekurio optimizavimo metodu¾supratimas butu¾pernelyg pavir�utini�kas.

Page 23: Matematinis programavimas

1.6. I�KILOSIOS AIB ·ES IR FUNKCIJOS 23

Gana daµznai konvergavimo terminas vartojamas netiksliai,pavyzdµziui, greitas funkcijos reik�miu¾ maµz·ejimas minimizavimo pro-ceso pradµzioje vadinamas greitu konvergavimu. Gali buti, kad po keliu¾s·ekmingu¾µzingsniu¾tolimesnis progresas bus l·etas, o teorinis konvergav-imo greitis maµzesnis negu kitu¾metodu¾. Greitam grubiam priart·ejimuiprie sprendinio gali tikti toks metodas, kurio asimptotinis konvergav-imas l·etas. Kita vertus, µzinomi metodai, kuriu¾ asimptotinis konver-gavimo greitis i� gero pradinio ta�ko yra labai didelis, bet kurie galiapskritai nekonverguoti, jei pradinis ta�kas parinktas toli nuo mini-mumo ta�ko. Tik tokie metodai, kurie pasiµzymi ir dideliu teoriniukonvergavimo greiµciu ir praktiniams uµzdaviniams svarbiu greitu tik-slo funkcijos maµz·ejimu pradin·eje optimizavimo stadijoje, pripaµzi¾stamitinkamais plaµciam vartotoju¾ratui, i¾traukiami i¾komercinius optimiza-vimo paketus.

1.6 I�kilosios aib·es ir funkcijos

I�kilumo savyb·e labai svarbi optimizavimo teorijoje. Aib·e vadinamai�kila, jei kartu su bet kuriais dviem aib·es ta�kais tai aibei priklausoir juos jungianti ties·es atkarpa. Formaliai t ¾a galima uµzra�yti taip:Apibr·eµztis. A � Rn yra i�kila aib·e, jei �X + (1 � �)Y 2 A

visiems X; Y 2 A; ir 0 � � � 1:Galima i¾rodyti, kad� baigtinio skaiµciaus i�kilu¾ju¾aibiu¾sankirta yra i�kiloji aib·e,� jei C1 ir C2 i�kilosios aib·es, tai fX1 + X2j X1 2 C1; X2 2 C2g

yra i�kiloji aib·e,� tiesine transformacija gautos i�kilosios aib·es atvaizdas yra i�kiloji

aib·e,� jei dvi i�kilosios aib·esA;B; nesikerta, tai egzistuoja jas atskirianti

hiperplok�tuma, t.y. egzistuoja nenulinis vektorius C; toks kad CX �c0, X 2 A ir CX < c0, X 2 B.

Page 24: Matematinis programavimas

24 CHAPTER 1. I¾VADAS

Figure 1.1: I�kilu¾ ir nei�kilu¾aibiu¾pavyzdµziai

Page 25: Matematinis programavimas

1.6. I�KILOSIOS AIB ·ES IR FUNKCIJOS 25

Figure 1.2: Vieno kintamojo i�kilosios funkcijos pavyzdys

Apibr·eµztis. Funkcija f(X) apibr·eµzta i�kilojoje aib·ejeA vadinamai�kil ¾aja, jei

f(�X1 + (1� �)X2) � �f(X1) + (1� �)f(X2); (1.2)

visiems X1; X2 2 A; ir 0 � � � 1:Jei apibr·eµzime butu¾ para�ytas grieµztos nelygyb·es µzenklas, tai

funkcija butu¾vadinama grieµztai i�kila.Galima i¾rodyti, kad� jei f(X) i�kiloji funkcija, tai jos, taip vadinamos, lygio aib·es

fX : f(X) � �g; fX : f(X) < �g yra i�kilos,� tiesin·e funkcija yra i�kila,� i�kilu¾ju¾ funciju¾ su teigiamais daugikliais suma yra i�kiloji

funkcija,

Page 26: Matematinis programavimas

26 CHAPTER 1. I¾VADAS

� jei fi(X), X 2 A; i 2 I; i�kilosios funkcijos, tai f(X) =mini2I fi(X) i�kila,� jei f(X) i�kila ir diferencijuojama, tai galioja nelygyb·e

f(X) � f(Y ) +rf(Y ) � (X � Y ); (1.3)

� jei f(X) i�kila ir du kartus diferencijuojama, tai jos antru¾ju¾i�vestiniu¾matrica yra neneigiamai apibr·eµzta,� i�kilos funkcijos apibr·eµztos i�kiloje aib·eje lokalus minimumas yra

globalus; jei funkcija grieµztai i�kila, tai globalaus minimumo ta�kasvienintelis.I¾rodysime (1.3). Jei f(X) diferencijuojama, tai diferencijuojama

ir vieno kintamojo funkcija '(�) = f(�X +(1��)Y ) (µziur. 3 uµzduoti¾28 puslapyje): Nelygyb·e (1.2) rei�kia, kad ta�ke � = 0; funkcijos '(�)i�vestin·e nedidesn·e uµz funkcijos �f(X) + (1� �)f(Y ) i�vestin¾e, t.y.

'0(0) = rf(Y ) � (X � Y ) � f(X)� f(Y ): (1.4)

Perk·el¾e f(X) i¾kairi ¾aj ¾a (1.4) nelygyb·es pus¾e, gausime (1.3).I� nelygyb·es (1.3) gauname svarbi ¾a optimizacijos teorijai i�vad ¾a.

Jei kokiame nors ta�ke Y i�kilos diferencijuojamos funkcijos f(X) gra-dientas lygus nuliui, tai (1.3) gali buti uµzra�yta �itaip

f(X) � f(Y ); X 2 A;

ir tas rei�kia, kad Y yra funkcijos f(�) globalaus minimumo ta�kas.Jei apibr·eµzime (1.2) nelygyb·es µzenkl ¾a pakeistume i¾ prie�ing ¾a, tai

gautume i¾gaubtosios funkcijos apibr·eµzim ¾a.A�nin·e funkcija

f(X) = a0 + a1x1 + :::+ anxn

yra ir i�kila ir i¾gaubta.

Page 27: Matematinis programavimas

1.7. LIPSHITZ�O S ¾ALYGA 27

Toliau bus sutinkamos funkcijos, kuriu¾reik�m·es vektorin·es: funkci-jos reik�miu¾ vektoriu¾ - stulpeli¾ sudaro funkciju¾ - komponenµciu¾reik�m·es.

F (X) = (f1(X); :::; fm(X))t:

Jei kiekviena F (X) komponent·e fi(X) i�kila (i¾gaubta) auk�µciau duotoapibr·eµzimo prasme, tai ir funkcija F (X) yra i�kila (i¾gaubta). A�nin·efunkcija su vektorin·emis reik�m·emis uµzra�oma �itokia formule F (X) =A �X �B; µcia A yra m� n matrica.Apibr·eµztis. Funkcija f(X); apibr·eµzta i�kilojoje aib·eje A; vadi-

nama stipriai i�kila su konstanta l, jei

f(�X + (1� �)Y ) �

�f(X) + (1� �)f(Y )� 12l �(1� �)jjX � Y jj2;

visiems X;Y 2 A; ir 0 � � � 1:Stipriai i�kilai funkcijai nelygyb·e (1.3) gali buti pakeista nelygybe

f(X) � f(Y ) +rf(Y ) � (X � Y ) + 12l jjX � Y jj2:

1.7 Lipshitz�o s ¾alyga

Kuriant ir analizuojant optimizavimo metodus naudojami i¾vairus op-timizavimo uµzdaviniu¾ matematiniai modeliai. Pastarieji apra�omifunkciju¾, turinµciu¾ norimas savybes, klas·emis. Optimizacijoje, kaip irkitose disciplinose, plaµciai vartojamos tiesiniu¾bei kvadratiniu¾funkciju¾klas·es. Kitose disciplinose gal reµciau vartojamos, bet optimizacijaibudingos i�kilu¾ funkciju¾ bei Lipshitz�o funkciju¾ klas·es. Pirm ¾aj ¾a k ¾atik apibr·eµz·eme. Antr ¾aj ¾a apibr·e�ime vieno kintamojo funkciju¾ atveju.Funkciju¾, patenkinanµciu¾nelygyb¾e

Page 28: Matematinis programavimas

28 CHAPTER 1. I¾VADAS

jf(x)� f(y)j � L jx� yj; L > 0; (1.5)

klas·e vadinama Lipshitz�o funkciju¾klase; µcia L - Lipshitz�o konstanta.(1.5) nelygyb·e apr·eµzia funkcijos reik�miu¾ kitimo greiti¾. Tod·el gre-timuose ta�kuose funkcijos reik�m·es negali smarkiai skirtis. µZinodamibent vien ¾a funkcijos reik�m¾e, galime apskaiµciuoti r·eµzius jos reik�m·emskituose ta�kuose, pvz.

f(x)� L jx� yj � f(y) � f(x) + L jx� yj:

Lipshitz�o funkcijos i�vestin·es absoliutiniu didumu ne didesn·es uµz L.(1.5) nelygyb·e lengvai apibendrinama funkcijoms su vektoriniais argu-mentais bei reik�m·emis pakeiµciant absoliutinio didumo µzenkl ¾a normosµzenklu.

1.8 Uµzduotys ir kontroliniai klausimai

1. Pakartokite (i�nagrin·ekite) matematin·es analiz·esskyriu¾apie daugelio kintamu¾ju¾funkciju¾diferencijavim ¾a beiskleidim ¾a Teiloro eilute. I�siai�kinkite gradiento ir antru¾ju¾i�vestiniu¾matricos savybes.2. Pakartokite (i�nagrin·ekite) tiesin·es algebros

skyriu¾ apie veiksmus su vektoriais ir matricomis. I�si-ai�kinkite vektoriu¾ tiesinio nepriklausomumo s ¾avok ¾a, ma-tricos tikriniu¾ reik�miu¾ bei tikriniu¾ vektoriu¾ prasm¾e, vek-toriaus bei matricos normos prasm¾e.3. I�reik�kite funkcijos f(X + tY ) i�vestin¾e pagal t per

funkcijos f(�) gradient ¾a.4. Suformuluokite optimizavimo uµzdavini¾ i� savo

klausytu¾kursu¾tematikos arba i�savo praktikos.

Page 29: Matematinis programavimas

1.8. UµZDUOTYS IR KONTROLINIAI KLAUSIMAI 29

5. Remdamiesi turimomis matematikos µziniomisi�spr¾eskite d·eµz·es turio optimizavimo uµzdavini¾, suformulu-ot ¾a 16 puslapyje.6. I¾rodykite pirm ¾asias dvi i�kilu¾ju¾ aibiu¾ savybes (23

psl.) ir pirm ¾asias tris i�kilu¾ju¾ funkciju¾savybes (25 psl.).

Page 30: Matematinis programavimas

30 CHAPTER 1. I¾VADAS

Page 31: Matematinis programavimas

Chapter 2

OPTIMIZACIJA BERIBOJIMU¾

2.1 Butinos ir pakankamos minimumos ¾alygos

Sprendµziamas optimizacijos uµzdavinys, kurio kintamiesiems neformu-luojami jokie ribojimai, t.y. leistinoji sritis sutampa su visa n-mateEuklido erdve Rn

minX2Rn

f(X); X = (x1; :::; xn):

Toks uµzdavinys gali pasirodyti nelabai adekvatus realiems taiky-mams, nes bet kokiame praktiniame uµzdavinyje egzistuoja tam tikroskintamu¾ju¾ ribos, i�plaukianµcios i� kintamu¾ju¾ prasm·es. Pavyzdµziui,mas·e negali buti neigiama, temperatura negali i�eiti i�tam tikru¾ribu¾ir pan. Perµzengus tas ribas, abstrakti uµzdavinio formuluot·e tampanebeadekvaµcia realiems uµzdaviniams nors matemati�kai ir lieka korek-ti�ka. Visd·elto, tikslo funkcija kartais gali buti sudaryta taip, kad

31

Page 32: Matematinis programavimas

32 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

minimumas butinai pasiekiamas nors ir a priori neµzinomame, bet uµz-davinio s ¾alygas atitinkanµciame ta�ke. Tada n·era prasm·es formuluotiribojimus minimumo paie�kai. Metodai uµzdaviniams be ribojimu¾ypaµcsvarbus kaip pagalbiniai, nes daugelis metodu¾uµzdaviniams su riboji-mais sudaromi pakeiµciant pradini¾uµzdavini¾seka uµzdaviniu¾be ribojimu¾.Pagal minimumo apibr·eµzim ¾a patikrinti, ar ta�kas X yra mini-

mumo ta�ku, i¾manoma tik tada, kai leistinoji sritis A baigtin·e, nes tiktada galima palyginti f(X) su visomis kitomis funkcijos reik�m·emisf(Y ); Y 2 A. Nagrin·ejamuoju atveju to padaryti negalima i� prin-cipo, nes leitinoji sritis sutampa su Rn . Tod·el reikia suformuluotikonstruktyvius (patikrinamus) poµzymius minimumo ta�kui atpaµzinti.

Apibr·eµztis. Ta�kas X� vadinamas funkcijos f(X) lokalaus min-imumo ta�ku, jei egzistuoja tokia X� aplinka S(X�), kad f(X�) �f(X); X 2 S(X�): Ta�kas X� vadinamas funkcijos f(X) globalausminimumo ta�ku, jei f(X�) � f(X); X 2 Rn:Sakysim, kad funkcija f(X) diferencijuojama. Vektorius, sudary-

tas i� funkcijos daliniu¾ i�vestiniu¾, apskaiµciuotu¾ ta�ke X vadinamasfunkcijos gradientu ir µzymimas

r f(X) =�@f(X)

@x1; :::;

@f(X)

@xn

�:

Butina minimumo s ¾Alyga. JeiX� yra f(X) lokalaus minimumota�kas, tai

r f(X�) = 0: (2.1)

�i s ¾alyga i¾rodoma matematin·es analiz·es kurse remiantis funkci-jos Teiloro eilut·es pirmos eil·es nariais. Trumpai �is i¾rodymas toks:sakysim ta�ke X� gardientas nelygus nuliui. Tada, µzengus pakanka-mai trump ¾a µzingsni¾ antigradiento kryptimi X = X� � � r f(X�),

Page 33: Matematinis programavimas

2.1. BUTINOS IR PAKANKAMOS MINIMUMO S ¾ALYGOS 33

Figure 2.3: Butina minimumo s ¾alyga patenkinama ta�kuose a, b, c

> 0, gaunama funkcijos f(X) reik�m·e maµzesn·e uµz f(X�):

f(X) =

= f(X�) +r f(X�) � (X �X�) + o(jjX �X�jj)

= f(X�)� �jjr f(X�)jj2 �

o( )

jjr f(X�)jj

�< f(X�):

Rei�kia, ta�kas, kuriame gradientas nelygus nuliui negali buti lokalausminimumo ta�ku. �i s ¾alyga rei�kia, kad funkcijos gradientas lygusnuliui ir globalaus minimumo ta�ke, nes globalusis minimumas yrakartu ir lokalusis. S ¾alyga (2.1) yra butina, bet nepakankama. �i s ¾alygagali buti patenkinama ne tik lokalaus minimumo, bet ir kituose ta�ku-ose, pavyzdµziui, lokalaus maksimumo bei balno ta�kuose. Pavyzdµziui,2.3 paveiksle butinas minimumo s ¾alygas patenkina ta�kai a; b; c, bettik ta�kas a yra lokalaus minimumo ta�kas.Pakankamoms lokalaus minimumo s ¾alygoms suformuluoti pirmu¾ju¾

tikslo funkcijos i�vestiniu¾ neuµztenka. Sakysim, kad f(X) du kartus

Page 34: Matematinis programavimas

34 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

diferencijuojama. Jos antru¾ju¾i�vestiniu¾(ta�ke X ) matric ¾a, vadinam ¾aHesse matrica, paµzym·esime H(X)

H(X) =

0BBB@@2

@x21f(X) @2

@x1@x2f(X) ::: @2

@x1@xnf(X)

@2

@x2@x1f(X) @2

@x22f(X) ::: @2

@x2@xnf(X)

::: ::: ::: :::@2

@xn@x1f(X) @2

@xn@x2f(X) ::: @2

@x2nf(X)

1CCCA :Pakankamos minimumo s ¾Alygos: X� yra funkcijos f(X) min-

imumo ta�kas, jei1. ta�ke X� funkcijos gradientas lygus nuliui,2. H(X�) teigiamai apibr·eµzta.

Pakankamos minimumo s ¾alygos i¾rodomos pana�iai kaip ir butinos.Remiamasi tikslo funkcijos skleidiniu Teiloro eilute iki antros eil·esnariu¾. Sakysim, ta�ke X� patenkintos pakankamos minimumo s ¾alygosir i� jo µzengiamas pakankamai trumpas µzingsnis bet kuria kryptimiX = X� � � S. Tada patenkinama nelygyb·e

f(X) = f(X�) +r f(X�) � (X �X�)+

+1

2(X �X�) �H(X�) � (X �X�) + o(jjX �X�jj2)

= f(X�) + 2

��2 � o(

2)

2jjSjj2

�> f(X�);

rei�kianti, kad X� yra lokalaus minimumo ta�kas. Geometri�kai gra-diento lygyb·es nuliui s ¾alyga rei�kia, kad lokalaus minimumo ta�kelieµciamoji hiperplok�tuma ortogonali funkcijos reik�miu¾ a�iai. Hessefunkcijos teigiamas apibr·eµztumas rei�kia, kad kvadratin·e tikslo funkci-jos aproksimacija lokalaus minimumo ta�ke yra visomis kryptimis i¾begalyb¾e augantis hiperparaboloidas. Tokiame ta�ke vieno kinta-mojo funkcija f(x) aproksimuojama parabole su teigiamu koe�cientu

Page 35: Matematinis programavimas

2.1. BUTINOS IR PAKANKAMOS MINIMUMO S ¾ALYGOS 35

Figure 2.4: I¾vairiu¾atveju¾, kai patenkinamos butinos/pakankamos min-imumo s ¾alygos, iliustracija

prie kvadratinio nario, kurios gra�kas yra abiem kryptimis augantiparabol·e. Situacija, kai funkcijos reik�m·es kokiame nors intervale pas-tovios, vadinama �plato�. µCia ir pirmoji ir antroji tikslo funkcijosi�vestin·es lygios nuliui. Gra��kai �ie atvejai iliustruojami 2.4 paveik-slu.

Grieµztai kalbant, apytikslus minimumo s ¾alygu¾patenkinimas ta�keX dar nerei�kia nei X artumo lokalaus minimumo ta�kui, nei f(X) ar-tumo lokaliam minimumui. Pavyzdµziui, taip gali buti, kai kaµzkokiameleistinosios srities poaibyje tikslo funkcijos reik�m·es beveik pastovios,bet uµz �plato�poaibio ribos maµz·eja, ir minimumas pasiekiamas ta�kegana daug nutolosiame nuo nagrin·ejamojo ta�ko. Tod·el reikalingastam tikras atsargumas, jei pagal apytikslu¾butinu¾s ¾alygu¾patenkinim ¾asprendµziama, ar tiriamasis ta�kas yra lokalaus minimumo ta�kas.

Page 36: Matematinis programavimas

36 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

2.2 Konvergavimas

Optimizavimo uµzdavinius per baigtini¾ laik ¾a (iteraciju¾ skaiµciu¾) pavyk-sta i�spr¾esti tik atskirais atvejais, pavyzdµziui, jei sprendµziamas tiesinioprogramavimo uµzdavinys. Kitiems atvejams kuriami iteraciniai meto-dai, generuojantys begalines ta�ku¾ sekas Xi: Be abejo, siekiama, kadgeneruojamos begalin·es sekos ta�kai art·etu¾ i¾ sprendini¾. Jei vykdantmetod ¾a butu¾ gautas ta�kas Xj, kuriame patenkinamos pakankamosminimumo s ¾alygos, be abejo, minimizavim ¾a nutrauktume, nesXj butu¾uµzdavinio sprendinys. Taµciau tokie atvejai yra retenyb·e. Bendruatveju tikimasi per priimtin ¾a laik ¾a su priimtinu tikslumu priart·eti priesprendinio. Metodas vadinamas konverguojanµciu, jei jo generuojamu¾ta�ku¾ sekos ribiniai ta�kai sutampa su uµzdavinio sprendiniais. Kadbutu¾ paprasµciau, apsiribokime vieno ribinio ta�ko atveju ir konver-guojanµcia ta�ku¾Xi seka

limi!1

jjXi �X�jj = 0: (2.2)

Konvergavimas yra teori�kai butina optimizavimo metodo savyb·e.Bet vien tik konvergavimio faktas nepakankamai charakterizuojametod ¾a, nes konvergavimas gali buti labai l·etas. Konvergavimo greitisi¾vertinamas lyginant metodu¾paklaidas su standartin·emis sekomis. Jeimetodo paklaida "i = jjXi�X�jj art·eja i¾nuli¾greiµciau negu geometrin·esprogresijos narys, t.y. egzistuoja tokie c > 0 ir � 2 (0; 1); kad

"i � c � �i;

tai sakoma, kad metodas konverguoja geometrin·es progresijos(tiesiniu) greiµciu. Jei santykis "i+1="i art·eja i¾ nuli¾, tai sakoma,kad konvergavimo greitis vir�tiesinis. Tiksliau vir�tiesinis greitisapibudinamas konvergavimo laipsniu: jei egzistuoja tokie c > 0; p >1; ir � 2 (0; 1); kad

Page 37: Matematinis programavimas

2.3. NUSILEIDIMO METODU¾APIBUDINIMAS 37

"i � c � �(pi);

tai sakoma, kad metodas konverguoja vir�tiesi�kai, o konvergavimolaipsnis ne µzemesnis negu p: Svarbus atskiras atvejis, kai p = 2; vadi-namas kvadratiniu konvergavimu.

2.3 Nusileidimo metodu¾apibudinimas

Nusileidimo metodai pagri¾sti informacija apie pirm ¾asias ir antr ¾asiasdalines tikslo funkcijos f(X) i�vestines. Tokia informacija naudingakrypµciai link lokalaus minimumo parinkti. Kaip µzinoma i� matem-atin·es analiz·es kurso, gradientas nukreiptas funkcijos greiµciausioaugimo kryptimi. Tod·el prie�inga � antigradiento kryptis yrareik�minga ie�kant minimumo. Pirmosios funkcijos i�vestin·es (gra-dientas) apibr·eµzia tiesin¾e funkcijos aproksimacij ¾a. Pastaroji gali butipakankamai tiksli tik tam tikroje, daµznai nedidel·eje, ta�ko, kuriameapskaiµciuotos i�vestin·es, aplinkoje. Tod·el antigradiento kryptimi daro-mas µzingsnis neturi buti ilgas, nes prie�ingu atveju bus i�eita i�aproksi-macijos adekvatumo srities. Teori�kai ir antru¾ju¾ i�vestiniu¾ informa-cija apie funkcijos kitim ¾a patikima tik ta�ko, kuriame jos apskaiµci-uotos, aplinkoje. Taµciau prakti�kai tokia informacija daµznai leidµziaprognozuoti funkcijos kitimo pobudi¾ didesn·eje srityje. Naudojantisantrosiomis i�vestin·emis daµznai galima nustatyti krypti¾, kuria galimaµzengti gan ilg ¾a µzingsni¾ link minimumo, t.y. informacija apie antr ¾asiasi�vestines leidµzia greiµciau art·eti prie ie�komojo minimumo ta�ko.Nagrin·edami nusileidimo metodus remsim·es prielaida, kad

i�vestiniu¾ reik�m·es yra µzinomos. Prakti�kai jas tenka apskaiµciuotiarba pagal tikslias formules, arba kitais budais. Daµznai i�vestin·esi¾vertinamos skaitmeniniu budu. Pastaruoju metu pasiulyti automa-tinio diferencijavimo metodai, kurie pagri¾sti tikslo funkcijos apskaiµci-avimo programos, para�ytos tam tikra programavimo kalba, analize.

Page 38: Matematinis programavimas

38 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

Nusileidimo metodai yra iteraciniai. Pradedama nuo vartotojoparinkto ta�ko X0 ir generuojama ta�ku¾seka

Xi+1 = Xi + i Si ; (2.3)

µcia Si yra krypties vektorius (daµzniausiai vienetinio ilgio), o i µzingsniodaugiklis (rei�kiantis µzingsnio ilgi¾, jei jjSijj = 1). Realizuojant nusilei-dimo id·ej ¾a pageidautina, kad kryptis rodytu¾ link minimumo ta�ko,o µzengiamas µzingsnis maksimaliai priartintu¾ prie minimumo ta�ko.Taµciau, automati�kai t ¾a uµztikrinti ne visada parasta. Pavyzdµziui,norint uµztikrinti metodo konvergavim ¾a, reikia, kad µzingsnio ilgis tamtikru greiµciu trump·etu¾. Daugelio metodu¾konvergavimo tyrimas ganasud·etingas. Tod·el i¾rodymai bus pateikti tik keletui atveju¾, kuriemsnereikia ilgu¾ i�vedµziojimu¾ar specialiu¾matematikos µziniu¾.Nusileidimo metodai pagri¾sti lokalia informacija apie tikslo funkci-

jos kitim ¾a. Tod·el daugiaekstremiu¾ tikslo funkciju¾ atveju negal-ima garantuoti, kad �iais metodais surastas sprendinys bus globalu-sis minimumas. Daugiaekstremiu atveju gali buti randami i¾ vairuslokalus minimumai, priklausomai nuo to, kokio lokalaus minimumopritraukimo zonoje parinktas pradinis ta�kas.

2.4 Gradientinis nusileidimas

�iuo metodu, matyt, paprasµciausiai realizuojama nusileidimo metodo(2.3) id·eja. Nusileidimo krypties vektorius µcia sutampa su antigradi-entu Si = �r f(Xi), o µzingsnio daugiklis pastovus. Art·ejant prieminimumo ta�ko, �io metodo µzingsnio ilgis trump·eja, nes maµz·eja gra-diento norma. Taµciau µzingsnio daugiklis negali buti pernelyg didelis,nes vietoj norimo nuoseklaus art·ejimo link minimumo ta�ko nuo patpradµziu¾gali prasid·eti nereguliarus �okin·ejimas ilg·ejanµciais �uoliais.1 teorema. Sakysim, f(X); X 2 Rn; diferencijuojama ir apr·eµzta

i�apaµcios

Page 39: Matematinis programavimas

2.4. GRADIENTINIS NUSILEIDIMAS 39

f(X) � f� > �1;o jos gradientas patenkina Lipshitz�o s ¾alyg ¾ajjr f(X)�r f(Z)jj � L � jjX � Zjj:

Jei µzingsnio daugiklis patenkina s ¾alyg ¾a 0< < 2=L, tai gradien-tinio nusileidimo metodas generuoja ta�ku¾sek ¾a Xi, kuri monotoni�kaimaµz·eja tikslo funkcijos reik�miu¾ prasme, t.y. f(Xi+1) < f(Xi), irkonverguoja gradiento prasme, t.y.limi!1r f(Xi) = 0:I¾rodymas. I�matematin·es analiz·es kurso µzinoma �itokia lygyb·e

f(X + Y ) = f(X) +

Z 1

0

(rf(X + tY ) � Y )dt; (2.4)

kuri ¾a galima uµzra�yti ir taip

f(X + Y ) = f(X) + (rf(X) � Y )

+

Z 1

0

((rf(X + tY )�rf(X)) � Y )dt:

I¾stat¾e �ioje lygyb·eje X = Xi ir Y = � � r f(Xi), gausime

f(Xi+1) = f(Xi)� jjrf(Xi)jj2�

� Z 1

0

((rf(Xi � t rf(Xi))�rf(Xi)) � rf(Xi))dt �

� f(Xi)� jjrf(Xi)jj2+

+

Z 1

0

jj(rf(Xi � t rf(Xi))�rf(Xi)jj � jjrf(Xi))jjdt �

Page 40: Matematinis programavimas

40 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

� f(Xi)� jjrf(Xi)jj2 + L 2jjrf(Xi)jj2Z 1

0

t dt =

= f(Xi)� � (1� L =2) � jjrf(Xi)jj2:

Pagal teoremos prielaidas 0< < 2=L; tod·el f(Xi+1) < f(Xi):Susumuokime nelygybes, imdami i = 0; :::; N , ir suprastindami f(Xi),i¾einanµcius i¾ sum ¾a kair·eje ir de�in·eje nelygyb·es pus·eje

f(XN+1) � f(X0)� � (1� L =2)NX0

jjrf(Xi)jj2;

NX0

jjrf(Xi)jj2 �1

� (1� L =2)(f(X0)� f�):

Paskutinioji nelygyb·e i¾rodo, kad gradientu¾normu¾kvadratu¾eilut·e kon-verguoja. Butina konvergavimo s ¾alyga yra eilut·es nariu¾konvergavimasi¾0. Tod·el

limi!1

r f(Xi) = 0:

Sakykim, kad aib·e

fX : f(X) � f(X0)g (2.5)

apr·eµzta. Tada i� ta�ku¾ Xi sekos galima i�rinkti konverguojanµci ¾ai¾ stacionaru¾ ta�k ¾a posek¾e. Esant papildomoms prielaidoms galimai¾rodyti, kad pati Xi seka konverguoja i¾ stacionaru¾ ta�k ¾a. Toliaudaroma prielaida, kad s ¾alyga (2.5) yra patenkinama.Funkcijos reik�miu¾ir gradiento normos maµz·ejimas paprastai rei�kia

konvergavim ¾a i¾ lokalu¾ji¾ minimum ¾a. Taµciau galima sukonstruotispecialiu¾pavyzdµziu¾, kai µzengus µzingsni¾gradientiniu metodu gaunamasta�kas Xi+1, kuriame r f(Xi+1) = 0, bet Xi+1 yra ne lokalaus mini-mumo, o lokalaus maksimumo arba balno ta�kas. Tiksliai pataikyti i¾

Page 41: Matematinis programavimas

2.4. GRADIENTINIS NUSILEIDIMAS 41

ta�k ¾a, kuriame gradientas lygus nuliui, galima nebent specialiai sukon-struotame pavyzdyje. Taµciau ir prakti�kai pasitaikanµciose situaci-jose apytiksli gradiento lygyb·e nuliui nebutinai rei�kia einamojo ta�koartum ¾a lokaliojo minimumo ta�kui. Kitaip sakant, skirtinguose uµz-daviniuose artumo nuliui m ¾astai gali labai skirtis.�ia teorema i¾rodyta, kad gradientinio nusileidimo metodas kon-

verguoja, bet nieko neteigiama apie konvergavimo greiti¾. Bendruojuatveju konvergavimo greiµcio i¾verµciai neµzinomi. Detalesniam tyrimuitenka susiaurinti nagrin·ejamu¾ funkciju¾ klas¾e. Paprastai daromosprielaidos apie tikslo funkcijos i�kilum ¾a. Pana�aus pobudµzio yra irprielaidos apie tikslo funkcijos antru¾ju¾ i�vestiniu¾ matricos tikrinesreik�mes, pvz. 0 < �0 � �i � ��, µcia �i; i = 1; :::; n; yra matri-cos H(X) tikrin·es reik�m·es. Pastaroji prielaida rei�kia, kad funkcijaf(X) yra ne tik i�kili, bet ir visuose ta�kuose jos kitimo pagreitis negalibuti nei maµzesnis uµz �0, nei didesnis uµz ��: Tokios vieno kintamojofunkcijos gra�kas yra lokaliai �i¾spraustas�tarp dvieju¾paraboliu¾su ko-e�cientais �0=2 ir ��=2 prie kvadratiniu¾nariu¾. Kai funkcija yra i�kili,jos lokalusis minimumas yra kartu ir globalusis.

2 teorema. Sakysim, f(X) du kartus diferencijuojama, ir josantru¾ju¾ i�vestiniu¾ matricos H(X) tikrin·es reik�m·es �i; i = 1; :::; n;patenkina nelygyb¾e 0 < �0 � �i � �� visiems X: Tada gradientinionusileidimo metodas su µzingsnio daugikliu , patenkinanµciu nelygyb¾e0 < < 2=��; konverguoja geometrin·es progresijos greiµciu i¾minimumota�k ¾a X�jjXi �X�jj � qi jjX0 �X�jj ;q = max (j1� �0j; j1� ��j) < 1:

Metodas konverguoja greiµciausiai, kai = � = 2=(�0 + ��); nes tadaq = q� = ����0

��+�0yra minimalus.

I¾rodymas. Kadangi f(X) du kartus diferencijuojama, tai jospirmosios i�vestin·es diferencijuojamos, ir visoms i�vestin·ems galiojalygyb·es pana�ios i¾ (2.4); uµzra�¾e jas vektorine forma, gausime toki ¾a

Page 42: Matematinis programavimas

42 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

gradiento i�rai�k ¾a

rf(X + Y ) = rf(X) +Z 1

0

H(X + tY ) � Y dt;

i¾ kuri ¾a i¾stat¾e X = X�, Y = Xi � X�, gradient ¾a rf(Xi) i�reik�ime�itokia formule

rf(Xi) = (2.6)

=

Z 1

0

H(X� + t(Xi �X�)) � (Xi �X�)dt =

= Ai(Xi �X�):

Remdamiesi (2.6), galime i¾vertinti

jjXi+1 �X�jj = jjXi �X� � rf(Xi)jj =jj(I � Ai)(Xi �X�)jj � jj(I � Ai)jj � jj(Xi �X�)jj:

I¾vertindami prielaidas apie matricos H(X) tikrines reik�mes, galimeteigti, kad �0I � Ai � ��I; µcia I� vienetin·e matrica. Kadangi jj(I � Ai)jj = max(j1� �0j; j1� ��j); tai paµzym·ej¾e q = max(j1� �0j; j1� ��j); gausime nelygyb¾e

jjXi+1 �X�jj � qjj(Xi �X�)jj � qi+1jj(X0 �X�)jj;i¾rodanµci ¾a, kad metodas konverguoja geometrin·es progresijos, kuriosvardiklis lygus q, greiµciu. Konvergavimas greiµciausias, kai q yra mini-malus. Nubraiµzius funkcijos

q = max(j1� �0j; j1� ��j) (2.7)

gra�k ¾a (µziur. 5 uµzduoti¾77) , nesunku i¾sitikinti, kad minimali q reik�m·elygi

Page 43: Matematinis programavimas

2.4. GRADIENTINIS NUSILEIDIMAS 43

Figure 2.5: Palankus atvejis gradientinio nusileidimo algoritmui

qmin =�� � �0�� + �0

;

ir minimumas pasiekiamas, kai = � = 2=(�0 + ��):Gautasis konvergavimo greiµcio i¾vertis rodo, kad lygyb·es �� = �0

atveju tikslus sprendinys gaunamas jau pirmojoje iteracijoje. �iuospecialiu atveju tikslo funkcija yra sukimosi hiperparaboloidas. Betkuriame ta�ke tokios funkcijos antigradiento kryptis rodo i¾minimumota�k ¾a. Parink¾e µzingsnio daugikli¾ � taip, kaip rekomenduojama teore-mos formulavime, jau pirmuoju µzingsniu pateksime tiesiai i¾minimumota�k ¾a. Dvimatis �ios situacijos atvejis iliustruojamas 2.5 paveiksle.Kita vertus, teoremos rezultatas rodo, kad esant stipriai besiskiri-

anµcioms �� ir �0 rek�m·ems, q yra artimas vienetui. Kadangi san-

Page 44: Matematinis programavimas

44 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

tykis tarp maksimalios ir minimalios tikriniu¾ reik�miu¾ praktiniuoseuµzdaviniuose buna 106 ir daugiau, tai tokiais atvejais gradientiniometodo konvergavimas butu¾akivaizdµziai per l·etas.Kaip bus parodyta toliau, yra metodu¾, turinµciu¾geresni¾teorini¾kon-

vergavimo greiti¾. Praktiniu poµziuriu gradientinio nusileidimo metodotaikymas susij¾es su µzingsnio daugiklio parinkimo sunkumais, nesi¾vertinti Lipshitz�o konstant ¾a gradientui, o juo labiau r·eµzius tikrin·emsmatricos H(X) reik�m·ems i¾manoma tik labai retais atvejais. �ismetodas paprastas teorinio nagrin·ejimo poµziuriu, gerai iliustruojapagrindines nusileidimo metodu¾ savybes. Nors i�nagrin·etasis meto-das prakti�kai beveik nenaudojama, bet apibendrinant gradientinionusileidimo id·ej ¾a sudaryti kiti, efektyvesni nusileidimo metodai.

2.5 Greiµciausias nusileidimas

Paprasµciausioje gradientinio nusileidimo versijoje µzingsnio daugik-lis yra pastovus. Taµciau ji¾ parinkti pagal teorines rekomendacijassunku. µZingsnio ilgio parinkimui buvo sugalvota i¾vairiu¾ euristiniu¾rekomendaciju¾, pavyzdµziui, µzengus s·ekming ¾a µzingsni¾, pakartoti tokiopat ilgio µzingsni¾ ta paµcia kryptimi ir pan. [9]. Daugelis tokiu¾rekomendaciju¾i�rei�kia minimizavimo nusileidimo kryptimi apytiksli ¾arealizacij ¾a. Id·eja minimizuoti antigradiento kryptimi atrodo labai pa-traukliai. Jei antigradientas nukreiptas funkcijos greiµciausio maµz·ejimokryptimi, tai kod·el maksimaliai nei�naudojus geros krypties: atlikime�ia kryptimi vienmat¾e minimizacij ¾a! I¾domu paµzym·eti, kad toki ¾aid·ej ¾a dar 1847 metais realizavo Augustin Cauchy. Reikia paµzym·eti,kad tiksliai realizuoti vienmat·es minimizacijos bendruoju atveju ne-gal·esime, o apytikslus skaitmeninis metodas pareikalaus skaiµciavimu¾laiko. Taµciau nor·edami i�tirti potencialias galimybes panagrin·ekimeabstrakµci ¾a greiµciausio nusileidimo metodo versij ¾a:

Page 45: Matematinis programavimas

2.5. GREI µCIAUSIAS NUSILEIDIMAS 45

Xi+1 = Xi + i Si ; (2.8)

µcia Si =�r f(Xi)jjr f(Xi)jj , i = argmin �0 f(Xi + � Si), t.y. µzingsnis µzengia-

mas iki funkcijos minimumo antigradiento kryptimi.

3 teorema. Sakysim, f(X); X 2 Rn; tolygiai diferencijuojama irapr·eµzta i�apaµcios

f(X) � f� > �1:Tada greiµciausio nusileidimo metodas (2.8) konverguoja gradientoprasme, t.y.

limi!1r f(Xi) = 0:

�ios teoremos s ¾alygos bendresn·es negu anksµciau nagrin·etu (gra-dientinio nusileidimo metodo su pastoviu µzingsnio daugikliu) atveju.Taµciau vykdant (2.8) metod ¾a, atliekamas minimizavimas antigradi-ento kryptimi, tod·el (2.8) konvergavimas i¾rodomas netgi paprasµciau.Manydami, kad konvergavimo faktas abejoniu¾ nekelia, i¾rodymonepateiksime. Teoremoje kalbama, kad ribinis metodo sugeneruotossekos ta�kas yra stacionarus. Su tam tikromis i�lygomis, pamin·etomisaptariant gradientinio metodo konvergavim ¾a, galima teigti, kad sug-eneruotos sekos ribinis ta�kas yra lokalaus minimumo ta�kas.

I¾domu palyginti gradientinio ir greiµciausio nusileidimo metodu¾kon-vergavimo greiµcius. Tokio palyginimo rezultatai svarbus nusileidimokrypties ir µzingsnio ilgio parinkimo racionalumui i¾vertinti. Gradien-tinio nusileidimo metodo konvergavimo greitis buvo i¾vertintas i�kiliu¾funkciju¾, �i¾spraudµziamu¾�tarp dvieju¾ teigiamai apibr·eµztu¾kvadratiniu¾funkciju¾, klasei. Greiµciausio nusileidimo metodo konvergavimas na-grin·ejamas siauresnei teigiamai apibr·eµztu¾kvadratiniu¾ funkciju¾klasei.Sakysim, kad

Page 46: Matematinis programavimas

46 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

f(X) =1

2

nXi=1

nXj=1

aijxixj �nXi=1

bixi =

=1

2X � A �X �B �X; (2.9)

µcia matrica A yra teigiamai apibr·eµzta, t.y. visos jos tikrin·es reik�m·esyra teigiamos. µZinoma, kad (2.9) gradientas lygus

rf(X) = A �X �B; (2.10)

o minimumo ta�kas gali buti uµzra�ytas analitine formule X� = A�1B.

Apskaiµciavimams pagal �i ¾a formul¾e uµztenka baigtinio operaciju¾skaiµci-aus, nors apversti matric ¾a ne visada lengva.Panagrin·esime (2.9) minimumo ta�ko paie�k ¾a greiµciausio nusilei-

dimo metodu. Bet koks vienmatis tokios funkcijos pjuvis (t.y. kai Xpriklauso kokiai nors n-mat·es erdv·es tiesei X( ), �1 < < 1) yrakvadratin·e funkcija

'( ) = f(X( )) = c2 2 + c1 + c0; c2 > 0;

kurios minimumo ta�kas

� = �c12c2

:

Ties·es, einanµcios per ta�k ¾a Xi antigradiento kryptimi atveju

X = Xi � rf(Xi)

(2.9) pjuvis yra kvadratin·e kintamojo funkcija, kurios koe�cientaii�rei�kiami �itokiomis formul·emis

Page 47: Matematinis programavimas

2.5. GREI µCIAUSIAS NUSILEIDIMAS 47

c1 =nXk=1

nXj=1

akj@f(Xi)

@xkxij �

nXk=1

bk@f(Xi)

@xk=

=nXk=1

nXj=1

akjxij � bk

!@f(Xi)

@xk=

nXk=1

�@f(Xi)

@xk

�2= jjrf(Xi)jj2;

c2 =1

2

nXk=1

nXj=1

akj@f(Xi)

@xk� @f(Xi)

@xj=

rf(Xi) � A � rf(Xi);

o minimumo ta�kas �itaip

i =jjrf(Xi)jj2

rf(Xi) � A � rf(Xi): (2.11)

4 teorema. Greiµciausio nusileidimo metodas (2.8) teigiamaiapibr·eµztos kvadratin·es tikslo funkcijos atveju konverguoja geometrin·esprogresijos greiµciu

jjXi �X�jj �r2

�0(f(X0)� f(X�)) �

��� � �0�� + �0

�i; (2.12)

kur �� didµziausia, o �0 maµziausia matricos A tikrin·es reik�m·es.I¾rodymas. Atsiµzvelgdami i¾ tikslo funkcijos (2.9) ir µzingsnio

daugiklio (2.11) i�rai�kas, gauname �itoki ¾a lygyb¾e

Page 48: Matematinis programavimas

48 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

f(Xi+1) =

�1

2(Xi � irf(Xi)) � A�B

�(Xi � irf(Xi)) =

= f(Xi)� irf(Xi) � (AXi �B) � rf(Xi) +

+1

2 2irf(Xi) � A � rf(Xi)

= f(Xi)� irf(Xi) � rf(Xi) +

+1

2 2irf(Xi) � A � rf(Xi)

= f(Xi)�1

2

jjrf(Xi)jj4rf(Xi) � A � rf(Xi)

:

Kadangi

2(f(Xi)� f(X�)) = XiAXi � 2BXi +X�AX� = (2.13)

= XiAXi � 2X�AXi +X�AX� = (Xi �X�)A(Xi �X�) =

=�A�1(AXi �B)

�(AXi �B) = (A�1rf(Xi)) � rf(Xi); (2.14)

tai

f(Xi+1)� f(X�)

f(Xi)� f(X�)= 1�

� jjrf(Xi)jj4(rf(Xi) � A � rf(Xi)) � (rf(Xi) � A�1 � rf(Xi))

: (2.15)

Pasinaudodami Kantoroviµciaus nelygybe

Page 49: Matematinis programavimas

2.5. GREI µCIAUSIAS NUSILEIDIMAS 49

(XAX) � (XA�1X) � (�0 + ��)2jjXjj4

4�0��; (2.16)

(2.15) galime uµzra�yti taip

f(Xi+1)� f(X�)

f(Xi)� f(X�)���� � �0�� + �0

�2:

Iteratyviai pritaik¾e pastar ¾aj ¾a formul¾e i kartu¾, gausime �itoki ¾a nelygyb¾e

f(Xi)� f(X�) � (f(X0)� f(X�))

��� � �0�� + �0

�2i: (2.17)

Kadangi

2(f(Xi)� f(X�)) = (Xi �X�)A(Xi �X�) ��0jjXi �X�jj2;

tai (2.17) gali buti uµzra�yta �itokia forma

jjXi �X�jj �r2

�0(f(X0)� f(X�)) �

��� � �0�� + �0

�i;

k ¾a ir reik·ejo i¾rodyti.Gautasis rezultatas nenuteikia optimisti�kai: labai palankiu greiµci-

ausio nusileidimo metodui atveju, kai minimumo ta�kas antigradientokryptimi apskaiµciuojamas analiti�kai, �io metodo konvergavimo greitisyra toks pat, kaip ir paprastesnio gradientinio nusileidimo metodo kon-vergavimo greitis platesnei funkciju¾klasei. I�gautu¾rezultatu¾darytinai�vada, kad metodu¾, kuriu¾ nusileidimo kryptis sutampa su antigradi-ento kryptimi, konvergavimas ne greitesnis uµz tiesini¾.

Page 50: Matematinis programavimas

50 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

Figure 2.6: L·eto greiµciausio nusileidimo metodo konvergavimo ilius-tracija

Palygin¾e abieju¾metodu¾konvergavimo greiµcio i¾verµcius matome, kadjiems palankus simetri�kos funkcijos atvejis. Bet tokia funkcija i�esm·es tepriklauso nuo vieno kintamojo, ir �is atvejis praktiniu poµziuriunelabai i¾domus. Esant stipriai nesimetrin·ems funkcijoms, vaizdµziaiapibudinamoms �gilaus griovio� i¾vaizdµziu, abu metodai konverguojal·etai. 2.6 pav. iliustruoja l·et ¾a �zigzagini¾� konvergavim ¾a dvimaµciuatveju.Greiµciausio nusileidimo metodas paprastas tiek teorinio na-

grin·ejimo, tiek programin·es realizacijos poµziuriais. Ji¾nagrin·ejant gal-ima i�siai�kinti daug svarbiu¾ optimizavimo metodu¾ savybiu¾. Taµciaujis prakti�kai beveik nenaudojamas, kadangi yra pernelyg l·etas.

2.6 Niutono metodas

Pagrindin·e gradientiniu¾metodu¾ id·eja gan paprasta. I� turimo ta�koµzengiama ta kryptimi, kuria funkcija greiµciausiai maµz·eja, t.y. tiesio-giai realizuojamas tikslas minimizuoti f(X). Taµciau, remdamiesibutinosiomis minimumo s ¾alygomis, galime uµzdavini¾ spr¾esti netiesio-giai, pakeisdami ji¾ lygµciu¾ sistemos rf(X) = 0 sprendimu, ir pasinau-dodami �iu¾uµzdaviniu¾ sprendimo teorija bei sukaupta patirtimi. Niu-tono metodas yra vienas i�klasikiniu¾metodu¾lygµciu¾sistemoms spr¾esti.Jo esm·e ta, kad kairiosiose lygµciu¾ sistemos pus·ese esanµcios funkcijosi�tiesinamos ta�ke Xi ir, i�sprendus tiesin¾e lygµciu¾ sistem ¾a, tur·etasis

Page 51: Matematinis programavimas

2.6. NIUTONO METODAS 51

ta�kas pakeiµciamas tiesin·es lygµciu¾sistemos sprendiniu Xi+1: Nor·edamirealizuoti �i ¾a id·ej ¾a ir i�tiesinti gradiento komponentes sudaranµciasfunkcijas, pasinaudosime tikslo funkcijos f(X) Teiloro eilut·es nariaisiki antrosios eil·es:

rf(X) t rf(Xi) +H(Xi) � (X �Xi): (2.18)

Prilygin¾e (2.18) nuliui, gausime metod ¾a apra�anµci ¾a iteracin¾e for-mul¾e

Xi+1 = Xi �rf(Xi) �H�1(Xi): (2.19)

Kadangi formule (2.19) i�rei�kiamas tikslo funkcijos f(X)kvadratin·es aproksimacijos minimumo ta�kas, tai Niutono metod ¾a gal-ima interpretuoti ir �itaip. Ta�ke Xi tikslo funkcija aproksimuojamaTeiloro eilute, i¾vertinant ne auk�tesn·es negu antros eil·es narius. Ap-skaiµciuojamas aproksimuojanµciosios kvadratin·es funkcijos minimumota�kas Xi+1 ir juo pakeiµciamas Xi. Metodas (2.19) apibr·eµztas naudo-jant pirm ¾asias ir antr ¾asias i�vestines, bet nenaudojant tikslo funkcijosreik�miu¾. Dvieju¾ kintamu¾ju¾ funkcijos atveju Niutono metodas ilius-truojamas 2.7 pav. Jei tikslo funkcija butu¾kvadratin·e, jos minimumasbutu¾gautas vienu µzingsniu. Bendru atveju formul·e (2.19) taikoma it-eratyviai.I¾domi dar viena Niutono metodo interpretacija. Vektoriaus dau-

gyba i�matricos geometri�kai rei�kia tiesin¾e erdv·es transformacij ¾a, t.y.vektoriaus pasukimo ir i�tempimo (suspaudimo) operacijas. Tod·elvektorius rf(Xi) � H�1(Xi) gali buti interpretuojamas kaip gradi-ento vektorius tiesi�kai transformuotoje erdv·eje, o Niutono metodoµzingsnio kryptis, kaip antigradiento kryptis matricaH(Xi) apibr·eµztojemetrikoje.Sakysime, kad egzistuoja ta�kas X�; kuriame patenkintos

pakankamos minimumo s ¾alygos ir ta�ko X� ��aplinkoje H(X) tolydi.

Page 52: Matematinis programavimas

52 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

Figure 2.7: Niutono algoritmo iliustracija ; c0 > c1 > c2

5 teorema. Jei pradinis ta�kas X0 parenkamas pakankamai arti-moje minimumo ta�ko aplinkoje, tai (2.19) metodo generuojama sekakonverguoja i¾minimumo ta�k ¾a greiµciau negu tiesi�kai.Jei be to H(X) patenkina Lipshitz�o s ¾alyg ¾a

jjH(X)�H(Z)jj � L � jjX � Zjj; (2.20)

tai Niutono metodas konverguoja kvadratiniu greiµciu.I¾rodymas. Sakysim � > 0 ir M > 0 tokie, kad matrica H(X)

nei�sigimusi ir jjH�1(X)jj � M; visiems X, jjX � X�jj � �: Pagalmetodo apibr·eµzim ¾a

jjXi+1 �X�jj = jjXi �X� �rf(Xi) �H�1(Xi)jj =

= jjH�1(Xi) � (H(Xi) � (Xi �X�)�rf(Xi))jj:

Pastarojoje formul·eje gradient ¾a rf(Xi), pakeit¾e ji¾ i�reikianµcia (2.6)formule, ir atlik¾e kelet ¾a akivaizdµziu¾pertvarkymu¾, gausime nelygyb¾e

jjXi+1 �X�jj = jjH�1(Xi) � [H(Xi)�

Page 53: Matematinis programavimas

2.6. NIUTONO METODAS 53

�Z 1

0

H(X� + t(Xi �X�))dt] � (Xi �X�)jj =

= jjH�1(Xi) ��Z 1

0

(H(Xi)�H(X� + t(Xi �X�)))dt

��

�(Xi �X�)jj �

� M

�Z 1

0

jjH(Xi)�H(X� + t(Xi �X�))jjdt��

�jjXi �X�jj: (2.21)

Kadangi H(X) tolydi, galima parinkti toki¾ maµz ¾a �, kad pirm ¾aj ¾aiteracij ¾a atitinkantis pointegrinis skirtumas butu¾ norimai maµzas.Prat¾esdami pagal indukcij ¾a, gausime nelygybiu¾sek ¾a

jjXi+1 �X�jj � qijjXi �X�jj;qi ! 0; kai jjXi �X�jj ! 0;

rei�kianµci ¾a, kad jjXi �X�jj ! 0 vir�tiesiniu greiµciu.Remdamiesi (2.20) ir (2.21) gausime �itoki ¾a nelygyb¾e

jjXi+1 �X�jj � M

�Z 1

0

LtjjXi �X�jjdt�jjXi �X�jj

=LM

2jjXi �X�jj2;

kuri i¾rodo, kad Niutono metodo konvergavimo greitis yra kvadratinis:

Page 54: Matematinis programavimas

54 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

Figure 2.8: Niutono metodo uµzsiciklinimo pavyzdys

jjXi �X�jj �2

L �M

�L �M2

jjX0 �X�jj�(2i)

: (2.22)

Jei patenkintos teoremos s ¾alygos, tai Niutono metodas konverguojalabai greitai. I� pirmo µzvilgsnio tas tikrai patrauklu. Taµciau teore-mos s ¾alygas galima uµztikrinti tik parinkus toki¾ pradini¾ ta�k ¾a, kurisbutu¾ pakankamai artimas sprendiniui. Nelygyb·e (2.22) konkreµciaui�rei�kia pradinio ir minimumo ta�ku¾ artumo mat ¾a: skliausteliuoseesanµcio rei�kinio reik�m·e turi buti maµzesn·e uµz 1. I� blogo pradiniota�ko Niutono metodas gali apskritai nekonverguoti. Toki ¾a situacij ¾ailiustruoja 2.8 paveikslas, kuriame pavaizduotos funkcijos f 0(x) atveju�aknies f 0(x) = 0 paie�ka Niutono metodu uµzsiciklina.�is pavyzdys rodo, kad Niutono metodas gali nekonverguoti net

i�kilos tikslo funkcijos atveju. Ypaµc neai�kus metodo konvergavimoklausimas, jei metodo vykdymo metu gaunamuose ta�kuose antru¾ju¾i�vestiniu¾matrica n·era teigiamai apibr·eµzta. Pavyzdµziui, jei kokiamenors ta�ke Xj matrica H(Xj) butu¾neigiamai apibr·eµzta, tai i�to ta�ko

Page 55: Matematinis programavimas

2.7. PATIKIMOS SRITIES METODAI 55

butu¾µzengiamas µzingsnis i¾kvadratin·es aprosimacijos maksimum ¾a.Siekiant susilpninti grieµztas konvergavimo s ¾alygas, buvo pasiulytos

i¾vairios Niutono metodo modi�kacijos. Viena i� ju¾ tokia � modi-�kuojama kvadratin·e tikslo funkcijos aproksimacija taip, kad antroseil·es i�vestiniu¾matrica butu¾visada teigiamai apibr·eµzta. Kitoje modi-�kacijoje kvadratin·e aproksimacija vartojama tik maµz·ejimo krypµciaieinamojo ta�ko aplinkoje nustatyti; po to vienmat·e minimizacijaatliekama nustatyt ¾aja kryptimi pana�iai, kaip greiµciausio nusilei-dimo metode. Tokiu budu prapleµciama konvergavimo sritis, taµciaunebeuµztikrinamas kvadratinis konvergavimo greitis.Vertinant praktinio panaudojimo poµziuriu, Niutono metodo prival-

umas (didelis konvergavimo greitis) daµznai nustelbiamas jo trukumu¾:siauros konvergavimo srities ir realizavimo sunkumu¾, s ¾alygojamu¾antru¾ju¾ i�vestiniu¾ skaiµciavimu bei ju¾ matricos apvertimu. Niutonometodas ypaµc vertingas tokiais atvejais, kai butinas labai didelis spren-dinio tikslumas ir turimas geras pradinis ta�kas, pavyzdµziui, surastaskitu metodu, turinµciu platesn¾e konvergavimo sriti¾.

2.7 Patikimos srities metodai

Anksµciau nagrin·eti metodai pagri¾sti tiesine (gradientinis ir greiµciau-sio nusileidimo metodai) arba kvadratine (Niutono metodas) aproksi-macija. Tokios aproksimacijos gerai apra�o tikslo funkcij ¾a tam tikrojesrityje, kuri paprastai sutampa su einamojo ta�ko aplinka. Bet uµztos aplinkos ribu¾ aproksimuojanµcioji ir aproksimuojamoji funkcijosgali labai skirtis. Patikimos srities (trust region) metoduose aproksi-macija naudojama tik tokioje srityje, kurioje aproksimacija yra tikraipriimtina. �iame skyrelyje paai�kinsime tik paµci ¾a patikimos sritiesmetodu¾ id·ej ¾a, j ¾a panaudodami Niutono metodo modi�kavimui. De-taliau su �iais metodais, kuriuos nagrin·eti gan sud·etinga, galima susi-paµzinti, pavyzdµziui, pasiskaiµcius [3] knyg ¾a.

Page 56: Matematinis programavimas

56 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

Niutono metodo i+1�masis µzingsnis µzengiamas i¾f(X) kvadratin·esaproksimacijos f i(X) minimumo ta�k ¾a, µcia f i(X) yra f(X) Teiloroeilut·es ta�ko Xi aplinkoje du pirmieji nariai

f i(X) = f(Xi) +rf(Xi) � (X �Xi)+

+1

2(X �Xi) �H(Xi) � (X �Xi): (2.23)

Teori�kai f i(X) yra gera f(X) aproksimacija ta�ko Xi aplinkoje.Jei, savo ruoµztu,Xi yra minimumo ta�koX� aplinkoje, tai tik·etina, kadf i(X) minimumo ta�kas yra arti X�. Tuo pagri¾stas Niutono metodogreitas konvergavimas i�gero pradinio ta�ko. Jei Xi yra toli nuo f(X)minimumo ta�ko X�, tai f i(X) gali ne tik kad labai skirtis nuo f(X)ta�ko X� aplinkoje, bet ir f i(X) minimumo ta�kas gali buti labai nu-tol¾es nuo X�. Kaip jau anksµciau min·ejome, i� blogo pradinio ta�koNiutono metodas gali apskritai nekonverguoti.Atsiµzvelgdami i¾ tai, kad f i(X) yra gera f(X) aproksimacija ta�ko

Xi aplinkoje, galime modi�kuoti Niutono metod ¾a �itaip

Xi+1 = arg minjjX�Xijj��

f i(X): (2.24)

Svarbu paµzym·eti, kad net tuo atveju, kai H(Xi) n·era teigiamaiapibr·eµzta, (2.24) sumaµzina tikslo funkcijos reik�m¾e. Naujasis ta�kas(2.24) apskaiµciuojamas sprendµziant kvadratin·es funkcijos minimizav-imo uµzdavini¾ esant ribojimui jjX � Xijj � �. Minimizavimo su ri-bojimais metodai bus nagrin·ejami kitame skyriuje. Kadangi (2.24)uµzdavinyje t·era vienintelis ribojimas jjX �Xijj � �, tai ji¾ galima pa-lyginti lengvai i¾vertinti.

µZengiant µzingsni¾patikimoje srityje, galima uµztikrinti monotoni�k ¾atikslo funkcijos maµz·ejim ¾a ir metodo konvergavim ¾a i� bet kokio pra-dinio ta�ko. Priart·ejus prie minimumo ta�ko tiek, kad ribojimas

Page 57: Matematinis programavimas

2.8. KINTAMOS METRIKOS METODAI 57

jjX � Xijj � � nebeturi reik�m·es, metodas, apra�omas (2.23), nebe-siskiria nuo Niutono metodo. Tuo uµztikrinama ir plati metodo kon-vergavimo sritis, ir didelis konvergavimo greitis.

2.8 Kintamos metrikos metodai

Niutono metodas buvo modi�kuojamas i¾vairiai. Viena i� id·eju¾pasirod·e ypaµc s·ekminga ir ja remiantis buvo sukurti metodai, vadi-nami kintamos metrikos arba kvaziniutono metodais. Juose antru¾ju¾i�vestiniu¾ matrica n·era naudojama, o atvirk�tin·e antru¾ju¾ i�vestiniu¾matrica aproksimuojama remiantis tik informacija apie pirm ¾asiasfunkcijos i�vestines. Vienas i� µzymiausiu¾ �ios klas·es metodu¾, DFP(vadinamas jo autoriu¾Davidon-Fletcher-Powell vardu), apra�omas �i-taip:

1. Inicializacija. Parinkti pradini¾ta�k ¾aX0. Suteikti reik�m¾e sus-tojimo parametrui ". Suteikti reik�mes n�n matricos D1 elementamstaip, kad matrica butu¾simetrin·e ir teigiamai apibr·eµzta, pvz. vienetin·e.k = 0; j = 1. Y1 = X0:2. Minimizacija nusileidimo kryptimi. Jei

jjrf(Yj)jj < ";

sustoti. Prie�ingu atveju t¾esti: apskaiµciuoti nusileidimo kryptiesvektoriu¾Sj = �rf(Yj) �Dj; rasti

j = argmin >0

f(Yj + Sj); (2.25)

ir pereiti i¾nauj ¾a ta�k ¾a

Yj+1 = Yj + j � Sj;j = j + 1;

Page 58: Matematinis programavimas

58 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

jei j � n + 1, vykdyti 3 µzingsni¾, prie�ingu atveju k = k + 1; j = 1,Xk = Y1 = Yn+1, kartoti 2 µzingsni¾.3.Matricos perskaiµciavimas.

Dj+1 = Dj +P tj � PjPj �Qtj

�Dj �Qtj �Qj �Dj

Qj �Dj �Qtj;

µcia Pj ir Qj yra vektoriai - eilut·es

Pj = jSj = Yj+1 � Yj;Qj = rf(Yj+1)�rf(Yj);

o vir�utinis indeksas t rei�kia transponavim ¾a,j = j + 1, vykdyti 2.

Atkreipsime d·emesi¾ i¾tai, kad kas n vienmaµciu¾(2.25) minimizaciju¾matricai suteikiama pradin·e reik�m·e. Tas daroma siekiant i�vengtipaklaidu¾susikaupimo.DFP yra vienas i�daugelio �ios klas·es metodu¾. Visu¾ ju¾vienos it-

eracijos atlikimo laikas proporcingas n2. Kvadratin·es funkcijos atveju�ie metodai i�sprendµzia uµzdavini¾per n µzingsniu¾. �iuo poµziuriu ju¾efek-tyvumas toks pat kaip ir Niutono metodo, kadangi Niutono metodoiteracijos atlikimo laikas proporcingas n3. Kintamos metrikos meto-dai konverguoja i�bet kokio pradinio ta�ko. Konvergavimo greitis yravir�tiesinis n�µzingsniu¾ iteraciju¾ skaiµciaus atµzvilgiu. Viena n-µzingsn·eiteracija apima n vienmaµciu¾minimizaciju¾. Kontamos metrikos meto-dai yra efektyvus ir plaµciai vartojami.

2.9 Jungtiniu¾krypµciu¾metodai

Jungtiniu¾ krypµciu¾ (conjugate directions) metodai remiasi kvadratinetikslo funkcijos aproksimacija. Atskiros ju¾ versijos buvo pasiulytos

Page 59: Matematinis programavimas

2.9. JUNGTINIU¾KRYP µCIU¾METODAI 59

apie 1950 metus. Metodu¾ pavadinimas kilo i� to, kad kvadratin·esfunkcijos atveju �iu¾ metodu¾ generuojamos nusileidimo kryptys yrajungtin·es kvadratin¾e funkcij ¾a apra�anµcios matricos atµzvilgiu. Kinta-mos metrikos metodai yra atskiras �ios klas·es metodu¾atvejis, kadangikvadratin·es tikslo funkcijos atveju (2.25) vienmat·es minimizacijos vyk-domos jungtin·emis kryptimis. Paprastai, kai kalbama apie jungtiniu¾krypµciu¾ metodus, turimi galvoje metodai, kuriu¾ vienai iteracijai at-likti reikia laiko proporcingo n: Kitais atvejais jie vadinami siauresn·esklas·es vardu, pvz. kintamos metrikos metodais.

Sakysim, tikslo funkcija yra kvadratin·e, apibr·eµziama (2.9) formule.µZinoma, kad ortogonalia Euklido erv·es transformacija galima kintamu-osius pakeisti taip, kad (2.9) naujais kintamaisiais bus uµzra�oma taip

f(V ) =nXi=1

�iv2i :

Akivaizdu, kad naujojoje koordinaµciu¾sistemoje kvadratin·es funkci-jos minimumas i�bet kokio pradinio ta�ko randamas atlikus n vienaµciu¾minimizavimu¾ i�ilgai nauju¾ koordinaµciu¾ a�iu¾. Minimas koordinaµciu¾transformacijos uµzdavinys ekvivalentus matricos A, i¾einanµcios i¾ (2.9)formul¾e, tikriniu¾vektoriu¾apskaiµciavimo uµzdaviniui, kuris skaiµciavimu¾sud·etingumo poµziuriu n·era lengvas. Bet nebutina atlikti koordinaµciu¾transformacij ¾a i�reik�ta forma. T ¾a pati¾ efekt ¾a gautume, jei pradin·ejekoordinaµciu¾ sistemoje atliktume minimizavim ¾a naujosios sitemoskoordinaµciu¾ vektoriu¾ kryptimis. Teisingas dar bendresnis teiginys:minimumo ta�k ¾a galima pasiekti atlikus n vienmaµciu¾ minimizaciju¾kryptimis atitinkanµciomis matricos A jungtines kryptis. Pas-tarasias galima apskaiµciuoti truputi¾ modi�kavus greiµciausio nusilei-dimo metod ¾a. Viena i� jungtiniu¾ krypµciu¾metodo versiju¾ yra Flecher- Reeves jungtiniu¾gradientu¾metodas, kuris apra�omas �itaip:

Page 60: Matematinis programavimas

60 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

S0 = �rf(X0); i = 0;

Xi+1 = Xi + i � Si; i = argmin >0

f(Yi + Si);

i = i+ 1; (2.26)

�i =rf(Xi) � rf(Xi)

rf(Xi�1) � rf(Xi�1);

Si = �rf(Xi) + �i � Si�1:

Paeiliui einanµcias n vienmaµciu¾minimizaciju¾pavadinkime n-µzingsneiteracija. Galima i¾rodyti, kad �iuo metodu kvadratin·es funkcijos min-imumas randamas per vien ¾a n-µzingsn¾e iteracij ¾a. Bendruoju (nek-vadratin·es tikslo funkcijos) atveju konvergavimo greitis yra vir�tiesi-nis n-µzingsniu¾ iteraciju¾ skaiµciaus atµzvilgiu . Pana�iomis savyb·emispasiµzymi ir kiti jungtiniu¾ krypµciu¾metodai. Jie praktinio efektyvumopoµziuriu nusileidµzia kintamos metrikos metodams ir yra jautresnii�vestiniu¾i¾vertinimo bei vienmaµcio minimizavimo paklaidoms. Taµciaujie naudotini tada, kai kintamu¾ju¾yra tiek daug, kad matricin·ems op-eracijoms reikalingas n2 proporcingas laikas yra per ilgas, o min·etospaklaidos yra paneigtinos. Programin·e (2.26) metodo realizacija ne k ¾asud·etingesn·e uµz greiµciausio nusileidimo metodo realizacij ¾a.Toliau i¾rodysime, kad (2.26) metodu kvadratin·es funkcijos minimu-

mas randamas per baigtini¾ iteraciju¾ skaiµciu¾. Teorija besidominµciamskaitytojui �i medµziaga tur·etu¾ buti i¾domi, nes pana�us matematinisaparatas vartojamas ir kintamos metrikos metodu¾analizei. Silpnesniomatematinio pasiruo�imo skaitytojas gali praleisti �i ¾a skyrelio dali¾beµzalos toliau d·estomos medµziagos supratimui.

Sakysim A yra n�n teigiamai apibr·eµzta matrica. Nenuliniai vekto-riai S1; :::; Sk, k � n; vadinami A-jungtiniais, jei jie patenkina lygyb¾e

SiASj = 0; i 6= j:

Page 61: Matematinis programavimas

2.9. JUNGTINIU¾KRYP µCIU¾METODAI 61

Nesungu i¾rodyti, kad A-jungtiniai vektoriai S1; :::; Sk, yra tiesi�kainepriklausomi. Sakysim prie�ingai Sk =

Pk�1i=1 �iSi: Tada tur·etu¾gali-

oti lygyb·e

SkASk = SkAk�1Xi=1

�iSi =

k�1Xi=1

�iSkASi = 0;

kuri neteisinga, nes A - teigiamai apibr·eµzta matrica.Sakysim f(X) = 1

2XAX � BX, ir S0; :::; Sn�1 yra n A-jungtiniai

vektoriai. Nuosekliai atliekant n vienmaµciu¾minimizaciju¾ tu¾ vektoriu¾kryptimis gaunama seka

Xi+1 = Xi + i Si;

i = argminrf(Xi + rSi):

Lema. Xj+1 yra funkcijos f(X) minimumo ta�kas vektoriu¾S0; :::; Sj generuojamoje tiesin·eje daugdaroje Tj; µcia

Tj = fX : X = X0 + V; V =

jXk=0

�k Sk:

.I¾rodymas. Kadangi Xj+1 yra f(X) minimumo ta�kas kryptimi

Sj, tai galioja lygyb·e

@f(Xj + Sj)

@

���� = j

= rf(Xj+1) � Sj = 0: (2.27)

Tod·el visiems i = 0; :::; j � 1 galioja lygyb·e

rf(Xj+1) � Si = (Xj+1A�B) � Si =

Page 62: Matematinis programavimas

62 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

=

Xi+1 +

jXk=i+1

kSk

!ASi �BSi =

= Xi+1ASi �BSi = rf(Xi+1) � Si = 0;

kurios i¾rodyme buvo remtasi Si ir Sk; k = i + 1; :::; j jungtinumu.Kadangi funkcijos i�vestin·e vektoriaus Sk; k = 0; :::; j; kryptimi lygifunkcijos gradiento ir vektoriaus Sk skaliarinei sandaugai, tai

@f(Xj+1 + Sk)

@

���� =0

= rf(Xj+1) � Si = 0; (2.28)

Paskutinioji lygyb·e rei�kia, kad funkcijos f(X) minimumas aib·eje Tjpasiekiamas ta�ke Xj+1.I�vada.

Xn = arg minX2Rn

f(X):

Bet kokiu¾ tiesi�kai nepriklausomu¾ vektoriu¾ aib¾e Z0; :::; Zk gal-ima pakeisti A jungtiniu¾ vektoriu¾ aibe S0; :::; Sk taip, kad vektoriu¾Z0; :::; Zk ir S0; :::; Sk generuojami poerdviai sutaptu¾. Toks pakeitimasgali buti atliktas Gram-Schmidt prosedura:

S0 = Z0; Si+1 = Zi+1 +iXl=0

ci+1; l Sl;

µcia koe�cientai ci+1; l apskaiµciuojami remiantis Sj A-jungtinumu:

Si+1ASj = Zi+1ASj +

iXl=0

ci+1; l SlASj = 0;

ci+1; j = �Zi+1ASjSjASj

; j = 0; :::; i:

Page 63: Matematinis programavimas

2.9. JUNGTINIU¾KRYP µCIU¾METODAI 63

Gram-Schmidt prosedura gali buti naudojama A-jungtiniu¾vektoriu¾ sudarymai ir i� tiesi�kai priklausomu¾ vektoriu¾ aib·es. Tokiuatveju kai kuriems j bus gauta Sj = 0, o nenuliniu¾ A�jungtiniu¾vektoriu¾generuojamas poerdvis sutaps su Z0; :::; Zk generuojamu po-erdviu.6 teorema. Vektoriai, apibr·eµzti (2.26), yra A-jungtiniai, o

vienmaµciu¾minimizaciju¾skaiµcius, reikalingas f(X) minimumui surasti,yra ne didesnis uµz n.I¾rodymas. Sakysim Zi = �rf(Xi) = �AXi � B, µcia ta�kai Xi,

apibr·eµziami pagal (2.26): Parodysim, kad (2.26) apibr·eµziami vektoriaiyra A-jungtiniai. Visu¾pirma pasteb·esime, kad

rf(X1) = AX1 �B; X1 �X0 = � 1rf(X0);

rf(X1)�rf(X0) = A(X1 �X0) = � 1Arf(X0);

µcia 1 pirmojo µzingsnio daugiklis. Su vektoriais Z0; Z1 pritaikysimeGram-Schmidt metod ¾a:

S1 = �rf(X1) +rf(X1)Arf(X0)

rf(X0)Arf(X0)rf(X0): (2.29)

Kadangi galioja tokios lygyb·es

rf(X0)Arf(X0) = �1

1(X1 �X0)Arf(X0) =

= � 1 1(rf(X1)�rf(X0)) � A�1A � rf(X0) =

=1

1jjrf(X0)jj2;

Page 64: Matematinis programavimas

64 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

rf(X1)Arf(X0) = rf(X1)A(�1

1(X1 �X0)) =

= � 1 1jjrf(X1)jj2;

tai (2.29) gali buti uµzra�yta �itokia forma

S1 = �rf(X1)�jjrf(X1)jj2jjrf(X0)jj2

rf(X0);

kuri sutampa su (2.26). Prat¾esdami pagal indukcij ¾a ir i¾vertindamilygybes

SiASi =1

i+1(Xi+1 �Xi)ASi =

=1

i+1(rf(Xi+1)�rf(Xi))Si =

=1

i+1jjrf(Xi)jj2;

rf(Xi+1)ASi = rf(Xi+1)A1

i+1(Xi+1 �Xi) =

=1

i+1rf(Xi+1)(rf(Xi+1)�rf(Xi)) =

=1

i+1jjrf(Xi+1)jj2;

i¾sitikinsime, kad Gram-Schmidt metodu gaunami jungtiniai vekto-riai sutampa su (2.26) metode naudojamais vienmat·es minimizaci-jos krypµciu¾ vektoriais. Tod·el (2.26) metodo krypµciu¾ vektoriai yra A-jungtiniai. Kvadratin·es funkcijos minimumo ta�kui surasti reik·es ne

Page 65: Matematinis programavimas

2.10. PAIE�KOS METODAI 65

daugiau negu n vienmaµciu¾ minimizaciju¾, kaip tas i�plaukia i� lemosi�vados.

2.10 Paie�kos metodai

Nusileidimo metodai pagri¾sti tam tikromis prielaidomis apie tikslofunkcij ¾a ir remiasi informacija apie tikslo funkcijos i�vestines. Taµciautokios prielaidos ne visada adekvaµcios sprendµziamam uµzdaviniui. Jeitikslo funkcija n·era glotni, tai jos hiperpavir�iaus nereguliarumaigali uµzgo�ti esmines funkcijos reik�miu¾ maµz·ejimo kryptis: vaizdµziaikalbant, penelyg pasikliaudami lokalia informacija (i�vestin·emis), gal-ime i¾strigti artimiausioje baloje vietoj jud·ej¾e kalno �laitu µzemyn.Paie�kos metodai realizuoja i¾vairias labai skirtingas id·ejas, tod·el

juos nelengva apibr·eµzti kaip metodu¾ klas¾e. Kai kurie metodai mod-eliuoja gamtos rei�kinius, gyvunu¾ elgsen ¾a ar net µzmoniu¾ euristinessprendinio paie�kos strategijas. Gal but, labiausiai charakteringa �iu¾metodu¾savyb·e ta, kad jiems pagri¾sti n·era sudaromi kiekvieno µzingsniolokalus tikslo funkcijos modeliai.Vienas i�metodu¾, priskiriamu¾mokslo klasiku¾ palikimui, yra vad-

inamas Gauss-Seidel vardu. �io metodo kiekvienoje iteracijojeie�koma tikslo funkcijos reik�m·es vieno i�kintamu¾ju¾atµzvilgiu kitiemsesant �ksuotiems. Daµznai �is metodas vadinams pakoordinatine min-imizacija. Jo id·eja labai paprasta: i� pradinio ta�ko judama pagalpirm ¾aj ¾a koordinat¾e x1 kol pasiekiamas vienmatis minimumas pagalx1: I�gautojo ta�ko judama pagal antr ¾aj ¾a koordinat¾e kol pasiekiamasminimumas pagal x2; ir tt. Formaliai metod ¾a galima apra�yti �itaip

Xk+1 = (xk1; xk2; :::; xki; xk+1 i+1; xk i+2; :::; xkn);

xk+1 i+1 = arg mintf(xk1; xk2; :::; xki; t; xk i+2; :::; xkn):

Galima i¾rodyti, kad metodas konverguoja i¾ globalu¾ minimum ¾a, jei

Page 66: Matematinis programavimas

66 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

tikslo funkcija i�kila, o vieno kintamojo funkcija, gaunama i� f(X)�ksavus n � 1 kintamojo reik�mes, grieµztai i�kila. Taµciau metodasgali buti efektyvus ir sud·etingesniu¾ tikslo funkciju¾ atveju. Metodas,pavyzdµziui, efektyvus daugiaekstrem·ems funkcijoms, jei

f(X) =nXi=1

fi(xi);

ir turimas efektyvus vienmatis globalin·es minimizacijos metodasfunkcijoms fi(�).Daugelyje praktiniu¾ uµzdaviniu¾ pasiteisino taip vadinamas defor-

muojamo simplekso metodas [9]. Atkreipsime d·emesi¾i¾tai, kad �ismetodas vadinamas pana�iu vardu kaip ir garsus tiesinio programav-imo uµzdaviniu¾ sprendimo metodas. Bet tuo ju¾pana�umas ir baigiasi.Vis d·elto, vengiant skirtingus metodus vadinti pana�iais vardais, na-grin·ejamasis metodas daµznai vadinamas jo autoriu¾ Nelder - Meedvardu.Metodo id·ej ¾a paai�kinsime specialiu taisyklingo simplekso atveju.

Sudaromas taisyklingas n+1 vir�un·es daugiakampis (simpleksas), ku-rio centras yra pasirinktasis pradinis ta�kas. Kra�tin·es ilgi¾ rekomen-duotina parinkti taip, kad jis butu¾artimas nusp·ejamam pradinio ta�koatstumui iki minimumo ta�ko. Simplekso vir�un·ese apskaiµciuojamostikslo funkcijos reik�m·es. Naujasis ta�kas yra vir�un·es, kurioje tikslofunkcijos reik�m·e didµziausia, atspindys prie�j ¾a esanµcios sienos atµzvil-giu. 2.9 paveiksle pateiktas dvieju¾ kintamu¾ju¾ pavyzdys; µcia pradi-nis simpleksas yra trikampis kurio 1,2,3 vir�un·ese apskaiµciuotos tik-slo funkcijos reik�m·es. �Blogiausia� i� ju¾ yra 1. Naujasis 4 ta�kasgaunamas kaip 1 vir�un·es atspindys trikampio kra�tin·es, jungianµcios2 ir 3 vir�unes, atµzvilgiu. Tikslo funkcijos reik�m·e 4 ta�ke geresn·enegu 1 ta�ke, taigi µzingsnis s·ekmingas. Nauj ¾aji¾simpleks ¾a sudaro 2,3,4vir�un·es. �Blogiausia�2 vir�un·e atspindima kra�tin·es 3-4 atµzvilgiu. 5vir�un·e yra blogiausia naujajame simplekse 3,4,5. Jos atspindys sug-

Page 67: Matematinis programavimas

2.10. PAIE�KOS METODAI 67

Figure 2.9: Simplekso algoritmo iliustracija

r ¾aµzina i¾ simpleks ¾a 2,3,4. Tod·el jame galima pabandyti atspind·eti 3vir�un¾e. Bet ir �is µzingsnis nes·ekmingas. Kai visu¾vir�uniu¾atspindµziainepagerina tikslo funkcijos, simpleksas maµzinamas, pavyzdµziui, dali-nant kra�tin¾e pusiau. I�2,3,4 tokiu budu gaunamas 4,7,8. Pastarojioperacija daµznai vadinama redukcija. Po to v·el bandomi vir�uniu¾atspindµziai. Sustojama, kai simplekso kra�tin·e tampa trumpesn·e uµzpasirinkt ¾a tolerancij ¾a ": Atskiri metodo µzingsniai pagrindµziami euris-tiniais samprotavimais. Galima pasiulyti i¾vairiu¾modi�kaciju¾, kuriosatrodys ne maµziau pagri¾stos. Pavyzdµziui, gavus simpleks ¾a 3,4,5, kuriovisu¾ vir�uniu¾ atspindµziai nes·ekmingi, redukuoti ji¾, o ne gri¾µzti i¾ 2,3,4.Galimos ir kitos modi�kacijos, kuriose nei�laikomas simplekso taisyk-lingumas.

Praktiniuose uµzdaviniuose gan daµznai kintamu¾ju¾ masteliai yralabai skirtingi. Kitaip sakant, tokio pat dydµzio skirtingu¾ kintamu¾ju¾pokyµciai duoda labai skirtingus tikslo funkcijos reik�miu¾ pokyµcius.Taisyklingas simpleksas n·era tokia geometrin·e �gura, kuri gerai tiktu¾

Page 68: Matematinis programavimas

68 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

prie tokio nesimetri�ko tikslo funkcijos hiperpavir�iaus. Tod·el buvopasiulyta paie�kos procese keisti simpleks ¾a taip, kad jis greiµciau jud·etu¾tikslo funkcijos hiperpavir�iumi link minimumo ta�ko, prisitaikydamasprie hiperpavir�iaus savybiu¾.Deformuojamo simplekso metode naudojamos tempimo ir sus-

paudimo operacijos. Tempiama ta kryptimi, kuria vyksta ger·ejimas.Jei atspindys toks s·ekmingas, kad naujoji funkcijos reik�m·e geresn·enet uµz geriausi ¾a iki tol µzinot ¾a, galima daryti i�vad ¾a, kad uµzµciuoptalabai gera jud·ejimo kryptis. Tod·el ta kryptimi µzengiama toliau, i�tem-piant ta kryptimi gaut ¾aji¾ simpleks ¾a. Jei atspindys nes·ekmingas, tasnebutinai rei�kia, kad kryptis bloga. Gali buti, kad µzingsnis per il-gas. Tod·el nebutina atsisakyti �ios tik·etinai geros krypties, o pa-bandyti simpleks ¾a, gaut ¾a atspindint blogiausi ¾a vir�un¾e, suspausti at-likto µzingsnio kryptimi. Tiek tempimo, tiek suspaudimo operacijospriklauso nuo empiri�kai parinktu¾ parametru¾ [9]. Patyr¾es vartotojasgali atsisakyti siulomu¾ parametru¾ reik�miu¾ ir jas parinkti pagal savouµzdavinio ypatybes.Literaturoje apra�yta nemaµzai atveju¾, kai deformuojamo simplekso

metodu buvo s·ekmingai i�spr¾esti uµzdaviniai, kuriems d·el vienokiu¾ arkitokiu¾prieµzasµciu¾netiko nusileidimo metodai.Nemaµz ¾a paie�kos metodu¾ poklas¾e sudaro atsitiktin·es paie�kos

metodai. Vienas i�paprasµciausiu¾metodu¾yra atsitiktinis ta�ku¾gener-avimas su tolygiu skirstiniu leistinojoje aib·eje. Sugeneruotuose ta�ku-ose apskaiµciuojamos tikslo funkcijos reik�m·es ir i�renkamas ta�kas sumaµziausia tikslo funkcijos reik�me. Ypaµc lengvai metodas realizuoja-mas, kai leistinoji sritis yra hiperstaµciakampis. Metodo konvergavimas(tikimybine prasme) i¾rodomas esant minimalioms prielaidoms apietikslo funkcij ¾a. Taµciau metodo teorinis konvergavimo greitis maµzas,o prakti�kai metodo efektyvumas daµzniausiai nepakankamas. Tas irnaturalu, kadangi metodas pasyvus, t.y. einamasis ta�kas parenkamasnepriklausomai nuo anksµciau apskaiµciuotu¾ tikslo funkcijos reik�miu¾.Tolygi atsitiktin·e paie�ka daµzniausiai naudojama kombinuojant j ¾a su

Page 69: Matematinis programavimas

2.10. PAIE�KOS METODAI 69

kitais metodais.Tam kad nustatytume greiµciausio funkcijos kitimo krypti¾, turime

apskaiµciuoti funkcijos gradient ¾a. Tas reikalauja tam tikru¾skaiµciavimolaiko s ¾anaudu¾. Kartais tokios s ¾anaudos gali neatsipirkti ta prasme,kad µzingsnis �pigiau� nustatyta, nors ir �prastesne�, kryptimi galibuti santykinai �naudingesnis�. µCia mes apsiribosime �iuo neformaliupaai�kinimu, tik·edamiesi, kad kabut·ese para�yti µzodµziai skaitytojui i�esm·es suprantami. Pasirink¾e tam tikr ¾a µzingsnio ilgi¾ �; asitiktinai sutolygiu skirstiniu ant sferos S(Xi; �) pavir�iaus generuojame ta�k ¾a, irjame apskaiµciuojame tikslo funkcijos reik�m¾e. Jei gautoji funkcijosreik�m·e maµzesn·e, naujas ta�kas tampa Xi+1. Jei pager·ejimo n·era,Xi+1 = Xi. Tikimyb·e gauti geresn¾e funkcijos reik�m¾e apytiksliai lygi0.5, kai funkcija nagrin·ejamojoje srityje S(Xi; �) artima tiesinei. Tokiaprielaida priimtina, kai � pakankamai maµzas ir Xi pakankami toli nuominimumo ta�ko. Buvo pasiulytos i¾vairios metodo modi�kacijos, ku-riomis buvo siekiama padidinti s·ekmingo µzingsnio tikimyb¾e esant ki-tokioms prielaidoms apie funkcij ¾a, pvz., kai einamasis ta�kas yra �gri-ovio�dugne.Pamin·esime vien ¾a i�pastarojo metodo modi�kaciju¾, kuri pana�i i¾

gradientini¾ nusileidim ¾a tiek, kad net vadinama stochastinio gradi-ento metodu. Generuokime ant sferos ne vien ¾a, o N ta�ku¾. Visuosesugeneruotuose ta�kuose apskaiµciuokime tikslo funkcijos reik�mes iri�rinkime geriausi ¾a. Geriausias ta�kas tampa Xi+1: Kai sferos radiusaspakankamai maµzas, o N pakankamai didelis, Xi+1 � Xi kryptis yraartima tikslo funkcijos antigradiento ta�ke Xi krypµciai.Pastaruoju metu ypaµc popoliarus taip vadinami evoliuciniai

metodai [17], kuriuose yra daug atsitiktin·es paie�kos elementu¾. �iu-ose metoduose modeliuojamas populiaciju¾dauginimasis ir naturaliojiindividu¾ atranka. Suprantama, kad tokie modeliai tik labai pavir�u-tini�kai modeliuoja gyvosios gamtos evoliucinius procesus, bet ju¾ pa-grindu buvo sukurti i¾domus ir daugeliu atveju¾ pasiteisin¾e optimizav-imo metodai. Kai evoliuciniai metodai skirti diskreµciosios optimizaci-

Page 70: Matematinis programavimas

70 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

jos uµzdaviniams spr¾esti, juos paprastai vadina genetiniais algoritmais,o kai skirti uµzdaviniams su tolydµziais kintamaisiais, tai juos vadinaevoliucin·emis strategijomis.Evoliucin·es strategijos inicializacijai reikalinga pradin·e populiacija.

Ja gali buti atsitiktinai su tolygiu skirstiniu leistinojoje srityje sug-eneruoti ta�kai. Juose apskaiµciuojamos tikslo funkcijos reik�m·es, ku-rios apsprendµzia �individu¾�prisitaikym ¾a prie aplinkos. Geriau prisi-taik¾e �individai� turi didesn¾e tikimyb¾e palikti palikuonis, kurie yrakaµzkiek pana�us i¾savo �t·evus�. Modeliuojant mutacijas, prie apskaiµci-uoto (palikuonio) vektoriaus pridedamas atsitiktinis (mutaciju¾) vekto-rius. T·evu¾ir vaiku¾populiacijoje modeliuojamas i�mirimas, kuris prik-lauso nuo individo amµziaus ir prisitaikymo prie aplinkos. Gaunamanauja karta, kurioje v·el modeliuojamas reprodukcijos procesas.�itokiu budu generuojami ta�kai labiau koncentruojasi leistinosios

srities poaibiuose, kuriuose tikslo funkcijos reik�m·es maµzesn·es. Visasta�ku¾klasteris juda link geresniu¾tikslo funkcijos reik�miu¾. µCia apra�y-tos tik paµcios bendriausios evoliuciniu¾metodu¾ id·ejos. Ju¾ realizaciju¾,besiskirianµciu¾selekcijos, reprodukcijos, mutacijos, i�mirimo modeliais,yra gana daug.Paie�kos metodai pasiµzymi nelokaliu ie�kojimo budu, t.y. ju¾ ran-

damas sprendinys yra nebutinai artimiausias pradiniam ta�kui lokalu-sis minimumas. �iuo poµziuriu paie�kos metodai skiriasi nuo nusilei-dimo metodu¾. Taµciau ne visi paie�kos metodai orientuoti globalausminimumo paie�kai. Tam skirta i�tisa globalios minimizacijos metodu¾klas·e.

2.11 Globali optimizacija

Globalaus minimumo apibr·eµzimas n·era konstruktyvus. N·era µzinomosir globalaus minimumo s ¾alygos, kurios palengvintu¾ paie�k ¾a. Kadangiglobalus minimumas yra ir lokalus, tai jis gali buti surastas lokalaus

Page 71: Matematinis programavimas

2.11. GLOBALI OPTIMIZACIJA 71

nusileidimo metodu i� pradinio ta�ko, priklausanµcio globalaus mini-mumo pritraukimo sriµciai. Daµznai bandoma toki¾pradini¾ta�k ¾a surastiatsitiktin·es paie�kos metodu. Jei ta�kai generuojami atsitiktinai sutolygiu skirstiniu leistinojoje srityje, tai vieno atsitiktinio pataikymoi¾ toki ¾a sriti¾ tikimyb·e lygi p = G=V , µcia G ir V yra globalaus mini-mumo pritraukimo srities ir leistinosios srities hiperturiai. Tikimyb·e,kad bent vienas i�N bandymu¾ pataikys i¾ globalaus minimumo pri-traukimo sriti¾ lygi

pN = 1� (1� p)N :

Parenkant N pakankamai dideli¾ (tuo didesni¾, kuo p maµzesnis), pNteori�kai gali buti padarytas pakankamai artimas vienetui. Taµciaudidesnio kintamu¾ju¾ skaiµciaus uµzdaviniuose p gali buti labai maµzas,pavyzdµziui, p < 10�10, jei de�imties kintamu¾ju¾atveju pagal kiekvien ¾akintam ¾aji¾ ie�komoji sritis sudarytu¾maµziau negu 10% leistinosios sri-ties. Tada N butu¾ nepriimtinai didelis. Tod·el daugeliui praktiniu¾uµzdaviniu¾�is paprastas ir universalus metodas yra nepakankamai efek-tyvus.Pana�iai vertininta ir kita paprasta globalaus minimumo paie�kos

id·eja vadinama atsitiktine lokaliu¾ minimumu¾ perµziura, kai i�renka-mas geriausias i� lokaliu¾ minimumu¾, gautu¾ lokalaus minimizavimoalgoritmu i� atsitiktinai sugeneruotu¾ pradiniu¾ ta�ku¾. Lokali mini-mizacija daµznai vykdoma ne nusileidimo, o paie�kos metodais. Real-izacija labai paprasta, uµztenka tur·eti lokalaus minimizavimo metod ¾a,kuris kombinuojamas su pradiniu¾ ta�ku¾ generavimu. Efektyvumopoµziuriu �i paprasta id·eja ne visada patraukli. Viena - keliu¾ lokaliu¾nusileidimu¾ rezultatu gali buti tas pats lokalaus minimumo ta�kas,ypaµc tada, kai tas lokalusis minimumas turi didel¾e pritraukimo sriti¾.Kitas probleminis atvejis - smulkus tikslo funkcijos hiperpavir�iausbangavimas, d·el kurio lokalaus nusileidimo metodai gali nedaug tepa-jud·eti i� sugeneruotu¾ pradiniu¾ ta�ku¾. Kaip ir auk�µciau i�analizuotu

Page 72: Matematinis programavimas

72 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

atveju, tikimyb·e surasti globalu¾ minimum ¾a per prakti�kai priimtin ¾alaik ¾a gali buti labai maµza. Taµciau �ie trukumai n·era esminiai, jeitikslo funkcija turi tik kelet ¾a lokaliu¾ minimumu¾ su pana�aus dydµziopritraukimo sritimis. Tada �io paprasto metodo panaudojimas tikraipasiteisina. Nemaµzai sud·etingesniu¾metodu¾ gali buti interpretuojamikaip jo patobulinimai.Atsitiktinis ta�ku¾ generavimas naudojamas kuriant globalios

paie�kos metodus, modeliuojanµcius gyvos ir negyvos gamtos proce-sus. Daug d·emesio mokslin·eje literaturoje buvo skirta modeliuo-jamo atkaitinimo (angli�kai simulated annealing) metodui, kuris visd·elto, daµzniausiai naudojamas diskreµciosios optimizacijos uµzdaviniamsspr¾esti [1].Klasterinis metodas pradedamas pana�iai kaip ir lokaliu¾

minimumu¾perrinkimas: sugeneruojama pradiniu¾ta�ku¾aib·e. Lokalusnusileidimai pradedami i�visu¾pardiniu¾ta�ku¾padarant kelet ¾a µzingsniu¾link minimumo. Gauti ta�kai analizuojami klasterizavimo metodu,t.y. ie�koma ta�ku¾ sankaupu¾ (klasteriu¾). Jei aptinkami klasteriai,tai daroma i�vada, kad keli nusileidimo procesai juda link to patiesminimumo. I� klasterio i�renkamas ta�kas su geriausia tikslo funkci-jos reik�me. Lokalus nusileidimas t¾esiamas tik i� i�rinktojo ta�ko, okiti lokalaus nusileidimo procesai nutraukiami. Po klaster - analiz·esgali buti sustabdytas tam tikras skaiµcius lokalaus nusileidimo procesu¾.Sugeneruojamas tam tikras skaiµcius nauju¾ pradiniu¾ ta�ku¾. Keletasnusileidimo procesu¾µzingsniu¾ i¾vykdoma i�ta�ku¾, i�likusiu¾po klasteri-zavimo, ir naujai sugeneruotu¾ ta�ku¾. Vykdoma gautu¾ ta�ku¾ klaster- analiz·e ir tt. Metodo sustojimo s ¾alyga apibr·eµziama euristi�kai:sustojama, kai kelios i� eil·es klaster - analiz·es nebeaptinka nauju¾klasteriu¾. Lyginant su atsitiktine lokaliu¾minimumu¾perµziura �is meto-das efektyvesnis, nes lokalus nusileidimai i¾ t ¾a pati¾ lokalu¾ji¾minimum ¾agan greitai aptinkami ir sustabdomi (i�skyrus vien ¾a). Kad butu¾i�vengta i¾strigimu¾ nereik�minguose lokaliuose minimumuose, naudo-jami ne nusileidimo, bet paie�kos metodai. Teori�kai tirti �i¾ metod ¾a

Page 73: Matematinis programavimas

2.11. GLOBALI OPTIMIZACIJA 73

sunku d·el to, kad jis konstruojamas remiantis euristin·emis id·ejomis,o ne matematin·emis prielaidomis apie tikslo funkcij ¾a. Taµciau eksper-imentinis jo palyginimas su kitais metodais sprendµziant testinius uµz-davinius parod·e auk�t ¾a �io metodo efektyvum ¾a.Klasterizacijos metodas ne i�imtis - globaliojoje optimizacijoje

labai daug euristikos. Vis d·elto, yra ir matematin·emis prielaidomispagri¾stu¾metodu¾. Panagrin·ekime, atrodytu¾paprast ¾a, kvadratin·es tik-slo funkcijos atveji¾. Net �iuo atveju galimas daugiaekstremi�kumas.Pavyzdµziui, kvadratin·e neigiamai apibr·eµzta funkcija gali tur·eti dau-gyb¾e lokaliu¾minimumu¾ant leistinosios srities kra�tu¾. Net paprasµciau-siu vieno kintamojo atveju f(x) = �x2, �1 � x � 2, uµzdavinys dau-giaeksremis: intervalo galai yra lokaliu¾minimumu¾ta�kai. Potencialiu¾lokalaus minimumo ta�ku¾ skaiµcius auga labai greitai, augant erdv·esdimensijai n: Kadangi tikslo funkcija �iuo atveju apra�oma matema-tine formule, tai palyginti paprastai galima i¾vertinti galimus funkcijosreik�miu¾pokyµcius ir atmesti tuos leistinosios srities poaibius, kuriuosetikrai negali buti minimumo. Pana�iai sudaromi metodai uµzdaviniamssu i¾gaubtomis (i�kilomis i¾ vir�u¾) tikslo funkcijomis. Tokio pobudµziouµzdaviniai nagrin·ejami ir ju¾sprendimo metodai sudaromi tradiciniaismatematiniais metodais [10].Bendresniems uµzdaviniams tradicinis modelis yra Lipshitz�o

funkciju¾klas·e, t.y. klas·e funkciju¾, patenkinanµciu¾nelygyb¾e

jf(X1)� f(X2)j � L � jjX1 �X2jj;

µcia L - Lipshitz�o konstanta, kuri ¾a reikia i¾vertinti konkreµciam(sprendµziamam) uµzdaviniui. Jei leistinajai sriµciai priklausanµciuoseta�kuose Xi; i = 1; :::; N , apskaiµciuotos tikslo funkcijos reik�m·es yi =f(Xi), tai galima apibr·eµzti apatini¾ funkcijos reik�miu¾r·eµzi¾

'(X) = max1�i�N

f(Xi)� L � jjXi �Xjj:

Page 74: Matematinis programavimas

74 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

Tikslo funkcijos globalusis minimumas negali buti pasiekiamas tu-ose leistinosios srities poaibiuose, kuriuose

'(X) � f+ = min1�i�N

f(Xi):

Pastaroji i�vada iliustruota vieno kintamojo funkcijos atveju 2.10paveiksle. Tie poaibiai, kuriuose globalaus minimumo n·era, gali butitoliau nebenagrin·ejami, o tikslo funkcijos skaiµciavimas planuojamaslikusioje leistinosios srities dalyje; 2.10 paveiksle �i sritis pavaizduotauµzbruk�niuotais pointervalais. Intuityviai naturalu (toks metodas turiir matematini¾ pagrindim ¾a) skaiµciuoti tikslo funkcijos reik�m¾e tameta�ke, kuriame gal·etu¾ buti pasiekiama minimum minimorum f(X)reik�m·e

f� = minX2A

'(X); (2.30)

Xi+1 = arg minX2A

'(X):

Vieno kintamojo atveju toki¾metod ¾a palyginti nesunku realizuoti, kaippavaizduota 2.10 paveiksle.Taµciau bendru atveju tokio metodo algoritminis realizavimas bei

praktinis panaudojimas susij¾es su �itokiais sunkumais. Praktiniu¾uµzdaviniu¾ tikslo funkcijos tik i�imtinais atvejais yra vieno kinta-mojo. Taµciau '(X) minimizavimas daugiamat·eje erdv·eje yra labaisud·etingas daugiaekstremis uµzdavinys, gal but, ne paprastesnis uµz t ¾a,kurio sprendimui bus naudojamas sukurtasis metodas. Pastarojo efek-tyvumas priklauso nuo konstantos L i¾verµcio. Jei L per maµzas, gali butiatmestas poaibis, kuriam priklauso globalaus minimumo ta�kas. JeiL labai didelis, vienu funkcijos reik�m·es apskaiµciavimu atmetama tikmaµza leistinosios srities dalis.Globalioji optimizacija µzymiai sud·etingesn·e uµz lokali ¾aj ¾a. Ne-

paisant praktinio globaliosios optimizacijos uµzdaviniu¾ aktualumo,

Page 75: Matematinis programavimas

2.11. GLOBALI OPTIMIZACIJA 75

Figure 2.10: Globalios optimizacijos metodo pagri¾sto apatiniu funkci-jos reik�miu¾r·eµziu, priklausanµciu nuo Lipshitz�o konstantos, iliustracija

Page 76: Matematinis programavimas

76 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

plaµciai paplitusiuose komerciniuose optimizavimo paketuose n·era tamskirtu¾metodu¾. Su i¾vairiomis id·ejomis, teorijomis ir metodais galimasusipaµzinti pasiskaiµcius [20] knyg ¾a. Lietuvoje aktyviai dirbama statis-tiniais modeliais pagri¾stoje globaliosios optimizacijos srityje. Bajesin·eglobalin·es optimizacijos teorija ir i�jos i�plaukiantys metodais pateikti�ios teorijos pradininko J.Mockaus monogra�joje [14].

2.12 Uµzduotys ir kontroliniai klausimai

1. I¾rodykite (2.10).2. Raskite dvieju¾kintamu¾ju¾ funkciju¾

f(X) = x21 + sin2 x2;

f(X) = (x1 � 2)2 � cos3(x2);

lokaliu¾ju¾minimumu¾ta�kus.3. �viesa nehomogenin·eje aplinkoje sklinda tokiu ke-

liu, kuris nueinamas per trumpiausi ¾a laik ¾a. I�nagrin·ekite�viesos sklidim ¾a plok�tumoje. Sakysim vienoje pusplok�-tum·eje �viesos sklidimo greitis lygus v1; o kitoje v2: �viesos�altinis ir steb·ejimo ta�kas yra skirtingose pusplok�tum·ese.Remdamiesi �viesos sklidimo laiko minimumo s ¾alygomisi�veskite formul¾e, i�reikianµci ¾a Snellius d·esni¾.4. I�nagrin·ekite vienmaµcio gradientinio metodo su pas-

toviu µzingsnio daugikliu

xk+1 = xk � f 0(xk)

konvergavim ¾a, kai

Page 77: Matematinis programavimas

2.12. UµZDUOTYS IR KONTROLINIAI KLAUSIMAI 77

f(x) =

8><>:3(1�x)2

4� 2(1� x); x > 1;

3(1+x)2

4� 2(1 + x); x < �1;

x2 � 1; �1 � x � 1;

o pradinis ta�kas lygus x0 = 2:5. Nubraiµzykite funkcijos (2.7) gra�k ¾a.6. I¾ koki¾ ta�k ¾a bus pereita, atlikus vien ¾a greiµciau-

sio nusileidimo metodo iteracij ¾a, kai f(X) yra kvadratin·edvieju¾kintamu¾ju¾ funkcija (2.9), ir

A =

�1 11 10

�; B =

�11

�; Xi =

�55

�:

7. Sakysim, Q yra simetrin·e matrica. I¾rodykite,kad tikriniai Q vektoriai, atitinkantys skirtingas tikrinesreik�mes yra Q jungtiniai.8. Kokiu atveju simplekso metodo µzingsnio kryptis ar-

tima antigradiento krypµciai.9. Panagrin·ekite metodo (2.30 ) dvimat¾e versij ¾a.

Page 78: Matematinis programavimas

78 CHAPTER 2. OPTIMIZACIJA BE RIBOJIMU¾

Page 79: Matematinis programavimas

Chapter 3

NETIESINISPROGRAMAVIMAS

3.1 Minimumo s ¾alygos

Kiekvienas inµzinierius µzino, kiek daug visokiu¾ s ¾alygu¾ bei ribojimu¾butina i¾vertinti projektuojant. Techniniuose reikalavimuose pa-prastai buna nurodyta daug ribiniu¾ projektuojamojo objektocharakteristiku¾ reik�miu¾, reikalavimai konstrukcin·ems medµziagoms irpan. Pavyzdµziui, mas·e ir kaina turi buti maµzesn·es, o patikimumasdidesnis uµz tam tikras nustatytas reik�mes. Taip pat butina atsiµzvelgtii¾projektuojamojo objekto charakteristikas siejanµcius gamtos d·esnius.Tod·el techniniai optimizavimo uµzdaviniai daµzniausiai buna su ribo-jimais. Pana�iai formuluojami ir ekonominio planavimo uµzdaviniai,nes tenka atsiµzvelgti ir i¾ turimas atsargas, ir i¾biudµzeto ribotum ¾a, ir i¾reikalavimus terminams, ir tt. Formuluojant uµzdavini¾matemati�kai,ribojimais vadinamos leistin ¾aj ¾a sriti¾ apibr·eµzianµcios lygyb·es ir nely-gyb·es, pavyzdµziui,

79

Page 80: Matematinis programavimas

80 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

min f(X); X = (x1; :::; xn);

gi(X) � 0; i = 1; :::; k; (3.1)

gi(X) = 0; i = k + 1; :::;m;

rei�kia funkcijos f(X) minimizavim ¾a leistinoje srityje, apibr·eµztojefunkciju¾ gi(X) neteigiamumo arba lygyb·es nuliui reikalavimais.Patenkinantis ribojimus ta�kas X vadinamas (optimizavimo uµz-davinio) leistinu sprendiniu. Minimumo ta�kas vadinamas opti-maliu sprendiniu, arba trumpiau, sprendiniu. Jei bent vienai� (3.1) funkciju¾ yra netiesin·e, toks optimizavimo uµzdavinys vadina-mas netiesinio programavimo uµzdaviniu, jei jos visos i�kilos, - i�ki-laus programavimo uµzdaviniu. Ribojimai klasi�kuojami i¾ tiesinius irnetiesinius, µziurint kokios funkcijos gi(X). Pirmieji k ribojimu¾ vadi-nami nelygybiniais, kiti - lygybiniais. Uµzdaviniu¾su ribojimais lokalausoptimizavimo metodai sudaromi i� metodu¾ be ribojimu¾, juos modi-�kuojant taip, kad butu¾i¾vertinama ne tik funkcijos maµz·ejimo kryptis,bet ir ribojimai.Antrajame skyriuje pateikta butina minimumo s ¾alyga uµzdaviniams

be ribojimu¾, i�reik�ta funkcijos gradiento lygybe nuliui. Esant ribo-jimams, funkcijos gradientas gali buti nelygus nuliui visoje leistinojesrityje, kaip parodyta 3.11 paveiksle. Tada minimumas pasiekiamasta�ke X�, esanµciame ant leistinosios srities kra�to. Butin ¾a minimumos ¾alyg ¾a galima paai�kinti geometri�kai: jei ta�keX� pasiekiamas lokalu-sis minimumas, tai leistinoje srityje jokia kryptimi negalima sumaµzintitikslo funkcijos reik�m·es. Tod·el tikslo funkcijos gradientas ta�ke X�turi buti ortogonalus leistinosios srities lieµciamajai hiperplok�tumai.Nelygybiniai ribojimai, kurie ta�ke X patenkinami kaip lygyb·es,

vadinami aktyviais; ju¾ indeksu¾ aib¾e paµzym·esime I�(X), ir I(X) =I�(X) [ fk + 1; :::;mg:6 teorema. Jei X� yra lokalaus minimumo ta�kas, tai egzis-

Page 81: Matematinis programavimas

3.1. MINIMUMO S ¾ALYGOS 81

Figure 3.11: Butinu¾minimumo s ¾alygu¾ iliustracija

Page 82: Matematinis programavimas

82 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

tuoja tokie visi kartu nelygus nuliui daugikliai �i; i = 0; :::;m, kad�i � 0; i = 1; :::; k,

�0 rf(X�) +

mXi=1

�i rgi(X�) = 0;

�i gi(X�) = 0; i = 1; :::; k: (3.2)

I¾rodymas. Sakysim, kad rgi(X�), i = k + 1; :::;m; tiesi�kainepriklausomi. Prie�ingu atveju teoremos teiginys i¾rodomas trivialiai,pa·emus �i = 0; i � k:Sudarysime dvi aibes �; � Rm+1 :

� = f� : � 2 Rm+1; �0 = rf(X�) � S;

�i = rgi(X�) � S; i 2 I(X�); S 2 Rng;

= f� : � 2 Rm+1; �0 < 0; �i < 0;

i 2 I�(X�); �i = 0; i = k + 1; :::;mg:I¾rodysime, kad �ios aib·es nesikerta. Sakysim, kad yra prie�ingai.

Tada tur·etu¾ egzistuoti toks S 2 Rn; kad butu¾ patenkintos �itokioslygyb·es ir nelygyb·es

rf(X�) � S < 0;

rgi(X�) � S < 0; i 2 I�(X�); (3.3)

rgi(X�) � S = 0; i = k + 1; :::;m:

I¾rodysime, kad tada kryptimi S, rodanµcia i¾leistinosios srities vidu¾,tikslo funkcijos rei�m·es maµz·eja. Kadangi S yra pavir�iaus gi(X) =0; i = k + 1; :::;m; lieµciamoji kryptis ta�ke X�; tai egzistuoja

Page 83: Matematinis programavimas

3.1. MINIMUMO S ¾ALYGOS 83

X(�) = X� + �S + o(�);

patenkinantis ribojimus

gi(X(�)) = 0; i = k + 1; :::;m:

I�(3.3) i�plaukia, kad pakankamai maµzam �

f(X(�)) = f(X�) + � � rf(X�) � S + o(�) < f(X�);

ir pana�iai i¾rodoma, kad gi(X(�)) < 0; i 2 I�(X�): Bet tada X(�)patenkintu¾ visus ribojimus, ir galiotu¾ nelygyb·e f(X(�)) < f(X�);rei�kianti, kad X� n·era lokalaus minimumo ta�ku. Taigi, prielaida,kad aib·es � ir kertasi, neteisinga.Galima i¾sitikinti, kad aib·es � ir i�kilos. Nesikertanµcios i�kilos

aib·es gali buti atskirtos hiperplok�tuma. Kadangi abiem aib·em � ir priklauso kiek norima maµzos ta�ko 0 2 Rm+1 aplinkos ta�ku¾, tai 0 turipriklausyti skirianµciai hiperplok�tumai. Tas rei�kia, kad egzistuoja nevisi lygus nuliui �i; i = 0; :::;m; tokie, kad

mXi=0

�i�i � 0; � 2 �; irmXi=0

�i�i < 0; � 2 :

Pirmoji nelygyb·e gali butu¾uµzra�yta �itaip

�0rf(X�) � S +X

i2I(X�)

�irgi(X�) � S +X

i=2I(X�)

�i�i � 0; (3.4)

µcia S bet koks Rn erdv·es vektorius. Kadangi �i; i =2 I(X�); gali butitiek teigiami, tiek neigiami, bei kiek norima dideli absoliutiniu didumu,tai nelygyb·e (3.4) negal·etu¾ buti patenkinama visiems �i, i =2 I(X�);jei nebutu¾ patenkinta lygyb·e �i = 0; i =2 I(X�): Kadangi (3.4) turi

Page 84: Matematinis programavimas

84 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

buti patenkinama ir su S; ir su �S, tai nelygyb·es µzenklas � turi butipakeistas lygyb·es µzenklu. Tod·el i�(3.4) i�plaukia tokios lygyb·es

�0 rf(X�) +mXi=1

�i rgi(X�) = 0;

�i = 0; i =2 I(X�):

Kadangi visiems � 2 teisinga nelygyb·e �i < 0; kai i = 0 ir i 2I�(X�); bei galioja nelygyb·e

�0�� +X

i2I�(X�)

�i�i < 0;

tai �0 � 0 ir �i � 0; i 2 I�(X�): Gaut ¾a rezultat ¾a, atsiµzvelgdami i¾tai, kad gi(X�) = 0; i 2 I(X�); galima uµzra�yti vadinam ¾aja F.Johnforma, kuri pateikta teoremos formulavime (3.2).Svarbus �ios teoremos atvejis �0 6= 0 i¾rodomas esant papildomai

reguliarumo prielaidai, pavyzdµziui, rgi(X�); i 2 I(X�); yra tiesi�kainepriklausomi. Tada teoremos formulavime galima ra�yti �0 = 1, ogautos butinos minimumo s ¾alygos vadinamosKarush-Kuhn-Tuckers ¾alygomis

rf(X�) +mXi=1

�i rgi(X�) = 0;

�i gi(X�) = 0; i = 1; :::; k: (3.5)

Mokslin·eje literaturoje vartojama: santrumpa KKT s ¾alygos. Regu-liarumo s ¾alygos, pavyzdµziui, yra nepatenkinamos uµzdavinio

min (x1 � 10)2 + x22;

Page 85: Matematinis programavimas

3.1. MINIMUMO S ¾ALYGOS 85

Figure 3.12: Nepatenkintu¾reguliarumo s ¾alygu¾pavyzdys

x2 � 7�q�x21 + 14x1;

0 � x1 � 7;0 � x2 � 7;

minimumo ta�ke (0; 7), nes abieju¾ aktyviu¾ ribojimu¾ gradientai yrastatmeni abscisu¾a�iai, kuria yra nukreiptas tikslo funkcijos gradientas(µziur., 3.12 paveksl ¾a).Daugelis netiesinio programavimo metodu¾ susij¾e su Lagrange�o

funkcijaL(X;�) = f(X) +

X�i � gi(X):

Jei Lagrange�o funkcija diferencijuojama, tai k ¾a tik i¾rodytas mini-mumo s ¾alygas (pri·emus reguliarumo prielaid ¾a) galima uµzra�yti nau-dojantis Lagrange�o funkcija

Page 86: Matematinis programavimas

86 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

rX L(X;�) = 0;

�i � 0; i 2 I�(X�);

�i gi(X�) = 0; i = 1; :::; k:

Lagrange�o funkcijos terminais galima suformuluoti butinas min-imumo s ¾alygas, kurios nereikalauja, kad funkcijos f(X); gi(X); i =1; :::;m, butu¾ diferencijuojamos. Tarkime, (3.1) uµzdavinys turi tiknelygybinius ribojimus, visos �io uµzdavinio funkcijos i�kilos ir ri-bojimai tenkina reguliarumo s ¾alyg ¾a: egzistuoja toks ta�kas X, kuri-ame (3.1) nelygyb·es tenkinamos grieµztai: gi(X) > 0; i = 1; :::; k. Tadalokalaus minimumo ta�kas X� lemia Lagrange�o funkcijos balno ta�k ¾a,t. y. egzistuoja tokie �0 i � 0; i = 1; :::; k; kad

L(X�;�) � L(X�;�0) � L(X;�0) (3.6)

su visais �i � 0; X 2 Rn. Tas rodo, kad lokalaus minimumosu sud·etingais ribojimais ie�kojimas gali buti pakeistas Lagrange�ofunkcijos balno ta�ko ie�kojimu esant paprastiems ribojimams �i � 0.�ios butinos minimumo s ¾alygos vadinamos (Kuhn �Tucker) teoremaapie balno ta�k ¾a.Uµzdaviniu¾ su ribojimais butinos minimumo s ¾alygos tiriamos jau

seniai. Vienas i�svarbiausiu¾dar ir �iandien yra Lagrange�o pasiulytasprincipas - perkelti ribojimus i¾ tikslo funkcij ¾a. Kuhn �Tucker s ¾a-lygos i�vestos remiasi ta paµcia id·eja. Atrodytu¾, pakankamos min-imumo s ¾alygos svarbesn·es uµz butinas. Taµciau jas galima sufor-muluoti tik tuo atveju, kai visos (3.1) funkcijos tenkina grieµztusreikalavimus, kuriu¾praktiniuose uµzdaviniuose daµzniausiai nei¾manomapatikrinti. Be to, jos gerokai sud·etingesn·es. Tod·el stengiamasi su-formuluoti prakti�kai patikrinamas butinas s ¾alygas, kaip galima ar-timesnes pakankamoms. Vienas i�svarbiausiu¾teoriniu¾netiesinio pro-gramavimo metodu¾pagrindimu¾yra i¾rodymas, kad pagal tuos metodus

Page 87: Matematinis programavimas

3.2. DUALUMAS 87

generuojamu¾ ta�ku¾ seka art·eja prie ta�ko, tenkinanµcio butinas mini-mumo s ¾alygas.

3.2 Dualumas

Silpnesnio matematinio pasiruo�imo skaitytojams �is paragrafas galibuti sunkiau suprantamas, bet jis n·era butinas toliau d·estomai medµzi-agai studijuoti. Prie dualumo problemos bus dar sugri¾µzta, nagrin·ejantpaprastesni¾ tiesinio programavimo atveji¾.Nagrin·esime minimizavimo uµzdavini¾, kuri¾vadinsime pirminiu

P : min f(X); (3.7)

gi(X) � 0; i = 1; :::; k;

hi(X) = 0; i = 1; :::;m;

µcia lygybiniu¾ ir nelygybiniu¾ ribojimu¾ funkcijas paµzym·ejome skirtin-gomis raid·emis, kadangi apie skirtingu¾ tipu¾ ribojimus bus daromosskirtingos prielaidos. Be to, darysim prielaid ¾a, kad P uµzdaviniokintamu¾ju¾ vektorius priklauso paprastos strukturos aibei X 2 A0,kuri n·era apra�oma ribojimu¾ funkcijomis. Pavyzdµziui, A0 = fX :xi � 0; i = 1; :::; ng; daµznai A0 tiesiog sutampa su Rn. Leistina aib·e,kaip paprastai, µzymima A.P uµzdavinio Lagrange�o funkcija uµzra�oma �itaip

L(X;U; V ) = f(X) +kXi=1

uig(X) +mXi=1

vih(X) =

= f(X) + UG(X) + V H(X):

Dualiu vadinamas maksimizavimo uµzdavinys

Page 88: Matematinis programavimas

88 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

D : max�(U; V ); (3.8)

U � 0; V 2 Rm;

kurio tikslo funkcija apibr·eµziama kaip Lagrange�o funkcijos minimaliosreik�m·es X atµzvilgiu priklausomyb·e nuo U ir V

�(U; V ) = infX2A0

L(X;U; V );

µcia para�ytas simbolis inf apibr·eµzia analogi�k ¾a minimui reik�m¾e, kaipastarasis neegzistuoja, pavyzdµziui, jei galima rasti norimai maµz ¾afunkcijos reik�m¾e, tai minimumas neegzistuoja, o in�mumas lygus -1:Geometrin¾e dualaus uµzdavinio prasm¾e paai�kinsime pavyzdµziu

min f(X); g(X) � 0; X 2 A0: (3.9)

Paµzym·ekime y = g(X); z = f(X), ir � �vektoriaus (y; z) reik�miu¾aib¾e, kai X 2 A0. P uµzdavinio (3.9) minimumas atitinka aib·es � ta�k ¾aant z a�ies su minimalia z reik�me f(X), kaip tas pavaizduota 3.13paveiksle. P uµzdavini¾ (3.9) atitinka D uµzdavinys maxu�0 �(u); kuriotikslo funkcija yra

�(u) = minX2A0

f(X) + u � g(X) =

= min (z + u � y):

Esant �ksuotai u � 0 reik�mei �(u) priklauso nuo dvieju¾ parametru¾z ir y; o pastaroji priklausomyb·e geometri�kai rei�kia ties¾e

z = �(u)� u � y; (3.10)

Page 89: Matematinis programavimas

3.2. DUALUMAS 89

Figure 3.13: Dualaus uµzdavinio iliustracija

kuri yra µzemiausiai z atµzvilgiu einanti ties·e, turinti bent vien ¾a ben-dr ¾a ta�k ¾a su �, t.y. aib·es � apatin·e liet·eja su krypties koe�cientu�u. �(u) reik�m·e lygi z reik�mei, gaunamai susikirtus tiesei (3.10)su z a�imi. Dualus uµzdavinys: rasti u �0 reik�m¾e u, maksimizuo-janµci ¾a �(u). Geometri�kai -u reik�tu¾ krypties koe�cient ¾a liet·ejos,einanµcios per ta�k ¾a y = 0, z = f(X), vaizduojanti¾ optimalu¾P uµz-davinio sprendini¾.7 teorema. SakysimX yra leistinas P uµzdavinio (3.7) sprendinys,

o (U; V ) �leistinas D uµzdavinio (3.8) sprendinys. Tada galioja nely-gyb·e

f(X) � �(U; V ): (3.11)

I¾rodymas. Pagal apibr·eµzim ¾a

Page 90: Matematinis programavimas

90 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

�(U; V ) = infX2A0

f(X) + UG(X) + V H(X) �

� f(X) + UG(X) + V H(X); 8X 2 A0:

Kadangi leistiniems sprendiniams galioja nelygyb·es U � 0,G(X) � 0, H(X) = 0, tai �(U; V ) � f(X); 8X 2 A, U � 0:1 i�vada.

infX2A

f(X) � supU�0; V 2Rm

�(U; V ): (3.12)

2 i�vada. Jei f(X) = �(U; V ), X 2 A, U � 0, tai X ir (U; V )yra P ir D uµzdaviniu¾sprendiniai.3 i�vada. Jei, infX2A f(X) = �1, tai ir �(U; V ) = �1, 8U � 0:

Jei supU�0�(U; V ) =1, tai P neturi leistinu¾sprendiniu¾.3.13 paveikslo pavyzdyje pirminio ir dualaus uµzdaviniu¾optimalios

reik�m·es sutampa. I¾rodytoji teorema teigia, kad bendru atveju galiojanelygyb·e (3.11) ir i�jos i�plaukianti nelygyb·e (3.12), t.y. P uµzdaviniominimumas ne maµzesnis uµz D uµzdavinio maksimum ¾a. Kai jie nesu-tampa (pvz., 3.14 paveiksle), skirtumas vadinamas dualumo tarpu.Toliau pateikiamas pavyzdys [2], detaliau paai�kinantis dualumo tarpos ¾avok ¾a.Pavyzdys. P: min f(X) = min (�2x1+x2), h(X) = x1+x2�3 =

0, A0 = f(0; 0); (0; 4); (4; 4); (4; 0); (1; 2); (2; 1)g: Nesunku patikrinti,kad lygybini¾ ribojim ¾a patenkina du aib·es A0 ta�kai, o minimumota�kas yra X = (2,1); f(X) = �3:D: max �(v); µcia

�(v) = minX2A0

(�2x1 + x2 + v � (x1 + x2 � 3)):

Nesunku i¾sitikinti, kad

Page 91: Matematinis programavimas

3.2. DUALUMAS 91

Figure 3.14: Dualumo tarpo pavyzdys

�(v) =

8<:�4 + 5v; v � �1;�8 + v; �1 < v � 2;�3v; v > 2;

tod·el

max �(v) = �(2) = �6:

�iuo atveju dualumo tarpas lygus 3. Funkcijos �(v) gra�kas pateiktas3.15 paveiksle, o P ir D uµzdaviniu¾optimalus sprendiniai pavaizduoti3.16 paveiksle.Lema. Sakysim A0 �netu�µcia aib·e, e(X), gi(X) �i�kilos funkcijos,

o H(X) �a�nin·e funkcija (t.y., H(X) = TX � B, µcia T yra m � nmatrica, B 2 Rm).Jei nelygybiu¾sistema

Page 92: Matematinis programavimas

92 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

Figure 3.15: Dualaus uµzdavinio tikslo funkcijos gra�kas

e(X) < 0; G(X) � 0; H(X) = 0; X 2 A0 (3.13)

neturi sprendinio, tai 8X 2 A0 nelygybiu¾sistema

u0 � e(X) + U � G(X) + V �H(X) � 0 (3.14)

turi sprendini¾ (u0; U; V ) 6= 0, (u0; U) � 0.Atvirk�µciai, jei (3.14) turi sprendini¾ ir u0 > 0, tai (3.13) neturi

sprendinio.I¾rodymas. Remiantis tuo, kad funkcijos e(X), gi(X) �i�kilos, o

H(X) �a�nin·e, nesunku i¾rodyti, kad aib·e

= f(p;Q;R) : 9 X 2 A0; (3.15)

p > e(X); Q � G(X); R = H(X)g;

Page 93: Matematinis programavimas

3.2. DUALUMAS 93

Figure 3.16: Dualumo tarpas lygus 3

yra i�kila. Sakysim (3.13) neturi sprendinio. Tada (0; 0; 0) =2 ; µciaantrasis nulis rei�kia k-mati¾ nulini¾ vektoriu¾, o treµciasis nulis m-mati¾nulini¾vektoriu¾. Kadangi egzistuoja hiperplok�tuma, atskirianti i�kil ¾aaib¾e ir jai nepriklausanti¾ta�k ¾a, tai egzistuoja toks nenulinis vektorius(u0; U; V ); kad visiems ribiniams aib·es ta�kams (p;Q;R) patenki-nama nelygyb·e

u0p+ UQ+ V R � 0: (3.16)

Imkime koki¾nors X 2 A0: Pagal aib·es apibr·eµzim ¾a p ir Q gali butipaimti kiek norima dideli. Tod·el nelygyb·e (3.16) gali buti uµztikrintavisiems aib·es ta�kams tik tada, kai u0 � 0 ; U � 0: Kadangi betkuriam X 2 A0 (e(X); G(X); H(X)) yra ribinis aib·es ta�kas, tainelygybiu¾sistema

Page 94: Matematinis programavimas

94 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

u0 � e(X) + U �G(X) + V �H(X) � 0patenkinta visiems X 2 A0, t.y. (u0; U; V ) yra teoremos s ¾alygaspatenkinantis (3.14) sprendinys.Sakysim (3.14) turi sprendini¾ (u0; U; V ) 6= 0; ir u0 > 0, U � 0: Jei

X 2 A0 toks, kad G(X) � 0, H(X) = 0; tai i� (3.14) i�plaukia, kadu0 � e(X) � 0. Kadangi u0 > 0, tai turi buti patenkinama nelygyb·ee(X) � 0, kas prie�tarauja pirmajai sistemos (3.13) nelygybei. Tod·el(3.13) neturi sprendinio.8 teorema. Sakysim A0 �netu�µcia i�kila aib·e, f(�), gi(�) �i�kilos

funkcijos, o H(X) �a�nin·e funkcija. Be to, sakysim, kad patenkinamatokia ribojimu¾ reguliarumo prielaida: egzistuoja bX 2 A0 toks, kadG( bX) < 0; H( bX) = 0; o 02 Rm yra vidinis aib·es � = f : =H(X); X 2 A0g � Rm ta�kas.Tada

infX2A

f(X) = supU�0

�(U; V ): (3.17)

Jei inf baigtinis, tai 9 U � 0; V ; tokie kad

supU�0

�(U; V ) = �(U; V ):

Jei 9 X, toks kad infX2A f(X) = f(X) , tai U �G(X) = 0:I¾rodymas. Paµzym·ekime f� = infX2A f(X): Jei f� � 1, tai

i¾rodymas trivialus, nes 1 i�vada teigia, kad supU�0�(U; V ) = �1.Sakysim f� > �1: Panagrin·ekime nelygybiu¾sistem ¾a

f(X)� f� < 0; G(X) � 0; H(X) = 0:Pagal f� apibr·eµzim ¾a pastaroji nelygybiu¾ sistema neturi sprendinio.Tod·el i� Lemos teiginio i�plaukia, kad egzistuoja (u0; U; V ) 6= 0;(u0; U) � 0, tokie kad

Page 95: Matematinis programavimas

3.2. DUALUMAS 95

u0 � (f(X)� f�) + U � G(X) + V �H(X) � 0;

8X 2 A0: (3.18)

I¾rodysim, kad u0 > 0: Sakysim prie�ingai u0 = 0: Pagal teoremosprielaidas egzistuoja bX, toks kad G( bX) < 0, H( bX) = 0. I¾staµcius cXi¾ (3.18), gaunamos tokios i�vados: U � G(X) � 0, U = 0: Tod·el tuributi teisinga nelygyb·e V �H(X) � 0: Kadangi 0 2 �, galima parinktiX 2 A0 taip, kad H(X) = ��V; � > 0. Tada turi galioti nelygyb·e��jjV jj � 0, ir jjV jj = 0. Gautoji i�vada (u0; U; V ) = 0 prie�taraujaanksµciau suformuluotam rezultatui. Taigi, prielaida u0 = 0 neteisinga,ir u0 > 0: Padalin¾e (3.18) i�u0 ir paµzym·ej¾e atitinkamus koe�cientusU; V gausime nelygyb¾e

f(X) + U � G(X) + V �H(X) � f�; 8X 2 A0:Tod·el turi galioti

infX2A0

( f(X) + U � G(X) + V �H(X)) � f�: (3.19)

Bet de�inioji pastarosios nelygyb·es pus·e sutampa su �(U; V ), o 1 i�-vada teigia, kad �(U; V ) � f�: Dvi paskutiniosios nelygyb·es i¾rodo(3.17).Jei egzistuoja X 2 A, toks kad f(X) = f�, tai i�(3.19) i�plaukia

U � G(X) = 0:Apibr·eµztis. Vektorius (X;U; V ) vadinamas Lagrange�o funkci-

jos balno ta�ku, jei X 2 A0; U � 0, ir 8X 2 A0, (U; V ), U � 0,patenkintos nelygyb·es

L(X;U; V ) � L(X;U; V ) � L(X;U; V ): (3.20)

9 teorema. Vektorius (X;U; V ), X 2 A0; U � 0, yra Lagrange�ofunkcijos balno ta�kas tada ir tik tada, kai

Page 96: Matematinis programavimas

96 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

a) L(X;U; V ) = minX2A0 L(X;U; V );b) G(X) � 0; H(X) = 0;c) U �G(X) = 0:I¾rodymas. Sakysim (X;U; V ), X 2 A0; U � 0, yra La-

grange�o funkcijos balno ta�kas. Lygyb·e a) turi galioti pagal balnota�ko apibr·eµzimo (3.20) kairi ¾aj ¾a nelygyb¾e. De�inioji nelygyb·e, kuriosi�skleista forma yra �itokia

f(X) + U � G(X) + V �H(X) � f(X) + U � G(X) + V �H(X);

gal·etu¾ buti paµzeista, jei negaliotu¾ bent viena i� s ¾alygu¾ G(X) �0; H(X) = 0; nes U ir V gali buti parinkti norimai dideli absoliu-taus dydµzio prasme. Pa·em¾e U0; gauname nelygyb¾e U � G(X) � 0,o i¾vertin¾e G(X) � 0, U � 0; gauname lygyb¾e U � G(X) = 0: Tod·elgalioja a), b), c), ir pirmoji teoremos dalis i¾rodyta.Sakysim prie�ingai, µzinomas (X;U; V ), X 2 A0; U � 0, toks, kad

galioja a), b), c). D·el a) turi galioti de�inioji (3.20) nelygyb·e

L(X;U; V ) � L(X;U; V ); 8X 2 A0:Remiantis b) ir c), akivaizdu

L(X;U; V ) = f(X) + U � G(X) + V �H(X) =

= f(X) � f(X) + U � G(X) + V �H(X) =

= L(X;U; V );

t.y. , galioja ir kairioji (3.20) nelygyb·e.10 teorema. Vektorius (X;U; V ), X 2 A0; U � 0, yra Lagrange�o

funkcijos balno ta�kas tada ir tik tada, kai optimali P reik�m·e f(X)sutampa su optimalia D reik�me �(U; V ):

Page 97: Matematinis programavimas

3.2. DUALUMAS 97

I¾rodymas. Sakysim (X;U; V ), X 2 A0; U � 0, yra Lagrange�ofunkcijos balno ta�kas. Tod·el galioja tik k ¾a i¾rodytos teoremos b)teiginys, ir X yra leistinas P uµzdavinio sprendinys. Kadangi U � 0,tai (U; V ) yra leistinas D uµzdavinio sprendinys. Remiantis a), b) ir c)galima padaryti tokias i�vadas

�(U; V ) = L(X;U; V ) =

= f(X) + U � G(X) + V �H(X) = f(X):

7 teoremos 2 i�vada teigia, kad tokiu atveju X yra P uµzdaviniooptimalus sprendinys, o (U; V ) yra optimalus D uµzdavinio sprendinys.Sakysim atvirk�µciai, X yra P uµzdavinio optimalus sprendinys,

(U; V ) yra optimalus D uµzdavinio sprendinys ir �(U; V ) = f(X):Tod·el X 2 A0, U � 0, G(X) � 0, H(X) = 0. Kadangi X ir (U; V )yra leistini P ir D uµzdaviniu¾sprendiniai, tai atitinkamos tikslo funkciju¾reik�m·es turi patenkinti (3.11):

�(U; V ) = minX2A0

f(X) + U � G(X) + V �H(X) � (3.21)

� f(X) + U � G(X) + V �H(X) = f(X) + U � G(X) �

� f(X):

Bet pagal prielaid ¾a turi galioti �(U; V ) = f(X). Tod·el tarpkra�tiniu¾ (b) nariu¾ galioja lygyb·e, ir visas (3.21) nelygybes galimapakeisti lygyb·emis. T ¾a padarius, akivaizdu: U � G(X) = 0; ir

L(X;U; V ) = f(X) = minX2A0

L(X;U; V ):

Page 98: Matematinis programavimas

98 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

I¾rod·eme, kad galioja 9 teoremos a), b), c) s ¾alygos, vadinasi, (X;U; V )yra Lagrange�o funkcijos balno ta�kas.Galima parodyti, kad esant patenkintoms 8 teoremos prielaidoms,

i� P uµzdavinio sprendinio X egzistavimo i�plaukia tokio vektoriaus(U; V ), U � 0; egzistavimas, kad (X;U; V ) yra Lagrange�o funkcijosbalno ta�kas. Papildomai galiojant diferencijuojamumo prielaidai gal-ima i¾rodyti, kad balno ta�kas patekina Karush-Kuhn-Tucker s ¾alygasir atvirk�µciai, ta�kas, patenkinantis �ias s ¾alygas, yra balno ta�kas.�iame paragrafe paliet·eme tik pagrindinius dualumo teorijos rezul-

tatus, lieµcianµcius butinas ir pakankamas optimaliu¾sprendiniu¾s ¾alygas.Dualumo teorijos taikymai algoritmu¾konstravimui ir analizei apra�yti,pavyzdµziui [3].

3.3 Baudos ir barjeru¾metodai

Paprastumo d·elei tarkime, kad tikslo funkcija apibr·eµzta su visaisX 2 Rn, ir µzinomas leistinosios srities vidaus ta�kas X1. Pra-diniu ta�ku parinkus X1, lokalu¾ji¾ minimum ¾a, jei toks egzistuotu¾ sri-ties viduje, galima butu¾ rasti naudojant metod ¾a, skirt ¾a uµzdaviniamsbe ribojimu¾. Taµciau techniniuose bei ekonominiuose optimizavimouµzdaviniuose minimumas daµzniausiai pasiekiamas leistinosios sritiesribiniame ta�ke, kaip pavyzdµziui pavaizduota 3.11 paveiksle. Pagalie�kojimo be ribojimu¾metod ¾a gauta trajektorija, prasidedanti ta�keX1, �iuo atveju i�eina uµz leistinosios srities, paµzeisdama ribojim ¾ag1(X) < 0. Trajektorijos dalis iki susikirtimo su ribojimu gal·etu¾buti gauta ir pagal metod ¾a be ribojimu¾. Trajektorijos t ¾asa turi kom-promisi�kai suderinti funkcijos maµz·ejimo krypti¾ ir ribojimus. Bendr ¾afunkcijos reik�m·es sumaµz·ejim ¾a ir ribojimu¾ paµzeidim ¾a i¾vertina vadi-namoji baudos funkcija

B(X; r) = f(X) +1

rb(X) (3.22)

Page 99: Matematinis programavimas

3.3. BAUDOS IR BARJERU¾METODAI 99

µcia b(X) = 0, jei ribojimai nepaµzeisti: gi(X) � 0; i = 1; :::; k; gi(X) =0; i = k + 1; :::;m; ir b(X) > 0, jei ribojimai paµzeisti; r > 0. Antrasisbaudos funkcijos d·emuo rodo, kad ribojimu¾ paµzeidimas ekvivalentustam tikram tikslo funkcijos reik�m·es padid·ejimui. Daµznai naudojamoskvadratin·e ir absoliuti baudos:

b(X) =kXi=1

(max(0; gi(X))2 +

mXi=k+1

(gi(X))2; (3.23)

b(X) =kXi=1

max(0; gi(X) +mX

i=k+1

jgi(X)j: (3.24)

Baudos funkcija B(X; r) su pakankamai maµzu r staigiai did·eja uµzleistinosios srities ribu¾. Parametrui r art·ejant prie nulio, B(X; r)minimumo ta�kas art·eja prie (3.1) uµzdavinio sprendinio. Tod·el(3.1) uµzdavinys keiµciamas seka uµzdaviniu¾su diferencijuojama funkcijab(X), pavyzdµziui (3.23), apibr·eµziama maµz·ejanµcia parametro r seka.Kiekvieno paskesnio uµzdavinio pradinis ta�kas yra anstesnio uµz-davinio sprendinys. Paprastai, maµzinant r, grieµztinamos ir metodobe ribojimu¾sustojimo s ¾alygos.Galima parodyti, kad egzistuoja toks pakankamai maµzas r0, kad,

r � r0 absoliuµcios baudos funkcijos minimumas sutamps su sprendiniu.Tod·el uµzdavini¾ (3.1) galima pakeisti vienu minimizavimo uµzdaviniu,bet su nediferencijuojama, pavyzdµziui absoliutin·es baudos, funkcija.Diferencijuojam ¾a baudos funkcij ¾a, kai parametro r reik�m·es maµzos,

sunku minimizuoti, nes baudos funkcijos hesianas blogai apibr·eµztas,t.y. minimumo ta�kas yra gilaus griovio dugne. Tam tikru¾ sunkumu¾kyla ir tuo atveju, kai baudos funkcija nediferencijuojama.Vartojant baudos metodus, generuojama seka ta�ku¾, art·ejanµciu¾

prie sprendinio i�leistinosios srities i�or·es. Kartais tikslo funkcija bunaapibr·eµzta tik leistinoje srityje. Tada optimizavimo metodo generuo-jami ta�kai turi likti srities viduje viso minimizavimo poceso metu.

Page 100: Matematinis programavimas

100 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

Barjeru¾ funkcija skiriasi nuo baudos tuo, kad ji ima staigiai did·etiart·ejant prie ribojimu¾ir dar ju¾nepaµzeidus. Metodu be ribojimu¾gautatokios funkcijos minimizavimo trajektorija ima krypti i�ilgai (3.1) uµz-davinio ribojimu¾, ju¾ dar nepasiekus. Ai�ku, barjeru¾ metodas var-totinas tik tuo atveju, kai ribojimai nelygybiniai ir leistinosios sritieshiperturis nelygus nuliui. Plaµciausiai vartojama lagaritmin·e barjeru¾funkcija

B(X; r) = f(X)� rkX1=1

ln(�gi(X)): (3.25)

Vartojant barjeru¾ metod ¾a, uµzdavinys su ribojimais keiµciamasuµzdaviniu¾be ribojimu¾seka su r ! 0. Analogija tarp barjeru¾ir baudosmetodu¾ akivaizdi. D·el �ios analogijos abu metodai daµznai vadinamibaudos metodais, tik vienas i�orin·es baudos, o kitas vidin·es baudosmetodu. Sustojimo s ¾alyga nustatoma pagal maµz ¾a minimumo ta�kopokyti¾keliems gretimiems uµzdaviniams be ribojimu¾, t. y. su keliomismaµz·ejanµciomis parametro r reik�m·emis.Baudos metodas gana plaµciai vartojamas techniniams optimiza-

vimo uµzdaviniams spr¾esti. Jis efektyvus tada, kai baudos funkcijanaturaliai i�plaukia i�techninio uµzdavinio formuluot·es. Baudos meto-das, kartais to nesuvokiant, vartojamas daugiakriteriam optimizav-imo uµzdaviniui pakeisti vienkriteriu. Uµzdavinio formulavimo etapeinµzinieriai i�skiria vien ¾a kriteriju¾ kaip tikslo funkcij ¾a, kitus kriteri-jus pakeisdami ribojimais. Po to programuotojai, vartodami bau-dos metod ¾a, ribojimus perkelia i¾ tikslo funkcij ¾a. Taip visi kriterijaipakeiµciami vienu. Kadangi toka pakeitimas nevienintelis ir toli graµzune visada geriausias, reik·etu¾ ji¾pagri¾sti techninio uµzdavinio analize.Grieµztai matemati�kai baudos metod ¾a pirm ¾a kart ¾a pavartojo µzy-

mus amerikieµciu¾matematikas R. Courant 1943 m. jud·ejimo ribotojesrityje analizei. Baudos metodas gana plaµciai taikomas tiek teoriniu-ose tyrimuose, tiek konstruojant algoritmus. Beje, jis gan gerai tinka

Page 101: Matematinis programavimas

3.4. LEISTINU¾JU¾KRYP µCIU¾METODAI 101

daugiaekstremiu¾ uµzdaviniu¾ su ribojimais apytiksliam globalinio min-imumo i¾vertinimui. Lokalinio minimizavimo uµzdviniams spr¾esti bau-dos ir barjeru¾ metodai buvo plaµciai vartojami septintajame de�imt-metyje. Vien ¾a i�populiariausiu¾ to laikotarpio ESM programu¾SUMTsukur·e amerikieµciu¾ specialistai A.Fiacco ir G.McCormick. Pagrindi-nis �iu¾metodu¾ trukumas yra tas, kad baudos ir barjeru¾ funkciju¾ rel-jefe susidaro gilus sud·etingos formos grioviai, kuriuose nusileidimometodu¾ µzingsniai negali buti ilgi. �iuo metu lokalinio minimizav-imo uµzdaviniams su diferencijuojamomis tikslo ir ribojimu¾funkcijomisspr¾esti sukurti efektyvus metodai, kuriuose netiesiogiai panaudojamosbaudos funkcijos, kombinuojant jas su Lagrange�o funkcijomis. Pas-taruoju metu baudos funkciju¾ id·eja pergyvena savo renesans ¾a ry�iumsu vidinio ta�ko metodu¾teorija.Optimizavimo programu¾ paketuose verta tur·eti baudos funkcija

pagri¾st ¾a metod ¾a, kuriame pagalbinis uµzdavinys (baudos funkcijos min-imizavimas) butu¾sprendµziamas metodu, nejautriu i¾vairiems uµzdavinionereguliarumams. Tokiu pavyzdµziui gal·etu¾ buti FLEXI metodas[9], kuriame baudos funkcija minimizuojama deformuojamo simpleksometodu. �is metodas vartotinas tada, kai tikslo ar ribojimu¾ funkcijosapskaiµciuojamos su reik�mingomis paklaidomis, gali tur·eti nediferen-cijuojamumo poaibius ar kitokius nukrypimus nuo funkciju¾glotnumoprielaidos.

3.4 Leistinu¾ju¾krypµciu¾metodai

�ios klas·es metodu¾ pagrindin·e id·eja - rasti krypti¾, nepaµzeidµzianµci ¾aribojimu¾, kuria tikslo funkcija maµz·etu¾. Nenulinis vektorius D vadi-namas leistina kryptimi ta�ke X, jei egzistuoja toks r0, kad X + rdtenkina ribojimus su visais 0 < r < r0. VektoriusD vadinamas leistinanusileidimo kryptimi, jei egzistuoja toks r0 kad f(X + rD) < f(X) irX + rD tenkina ribojimus su visais 0 < r < r0. Pasirinkus leistin ¾a

Page 102: Matematinis programavimas

102 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

nusileidimo krypti¾, µzingsnis paprastai nustatomas, minimizuojant tik-slo funkcij ¾a �ia kryptimi, t.y. sprendµziant vienmati¾ minimizavimouµzdavini¾. I¾vairus metodai skiriasi krypties ir µzingsnio parinkimu.Paprastai �is metodas taikomas tada, kai ribojimai tiesiniai arbanetiesiniai nelygybiniai.D·el paprastumo nagrin·ekime uµzdavini¾ su tiesiniais ribojimais:

min f(X); AX +B � 0; CX + E = 0; (3.26)

kur, A ir C - k � n ir (m � k) � n dimensiju¾ matricos, o B ir E- k ir m � k - dimensiju¾ vektoriai, 0 - nulinis atitinkamo dimensijosvektorius, pavyzdµziui, uµzdavinio

f(X) = (x1 � 7)2 + (x2 � 5)2;

A =

0BB@�1 12 1�1 00 �1

1CCA ; B =0BB@�3�1500

1CCA ; (3.27)

tikslo funkcija yra kvadratin·e, o keturi ribojimai yra tiesiniai nelygy-biniai.Suformuluot ¾a uµzdavini¾ spr¾esime leistinu¾ju¾ krypµciu¾ metodu¾ pa-

grind·ejo Zoutendijk�o metodu. Sakykime Xk - ta�kas leistinoje srityje.Jei visi nelygybiniai ribojimai tenkinami kaip grieµztos nelygyb·es, taita�kas Xk yra vidinis leistinosios srities ta�kas. I� jo galima µzengtimetodo be ribojimu¾µzingsni¾ iki susikirtimo su leistinosios srities riba.Jei ta�kas Xk yra srities riboje, tai ribojimai, tenkinami kaip lygy-biniai, vadinami aktyviais ribojimais. Leistin ¾ajai krypµciai i� ta�ko,esanµcio ant srities kra�to, nustatyti sprendµziamas tiesinio programav-imo uµzdavinys:

Page 103: Matematinis programavimas

3.4. LEISTINU¾JU¾KRYP µCIU¾METODAI 103

minD

rf(Xk)D;

A1D � 0; C �D = 0; (3.28)

�1 � di � 1; i = 1; :::; n;

kur A1 yra matricos A dalis, atitinkanti aktyvius ribojimus.Geometrin·e uµzdavinio prasm·e �itokia: ie�koma kryptis, tenkinanti ak-tyvius ribojimus ir sudaranti minimalu¾kamp ¾a su antigradiento kryp-tini. Sakykime, (3.27) pavyzdyje Xk = (4; 7). Tada pirmieji du riboji-mai yra aktyvus, o tikslo funkcijos gradientas ta�ke Xk lygus (�6; 4).Taigi, leistin ¾ajai krypµciai nustatyti reikia spr¾esti tiesinio programav-imo uµzdavini¾:

min (�6d1 + 4d2);

�d1 + d2 � 0;

2d1 + d2 � 0; (3.29)

�1 � d1; d2 � 1:

Lengva i¾sitikinti, kad pagalbinio tiesinio programavimo uµzdavinio(3.29) sprendinys yra Dk = (1=2;�1), o minimali tikslo funkcijosreik�m·e lygi -7. �iuo atveju tikslo funkcijos minimumas kryptimi Dk

sutampa su (3.27) uµzdavinio sprendiniu (�e�tasis pratimas). Jei taipnebutu¾, rastame ta�ke butu¾galima nustatyti nauj ¾a leistin ¾aj ¾a krypti¾irt¾esti iteracini¾proces ¾a.�i¾ metod ¾a galima modi�kuoti uµzdaviniams su netiesiniais riboji-

mais. Aktyvieji ribojimai ta�ke Xk aproksimuojami tiesiniais, t. y.gi(X) � gi(Xk)+rgi(Xk)(Xk�X). Kaip ir anksµciau, leistinoji kryptis

Page 104: Matematinis programavimas

104 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

nustatoma aproksimuotam uµzdaviniui. Minimizuojant tikslo funkcij ¾a�ia kryptimi, gaunamas naujas ta�kas Xk+1 ir t. t. �i¾ metod ¾a gal-ima apibendrinti, i¾vertinant tikslo funkcijos, i�skleistos Taylor�o eilute,auk�tesn·es eil·es narius. Tada ie�koma krypties, tenkinanµcios i�tiestin-tus ribojimus ir maµziausiai besiskirianµcios nuo krypties, rodanµcios i¾aproksimuotos kvadratine funkcija tikslo funkcijos minimumo ta�k ¾a.Suprantama, aproksimuojanµcioji kvadratin·e funkcija turi buti teigia-mai apibr·eµzta.�ios klas·es metodai daµzniausia naudojami uµzdaviniams su tiesiniais

ribojimais spr¾esti. Jei ribojimai labai netiesiniai, metodai neefektyvusd·el trumpo µzingsnio kiekvienoje iteracijoje.

3.5 Gradientu¾ projekciju¾ ir redukciju¾metodai

Rosen�o metodas - vienas i� plaµciausiai naudojamu¾ gradientu¾projekciju¾metodu¾. Juo realizuojama ortogonali gradiento projek-cija i¾ i�tiestintus aktyvius ribojimus. D·el paprastumo tarkime, kadribojimai tiesiniai. I�pradinio ta�ko pagal minimizavimo be ribojimu¾metod ¾a einama iki trajektorijos sankirtos su leistinosios srities riba.Gali atsitikti ir taip, kad antigradientas kai kuriu¾ i� ribojimu¾, kurietenkinami kaip lygyb·es, atµzvilgiu nukreiptas i¾ leistinosios srities vidu¾.Tada tokie ribojimai i�braukiami i�aktyviu¾ribojimu¾s ¾ara�o. Antigra-dientas projektuojamas i¾ aktyviu¾ ribojimu¾ sankirt ¾a. Projekcija ap-skaiµciuojama dauginant antigradient ¾a i�matricos, sudarytos i�aktyviu¾ribojimu¾ (tiesiniu¾ nelygybiu¾) koe�cientu¾. �ia kryptimi ie�koma tik-slo funkcijos minimumo. Nauja iteracija pradedama aktyviu¾ribojimu¾s ¾ara�o sudarymu ir t. t.Rosen�o metodas, apibendrintas uµzdaviniams su netiesiniais ribo-

jimais, artimas leistinu¾ju¾ krypµciu¾metodui ir remiasi tiesine ribojimu¾

Page 105: Matematinis programavimas

3.5. GRADIENTU¾PROJEKCIJU¾IR REDUKCIJU¾METODAI 105

aproksimacija. Kadangi einant liestine, galima gerokai nutolti nuoleistinosios srities, tai daromas tik nedidelis µzingsnelis ir gautas ta�kaskoreguojamas, projektuojant ji¾ i¾ netiesinius ribojimus. Projekcijaapskaiµciuojama iteraciniais metodais, kurie artimi optimizavimo beribojimu¾ metodams. Tod·el ai�ku, kad µzengti dideli¾ µzingsni¾ liestin·eskryptimi gali buti neracionalu, kad nebutu¾per daug nutolta nuo leisti-nosios srities.Projekciju¾metodai plaµciai taikomi uµzdaviniams su tiesiniais ribo-

jimais spr¾esti. Jie ypaµc efektyvus (palyginti su kitais), kai yra daugkintamu¾jju¾. Remiantis i�d·estytomis id·ejomis, kintamosios metrikosmetodai be ribojimu¾nesunkiai modi�kuojami uµzdaviniams su tiesini-ais ribojimais. Tereikia modi�kuoti hesiano perskaiµciavimo formulestaip, kad butu¾ i¾vertinami aktyviu¾ ribojimu¾ aib·es pasikeitimai, t. y.jos sumaµz·ejimas arba papildymas naujais ribojimais.Redukcijos metodu¾ id·eja ta, kad dalis kintamu¾ju¾ traktuo-

jami kaip priklausomi ir gali buti i�reik�ti nepriklausomais kinta-maisiais sprendµziant aktyviu¾ju¾ ribojimu¾ lygtis. Aktyviu¾ju¾ tiesiniu¾ribojimu¾ lygtys sprendµziamos gana lengvai, bet eliminuoti priklauso-mus kintamuosius netiesiniu¾ribojimu¾atveju, sprendµziant (netiesines)lygtis, prakti�kai nei¾manoma. Taµciau palyginti paprastai galimagauti priklausomu¾ kintamu¾ju¾ diferencialines charakteristikas. Pana-grin·ekime dvieju¾kintamu¾ju¾uµzdavini¾ su vienu lygybiniu ribojimu

g(x1; x2) = 0: (3.30)

Tikslo ir ribojimo funkcijos diferencialai lygus:

@f(X) =@f(X)

@x1dx1 +

@f(X)

@x2dx2; (3.31)

@g(X) =@g(X)

@x1dx1 +

@g(X)

@x2dx2: (3.32)

Kadangi i�(3.30) i�plaukia, kad @g(X) = 0, tai i�(3.32) gauname:

Page 106: Matematinis programavimas

106 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

dx2 = ��@g(X)

@x1=@g(X)

@x2

�dx1: (3.33)

(3.33) i¾ra�¾e i¾ (3.31), gausime:

@f(X) =

�@f(X)

@x1��@f(X)

@x2� @g(X)@x1

=@g(X)

@x2

��dx1:

I�µcia i�plaukia, kad funkcijos f(X) (redukuota) i�vestin·e neprik-lausomo kintamojo x1 atµzvilgiu lygi

df(X)

dx1=@f(X)

@x1� @f(X)

@x2

�@g(X)

@x2

��1@g(X)

@x1:

Lokalaus minimumo ta�ko galima ie�koti kaip lygties

df(X)

dx1= 0

sprendinio. Pavyzdµziui, uµzdavinio su tikslo funkcija f(X) = x1+x2 irribojimu g(X) = x21 + x

22 � 1 = 0 redukuota i�vestin·e lygi

df(X)

dx1= 1� x1

x2:

Prilygin¾e pastar ¾aj ¾a i�vestin¾e nuliui ir i¾vertindami ribojim ¾a gausimeminimizavimo uµzdavinio sprendini¾ x1 = x2 = �1=

p2: Analiti�kai

i�spr¾esti i�vestin·es lygyb·es nuliui lygti¾ galima tik specialiais atvejais.Taµciau redukuota i�vestin·e gali buti panaudota ir iteraciniam algo-ritmui sudaryti. Sakysim, µzinomas leistinas sprrendinys X: I¾vertin¾eredukuotos i�vestin·es µzenkl ¾a ir parink¾e µzingsni¾ pagal kintam ¾aji¾4x1,µzingsni¾ pagal kintam ¾aji¾4x2 nustatysime pagal (3.33). �iuo atvejusvarbus tik redukuotos i�vestin·es µzenklas. Naujas ta�kas gaunamas,kaip i¾prasta, i� ta�ko X µzengus µzingsni¾ (4x1, 4x2). Gautasis ta�kas

Page 107: Matematinis programavimas

3.5. GRADIENTU¾PROJEKCIJU¾IR REDUKCIJU¾METODAI 107

daµzniausiai nepatenkina ribojimu¾ir tod·el turi buti koreguojamas. Ko-rekcija paprastai vykdoma sprendµziant lygti¾ g(X) = 0: Tod·el �iometodo µzingsnis negali buti ilgas.Daugelio kintamu¾ju¾ atveju metodas sudaromas analogi�kai. Ran-

damas tikslo funkcijos gradientas nepriklausomu¾kintamu¾ju¾atµzvilgiu,i¾vertinant m < n lygybiniu¾ribojimu¾. Jis vadinamas redukuotu gradi-entu:

rRf(X) = rX1 f(X) � (3.34)

rX2 f(X) ��@g(X)

@X2

��1� @g(X)@X1

;

µcia X1 = (x1; :::; xn�m) - nepriklausomu¾ kintamu¾ju¾ vektorius, X2 =(xn�m+1; :::; xn) - priklausomu¾ kintamu¾ju¾ vektorius, o gradientu¾ vek-toriai suprantami kaip vektoriai-eilut·es. Daliniu¾ i�vestiniu¾ vektoriai�iu¾ kintamu¾ju¾ atµzvilgiu µzymimi gradiento simboliu su atitinkamu in-deksu, o vektorin·es ribojimu¾ funkcijos g = (g1; :::; gm) i�vestiniu¾ma-tricos µzymimos @g(X)@X1

ir @g(X)@X2

@g(X)

@X1

=

0B@@g1@x1

::: @g1@xn�m

::: ::: :::@gm@x1

::: @gm@xn�m

1CA ;

@g(X)

@X2

=

0B@@g1

@xn�m+1::: @g1

@xn

::: ::: :::@gm

@xn�m+1::: @gm

@xn

1CA :µZingsnio kryptis (�X1 ;�X2) parenkama �itaip:

Page 108: Matematinis programavimas

108 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

4X1 = �rRf(X); (3.35)

4X2 = �rRf(X) � �

@g(X)

@X2

��1� @g(X)@X1

!t:

Kai ribojimai tiesiniai, (3.35) kryptis nei�veda i� leistinosios sri-ties. Jei ribojimai netiesiniai, tai jie daµzniausiai paµzeidµziami. Tod·el,µzengus µzingsni¾ kryptimi (3.35), reikia koreguoti gaut ¾aji¾ ta�k ¾a X + (4X1; 4X2). Paprastai Niutono metodu sprendµziama lygµciu¾ sis-tema g(X) = 0 kintamu¾ju¾X2 atµzvilgiu, esant �ksuotam X1+ 4X1.Taigi, kaip ir vartojant projekciju¾metod ¾a, gaunamas trumpas µzings-nis, nors skaiµciavimai ir komplikuoti. Tiek gradientu¾ projekciju¾,tiek gradientu¾ redukciju¾ metodai (ypaµc pastaruoju metu pasiulytiapibendrinti metodai) efektyvus uµzdaviniams su tiesiniais ribojimaisir dideliu kintamu¾ju¾ skaiµciumi. Vienas i� pagrindiniu¾ apibendrinimu¾yra kintamos metrikos id·eju¾ panaudojimas krypties parinkimui. Lit-eraturoje paskelbta rezultatu¾, rodanµciu¾ redukuotu¾ gradientu¾ tipometodu¾ efektyvum ¾a sprendµziant kai kuriuos netiesinius uµzdavinius.Tiksliai apibr·eµzti ju¾ klas¾e gana sunku, bet vaizdµziai tariant, galimaj ¾a nusakyti kaip klas¾e uµzdaviniu¾su artimais tiesiniams ribojimams.

3.6 Lagrange�o funkciju¾metodai

Nagrin·edami butinas minimumo s ¾alygas 1 skyrelyje, pabr·eµz·eme La-grange�o funkcijos reik�m¾e netiesinio programavimo uµzdaviniams anal-izuoti. Jos pagrindu galima konstruoti ir minimizavimo metodus.Kaip jau buvo min·eta, Lagrange�o funkcijos balno ta�kas nusako i�k-ilo programavimo uµzdavinio sprendini¾. Tod·el metodas balno ta�kuiie�koti kartu yra ir metodas i�kilojo programavimo uµzdaviniui spr¾esti.Priminsime, kad Lagrange�o funkcija vadinama

Page 109: Matematinis programavimas

3.6. LAGRANGE�O FUNKCIJU¾METODAI 109

L(X;�) = f(X) +mXi=1

�igi(X); �i � 0:

Reikia rasti ta�k ¾a (X�;��), tenkinanti¾nelygybes

L(X�; �) � L(X�; ��) � L(X; ��); �� i � 0:

Kadangi pastarasis uµzdavinys yra su paprastais (neneigiamumo)ribojimais, tai ji¾galima spr¾esti gradientiniu metodu

Xj+1 = Xj � jmXi=1

�jirgi(Xj);

�j+1 = (�j + j g(Xj))+ (3.36)

µcia µzenklas (�)+ rei�kia vektoriaus projekcij ¾a i¾teigiam ¾a kvadrant ¾a: t.y.aib¾e {�: �i � 0, i = 1; :::;m }, j - µzingsnio ilgio daugiklis. Taµciau kaipir paprasti gradientiniai minimizavimo metodai, (3.36) nelabai efek-tyvus, o kartais juo apskritai nerandamas tikslus sprendinys. Antravertus, lokalaus minimumo ta�kas i�rei�kiamas Lagrange�o funkcijosbalno ta�ku tik esant gan grieµztoms prielaidoms (i�kilumas, reguliaru-mas). Bendru atveju tegalima teigti, kad Lagrange�o funkcija yrastacionari minimumo ta�ke: jei X� - lokalaus minimumo ta�kas, iraktyviu¾ju¾ribojimu¾gradientai rgi(X�), i 2 I�, tiesi�kai nepriklausomi,tai egzistuoja toks ��, kad

rf(X�) +mXi=1

��irgi(X�) = 0;

ir X� yra funkcijos L(X;��) stacionarus ta�kas. Metodu (3.36) pra-dinio uµzdavinio minimumo ta�kas nebutinai bus rastas. Taip gali at-sitikti, jei Lagrange�o funkcijos stacionarus ta�kas bus ne minimumo,

Page 110: Matematinis programavimas

110 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

o perlinkio arba maksimumo ta�kas. I� µcia i�plaukia naturalus no-ras �pataisyti�Lagrange�o funkcij ¾a taip, kad stacionarus ta�kas virstu¾minimumo ta�ku. T ¾a galima lengvai padaryti prid·ejus prie L(X;�)nari¾, kuris pats ir jo gradientas butu¾lygus nuliui stacionariame ta�ke,o tolstant nuo jo, pakankamai greitai did·etu¾. Viena i�paprasµciausiu¾ir plaµciausiai paplitusiu¾modi�kuotu¾Lagrange�o funkciju¾yra �i:

LI(X;�; r) = f(X) +mXi=1

�i gi(X) +1

r

Xi2Ig2i (X); (3.37)

µcia I - aktyviu¾ju¾ ribojimu¾ indeksu¾ aib·e. Nesunku i¾rodyti, kadegzistuoja baigtinis r1, uµztikrinantis LI(X;�; r) hesiano teigiam ¾aapibr·eµztum ¾a su visais r < r1. Taigi X� yra modi�kuotos Lagrange�ofunkcijos minimumo ta�kas. �i i�vada teisinga tik esant tam tikroms� ir r reik�m·ems, kurios i�anksto neµzinomos. Tod·el modi�kuotu¾La-grange�o funkciju¾pagrindu kuriamuose metoduose turi buti apskaiµci-uoti priimtini �iu¾reik�miu¾ i¾verµciai. Baudos daugiklio r i¾tak ¾a nesunkusuprasti, prisiminus baudos metodu¾ aptarim ¾a. Parink¾e per maµz ¾a rreik�m¾e, tur·esime staigiai kylanti¾funkcijos reljefo �lait ¾a tuoj uµz leisti-nosios srities ribos. Anksµciau buvo pabr·eµzta, kad toki ¾a funkcij ¾a mini-mizuoti sunku, ypaµc kai srities riba kreiva. Kai r reik�m·e per didel·e,gali nepavykti transformuoti Lagrange�o funkcijos stacionaraus ta�ko i¾(3.37) minimumo ta�k ¾a. Jei butu¾µzinoma daugikliu¾vektoriaus reik�m·e��, tai netiesinio programavimo uµzdavini¾ gal·etume i�spr¾esti, vien ¾akart ¾a minimizuodami modi�kuot ¾a Lagrange�o funkcij ¾a (be ribojimu¾).Taµciau sprendµziant realius uµzdavinius �� buna neµzinomas, ir ji¾ tenkavertinti naudojantis informacija apie f(X) ir gi(X); i = 1; :::;m, gautaankstesn·ese iteracijose. Panagrin·esime specialu¾ minimizavimo uµz-davinio atveji¾, kai n·era nelygybiniu¾ribojimu¾

minG(X)=0

f(X); G(X) = (g1(X); :::; gm(X))t:

Page 111: Matematinis programavimas

3.6. LAGRANGE�O FUNKCIJU¾METODAI 111

�iuo atveju modi�kuota Lagranµzo funkcija lygi

L(X;�; r) = f(X) +mXi=1

�i gi(X) +1

2r

mXi=1

g2i (X);

o jos gradientas i�rei�kiamas formule

rXL(X;�; r) = rf(X) +mXi=1

(�i +1

rgi(X)) rgi(X): (3.38)

Algoritmo vykdymui prad·eti reikia pasirinkti pradines � ir rreik�mes. Turint einam ¾asias Lagrange�o ir baudos daugikliu¾reik�mes,�k , rk, sprendµziamas minimizavimo be ribojimu¾uµzdavinys

min L(X; �k ; rk):

I�sprendus �i¾uµzdavini¾, gaunamas naujas minimumo ta�ko i¾vertis Xk:Remiantis modi�kuotos Lagranµzo funkcijos gradiento (3.38) lygybenuliui ta�ke Xk Lagrange�o daugikliai perskaiµciuojami pagal formul¾e

�k+1 = �k +1

rkG(Xk):

Baudos daugiklis sumaµzinamas padauginant ji¾ i� koe�ciento: rk+1 =� rk; 0 < � < 1: I¾rodoma, kad esant pakankamai bendromsprielaidoms, toks metodas konverguoja i¾ lokalu¾ji¾minimum ¾a.Jei uµzdavinyje be lygybiniu¾yra ir nelygybiniai ribojimai, pastaru-

osius galima pakeisti lygybiniais uµzdavinio kintamuosius papildant�ktyviaisiais kintamaisiais. Kitokia metodo versija, kurioje einama-sis ta�kas nustatomas (3.37) minimizavimu. �iuo atveju reik�m¾eturi aktyviu¾ju¾ ribojimu¾ aib·es nustatymo budas. Aktyvieji ribojimaidaµzniausiai prognozuojami kiekvienam minimizavimo (be ribojimu¾)kintamu¾ju¾ vektoriaus X atµzvilgiu ciklui. I¾vairus modi�kuotu¾ La-grange�o funkciju¾ metodai skiriasi baudos ir Lagrange�o daugikliu¾

Page 112: Matematinis programavimas

112 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

perskaiµciavimo, aktyviniu¾ ribojimu¾ aib·es nustatymo, minimizavimokintamu¾ju¾vektoriaus X atµzvilgiu budais. Praktinis metodo efektyvu-mas priklauso ir nuo programin·es realizacijos. Pabr·e�ime, kad La-grange�o funkcijomis pagri¾stu¾ metodu¾ efektyvumo laidas - ribojimu¾i¾vertinimas Lagrange�o daugikliais, kai baudos narys tik �pataiso�Lagrange�o funkcij ¾a; tod·el baudos daugikli¾ (3.37) formul·eje dauglengviau i¾vertinti negu tiesiogiai taikomos baudos metoduose (3.24),(3.23), (3.25). Lagrange�o daugikliu¾i¾verµciai perskaiµciuojami iteracini-ais metodais, kuriu¾ iteracijos eina pakaitomis su (3.37) funkcijos min-imizavimo X atµzvilgiu iteracijomis (kintamos metrikos metodu).Efektyvus netiesinio programavimo metodai sukurti remiantis

pana�ia id·eja. Nors bendru atveju Lagrange�o funkcijos stacionarusta�kas X atµzvilgiu nebutinai yra minimumo ta�ku, bet tam tikrubudu parink¾e X kitimo aib¾e, galime garantuoti, kad �ioje aib·eje sta-cionarus ta�kas butu¾minimumo ta�ku. Sakykime, X�-lokalaus mini-mumo ta�kas, o ��i, i 2 I tokie, kad

rf(X�) +Xi2I��irgi(X�) = 0;

µcia I - aktyviu¾ju¾ ta�ke X� ribojimu¾ indeksu¾ aib·e. Tada X� yrafunkcijos L(X;��) minimumo ta�kas aib·eje, kuri ¾a apibr·eµzia ortog-onalus aktyviniu¾ ribojimu¾ gradientams vektoriai. Taigi, µzinodami��, gal·etume rasti X� vien ¾akart minimizuodami Lagrange�o funkcij ¾aaib·eje, apra�ytoje tiesiniais ribojimais. Kadangi �� neµzinomas, taiji¾ reikia i¾vertinti naudojantis informacija apie tikslo ir ribojimu¾funkcijas, gaunama minimizavimo eigoje. Metod ¾a sudaro viena kit ¾akeiµcianµcios iteracijos: Lagrange�o daugikliu¾ i¾verµciu¾ tikslinimo ir La-grange�o funkcijos minimizavimo X atµzvilgiu. Taµciau tiksliai mini-mizuoti Lagrange�o funkcij ¾a esant netiksliems �� i¾verµciams daµzniau-siai neverta Tod·el vietoj �io minimizavimo uµzdavinio formuluojamaskvadratinio programavimo uµzdavinys, kurio tikslo funkcija yra kvadra-tine funkcija aproksimuota Lagrange�o funkcija. Ji konstruojama nau-

Page 113: Matematinis programavimas

3.7. METODU¾APTARIMAS 113

dojantis hesiano perskaiµciavimo formul·emis, kaip ir kintamos metrikosmetoduose. Kvadratinio programavimo uµzdaviniams spr¾esti yra labaiefektyviu¾algoritmu¾, tod·el �i iteracija nekelia problemu¾.Modi�kuotomis Lagrange�o funkcijomis pagri¾stu¾ metodu¾ efek-

tyvum ¾a lemia Lagrange�o daugikliu¾ i¾verµciu¾ ir hesiano perskaiµciav-imo metodai. Modi�kuotu¾ Lagrange�o funkciju¾ metodai yra vieni i�efektyviausiu¾ netiesinio programavimo uµzdaviniams su diferencijuo-jamomis tikslo ir ribojimu¾ funkcijomis spr¾esti, kai kintamu¾ju¾ skaiµciusnelabai didelis (iki keliu¾�imtu¾). �ie metodai ypaµc efektyvus uµzdavini-ams su tiesiniais ribojimais.

3.7 Metodu¾aptarimas

Paprasµciausi yra uµzdaviniai su diferencijuojamomis tikslo funkcjomisir tiesiniais ribjimais. Jiems spr¾esti sukurta daug efektyviu¾metodu¾irjuos realizuojanµcios programin·es i¾rangos. Uµzdaviniai su tiesiniais ribo-jimais netgi paprastesni uµz uµzdavinius be ribojimu¾ta prasme, kad d·elribojimu¾sumaµz·eja leistinosios aib·es dimensija. Uµzdaviniams su tiesini-ais ribojimais yra efektyvus pojekciju¾ ir redukciju¾ metodai, nes �iu¾metodu¾ operacijos realizuojamos nesud·etingomis matricu¾ daugybosoperacijomis. Lagrange�o funkciju¾metodai taip pat tinka minimiza-vimo uµzdaviniams su tiesiniais ribojimais. Taµciau naudoti �iems uµz-daviniams kompiuteriu¾programas, skirtas bendro pobudµzio netiesini-ams uµzdaviniams, ne visada tikslinga. Pavyzdµziui Powell�o arba Schit-tkowski�o programos labai efektyvios kreipiniu¾ i¾ tikslo ir ribojimu¾funkciju¾ papogrames skaiµciaus atµzvilgiu. Taµciau jos uµzima labaidaug operatyvios kompiuterio atminties, tod·el jomis galima spr¾estimaµzesnio kintamu¾ju¾skaiµciaus uµzdavinius negu gradientu¾projekciju¾arredukciju¾ metodais. Jei ribojimai tiesiniai, o tikslo funkcija nedifer-encijuojama, tai pastarieji metodai gali buti nesunkiai apibendrinti,imant vietoj gradiento kvazigradient ¾a. Tais atvejais, kai tikslo funkcija

Page 114: Matematinis programavimas

114 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

daugiaekstrem·e arba jai budingi kitokie nereguliarumai, retai pavyk-sta pasinaudoti tiesiniu¾ribojimu¾speci�ka.Lokalaus minimizavimo su netiesiniais ribojimais uµzdaviniams, kai

tikslo ir ribojimu¾ funkcijos diferencijuojamos, o kintamu¾ju¾ nelabaidaug (iki keliu¾ �imtu¾), efektyviausi yra Lagrange�o funkciju¾ meto-dai. Jie visapusi�kai i�tyrin·eti, juos realizuojanµcios kompiuteriu¾ pro-gramos eksplotuojamos ilgus metus. Tod·el programu¾konstrukcija yrai�baigta, sukurti gana tobuli pagalbiniu¾ uµzdaviniu¾ sprendimo meto-dai. Taµciau �ie metodai nelabai tinka tais atvejais, kai tikslo arribojimu¾ funkcijos nediferencijuojamos. Jei skaiµciavimo paklaidospernelyg didel·es, tai skaitmeni�kai vertinant dalines i�vestines, gal-ima gauti beprasmius rezultatus. Kartais funkcijos reik�m·es skaiµci-uojamos iteraciniais metodais, kuriu¾ tikslumas nesunkiai reguliuoja-mas. Pavyzdµziui, iteracinis netiesiniu¾diferencialiniu¾lygµciu¾sprendimoprocesas nutraukiamas sprendinio tikslum ¾a lemiantiems parametramspasiekus tam tikras reik�mes. Tokiu atveju pradiniame minimiza-vimo etape racionalu imti didesni¾ nepriklausomo kintamojo pokyti¾skirtumin·ese formul·ese ir leisti didesn¾e funkcijos skaiµciavimo paklaid ¾a.Art·ejant prie minimumo, funkcijos skaiµciavimo tikslum ¾a verta didinti,o diferencijavimo µzingsni¾maµzinti. Panagrin·ekime paprasµciausi ¾a vienokintamojo atveji¾. Gautos i�vados tinka ir dalin·ems i�vestin·ems, t. y.gradientui i¾vertinti. Naudojantis Taylor�o formule, funkcijos reik�m·esprieaugi¾galima i�reik�ti �itaip:

f(x+ h)� f(x) = f 0(x) � h+ 12f 00(z) � h2; x � z � x+ h:

Aproksimuodami i�vestin·es reik�m¾e baigtiniu skirtumu

f 0(x; h) tf(x+ h)� f(x)

h(3.39)

�i�tiesinimo�paklaid ¾a galime i¾vertinti dydµziu

Page 115: Matematinis programavimas

3.7. METODU¾APTARIMAS 115

max x� z� x+hf00(z) h2=2 = f 00 � h2=2:

Kadangi funkcijos reik�m·es skaiµciuojamos su paklaida, kuri ¾apaµzym·esime ", tai bendras (3.39) paklaidos i¾vertis lygus

1

2f 00 h2 +

2"

h:

�i paprasta formul·e atspindi abu pagrindinius paklaidu¾ �altinius:funkcijos �i�tiesinimo� paklaida did·eja proporcingai h2, o funkcijosskaiµciavimo paklaidos i¾taka did·eja proporcingai h�1. Minimizav¾epaklaidos i¾verti¾ h atµzvilgiu, gausime optimalu¾ µzingsnio ilgi¾ h0 =2p�=f 00. Tiesiogiai pasinaudoti �ia formule nei¾manoma, nes neµzino-

mas antrosios i�vestin·es maksimumas f 00. Padar¾e papildom ¾a prielaid ¾aapie funkcijos ir jos i�vestin·es kitim ¾a, gal·etume parodyti, kad opti-malus µzingsnio ilgis proporcingas

p"0; kur "0 � santykin·e funkcijos

skaiµciavimo paklaida. Tada santykin·e i�vestin·es i¾verµcio paklaida taippat proporcinga

p"0. Grubiai kalbant, reik�miniu¾ µzenklu¾ skaiµcius

i�vestin·es i¾vertyje ne didesnis uµz pus¾e reik�miniu¾ µzenklu¾ skaiµciausfunkcijos reik�m·es i¾vertyje. Art·ejant prie minimumo, "0 gali neleisti-nai i�augti net tada, kai parenkamas optimalus diferencijavimo µzings-nis. Tod·el gali buti tikslinga pereiti prie tikslesn·es, pavyzdµziui, cen-trinio skirtumo formul·es. µZinomos adaptyvios paprogram·es, realizuo-janµcios optimalius skaitmeninio diferencijavimo metodus. Taµciau josyra sud·etingos, naudoja daug funkcijos reik�miu¾. Tod·el paprastaiapsiribojama vienpusio arba centrinio skirtumo formul·emis, kurioseµzingsnis parenkamas vadovaujantis analogi�kais anksµciau pateiktiemssamprotavimams. Optimaliai parinkti ribojimu¾ funkciju¾diferencijav-imo formul¾e ir jos parametrus sunkiau, nes svarbus ne pats gradien-tas, o tikslo funkcijos gradiento (arba kokios nors kitos nusileidimokrypties) projekcija i¾aib¾e, apibr·eµziam ¾a ribojimu¾funkciju¾gradientais.Kadangi �iuo klausimu n·era netgi teoriniu¾rekomendaciju¾, tai vadovau-

Page 116: Matematinis programavimas

116 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

jamasi tais paµciais samprotavimais, kaip ir tikslo funkcijos atveju.Svarbi efektyvaus netiesinio programavimo metodu¾ panaudojimo

s ¾alyga yra tinkamas tikslo ir ribojimu¾ funkciju¾ bei nepriklausomu¾kintamu¾ju¾mastelio parinkimas. Teori�kai metodai daµzniausiai invari-anti�ki masteliu¾ atµzvilgiu, taµciau garantuoti, kad �i ¾a savyb¾e tur·es irju¾realizacijos, negalima. Viena i�prieµzasµciu¾ta, kad kompiuterio pro-gramos vykdo veiksmus ne tik su santykiniais bet ir su absoliuµciaisdydµziais. Pavyzdµziui, dabar paplitusiu Pentium tipo kompiuteriu min-imizuojant ta paµcia gradientinio tipo metod ¾a realizuojanµcia kompiu-terio programa funkcijas f(X) ir 10�20f(X), vargu ar galima tik·etisto paties atsakymo (suprantama, atsiµzvelgiant i¾ funkcijos reik�m·esmasteli¾) jau vien d·el to, kad antrajai funkcijai daugelis ta�ku¾ buslaikoma optimaliais d·el maµzesn·es uµz kompiuterio programoje uµz�k-suotas ribines gradiento normos reik�mes.Beveik visiems algoritmams nepageidautina, kad funkcijos variacija

butu¾ artima nuliui. Taip pat nepageidautinos didelio absoliu-taus didumo funkcijos reik�m·es. Kuriant taikomojo uµzdaviniomatematini¾ modeli¾, rekomenduotina funkcijos reik�m·ems parinktitoki¾ masteli¾, kad jos minimumas butu¾ apie vienet ¾a, o maksimaliosreik�m·es, pakeltos kubu, butu¾ ne didesn·es uµz maksimalu¾ kompi-uterio skaiµciu¾. Sud·etingiau parinkti nepriklausomu¾ kintamu¾ju¾ irribojimu¾ funkciju¾mastelius. Gerai apibr·eµzta laikoma tokia funkcija,kurios nepriklausomu¾ kintamu¾ju¾ vienodi pokyµciai sukelia tos paµcioseil·es funkcijos prieaugius. Specialioje literaturoje galima rastisamprotavimu¾, kaip tiesi�kai transformuoti nepriklausomus kinta-muosius, kad butu¾ optimaliai suderinti masteliai. Kadangi prak-ti�kai juos realizuoti ne taip paprasta, daµzniausiai apsiribojama tiknaturaliu¾ uµzdavinio nepriklausomu¾ kintamu¾ju¾ mastelio parinkimu.Ribojimu¾ funkcijoms �alia gero apibr·eµztumo keliamas papildomasreikalavimas - ju¾ i¾taka turi buti apylyg·e, t.y. vienodo dydµzionepriklausomu¾ kintamu¾ju¾ pokyµciai tur·etu¾ i��aukti tos paµcios eil·esribojimu¾ funkciju¾ pokyµcius. Geriausi netiesinio programavimo algo-

Page 117: Matematinis programavimas

3.7. METODU¾APTARIMAS 117

ritmai automati�kai parenka priimtinus mastelius, taµciau vartotojas,formuluodamas uµzdavini¾, tur·etu¾ atsiµzvelgti i¾ �ias paprastas rekomen-dacijas. Masteliu¾parinkimo nei¾manoma visi�kai automatizuoti, o for-muluojant uµzdavini¾ i¾vertinti �iuos samprotavimus daµzniausiai ne taipjau sunku.Uµzdaviniams su ribojimais, kaip ir be ju¾, viena i� pagrindiniu¾

rekomendaciju¾ - panaudoti kuo i�samesn¾e informacij ¾a apie funkciju¾i�vestines. Kai tikslo ir netiesin·es ribojimu¾ funkcijos diferencijuo-jamos, efektyviausi yra Lagrange�o funkciju¾ metodai. T ¾a patvirtinagausus ekspermentiniu¾tyrimu¾rezultatai paskelbti literaturoje. Taµciau�ie metodai netinka uµzdaviniams, kuriu¾tikslo funkcija neapibr·eµzta uµzleistinosios srities ribu¾. Tokiu atveju vartotinas barjeru¾metodas.Daug sud·etingiau parinkti efektyvu¾metod ¾a, kai funkciju¾reik�mes

tegalima apskaiµciuoti duotuoju algoritmu, kurio paklaidos tokiosdidel·es, kad skaitmeni�kai diferencijuoti beprasmi�ka. Tada ribojimaii¾vertinami baudos arba barjeru¾ metodais, o uµzdavinys be ribojimu¾sprendµziamas pagal vien ¾a i� tiesioginio ie�kojimo algoritmu¾. Kuri-ant tokius metodus, daug k ¾a tenka spr¾esti euristi�kai. Tod·el sunkuapibr·eµzti ju¾ racionalaus panaudojimo sriti¾. Kai kurios rekomendaci-jos, kada vartoti tiesioginio ie�kojimo ir baudos metodus, pateiktosanksµciau. Plaµciai naudojamas metodas - FLEXI, kuris pagri¾stas bau-dos ir deformuojamo simplekso metodais. Taµciau uµzdaviniams su difer-encijuojamomis tikslo funkcijomis, Lagrange�o funkcijomis pagti¾stimetodai gerokai efektyvesni negu FLEXI. Tai reikia tur·eti galvojeruo�iant optimizavimo uµzdavini¾ spr¾esti kompiuteriu.Daugiaekstremiai uµzdaviniai su bendro pobudµzio netiesiniais ri-

bojimais baudos metodu daµzniausiai pakeiµciami uµzdaviniais su pa-prastais ribojimais, kuriems skirta dauguma globalinio minimizavimometodu¾. �is budas grindµziamas tuo, kad kuriant globaliuosius meto-dus, apie tikslo funkcij ¾a paprastai daromos tik labai bendros priekai-dos. Taigi naturalu perkelti i¾ tikslo funkcij ¾a visus uµzdavinio sunku-mus, nes pagrindin·es prielaidos lieka patenkintos. Kadangi baudos

Page 118: Matematinis programavimas

118 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

daugiklis parenkamas gana laisvai, o globalaus minimizavimo meto-dais minimumas nustatomas labai apytiksliai, tai tokiu metodu gaut ¾asprendini¾ verta patikslinti lokalaus netiesinio programavimo metodu,kuris parenkamas atsiµzvelgiant i¾ tikslo funkcijos ir ribojimu¾ savybes.Kai kuriuose, daµzniausiai atsitiktinio globalaus ie�kojimo, metoduoseribojimai vertinami taip: minimizuojama hiperstaµciakampyje, apra�y-tame apie leistin ¾aj ¾a sriti¾. Jei ta�kas patenka i¾ leistin ¾aj ¾a sriti¾, imamatikslo funkcijos reik�m·e, jei ne - koks nors didelis skaiµcius. Taµciau �ismetodas visi�kai netinka daµznai pasitaikantiems uµzdaviniams, kuriu¾leistinosios srities hiperturis yra labai maµzas palyginti su apra�ytohiperstaµciakampio, t. y. tikimyb·e pataikyti i¾ leistin ¾aj ¾a sriti¾ artimanuliui. Beje �i¾ metod ¾a galima interpretuoti kaip baudos metod ¾a sutrukia baudos funkcija.Kartais kyla nesusipratimu¾ d·el gauto optimizavimo uµzdavinio

sprendinio tikslumo. Daµznas nepatyr¾es vartotojas, nurod¾es baigimos ¾alygu¾ parametr ¾a lygu¾ ", tikisi, kad rastas sprendinys skiriasi nuotikrojo ne daugiau ". Tokia nuomon·e susiformuoja naudojantispaprastesniu¾ uµzdaviniu¾ sprendimo algoritmais, kurie garantuoja ran-damo sprendinio tikslum ¾a. Pavyzdµziui, pagal standartines sinuso arbakvadratin·es �aknies radimo paprogrames funkcijos reik�m·e apskaiµci-uojama ma�ininiu tikslumu. Netiesinio programavimo metodai galigarantuoti randamo sprendinio tikslum ¾a tik labai specialiais atvejais.Prakti�kai baigimo s ¾alygos apibr·eµziamos keliais budais. Gradientiniotipo metodu¾ viena i� baigimo s ¾alygu¾ yra butinu¾ minimumo s ¾alygospatenkinimas metodo vartotojo uµzduotu tikslumu. Taµciau tokias s ¾aly-gas (ypaµc nei�kiliu¾ju¾funkciju¾atveju) gali tenkinti ta�kai, esantys ganatoli nuo lokalaus minimumo ta�ko. Jeigu tikslo ir ribojimu¾ funkci-joms nekeliami labai grieµzti reikalavimai, negalima garantuoti, kadgradiento projekcija i¾ribojimus monotoni�kai maµz·es. Tod·el sustojimos ¾alyga gali buti tenkinama ne tik lokalaus minimumo aplinkoje, betir nutolusiuose nuo jo �sp ¾astuose�. Kitos, ypaµc tiesioginio ie�kojimometodu¾, sustojimo s ¾alygos i�rei�kia minimizavimo proceso sul·et·ejim ¾a,

Page 119: Matematinis programavimas

3.8. ISTORIN ·ES PASTABOS 119

t.y. menk ¾a rastojo ta�ko bei funkcijos reik�m·es kitim ¾a keliose i�eil·eseinanµciose i¾teracijose. Tai budinga lokalaus minimumo aplinkai, betv·elgi ne tik jai. Tod·el gaut ¾a sprendini¾ verta patyrin·eti. Galima pa-bandyti i� gauto arba kito ta�ko minimizuoti tuo paµciu metodu sukitais parametrais arba kitu metodu. Daµznai sprendinio analizei bunanaudinga tikslo ir ribojimu¾ funkciju¾pjuvius per gaut ¾aji¾ ta�k ¾a pavaiz-duoti gra�kai.Galima pabr·eµzti, kad netiesinio programavimo uµzdaviniai sud·etingi

ir n·era universaliu¾ metodu¾ jiems spr¾esti. Parenkant metod ¾a, reikiaatidµziai palyginti uµzdavinio savybes ir prielaidas, kuriomis pagri¾stastas ar kitas metodas. Nors matematin·e optimizavimo teorija geraii�vystyta, bet s·ekmingam sud·etingu¾ praktikos uµzdaviniu¾ sprendimuireikia tam tikros patirties.

3.8 Istorin·es pastabos

Trumpai paliesime tik minimumo s ¾alygu¾tem ¾a. Ne tod·el, kad metodu¾kurimas ir tyrimas butu¾ maµziau svarbus. Reikalas tas, kad metodu¾kurimas aktyviai tebesit¾esia ir tod·el sunku objektyviai i¾vertinti gautu¾rezultatu¾ svarb ¾a bei aktualum ¾a. Minimumo s ¾alygu¾ teorija jau gani�baigta, jos rezultatu¾ vertinimas pateikiamas apµzvalgose, dalyko is-torijai skirtuose straipsniuose ir netgi vadov·eliuose.Paprasµciausios butinos minimumo s ¾alygos diferencijuojamai vieno

kintamojo funkcijai i�rei�kiamos i�vestin·es lygybe nuliui. �ios s ¾alygosdaµznai vadinamos Fermat (1601-1665) teorema, nors tuo metu, kaikur·e P.Fermat, i�vestin·es s ¾avoka dar nebuvo grieµztai suformuluota.Butinas lokalaus minimumo s ¾alygas uµzdaviniams su lygybiniais ri-

bojimais suformulavo µzymus matematikas ir mechanikas J.Lagrange,gyven¾es 1763-1813. V·eliau Lagrange�o metodas buvo panaudotasi¾vairiems uµzdaviniams spr¾esti, bet nagrin·ejamais atvejais ribojimaibudavo lygyb·es tipo.

Page 120: Matematinis programavimas

120 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

Pirmuosius rezultatus apie butinas minimumo s ¾alygas uµzdavini-ams su nelygyb·es tipo ribojimais gavo W.Karush savo magistriniamedarbe apgintame µCikagos universitete 1939 metais. Paµzym·etina, kadtuo metu µCikagos universitete buvo aktyviai dirbama variacinio skaiµci-avimo srityje.Kitas, taip pat lik¾es nepaskelbtu darbas apie butinas minimumo

s ¾a lygas uµzdaviniams su nelygybiniais ribojimais buvo para�ytasF.John�o, kuris nagrin·ejo uµzdavinius apie elipsoidu¾ turius. F.Johnpateik·e straipsni¾ 1939 metais solidµziam matematikos µzurnalui DukeMathematical Journal, kurio redakcija straipsni¾atmet·e. Darbas buvopaskelbtas 1948 metais knygoje, skirtoje µzymaus amerikieµciu¾matem-atiko R.Courant, kuris dom·ejosi optimizacija, �e�iasde�imtmeµciui. Galbut, geometrinis uµzdavinys, kuri¾nagrin·edamas F.John i�ved·e butinasminimumo s ¾alygas, ir nebuvo labai svarbus. Taµciau abu, W.Karush�oir F.John�o, nepublikuotieji darbai dabar laikomi optimizacijos teorijosklasika.Po to, kai 1951 metais H.Kuhn ir A.Tucker paskelb·e garsu¾ji¾

straipsni¾apie butinas minimumo s ¾alygas, �i tematika buvo pripaµzintasolidµzia ir aktualia matematikos kryptimi. Beje, �iame straipsnyjebuvo pirm ¾a kart ¾a pavartotas terminas netiesinis programavimas. �iuometu moksliniai straipsniai ir knygos, kuriuose remiamasi minimumos ¾alygomis, skaiµciuojami �imtais. Retas rezultatas cituojamas taip daµz-nai, kaip Kuhn - Tucker s ¾alygos.

3.9 Uµzduotys ir kontroliniai klausimai

1. Remdamiesi butinomis minimumo s ¾alygomis raskiteuµzdavinio

min (x1 � 2)2 + (x2 � 2)2;

Page 121: Matematinis programavimas

3.9. UµZDUOTYS IR KONTROLINIAI KLAUSIMAI 121

�x1 � x2 � 0;

�x1 � 0;

�x2 � 0;

sprendini¾.2. Suformuluokite dualu¾uµzdavini¾, kaiP: min (x21 + x

22); esant ribojimui �x1 � x2 + 4 � 0; ir

A0 = fX : X � 0g: I�spr¾eskite P ir D ir pavaizduokitesprendim ¾a gra��kai.3. Nubraiµzykite 1 pratimo baudos funkcijos (3.22),

(3.23), (3.24) lygio linijas su r = 0:5; r = 0:1:4. Nubraiµzykite 1 pratimo barjeru¾funkcijos (3.25) lygio

linijas su r = 0:5; r = 0:1:5. Apskaiµciuokite 1 pratimo tikslo funkcijos gradiento

ta�ke (0, 1) projekcijas i¾pirm ¾aji¾ ir antr ¾aji¾ ribojimus.6. Nubraiµzykite 1 pratimo Lagrange�o funkcijos lygio

linijas, kai Lagrange�o daugikliai optimalus: � = �0:7. Pateikite uµzdavinio (3.27) ir jo sprendimo eigos

leistinu¾ju¾krypµciu¾metodu gra�n¾e iliustracij ¾a: tikslo funkci-jos lygio linijas, leistin ¾aj ¾a sriti¾, gradient ¾a ta�ke (4, 7) irleistin ¾aj ¾a krypti¾ tame ta�ke.

Page 122: Matematinis programavimas

122 CHAPTER 3. NETIESINIS PROGRAMAVIMAS

Page 123: Matematinis programavimas

Chapter 4

TIESINISPROGRAMAVIMAS

4.1 Uµzdavinio formulavimas

Tiesiniu programavimu (TP) vadinamas optimizavimo uµzdaviniu¾su tiesine tikslo funkcija ir tiesin·emis lygyb·emis bei nelygyb·emisapibr·eµzta leistin ¾aja sritimi sprendimas. Vaizdus TP uµzdavinio atvejisyra pa�aru¾raciono optimalaus sudarymo uµzdavinys. Sakysim, turimen pa�aru¾ ru�iu¾, kuriu¾ m maistiniu¾ savybiu¾ nusako matrica A, t.y.aij rei�kia i-tosios pa�aro ru�ies vienete esanµciu¾ j-tojo tipo maistiniu¾vienetu¾. Pavyzdµziui, pirmoji matricos eilut·e rei�kia kiekvienos pa�aru¾ru�ies vieneto kaloringum ¾a, antroji - baltymu¾ kieki¾ ir pan. µZinomos�·erimo normos reikalauja, kad gyvulys su pa�arais gautu¾ nemaµziaunegu tam tikr ¾a kieki¾ bi kiekvieno i�maistiniu¾vienetu¾

123

Page 124: Matematinis programavimas

124 CHAPTER 4. TIESINIS PROGRAMAVIMAS

a11x1 + a12x2 + :::+ a1nxn � b1;

a22x1 + a22x2 + :::+ a2nxn � b2;

:::::

am1x1 + am2x2 + :::+ amnxn � bm;

µcia xi rei�kia i-tosios ru�ies pa�aru¾ kieki¾ gyvulio racione. Kadangii¾vairus racionai gali patenkinti butinus maistingumo reikalavimus,stengiamasi parinkti pigiausi ¾a, t.y. minimizuoti funkcij ¾a f(X) =c1x1 + c1x1 + ::: + c1x1, kur ci rei�kia i-tosios pa�aro ru�ies vienetokain ¾a. Kadangi pa�aru¾kiekis racione negali buti neigiamas, turi butipatenkinti ribojimai xi � 0, kurie uµzra�omi atskirai, nes sudarant al-goritmus gali buti i¾vertinti paprasµciau negu bendro pobudµzio tiesiniairibojimai.Kitas charakteringas TP uµzdavinys susij¾es su perveµzimu¾optimiza-

vimu. Sakysim, nagrin·ejamas produktas sand·eliuojamas n sand·eliu¾,kuriu¾ talpa ai; i = 1; :::; n vienetu¾. Produktas turi buti pristatomasi¾ m vartojimo (ar pardavimo) punktu¾, kuriu¾ poreikiai yra bj; j =1; :::;m vienetu¾. Reikia sudaryti perveµzimu¾ plan ¾a taip, kad visivartotoju¾poreikiai butu¾patenkinti ir bendros transporto i�laidosX

i;j

cijxij

butu¾ minimalios, kur xij yra produkto kiekis perveµzamas i� i-tojosand·elio j-tajam vartotojui, o cij produkto vieneto perveµzimo kainatokiu mar�tutu. Min·etos perveµzimo s ¾alygos i�rei�kiamos �iomis ly-gyb·emis ir nelygyb·emis: xij � 0;

Pni=1 xij = bj;

Pmj=1 xij � ai:

Bendruoju atveju TP uµzdavinys matriciniais µzym·ejimais gali butiuµzra�ytas taip:

min CX;

Page 125: Matematinis programavimas

4.1. UµZDAVINIO FORMULAVIMAS 125

AX = B;

A0X � B0; (4.1)

x1 � 0; :::; xr � 0;

µcia kintamasis X 2 Rn yra n-matis vektorius, A - l � n matrica,A0 � (m� l)�n matrica,

�BB0

�2 Rm, X pirmosios r komponenµciu¾

turi buti neneigiamos, o kitu¾X komponenµciu¾ µzenklas gali buti betkoks. TP uµzdaviniams budingas kai kuriu¾ kintamu¾ju¾ neneigiamumoreikalavimas; tod·el naturalu ir kitas tiesines nelygybes uµzra�yti �forma. µCia uµzra�yta tiesinio programavimo uµzdavinio bendroji forma.Daµznai patogiau nagrin·eti atskirus bendrosios formos atvejus.Tiesinio programavimo uµzdavinio standartin·e forma yra tokia

min CX; (4.2)

AX = B; X � 0:

Tiesinio programavimo uµzdavinio kanonin·e forma yra tokia

min CX; (4.3)

AX � B; X � 0:

Akivaizdu, kad (4.2) ir (4.3) yra daliniai (4.1) atvejai. Taµciau betkuri¾TP uµzdavini¾galima uµzra�yti ir standartine ir kanonine formomis.Uµzra�ykime TP bedr ¾aji¾uµzdavini¾ standartine forma, kuri labai patogisimplekso algoritmo analizei. Nelygybinius ribojimusDX � H galimapakeisti lygybiniaisDX�H�S = 0 ir neneigiamumo S � 0 ribojimais.Keiµciant bendr ¾aji¾uµzdavini¾standartiniu, uµzdavinio kintamu¾ju¾skaiµcius

Page 126: Matematinis programavimas

126 CHAPTER 4. TIESINIS PROGRAMAVIMAS

padid·eja tiek, kiek bendrajame uµzdavinyje yra nelygybiniu¾ ribojimu¾.D·el uµzdavinio performulavimo apibr·eµzti kintamieji S daµznai vadinami�ktyviaisiais. Uµzra�ykime bendr ¾aji¾ uµzdavini¾ kanonine forma. Lygy-binius ribojimus DX = H galima pakeisti nelygybiu¾pora: DX �H, -DX �-H. Keiµciant bendr ¾aji¾ uµzdavini¾ kanoniniu ribojimu¾ skaiµciusdvigubai padid·eja, nes lygybinis ribojimas pakeiµciamas dviem nely-gybiniais. I� �iu¾ paprastu¾ samprotavimu¾ i�plaukia visu¾ triju¾ tiesinioprogramivimo uµzdavinio formu¾ekvivalentumas.Kadangi TP uµzdavinio tikslo funkcija yra akivaizdµziai tolydi, tai

esant apr·eµztai leistinajai sriµciai minimumo ta�kas visada egzistuoja.Kita vertus, jei leistinoji sritis neapr·eµzta, galima parinkti tokius tikslofunkcijos koe�cientus, kad tikslo funkcijos reik�m·es leistinojoje srityjeneapr·eµztai maµz·etu¾. Pastarasis atvejis vadinamas neapr·eµztu TP uµz-daviniu.Tiesinio programavimo uµzdavinys yra specialus netiesinio progra-

mavimo uµzdavinio atvejis. Tod·el ji¾ galima spr¾esti ankstesniuose kny-gos skyriuose nagrin·etais metodais. Taµciau tikslo ir ribojimu¾funkciju¾tiesi�kumo speci�ka gali buti panaudota efektyvesniems algoritmamssukurti.

4.2 Geometrin·e interpretacija

Tiesin·emis lygyb·emis ir nelygyb·emis apibr·eµzta sritis yra baig-tinio skaiµciaus puserdviu¾ sankirta, vadinama poliedru (daugiasieniu).Apr·eµztas poliedras vadinamas politopu. Galima parodyti, kad poli-topas yra baigtinio skaiµciaus ta�ku¾ (vir�uniu¾) i�kilus apvalkalas. Dvi-maµciu atveju leistinoji sritis yra daugiakampis, pavyzdµziui, parodytas4.12 paveiksle.Kadangi tikslo funkcija tiesin·e, tai jos lygio linijos yra hiperplok�-

tumos. Dvimaµciu atveju lygio linijos yra ties·es, pavyzdµziui parodytos

Page 127: Matematinis programavimas

4.3. BAZINIAI SPRENDINIAI 127

Figure 4.12: Geometrin·e TP uµzdavinio iliustracija

4.12 paveiksle:�1 > �2 > �3 > �4:

Priminsime, kad butinos minimumo s ¾alygos geometri�kai interpretuo-jamos kaip tikslo funkcijos lygio linijos lietimasis su leistin ¾aja sritimi.Tiesei lieµciantis su daugiakampiu bent viena i�daugiakampio vir�uniu¾yra lietimosi ta�ku. Tod·el viena i� daugiakampio (bendru atvejupoliedro) vir�uniu¾ yra tiesinio programavimo uµzdavinio sprendiniu.Paveiksle pavaizduotu atveju minimali tikslo funkcijos reik�m·e lygi�3:

4.3 Baziniai sprendiniai

I� geometrin·es tiesinio programavimo uµzdavinio interpretacijos i�-plaukia, kad leistinosios srities vir�un·es labai svarbios uµzdavinio

Page 128: Matematinis programavimas

128 CHAPTER 4. TIESINIS PROGRAMAVIMAS

sprendimo algoritmui sudaryti, kadangi minimumo galima ie�kotiperµziurint vir�unes tikslo funkcijos maµz·ejimo kryptimi. Norint �iuopagrindu kurti optimizavimo algoritmus, reikia, visu¾ pirma, mok·etiapskaiµciuoti vir�unes. Geometrini¾ srities vir�un·es vaizdini¾atitinka al-goritmi�kai apskaiµciuojami leistinieji baziniai sprendiniai.

Apibr·eµztis. V 2 P � Rn yra poliedro P vir�un·e, jei V n·erai�rei�kiama kaip jokiu¾P ta�ku¾W;Y grieµztai i�kili kombinacija.

Galima i¾rodyti, kad �is apibr·eµzimas yra ekvivalentus geometri�kaivaizdesniam apibr·eµzimui, kurio vir�un·e apibr·eµziama kaip nhiperplok�tumu¾(poliedro sienu¾) susikirtimas.

Apibr·eµztis. Sakysim A yra matrica, kurios dimensija lygi m� nir rangas lygus m. Bet kurie m tiesi�kai nepriklausomu¾A stulpeliu¾sudaro baz¾e, t.y. matricos A stulpeliu¾ erdv·es Rm baz¾e. Kad butu¾trumpiau, daµznai baze vadinama baziniu¾stulpeliu¾ indeksu¾aib·e.

TP uµzdavini¾, uµzra�yt ¾a standartine forma, kurio matricos rangaslygus m, sutrumpintai µzym·esime TPS.

Apibr·eµztis. Sakysim J = fi1; i2; :::; img yra tiesinio progra-mavimo uµzdavinio, uµzra�yto standartine forma, matricos A baz·e, iri1 < i2 < ::: < im. Vektorius X vadinamas TPS baziniu sprendiniu,jei xji = zi ; Z = H�1B; ji 2 J; xji = 0; ji =2 J; µcia matrica Hyra sudaryta i� matricos A baziniu¾ stulpeliu¾. Kadangi matrica Hnei�sigimusi, tai bazinis sprendinys visada egzistuoja.

Apibr·eµztis. Bazinis sprendinys vadinamas leistinuoju baziniusprendiniu (LBS), jei xji � 0; ji 2 J:

I�leistino bazinio sprendinio apibr·eµzimo matyti, kad tai yra leisti-nosios srities ta�kas. LBS nepriklauso nuo tikslo funkcijos.

Pavyzdµziui, TPS

min (x1 + 2x2 + 3x3 + 4x4);

Page 129: Matematinis programavimas

4.3. BAZINIAI SPRENDINIAI 129

2x1 + x2 + 5x3 + 2x4 = 10; (4.4)

x1 + x2 � x3 � x4 = 4;

xi � 0;

baz¾e sudaro antras ir ketvirtas stulpeliai. Tod·el �iuo atveju dvieju¾lygµciu¾sistemos sprendinys Z = H�1B randamas taip

Z =

�1 21 �1

��1�104

�=

�13

23

13�13

��104

�=

�62

�:

�i ¾a baz¾e atitinkantis LBS yra keturmatis vektorius, kurio antrair ketvirta komponent·es lygios atitinkamoms vektoriaus Z kompo-nent·ems, o kitos komponent·es lygios nuliui, t.y. X = (0; 6; 0; 2): Baz·evienareik�miai apibr·eµzia LBS, taµciau t ¾a pati¾ LBS gali apibr·eµzti ke-lios baz·es. Tokiu atveju, LBS vadinamas i�sigimusiu, o jo nuliniu¾komponenµciu¾skaiµcius yra didesnis negu n�m: Jeigu matricos A ran-gas lygus m, tai uµzdavinys turi baziniu¾ sprendiniu¾. Jei leistinoji aib·enetu�µcia, tai uµzdavinys turi ir leistinu¾ju¾baziniu¾sprendiniu¾.

11 teorema. TPS leistinosios srities ta�kas X yra srities vir�un·etada ir tik tada, kai jis yra leistinasis bazinis sprendinys.I¾rodymas. Sakysim X yra leistinosios srities vir�un·e.

Paµzym·esime Aj matricos A j-t ¾aji¾ stulpeli¾, ir I = fi : xi > 0g.I¾rodym ¾a prad·esime priimdami papildom ¾a prielaid ¾a, kad pasirink-

tajam X matricos A stulpeliai Aj; j 2 I; tiesi�kai nepriklausomi. Ma-tricos A rangas lygus m ir jIj � m, tod·el aib¾e I galime papildyti iki melementin·es aib·es J , taip, kad Aj; j 2 J , butu¾tiesi�kai nepriklausomi.Kadangi X yra leistinosios srities ta�kas, J yra matricos A baz·e irxi = 0; i =2 J , tai X yra TPS leistinasis bazinis sprendinys.Jeigu atsisakytume papildomos prielaidos apie tiesin¾e nepriklau-

somyb¾e, tai X butu¾tokia leistinosios srities vir�un·e, kurios Aj; j 2 I;

Page 130: Matematinis programavimas

130 CHAPTER 4. TIESINIS PROGRAMAVIMAS

butu¾ tiesi�kai priklausomi. Tada egzistuotu¾ne visi lygus nuliui koe�-cientai zj; j 2 I; tokie, kad X

j2IzjAj = 0:

Gal·etume sudaryti vektoriu¾Z; kurio komponent·es butu¾pastarieji ko-e�cientai zj; j 2 I; o komponent·es su indeksais i =2 I butu¾ lygios 0.Akivaizdu, kad galiotu¾ lygyb·e AZ = 0: Paµzym·ekime

� = minzj 6=0

xjjzjj

:

Kadangi zj gali buti nelygus nuliui tik kai j 2 I, o �itokiems indeksansxj > 0; tai � > 0: Sudarykime vektorius

X+ = X + �Z; X� = X � �Z:

Abu vektoriai patenkina TPS lygybinius ribojimus: AX� = AX ��(AZ) = B. Kai j =2 I, x�j = xj � 0: Kai j 2 I, tai � jzjj �xjjzj j � jzjj = xj; tod·el teisinga nelygyb·e x�j = xj � �zj � 0: I¾rod·eme,kad abu vektoriai X� yra leistinieji sprendiniai nelygus X; nes � >0; Z 6= 0: Bet tadaX negal·etu¾buti leistinosios srities vir�une, nesX =12X++ 1

2X�: Rei�kia, prielaidos, kad Aj; j 2 I; tiesi�kai nepriklausomi,

atsisakymas lemia prie�tar ¾a. Tuo ir baigiame i¾rodym ¾a, kad leistinosiossrities vir�un·e yra leistinas bazinis sprendinys.Sakysim X yra bazinis sprendinys. Jeigu priimtume prielaid ¾a, kad

X n·era leistinosios srities vir�un·e, tai egzistuotu¾leistinieji sprendiniaiY 6= X; Z 6= X tokie, kad X = �Y +(1��)Z; 1 < � < 1, Kadangi Xyra vienintelis leistinasis vektorius, kurio komponent·es xi = 0; i =2 I;µcia I- baz·e, atitinkanti X, tai bent vienam j =2 I galioja nelygyb·eyj > 0. Kadangi zj � 0; tai teisinga nelygyb·e

�yj + (1� �)zj > 0;

Page 131: Matematinis programavimas

4.3. BAZINIAI SPRENDINIAI 131

rei�kianti, kadX 6= �Y+(1��)Z:Gauta prie�tara i¾rodo, kad leistinasisbazinis sprendinys yra leistinosios srities vir�un·e.I�vada. Leistinosios srities vir�uniu¾ skaiµcius ne didesnis negu

m elementu¾ i�rinkimo i� n elementu¾ aib·es kombinaciju¾ skaiµcius

Cmn ; daµznai tas skaiµcius µzymimas�nm

�:

12 teorema. SakysimW yra TPS leistinosios srities ta�kas. Arbaegzistuoja leistinosios srities vir�un·e V; tokia kad CV � CW; arba TPSneapr·eµztas.I¾rodymas. Teoremos i¾rodymas gan ilgas. Tod·el i�pradµziu¾pateik-

sime i¾rodymo id·ej ¾a. Nagrin·ejamas koks nors leistinosios srities ta�kasW . Ie�kosime kito leistinosios srities ta�ko, kuriame kaip lygyb·epatenkinamas dar bent vienas ribojimas ir tikslo funkcijos reik�m·emaµzesn·e uµz CW . Jei surastajame ta�ke kaip lygyb·es patenkinami n ri-bojimai, tai surastasis ta�kas yra leistinosios srities vir�un·e. Prie�inguatveju i¾rodysime, kad leistinojoje srityje galima rasti ta�ku¾, kuriuosetikslo funkcijos reik�m·es norimai maµzos.Kadangi W leistinosios srities ta�kas, tai AW = B:

Sunumeruokime visus ribojimus prad·edami nuo kintamu¾ju¾ neneigia-mumo: 1; :::; n +m: I�ribojimu¾, kurie ta�ke W patenkinami kaip ly-gyb·es; aib·es i�rinkime didµziausi ¾a tiesi�kai nepriklausomu¾ribojimu¾aib¾eir ju¾ indeksu¾aib¾e paµzym·ekime I0; r = jI0j; I = I0 \ f1; :::; ng:Jei r = n, tai W yra n hiperplok�tumu¾ susikirtimas, t.y. leisti-

nosios srities vir�un·e. �iuo atveju teoremos teiginys trivialus.1 teiginys. Kadangi buvo i�rinkta didµziausia galima aib·e I0, tai

ribojimas xj � 0, j =2 I0 , patenkinamas ta�ke W kaip lygyb·e, yratiesi�kai priklausomas nuo ribojimu¾, kuriu¾ indeksai sudaro aib¾e I0.Paµzym·esime

= fX : xj = 0; j 2 I; AX = 0g

ir pasteb·esime, kad yra n � r matavimu¾ poerdvis. Raskime, pvz.

Page 132: Matematinis programavimas

132 CHAPTER 4. TIESINIS PROGRAMAVIMAS

Gauso eliminavimo metodu, nenulini¾ vektoriu¾U: Galima U parinktitaip, kad CU � 0; jei surastajam vektoriui U galiotu¾ prie�inga nely-gyb·e, gal·etume pakeisti jo komponenµciu¾µzenklus ir tur·etume vektoriu¾su norima savybe.2 teiginys. Jei wj = 0, tai ir uj = 0:I¾rodymas. Jei j 2 I, tai uj = 0 pagal apibr·eµzim ¾a.Sakysim, wj = 0, j =2 I: Remdamiesi 1 teiginiu, galime i�reik�ti

j-t ¾aji¾aktyvu¾ta�ke W ribojim ¾a, tiesine ribojimu¾, kuriu¾ indeksai prik-lauso I, kombinacija. Vietoj wi �ioje tiesin·eje kombinacijoje i¾ra�¾e uigausime uj = 0, kadangi de�iniosios lygybiu¾pus·es apibr·eµzime lygios0.Bet kokiems skaliarams � teisinga lygyb·e

A(W + �U) = AW + � � 0 = B:

Rei�kia, W +�U patenkina lygybinius ribojimus. Anksµciau i¾rodyta (2teiginys), kad uj = 0, kai wj = 0; tod·el ir wj + �uj = 0, kai wj = 0.I¾rodysime, kad� arba galima parinkti norimai dideli¾� nepaµzeidµziant ribojimu¾ ir

taip gauti norimai maµz ¾a tikslo funkcijos reik�m¾e,� arba galima parinkti toki ¾a � reik�m¾e, kad ta�ke W + �U butu¾

patenkinta dar bent vienu lygybiniu ribojimu daugiau negu ta�ke Wir C(W + �U) � CW: Naujasis lygybe tap¾es neneigiamumo ribojimastiesi�kai nepriklausomas nuo ribojimu¾su indeksais i�I0.Paµzym·ekime J = fj : uj < 0g. Galimi trys atvejai.1 atvejis. CU < 0; J = ;:�iuo atveju visi uj � 0: Tod·el W + �U priklauso leistin ¾ajai sriµciai

prie bet kokio � � 0, ir

C(W + �U) = CW + �CU:

Kadangi CU < 0, tai parinkdami kiek norima dideli¾� gausime ta�k ¾aleistinojoje srityje su norimai maµza tikslo funkcijos reik�me.

Page 133: Matematinis programavimas

4.3. BAZINIAI SPRENDINIAI 133

2 atvejis. J 6= ;:Paµzym·ekime

s = minj2J

wj�uj

:

Kadangi visiems j 2 J galioja nelygyb·es wj > 0; uj < 0; tai s >0; priminsime, kad uj = 0, jei wj = 0: Parinkime l 2 J taip, kadwl=(�ul) = s ir paµzym·ekime Z = W + sU: Visiems j 2 J galioja

zj = wj + suj � wj +wj�uj

uj = 0;

o visiems j =2 J tokia pat nelygyb·e galioja pagal pagal J apibr·eµzim ¾a,nes W yra leistinosios srities ta�kas. Tod·el Z yra leistinosios sritiesta�kas. Be to, zl = wl + sul = 0, kai wl > 0. Rei�kia, ta�ke Z kaiplygyb·e patenkintas l-tasis ribojimas, kuris ta�ke W buvo grieµztas, irgalioja nelygyb·e

CZ = CW + sCU � CW:3 atvejis. CU = 0; J = ;:Visiems j galioja nelygyb·e uj � 0, ir bent vienam j nelygyb·e

grieµzta, kadangi vektorius U yra nenulinis. Tod·el teisinga nelygyb·es > 0; µcia

s = minuj>0

wjuj:

Parinkime l 2 J taip, kad wl=ul = s ir paµzym·ekime Z = W � sU:Akivaizdu, kad Z patenkina lygybinius ribojimus AZ = B, ir zl = 0:Sakysim j toks, kad wj > 0; uj > 0: Kadangi s � wj=uj, tai

zj � wj � (wj=uj)uj = 0:

Tiems j; kuriems galioja wj � 0; uj = 0; nelygyb·e zj � 0 aki-vaizdµziai patenkinama. Rei�kia, Z yra leistinosios srities ta�kas. Jame

Page 134: Matematinis programavimas

134 CHAPTER 4. TIESINIS PROGRAMAVIMAS

kaip lygyb·e patenkinamas l-tasis ribojimas, kuris ta�ke W buvo grieµz-tas, ir galioja lygyb·e

CZ = CW � sCU = CW:I�vada. Jei TPS apr·eµztas, t.y. egzistuoja (kad ir labai maµzas)

skaiµcius w > �1; toks, kad visiems leistiniems sprendiniamsX galiojanelygyb·e CX � w, tai TPS uµzdavinys yra baigtinis. Tas rei�kia, kadsprendiniui surasti uµztenka atlikti baigtini¾µzingsniu¾ skaiµciu¾. Sakysim,Y1 koks nors leistinosios srities ta�kas. Remiantis 12 teorema gal-ima surasti leistinosios srities vir�un¾e V1 toki ¾a, kad CV1 � CY1; tamuµztenka patikrinti leistinosios srities vir�unes: Arba V1 yra uµzdaviniosprendinys, arba V1 aplinkoje galima rasti leistinosios srities ta�k ¾a Y2toki¾, kad CY2 < CV1. Remiantis 12 teorema galima surasti leistinosiossrities vir�un¾e V2 toki ¾a, kad CV2 � CY2 ir tt. Kadangi kiekvien-ame µzingsnyje randama vir�un·e su grieµztai maµzesne tikslo funkci-jos reik�me, tai po baigtinio µzingsniu¾ skaiµciaus bus surasta optimalivir�un·e.

4.4 Atraminis baz·es keitimas

Geometrin·e id·eja, kaip tiesinio programavimo uµzdavinio sprendinioie�koti pereinat i� vienos leistinosios srities vir�un·es i¾ kit ¾a, algorit-mi�kai gali buti realizuota baz·es keitimu. Panagrin·esime pavyzdi¾(4.4),kurio baz¾e {2, 4} atitinka leistinas bazinis sprendinys X = (0; 6; 0; 2);t.y.

x2A2 + x4A4 = 6

�11

�+ 2

�2

�1

�= B =

�104

�:

Pabandykime padidinti nebazin¾e komponent¾e x3 nuo nulio ikikokios nors reik�m·es � taip, kad lygybiniai ribojimai (4.4) liktu¾patenk-inti. Siekdami gauti bazini¾ sprendini¾, atitinkanti¾ gretim ¾a leistinosios

Page 135: Matematinis programavimas

4.4. ATRAMINIS BAZ ·ES KEITIMAS 135

srities vir�un¾e, turime baz·eje pakeisti tik vien ¾a stulpeli¾. Kadanginebazinis A3 i¾keliamas i¾baz¾e, kaµzkuris i�baziniu¾ stulpeliu¾ tur·es butii� baz·es i�keltas. Kiti nebaziniai stulpeliai (�iuo atveju A1 ) liekanebaziniais. Paµzym·ej¾e naujas kintamu¾ju¾, atitinkanµciu¾bazines kompo-nentes, reik�mes su �trichais, gausime toki ¾a lygti¾

x02A2 + x04A4 + �A3 = B; (4.5)

Nebazinis stulpelis visada gali buti i�reik�tas kaip tiesin·e baziniu¾stulpeliu¾ kombinacija, kurios koe�cientus bendru atveju galimaapskaiµciuoti sprendµziant tiesiniu¾ lygµciu¾ sistem ¾a. Nagrin·ejamampavyzdµziui lengva matyti, kad A3 = A2 + 2A4: I¾statµcius �i ¾a i�rai�k ¾a i¾(4.5), gaunama tokia lygtis

(x02 + �)A2 + (x04 + 2�)A4 = B: (4.6)

Lygybiniai ribojimai (4.4) tikrai butu¾ patenkinti, jei lygtyje (4.6)daugikliai prie baziniu¾ stulpeliu¾ butu¾ lygus bazin·ems X kompo-nent·ems: x2 = x02 + � ; x4 = x

04 + 2� : Gautasis vektorius bus naujas

leistinas bazinis sprendinys, jei x02 � 0; x04 � 0; � > 0; ir vienas i�x0i taps lygiu nuliui. Kadangi x2 = 6 ir x4 = 2 ; tai nesunku rastitinkam ¾a reik�m¾e � = 1: Lygyb·e x04 = 0 rei�kia, kad ketvirtas stulpelisi�keliamas i�baz·es. Nauja baz·e yra f2; 3g, o bazinis sprendinys lygus(0,5,1,0).Apra�yto baz·es keitimo esm·e yra nebazin·es komponent·es didinimas

nuo nulio iki tol, kol kuris nors kitas kintamasis pasieks (atsirems i¾) ri-bojim ¾a. Kai reik·es termin ¾a trumpinti, toki¾keitim ¾a vadinsime ABAKS(Atraminis BAz·es KeitimaS ). Angli�kai toks procesas vadinamas piv-oting.Sakysim, µzinoma baz·e, kuri ¾a atitinka leistinasis bazinis

sprendinys. Algoritm ¾a patogiau apra�yti vartojant ne tikrusbaziniu¾ stulpeliu¾ indeksus, o s ¾alyginius, atitinkanµcius sut-varkyt ¾a baz ¾e B = fB(1); :::;B(m)g; nagrin·etuoju atveju

Page 136: Matematinis programavimas

136 CHAPTER 4. TIESINIS PROGRAMAVIMAS

B = fB(1);B(2)g= f2; 4g:Nebaziniai stulpeliai gali buti uµzra�ytikaip tiesin·es baziniu¾stulpeliu¾kombinacijos

Aj =

mXi=1

xijAB(i) ; (4.7)

µcia xij µzymi koe�cient ¾a prie B(i)�tojo bazinio stulpelio i�rei�kiant Ajtiesine baziniu¾ stulpeliu¾ kombinacija. Nagrin·etu atveju buvo x13 =6; x23 = 2: Abaksu i¾ne�ant nebazini¾ j�t ¾aji¾ stulpeli¾ i¾ baz¾e, baziniosprendinio X0 j�toji komponent·e didinama nuo 0 iki � patenkinantlygybinius ribojimus. Sud·ej¾e lygybiniu¾ribojimu¾s ¾alyg ¾a vektoriui X0 ir(4.7) padaugint ¾a i��; gausime lygyb¾e

mXi=1

xi0AB(i) + �(Aj �mXi=1

xijAB(i)) = B;

kuri ¾a truputi¾pertvark¾e

mXi=1

(xi0 � xij�)AB(i) + �Aj = B (4.8)

galime panaudoti naujo bazinio vektoriaus apskaiµciavimui.Sudarykime vektoriu¾, kurio j-toji komponent·e lygi x0j0 = � ; B(i)-tojikomponent·e lygi x0i0 = xi0 � xij� ; o kitos komponent·es lygios 0.Lygyb·e (4.8) garantuoja, kad TPS lygybiniai ribojimai patenkinti.Belieka uµztikrinti naujojo vektoriaus komponenµciu¾ neneigiamum ¾aparenkant

� = mini; xij>0

xi0xij: (4.9)

Naujoji baz·e, atitinkanti sudaryt ¾a bazini¾vektoriu¾X 00; yra B0(i) =

B(i); i 6= k; B0(k) = j; kur k yra minimumo indeksas (4.9). Apskaiµci-uojant � pagal (4.9) galimi tokie atvejai:

Page 137: Matematinis programavimas

4.5. SIMPLEKSO ALGORITMAS 137

- n·era teigiamu¾xij;

- gauta � reik�m·e lygi 0.

Pirmuoju atveju leistinoji TPS sritis neapr·eµzta, ir norimai didinant� gautas ta�kas nepaµzeidµzia ribojimu¾. Antruoju atveju gautas bazinissprendinys yra i�sigim¾es.

4.5 Simplekso algoritmas

Tiesinio programavimo uµzdavinio sprendimo id·eja buvo anksµciaupateikta geometri�kai: pereiti i� vienos leistinosios srities vir�un·es i¾kaimynin¾e vir�un¾e su maµzesne tikslo funkcijos reik�me. Per·ejimas i¾kaimynin¾e vir�un¾e gali buti realizuotas abaksu. Pasirinkus nebazini¾stulpeli¾, kurs i¾keliamas i¾ baz¾e, abaksas automati�kai nustato i�baz·esi�keliam ¾a stulpeli¾. Tikslo funkcijos reik�m·es maµz·ejim ¾a uµztikrinan-tis i¾ baz¾e i¾keliamo stulpelio parinkimas ir baz·es keitimas abaksu su-daro simplekso algoritmo pagrind ¾a. Atrodytu¾, kad i¾keliam ¾a i¾ baz¾estulpeli¾tikslinga parinkti taip, kad tikslo funkcijos reik�m·e gautajameabaksu ta�ke butu¾ minimali. Taµciau toks parinkimas, nors ir opti-malus vieno µzingsnio poµziuriu, nebutinai bus geras viso sprendimoproceso poµziuriu. Per·ejimas i¾kaimynin¾e vir�un¾e, kurioje tikslo funkci-jos reik�m·e minimali, gali buti nelabai racionalus tod·el, kad naujojivir�un·e gali buti neperspektyvi tolimesn·es paie�kos poµziuriu. Kitaipsakant, maµzesnis pagerinimas �iame µzingsnyje gali atsipirkti geresnev·eliau daromu¾µzingsniu¾perspektyva. I¾vertinti keliu¾algoritmo µzingsniu¾rezultat ¾a labai sud·etinga; µzymiai paprasµciau nustatyti, ar tikslo funkci-jos reik�m·e sumaµz·es, negu i¾vertinti, kokio dydµzio bus sumaµz·ejimas.

Atramini¾baz·es keitim ¾a patogu formalizuoti lentel·es perskaiµciavimoforma. Kad butu¾ suprantamiau, prad·ekime jau nagrin·etu pavyzdµziu.Uµzra�ykime TPS lygybinius ribojimus (4.4) lentele

Page 138: Matematinis programavimas

138 CHAPTER 4. TIESINIS PROGRAMAVIMAS

x1 x2 x3 x410 2 1 5 24 1 1 -1 -1

:

Anksµciau nagrin·edami �i¾ pavyzdi¾, baz¾e tiesiog atsp·ejome. Baz·esApibr·eµztis nusako ir metod ¾a jai surasti: tereikia rastim nepriklausomu¾matricos A stulpeliu¾. I� tiesin·es algebros kurso µzinoma, kad tiesin·esoperacijos su uµzdavinio matricos eilut·emis nekeiµcia lygµciu¾ sistemossprendinio. Tod·el galima tiesi�kai nepriklausomu¾ stulpeliu¾ visus,i�skyrus vien ¾a, elementus pakeisti nuliais. �iuo metodu ne tik suran-dami tiesi�kai nepriklausomi stulpeliai, bet ir ju¾ sudaroma matricapakeiµciama vienetine. Tas patogu tod·el, kad nulinio stulpelio ele-mentai tada tiesiog lygus nenuliniams bazinio sprendinio elementams.Pavyzdµziui, pasirink¾e pirmo stulpelio antros eilut·es element ¾a (patogusskaiµciavimui, nes lygus 1) galime to paties stulpelio pirmos eilut·es el-ement ¾a pakeisti 0 (padaugin¾e antr ¾aj ¾a eilut¾e i�2 ir at·em¾e i�pirmosioseilut·es):

x1 x2 x3 x42 0 -1 7 44 1 1 -1 -1

:

.

Prid·ej¾e pirm ¾aj ¾a eilut¾e prie antrosios ir po to pirm ¾aj ¾a eilut¾e padaug-in¾e i�-1 gausime lentel¾e

x1 x2 x3 x4-2 0 1 -7 -46 1 0 6 3

;

Page 139: Matematinis programavimas

4.5. SIMPLEKSO ALGORITMAS 139

i� kurios akivaizdu, kad baziniais stulpeliai yra pirmasis ir antra-sis B(1) = 2; B(2) = 1. �i ¾a baz¾e atitinkantis bazinis sprendinys(6; �2 ; 0 ; 0) n·era leistinas, nes jo antroji komponent·e yra neigiama.Taigi, nors baz¾e nesunku surasti metodu pana�iu i¾Gauso eliminavimometod ¾a tiesiniu¾ lygµciu¾ sistemoms spr¾esti, bet toks metodas negaran-tuoja, kad surast ¾a baz¾e atitinkantis bazinis sprendinys bus leistinas.Bendras metodas leistinajam baziniam sprendiniui surasti pateiktasskyrelyje �Startas�. µCia, nesigilindami i¾�i¾klausim ¾a, tarsim, kad baz·espaie�ka buvo s·ekmingesn·e, ir buvo surasta baz·e B = f2; 4g su leistin-uoju baziniu sprendiniu X0 = (0; 6; 0; 2) :

x1 x2 x3 x46 4/3 1 1 02 1/3 0 2 1

:

Kai baziniai stulpeliai yra vienetiniai, labai lengva nebaziniusstulpelius uµzra�yti kaip tiesines baziniu¾ stulpeliu¾ kombinacijas iri�spr¾esti lygµciu¾ sistem ¾a su perskaiµciuotu (4.4) de�iniu¾ju¾ pusiu¾ vekto-riumi �. Nagrin·ejamuoju atveju, pavyzdµziui, galima i�reik�ti A3 =Pm

i=1 xi3AB(i); x13 = 1, x23 = 2 :�5�1

�= 1 �

�11

�+ 2 �

�2�1

�:

Lygµciu¾sistemos

mXi=1

xi0AB(i) = �; � = (6; 2);

sprendinys lygus x10 = 6; x20 = 2: I�baz·es i�keliamas stulpelis nus-tatomas pagal (4.9)

� = mini; xij>0

xi0xi3

= min

�6

1;2

2

�= 1; k = 2: (4.10)

Page 140: Matematinis programavimas

140 CHAPTER 4. TIESINIS PROGRAMAVIMAS

Tod·el, i¾keliant i¾ baz¾e treµci ¾a stulpeli¾, i� baz·es i�keliamas B(2);t.y. ketvirtasis stulpelis. Naujai gaut ¾a baz¾e v·el patogu sudarytii� vienetiniu¾ stulpeliu¾. Tod·el lentel¾e perskaiµciuojame padalindamiantr ¾aj ¾a eilut¾e i�2 ir atimdami gaut ¾a rezultat ¾a i�pirmosios eilut·es:

x1 x2 x3 x45 7/6 1 0 -1/21 1/6 0 1 1/2

:

Iki �iol nagrin·ejome baz·es keitim ¾a apskritai neatsiµzvelgdami i¾ tik-slo funkcij ¾a. Taµciau toks keitimas atliekamas siekiant sumaµzinti tik-slo funkcijos reik�m¾e. Per·ejimas i¾ kit ¾a bazini¾ sprendini¾ realizuoja-mas dviem µzingsniais: i¾keliamo i¾ baz¾e stulpelio i�rinkimo ir abakso.Pastarasis yra vienareik�mi�kai apibr·eµztas i¾keliamo i¾ baz¾e stulpe-lio i�rinkimu. Tod·el stulpelis tur·etu¾ buti i�renkamas atsiµzvelgiant i¾i�rinkimo s ¾alygot ¾a tikslo funkcijos reik�m·es pokyti¾. Panagrin·esime,kaip gali buti i¾vertintas toks pokytis. Tikslo funkcijos reik�m·e baziniosprendinio X0 ta�ke lygi

F =mX

i=1; i 6=k

cB(i)xi0 + cB(k)xk0;

µcia atskirai para�ytas d·emuo, atitinkantis i�keliam ¾a i�baz·es stulpeli¾.Naujajame baziniame sprendinyje, gautame i¾k·elus i¾ baz¾e j�t ¾aji¾stulpeli¾ ir i�k·elus k�t ¾aji¾, tikslo funkcijos reik�m·e lygi

F 0 =Xi6=k

cB(i)(xi0 � �xij) + cj�:

Tikslo funkcijos reik�miu¾ skirtumas, atsiµzvelgiant i¾ lygyb¾e xk0 =xk0xkjxkj = �xkj; i�rei�kiamas �itaip

Page 141: Matematinis programavimas

4.5. SIMPLEKSO ALGORITMAS 141

F 0 � F = �(cj �mXi=1

cB(i)xij): (4.11)

Akivaizdu, kad baz·es pakeitimas sumaµzina tikslo funkcijosreik�m¾e, jei (4.11) skliausteliuose esantis rei�kinys neigiamas,t.y. tokiu atveju j�tasis stulpelis gali buti i�rinktas i¾kelti i¾baz¾e.Veiksmai, kuriuos reikia atlikti apskaiµciuojant (4.11), labai pana�us

i¾ veiksmus, atliekamus realizuojant atramini¾ baz·es keitim ¾a. Tod·elkiekvieno stulpelio i¾k·elimo i¾baz¾e kriteriju¾galima apskaiµciuoti atliekantveiksmus su ABAKS lentel·es eilut·emis. Panagrin·ekime (4.4) pavyzdi¾.Nulin·e pradin·es lentel·es eilut·e, kurioje buvo uµzra�yta nereik�mingainformacija (x1, x2, x3, x4), pakeiµciama tikslo funkcijos koe�cientu¾eilute:

0 1 2 3 410 2 1 5 24 1 1 -1 -1

:

Suradus baz¾e, i�nulin·es eilut·es atimamos lentel·es eilut·es padaug-intos i� cB(i): Nagrin·ejamuoju atveju i� nulin·es eilut·es butu¾ atimtapirmoji eilut·e padauginta i�2 ir antroji padauginta i�4:

-20 -3 0 -7 06 4/3 1 1 02 1/3 0 2 1

:

Pasteb·esime, kad nulin·es eilut·es ir nuliniame stulpelyje gaunama suprie�ingu µzenklu tikslo funkcijos reik�m·e, atitinkanti einam ¾aji¾ bazini¾sprendini¾. Abieju¾ nebaziniu¾ stulpeliu¾ kriteriju¾ reik�m·es neigiamos,tod·el, i¾keliant i¾ baz¾e bet kuri¾ i� ju¾, galima sumaµzinti tikslo funkci-jos reik�m¾e. Pasirinkus treµci ¾aji¾ stulpeli¾, i�keliamo i� baz·es stulpelionumeris nustatomas �itaip

Page 142: Matematinis programavimas

142 CHAPTER 4. TIESINIS PROGRAMAVIMAS

� = mini; xij>0

xi0xi3

= min

�6

1;2

2

�= 1; k = 2

Atlik¾e tuos paµcius veiksmus, kaip ir auk�µciau, gausime nauj ¾a baz¾eB = f2; 3g su leistinuoju baziniu sprendiniu X0 = (0; 5; 1; 0). Prienulin·es eilut·es prid·ejus antr ¾aj ¾a eilut¾e padaugint ¾a i�7/2, nulin·es eilut·estreµciajame stulpelyje gaunamas nulinis elementas:

-13 -11/6 0 0 7/25 7/6 1 0 -1/21 1/6 0 1 1/2

;

o nulin·es eilut·es nulinio stulpelio elemento reik�m·e tampa lygieinamojo bazinio sprendinio tikslo funkcijos reik�mei su prie�ingu µzen-klu, t.y. �iame baziniame sprendinyje tikslo funkcijos reik�m·e yra lygi13. I�gautosios lentel·es taip pat matosi, kad tikslo funkcijos reik�m¾egalima sumaµzinti i¾keliant i¾baz¾e pirm ¾aji¾stulpeli¾. Tada i�baz·es reik·etu¾i�kelti antr ¾aji¾ stulpeli¾, nes

� = mini; xij>0

xi0xi1

= min

�30

7; 6

�=30

7;

k = 1; B(1) = 2:

Atlikus atramini¾baz·es keitim ¾a, gaunamas rezultatas

-36/7 0 11/7 0 19/730/7 1 6/7 0 -3/72/7 0 -1/7 1 4/7

;

rei�kiantis, kad tolimesnis baz·es keitimas nebegali pagerinti tikslofunkcijos reik�m·es, nes visu¾ nebaziniu¾ stulpeliu¾ kriteriju¾ reik�m·esteigiamos. �io uµzdavinio optimalus bazinis sprendinys ir optimali tik-slo fukcijos reik�m·e yra �itokie

Page 143: Matematinis programavimas

4.5. SIMPLEKSO ALGORITMAS 143

X� = (30=7; 0; 2=7; 0); CX� = 36=7:

Bendruoju atveju s ¾alyg ¾a

cj �mXi=1

cB(i)xij > 0

matricine forma galima uµzra�yti �itaip

C � CBX � 0;

µcia CB = (cB(1); :::; cB(m)), ir X yra koe�cientu¾ xij, apibr·eµztu¾ lygybe(4.7), matrica X = H�1

B A; HB �baz¾e B atitinkanti stulpeliu¾matrica.13 teorema. Jei C � CBX � 0; tai nagrin·ejamasis bazinis

sprendinys yra optimalus.I¾rodymas. Sakysim, Y yra leistinosios srities vektorius (nebutinai

bazinis): AY = B, Y � 0. Paµzym·ekime Z = CBX : Pagal teoremosprielaid ¾a visiems j galioja nelygyb·e cj � zj. Tod·el teisinga �itokianelygyb·e

CY � ZY = (CBH�1B A)Y

= CBH�1B (AY ) = CBH�1

B B: (4.12)

Tikslo funkcijos reik�m·e nagrin·ejamajame baziniame sprendinyjeX0 lygi

mXi=1

cB(i)xi0 =mXi=1

cB(i)(H�1B B)i = CBH�1

B B: (4.13)

Palygin¾e (4.12) ir (4.13) matome, kad CX0 � CY , t.y. na-grin·ejamajame baziniame sprendinyje tikslo funkcijos reik�m·e ne blo-gesn·e negu bet kokiame kitame leistinosios srities ta�ke. Rei�kia, X0

yra optimalus bazinis sprendinys.

Page 144: Matematinis programavimas

144 CHAPTER 4. TIESINIS PROGRAMAVIMAS

4.6 Startas

Simplekso algoritmu galime rasti optimalu¾ sprendini¾, bet prad·etiturime nuo kokio nors leistinojo bazinio sprendinio. Kaip ji¾ suµzinoti?Sakysim, sprendµziamas uµzdavinys

min CX;

AX � B; X � 0;ir B � 0: Tada papild¾e uµzdavini¾�ktyviais neneigiamais kintamaisiais,kuriu¾vektoriu¾paµzym·esime X 0; ir papild¾e matric ¾a A vienetine matricaI, pakeiµciame pradini¾uµzdavini¾�itokiu

min CX;

(A; I)

�XX 0

�= B; X � 0; X 0 � 0:

Pastarasis uµzdavinys ekvivalentus pradiniam ir turi akivaizdu¾ leistin ¾abazini¾ sprendini¾X 0 = B, nuo kurio ir galima prad·eti tikslo funkcijosminimizavim ¾a simplekso algoritmu.Jei leistinasis bazinis sprendinys n·era toks akivaizdus, tenka spr¾esti

dvieju¾ faziu¾ uµzdavini¾. Papildydami uµzdavini¾ neneigiamais �ktyviaiskintamaisiais, visus nelygybinius ribojimus galime pakeisti �itokiaislygybiniais

Xi

ajixi � bj > 0 !Xi

ajixi � x0j = bj;Xi

ajixi � bj; bj < 0 ! �Xi

ajixi + x0j = �bj;X

i

ajixi � bj < 0 ! �Xi

ajixi � x0j = �bj;

Page 145: Matematinis programavimas

4.6. STARTAS 145

su neneigiama de�ini ¾aja puse. Gautojo TPS uµzdavinio kintamu¾ju¾(tikru¾ir �ktyviu¾) vektoriu¾paµzym·esime X, ribojimu¾matric ¾a, pa�alin¾etiesi�kai priklausomas eilutes, paµzym·esime �; o jos rang ¾am: Uµzdavinys

min CX;

�X = abs(B); (4.14)

X � 0;

ekvivalentus pradiniam; µcia abs(B) rei�kia vektoriu¾, sudaryt ¾a i�vek-toriaus B elementu¾ absoliutiniu¾ didumu¾. Pastar ¾aji¾ uµzdavini¾ galimepakeisti (papildydami ji¾m �ktyviais neneigiamais kintamaisiais, su-daranµciais vektoriu¾X 00) kitu TPS uµzdavniu

minmXi=1

x00i ;

(�; I) � (X;X 00)t = abs(B), X � 0; X 00 � 0;

kurio leistinasis bazinis sprendinys akivaizdusX 00 = abs(B). I�sprend¾epastar ¾aji¾ uµzdavini¾ simplekso metodu, galime gauti optimalu¾ bazini¾sprendini¾atitinkanti¾nulin¾e optimali ¾a kain ¾a. Tada gautasis sprendinysyra (4.14) uµzdavinio leistinuoju baziniu sprendiniu. Tod·el prad·edami�iuo sprendiniu galime spr¾esti (4.14) uµzdavini¾ simplekso algoritmu irgauti pradinio uµzdavinio sprendini¾. Taµciau gali atsitikti ir taip, kad(4.14) uµzdavinio optimali reik�m·e nebus lygi nuliui. Tas reik�tu¾, kadpradinis uµzdavinys neturi leistino sprendinio.Jei pradinio uµzdavinio leistinas bazinis sprendinys n·era akivaiz-

dus, tenka spr¾esti tiesinio programavimo uµzdavini¾du kartus. I�spren-dus pirmosios faz·es uµzdavini¾ gaunamas leistinasis bazinis pradiniouµzdavinio sprendinys. Antroji faz·e - pradinio uµzdavinio sprendimas

Page 146: Matematinis programavimas

146 CHAPTER 4. TIESINIS PROGRAMAVIMAS

simplekso metodu pradedant leistinuoju baziniu sprendiniu, surastusprendµziant pirmos faz·es uµzdavini¾.

4.7 Dualumas TP

Bendras dualumo atvejis i�nagrin·etas ankstesniame skyriuje. Tod·elnesunku performuluoti gautus rezultatus TP terminais. Kita ver-tus, dualus uµzdavinys TP atveju formuluojamas paprasµciau ir yravaizdesnis negu bendru atveju. Gal but, silpnesnio matematiniopasiruo�imo skaitytojas praleido paragraf ¾a, skirt ¾a dualumui netiesini-ame programavime, d·el tame pagrarafe vartoto �iek tiek sud·etingesniomatematinio aparato. Tod·el paai�kinsime dualumo id·ej ¾a paprastu TPpavyzdµziu.Panagrin·ekime pirmini¾TP uµzdavini¾

min (x1 + 2x2 � 7x3); xi � 0;

3x1 � x2 + 5x3 = 6;

2x1 + 0x2 � x3 = 12;

kuris yra uµzra�ytas standartine forma. Sakysim, X yra leistinas�io uµzdavinio sprendinys, o Y = (y1; y2) nauju¾ kintamu¾ju¾ vektorius.Susumav¾e ribojimu¾ funkcijas padaugintas i�yi gausime funkcij ¾a

�(Y ) = (3x1 � x2 + 5x3) y1 + (2x1 � x3) y2 == 6 y1 + 12 y2 =

= (3y1 + 2y2)x1 � y1x2 + (5y1 � y2)x3:

Palyginkime pirminio TP uµzdavinio tikslo funkcij ¾a su �(Y ). Jei skli-austeliuose esantys daugikliai maµzesni uµz tikslo funkcijos koe�cien-tus, tai �(Y ) reik�m·e maµzesn·e uµz pirminio uµzdavinio tikslo funkcijos

Page 147: Matematinis programavimas

4.7. DUALUMAS TP 147

reik�m¾e bet kuriam leistinam pirminio uµzdavinio sprendiniui. Tod·elgalioja nelygybiu¾sistema

max�(Y ) � min (x1 + 2x2 � 7x3);3y1 + 2y2 � 1;

�y1 � 2;

5y1 � y2 � �7;rei�kianti, kad TP uµzdavinio

max (3y1 + 2y2); (4.15)

3y1 + 2y2 � 1;

�y1 � 2;

5y1 � y2 � �7;optimali reik�m·e yra pirminio uµzdavinio optimalios reik�m·es apatinisr·eµzis. TP uµzdavinys (4.15) vadinamas dualiu pirminiam uµzdaviniui.TP dualaus uµzdavinio kintamu¾ju¾vektorius paprastai µzymimas Y; tuopabr·eµziant simetri�kum ¾a tarp pirminio ir dualaus uµzdavinio. Galimaparodyti, kad jei bent vienas i�uµzdaviniu¾turi optimalu¾sprendini¾, taiir kitas turi optimalu¾sprendini¾, o ju¾optimalios reik�m·es sutampa.Pana�iai kaip i�nagrin·etame pavyzdyje pirminiam TP uµzdaviniui,

uµzra�ytam bendra forma,

min CX;

A0X = B0;

A00X � B00; (4.16)

x1 � 0; :::; xr � 0;

Page 148: Matematinis programavimas

148 CHAPTER 4. TIESINIS PROGRAMAVIMAS

formuluojamas dualus TP uµzdavinys

max BY;

(At)0Y � C 0;

(At)00Y = C 00; (4.17)

yl+1 � 0; :::; ym � 0;

µcia C = (C 0; C 00); B = (B0; B00);matric ¾a (At)0 sudaro r transponuotos

matricos A =�A0

A00

�eiluµciu¾, o (At)00 sudaro likusios n� r transpon-

uotos matricos A eilut·es. Pana�iai vektorius C padalintas i¾C 0 ir C 00; omatrica A ir vektorius B padalinti i¾ l ir m � l eiluµciu¾ ir elementu¾.Dualaus uµzdavinio tikslo funkcijos koe�cientai yra (4.16) ribojimu¾de�iniosios pus·es vektoriaus elementai. Dualaus uµzdavinio ribojimu¾de�iniosios pus·es vektorius yra (4.16) tikslo funkcijos koe�cientu¾vek-torius. Iki �iol transponavimo operacijos neµzym·edavome, kadangi jilengvai budavo suprantama i�konteksto. Taµciau (4.17) ribojimu¾ma-trica uµzra�yta naudojant transponavimo µzenkl ¾a, kad butu¾ pabr·eµztas�itoks santykis tarp pirminio ir dualaus uµzdavinio: dualiojo uµzdavinioribojimu¾matrica gaunama transponuojant pirminio uµzdavinio ribojimu¾matric ¾a. Neneigiamumo ribojimus kintamiesiems xi; i = 1; :::; r;uµzdavinyje (4.16) atitinka r nelygybiniu¾ � tipo ribojinu¾ uµzdavinyje(4.17). Lygybinius ribojimus uµzdavinyje (4.16) atitinka neribojamikintamieji yi; i = 1; :::; l, o likusius nelygybinius � ribojimus atitinkaneneigiamumo ribojimai kintamiesiems yi; i = l + 1; :::;m:Dualumo tyrimai sudaro svarbi ¾a tiesinio programavimo teorijos

dali¾. Dualiu¾ uµzdaviniu¾ analize pagri¾sti ir kai kurie TP uµzdaviniu¾sprendimo algoritmai. TP dualumas detaliau i�d·estytas prof.J.Clausen paskaitoje, kuri pateikta tinklalapyje [6]. µCia pagrindinius

Page 149: Matematinis programavimas

4.7. DUALUMAS TP 149

TP dualumo teorijos teiginius i�vesime i�bendru¾ dualumo rezultatu¾,pateiktu¾treµciajame �ios knygos skyriuje.Nagrin·esime TP uµzdavini¾, uµzra�yt ¾a standartine forma

min CX;

AX = B; X � 0:Paµzym·ej¾e Lagrange�o daugikliu¾ vektoriu¾ Y , Lagrange�o funkcij ¾agal·esime uµzra�yti �itaip

L(X;Y ) = CX + Y (B � AX); X � 0;o dualaus uµzdavinio tikslo funkcij ¾a ��itaip

�(Y ) = infX�0

CX + Y (B � AX) = (4.18)

= infX�0

nXj=1

"cj �

mXi=1

yiaij

#xj +

mXi=1

yibi

!:

Jei bent vienam j galiotu¾nelygyb·e

cj �mXi=1

yiaij < 0;

tai, did·ejant xj Lagrange0o funkcijos reik�m·e neapr·eµztai maµz·etu¾, t.y.�(Y ) = �1: Jei nelygyb·es

cj �mXi=1

yiaij � 0 (4.19)

patenkintos visiems j, tai (4.18) minimumas pasiekiamas, kai X = 0;ir

Page 150: Matematinis programavimas

150 CHAPTER 4. TIESINIS PROGRAMAVIMAS

�(Y ) =

mXi=1

yibi = BY: (4.20)

Uµzra�ius ribojimus (4.19) matricine forma, (4.20) maksimizavimo uµz-davinys atitiks (4.17) form ¾a:

max BY; (4.21)

AtY � C:Remdamiesi bendru dualaus uµzdavinio apibr·eµzimu, suformulu-

okime dualu¾ uµzdavini¾ TP uµzdaviniui (4.21), kuris ekvivalentusmin (�BY ); AtY � C: Pastarojo uµzdavinio Lagrange�o funkcijosdaugiklius paµzym·ej¾e xj � 0; j = 1; :::; n; dualaus uµzdavinio tikslofunkcij ¾a gal·esime i�reik�ti �itaip

R(X) = infY 2Rm

�BY +X(AtY � C) =

= infY 2Rm

mXi=1

"nXj=1

aijxj � bi

#yi �

nXj=1

cjxj

!;

ir padaryti i�vad ¾a: R(X) = �CX; jei AX = B; R(X) = �1; jeiAX 6= B. Tod·el (4.21) dualus uµzdavinys yra �itoks

max (�CX) = min CX;

AX = B; X � 0;t.y. dualaus uµzdavinio dualus uµzdavinys sutampa su pirminiu uµz-daviniu. Pastarasis teiginys TP uµzdaviniui uµzra�ytam bendra forma(4.16) gali buti suformuluotas taip: atsiµzvelgiant i¾ operaciju¾max ir

Page 151: Matematinis programavimas

4.7. DUALUMAS TP 151

min, nelygybiu¾� ir �, bei nelygybiniu¾ ir kintamu¾ju¾ neneigiamumoribojimu¾simetri�kum ¾a, galima teigti, kad pirminis uµzdavinys yra du-alaus uµzdavinio dualus uµzdavinys.Performuluojant bendros dualumo teorijos i�vadas tiesiniam pro-

gramavimui nesunku i¾rodyti tokius teiginius:1. Jei X ir Y leistinieji pirminio ir dualaus uµzdavinio sprendiniai,

tai CX � BY:2. Jei vienas i�(4.16), (4.17) uµzdaviniu¾turi optimalu¾sprendini¾, tai

ir kitas turi optimalu¾ sprendini¾, ir abieju¾ uµzdaviniu¾ optimalios tikslofunkcijos reik�m·es sutampa.3. Jei vienas i�(4.16), (4.17) uµzdaviniu¾neturi leistinu¾sprendiniu¾,

tai kitas neturi leistinu¾sprendiniu¾arba yra neapr·eµztas.4. X� ir Y � yra pirminio ir dualaus uµzdaviniu¾sprendiniais tada ir

tik tada, kai

(A � X� �B) � Y � = 0;

(At � Y � � C) �X� = 0: (4.22)

Svarbi dualaus uµzdavinio sprendinio ekonomin·e interpretacija.Sakysim, �rma gamina n produktu¾, kuriu¾ kiekius x1; :::; xn; norimanustatyti taip, kad pardavus pagamintus produktus gautas pelnasbutu¾maksimalus. Jei i�tojo produkto kain ¾a paµzym·esime ci, tai reikiaspr¾esti maksimizavimo uµzdavini¾max CX: Kiekvieno produkto vienetogamybai reikalingu¾m resursu¾poreikiai apibr·eµziami matrica A; kurioselementas aij rei�kia i�tojo produkto vienetui pagaminti reikalingoj�tojo resurso kieki¾. Gamybos apimti¾ riboja turimu¾ resursu¾ kiekis,nusakomas vektoriumi B: Pelnas maksimizuojamas esant ribojimamsAX � B; X � 0: Toki¾ tiesinio programavimo uµzdavini¾ gal·etumespr¾esti, pavyzdµziui, simplekso algoritmu, pakeit¾e uµzdavini¾ekvivalenµciustandartiniu TP uµzdaviniu.Sakysim, optimaliai suplanavus ir prad·ejus gamyb ¾a atsiranda

investiciniu¾ l·e�u¾, kurias butu¾ galima investuoti i¾ prad·et ¾a gamyb ¾a.

Page 152: Matematinis programavimas

152 CHAPTER 4. TIESINIS PROGRAMAVIMAS

Kokiu¾ resursu¾verta pirkti? Koki ¾a kain ¾a uµz juos verta mok·eti? Jeigubus nupirkta papildomai resursu¾, kuriu¾kiekiu¾vektoriu¾paµzym·esime T ,tai uµzdavinio ribojimai bus uµzra�omi nelygybe AX � B + T: Norintsuµzinoti maksimalu¾peln ¾a, kuri¾galima gauti su papildomais resursais,tektu¾spr¾esti TP uµzdavini¾i�naujo. Jei T variantu¾ne vienas, tai norintjuos palyginti tektu¾spr¾esti tiek nauju¾TP uµzdaviniu¾, kiek yra variantu¾.Tiesa, jei T pakankamai maµzas lyginant su B; tai modi�kuoto uµz-davinio optimali ¾a baz¾e sudaro tie patys kintamieji. Pasinaudojus tokiainformacija modi�kuotu¾uµzdaviniu¾maksimalius pelnus galima greitaiapskaiµciuioti. Bet yra ir kitas, geresnis variantu¾ palyginimo budas.I�sprendus dualu¾ uµzdavini¾, jo optimalu¾ sprendini¾ galima panaudotimodi�kuotu¾ uµzdaviniu¾ maksimaliam pelnui i¾vertinti. Kadangi esantpakankamai maµzam T dualiame uµzdavinyje keiµciasi tik tikslo funkcijoskoe�cientai, o optimali baz·e i�lieka, tai naujo dualaus uµzdavinio mak-simalus pelnas lygus (B+T )Y �, µcia Y � - dualaus uµzdavinio su resursu¾vektoriumi B sprendinys. I� dualumo teorijos µzinoma optimaliu¾reik�miu¾lygyb·e: CX� = BY �; µcia X�� pradinio uµzdavinio optimalussprendinys. Nupirkus papildomai T resursu¾, pajamu¾ prieaugis butu¾TY �: Tod·el Y � interpretuotinas kaip resursu¾ pelningumu¾ (marginalvalue) vektorius, nusakantis maksimalias mok·etinas kainas.

Jei, sakysim, y�i = 3, tai papildomai nupirktas i�tojo resurso kiekisti uµz kain ¾a i duos papildom ¾a peln ¾a ti( y

�i� i): �iuo poµziuriu neap-

simoka mok·eti uµz i�t ¾aji¾ resurs ¾a brangiau negu y�i = 3.

Jei y�i = 0, tai turimas i�tojo resurso kiekis bi pirminio uµzdaviniooptimaliame sprendinyje yra perteklinis, t.y.

Pnj=1 aijx

�j < bi. Tod·el

papildomai pirkti i�tojo resurso apskritai neapsimoka. Pabr·e�ime,kad taip nustatytos maksimaliai mok·etinos kainos turi prasm¾e tik touµzdavinio poµziuriu.

Page 153: Matematinis programavimas

4.8. SUD ·ETINGUMAS 153

4.8 Sud·etingumas

Tiesinio programavimo uµzdavinio, uµzra�yto standartine forma,sprendini¾ galima rasti simplekso algoritmu. Sakysim, leistinas bazi-nis sprendinys µzinomas, kadangi ji¾galima rasti i�sprendus kit ¾a pana�u¾uµzdavini¾. Kadangi simplekso algoritmas kaip potencialius spren-dinius tikrina poliedro vir�unes, tai tikrinimu¾ skaiµcius yra baigti-nis, blogiausiu atveju sutampantis su poliedro vir�uniu¾ skaiµciumi.Jei TPS apibr·eµztas n�mat·eje erdv·eje su m ribojimu¾, tai leistinu¾baziniu¾ sprendiniu¾ (vir�uniu¾) skaiµcius ne didesnis negu Cmn : Sakysim,n = 2m: Tada, naudojantis Stirling�o formule vir�uniu¾ skaiµciu¾ gal-ima aproksimuoti Cmn v 22m(m=e)m, kas yra astronomini�kai didelisskaiµcius, kai m siekia vos kelias de�imts. Net ir labai paprastosstrukturos leistinosios srities, pvz. hiperkubo, vir�uniu¾ skaiµcius yralabai didelis; kai n = 100; tai vir�uniu¾skaiµcius lygus 2100 s 1030:Egzistuoja tiesinio programavimo uµzdaviniu¾ pavyzdµziai, kai sim-

plekso algoritmas, eidamas nuo pradinio iki optimalaus sprendinio,patikrina visas poliedro vir�unes. Taigi, augant uµzdavinio dydµziui,blogiausiu atveju uµzdavinio sprendimo simlekso algoritmu laikas augaeksponenti�kai. Jei praktiniai uµzdaviniai butu¾ pana�us i¾ blogiausioatvejo uµzdavinius, simplekso algoritmas butu¾ visai nenaudingas, nesper priimtin ¾a laik ¾a juo nebutu¾ i¾manoma i�spr¾esti bent kiek didesniouµzdavinio. Laimei, praktiniai uµzdaviniai palankesni simplekso algorit-mui: daugeliui praktiniu¾uµzdaviniu¾ sprendimo laikas auga ne greiµciaunegu 2m: Vis d·elto, kyla svarbus teorinis klausimas, ar egzistuoja al-goritmai, kurie blogiausio atvejo poµziuriu paprastesni negu simpleksoalgoritmas.Simplekso algoritmo sud·etingumo i¾vertis gaunamas i¾vertinant

poliedro vir�uniu¾ skaiµciu¾ ir i¾rodant, kad egzistuoja uµzdaviniai, kuri-uos sprendµziant patikrinamos visos poliedro vir�un·es. Gautasissud·etingumo i¾vertis i�rei�kiamas �itaip �(m) = (22m); µcia �(�)yra uµzdavinio sprendimo laikas, o (�) rei�kia funkcij ¾a, auganµci ¾a ne

Page 154: Matematinis programavimas

154 CHAPTER 4. TIESINIS PROGRAMAVIMAS

l·eµciau negu jos argumentas. Ne visiems algoritmams �itokia pa-prasta id·eja tinka. Bendru atveju reikia apibr·eµzti uµzdavinio dy-dµzio mat ¾a � ir i¾vertinti uµzdavinio sprendimo laiko � priklausomyb¾enuo uµzdavinio dydµzio. Sprendimo laikas paprastai suprantamaskaip reikalingu¾ uµzdaviniui i�spr¾esti kompiuteriu vykdomu¾ operaciju¾skaiµcius. Realiai kompiuteriu atliekami veiksmai su dvejetainiais ko-dais. Kiekvienas dvejetainis kodas gali buti interpretuojamas kaipdvejetainis skaiµcius. Algoritmu¾ sud·etingumo tyrimuose daµzniausiaiabstrahuojamasi nuo kitu¾ skaiµciavimo kompiuteriu ypatybiu¾ ir na-grin·ejami uµzdaviniai, kuriu¾ duomenys yra sveikieji skaiµciai. TPSatveju tas reik�tu¾ prielaid ¾a, kad visi matricos A bei vektoriu¾ B; Celementai yra sveikieji skaiµciai; TPS uµzdavini¾ su sveikaisiais koe-�cientais sutrumpintai µzym·esime TPSS. Prielaida apie koe�cientu¾sveikaskaiti�kum ¾a praktiniu¾ taikymu¾ poµziuriu n·era varµzanti, nes tin-kamai parinkus masteli¾ uµzdavinio duomenis norimu tikslumu galimai�reik�ti sveikaisias skaiµciais. Naturalus uµzdavinio dydµzio matas yrabitu¾skaiµcius reikalingas uµzdavinio duomenims uµzra�yti dvejetaine sis-tema. TPSS duomenis sudaro m � n dydµzio matrica A ir µzymiaimaµziau elementu¾ turintys vektoriai B ir C. Tod·el TPSS dydis galibuti i¾vertintas �itaip

� � m� n+ dlog2 jP je;

µcia pirmasis d·emuo i¾vertina skirtuku¾ skaiµciu¾ uµzdavinio koe�cientamsvienam nuo kito atskirti nestrukturizuotoje atmintyje, P yra visu¾nelygiu¾nuliui sveiku¾ju¾ skaiµciu¾, sudaranµciu¾TPS duomenis, sandauga;d�e rei�kia apvalinim ¾a iki didesnio sveikojo skaiµciaus.Toliau pateiksime polinominio sud·etingumo TPSS algoritmu¾

pavyzdµzius. Polinominis sud·etingumas rei�kia, kad skaiµciavimo laikasgali buti apr·eµztas polinomine uµzdavinio dydµzio funkcija

�(�) = O(�N);

Page 155: Matematinis programavimas

4.8. SUD ·ETINGUMAS 155

µcia O(�) rei�kia funkcij ¾a, kuri auga ne greiµciau negu jos argumentas,N priklauso nuo uµzdavinio duomenu¾. Kadangi eksponentin·e funkcijaauga greiµciau uµz polinomin¾e, tai pakankamai dideliems uµzdaviniamspolinominio sud·etingumo algoritmai bus greitesnis negu simpleksoalgoritmas. Priminsime, kad algoritmai lyginami blogiausio atvejopoµziuriu.TPSS algoritmu¾sud·etingumui analizuoti patogesnis uµzdavinio dy-

dµzio matas

L = m� n+ dlog2 jP je+ n dlog2 jnje:

Kadangi L patenkina nelygyb¾e L � �2, tai i� algoritmo polino-minio sud·etingumo L atµzvilgiu i�plaukia jo polinominis sud·etingumas� atµzvilgiu: LM � �2M :Simplekso algoritmu optimalaus sprendinio ie�koma tikrinant

leistinosios srities vir�unes. Toliau nagrin·ejami metodai generuojata�ku¾, nesutampanµciu¾su srites vir�un·emis, sekas. Tokios sekos asimp-toti�kai konverguoja i¾ optimali ¾a vir�un¾e. Begalin·es sekos nutraukimos ¾alygai apibr·eµzti ir tiksliam TPSS uµzdavinio (kurio dydis lygus L)sprendiniui apskaiµciuoti pagal gaut ¾a apytikslu¾ sprendini¾ svarbios to-liau suformuluotos baziniu¾sprendiniu¾savyb·es.Lema. Jei X yra bazinis sprendinys, tai egzistuoja sveikieji

skaiµciai D0; D1; :::; Dn, tokie, kad xi = Di=D0, D0 6= 0; Di � 2L,jxij < 2L:I¾rodymas. Sakysim H yra m�m matrica, sudaryta i�matricos

A baziniu¾ stulpeliu¾, atitinkanµciu¾ bazini¾ sprendini¾ X. Paµzym·ekimematricosH determinant ¾aD0: KadangiD0 yra lygusm! d·emenu¾sumai,kuriu¾kiekvienas lygus m matricos H elementu¾sandaugai, tai

jD0j � m! � jP j � n! � jP j � 2ndlog2 ne+log2 P < 2L:

Kiekvienas bazinis X elementas pagal Kramerio taisykl¾e lygusDi=D0, Di determinantas matricos, gautos pakeitus matricoje H

Page 156: Matematinis programavimas

156 CHAPTER 4. TIESINIS PROGRAMAVIMAS

vien ¾a stulpeli¾ stulpeliu B: Pana�iai, kaip D0 atveju, parodoma, kadjDij < 2L. NebaziniaiX elementai lygus nuliui. Tod·el visusX elemen-tus galima uµzra�yti taip, kaip teigiama Lemos teiginyje, ir jxij < 2L:Lema. Sakysim X ir Y du baziniai sprendiniai ir patenkinta ne-

lygyb·e

CX � CY � 2�2L: (4.23)

Tada CX = CY:I¾rodymas. Sakysim teiginys neteisingas, t.y. CX 6= CY .

Kadangi i� anksµciau i¾rodytos lemos i�plaukia, kad CX = D0=D,CY = E 0=E, ir visi de�iniosiose lygybiu¾pus·ese esantys sveikieji skaiµciaiabsoliutiniu dydµziu nevir�ija 2L, tai teisinga nelygyb·e

jCX � CY j =����D0E � E 0D

DE

���� � 1

jDEj > 2�2L;

kuri prie�tarauja (4.23). Gautas prie�taravimas i¾rodo Lemos teigini¾.

4.9 Elipsoidu¾metodas

Elipsoidai naudojami konstuojant optimizavimo metodus i¾vairiomsuµzdaviniu¾ klas·ems. µCia trumpai aptariamas elipsoidu¾ metodastiesinio programavimo uµzdaviniams. �i¾ metod ¾a 1979 m. paskelb·eL.Chaµcijanas, remdamasis visai kitomis negu simplekso algoritmoid·ejomis. �io metodo µzingsniu¾skaiµcius, augant uµzdavinio dydµziui, blo-giausiu atveju auga polinomo greiµciu, t.y. metodas priklauso polino-minio sud·etingumo klasei. �iuo poµziuriu elipsoidu¾ metodas µzymiaiprana�esnis uµz eksponentinio sud·etingumo klasei priklausanti¾ sim-plekso algoritm ¾a.Nagrin·esime tiesinio programavimo uµzdavini¾ standartine forma

min CX;

Page 157: Matematinis programavimas

4.9. ELIPSOIDU¾METODAS 157

AX = B; X � 0; (4.24)

darydami prielaid ¾a, kad A; B ir C elementai yra sveikieji skaiµciai; toki¾uµzdavini¾ sutrumpintai µzym·esime TPSS.14 teorema. TPSS polinominio sud·etingumo algoritmas egzis-

tuoja tada ir tik tada, kai egzistuoja polinominio sud·etingumo algo-ritmas tiesiniu¾nelygybiu¾su sveikaisiais koe�cientais sistemoms spr¾esti.I¾rodymas. Sakysim, µzinomas polinominio sud·etingumo TPSS

algoritmas. Duotajai nelygybiu¾ sistemai galima uµzra�yti TPuµzdavini¾, kurio ribojimais butu¾ duotosios nelygyb·es, o tikslo funkci-jos koe�cientu¾ vektorius butu¾ nulinis C = (0; :::; 0): Gaut ¾a uµzdavini¾pakeit¾e jam ekvivalenµciu TPSS uµzdaviniu ir ji¾ i�sprend¾e turimu al-goritmu arba gausime duotosios tiesiniu¾ nelygybiu¾ sistemos leistn ¾aji¾sprendini¾, arba i¾rodysime, kad toks sprendinys neegzistuoja. Kadangiminimi pakeitimai atliekami per tiesini¾ laik ¾a, tai bendras uµzdaviniosprendimo laikas polinominis, t.y. sprendimo laikas gali buti apr·eµztaspolinomu, kurio argumentas yra nelygybiu¾sistemos dydis.Sakysim, µzinomas polinominio sud·etingumo algoritmas tiesiniu¾

nelygybiu¾ su sveikaisiais koe�cientais sistemoms spr¾esti. �iuo algo-ritmu galima surasti koki¾ nors nelygybiu¾ sistemos (kiekvien ¾a lygti¾galima pakeisti dviem nelygyb·emis), kuria apibr·eµzti TPSS ribojimaisprendini¾, arba i¾sitikinti, kad ribojimai nesuderinti, t.y. sistema neturisprendinio. Pirmuoju atveju leistinu¾sprendiniu¾aib·e netu�µcia, ir TPSSsprendim ¾a, remiantis dualumo teorijos rezultatais, galima pakeisti �i-tokios lygµciu¾ ir nelygybiu¾sistemos su sveikasiais koe�cientais

AX = B; X � 0;AtY � C; CX �BY = 0; (4.25)

sprendimu. I�dualumo teorijos µzinoma, kad tiesiniu¾nelygybiu¾ (4.25)sistema turi sprendini¾, jei TPSS apr·eµztas. Naudodamiesi algoritmu

Page 158: Matematinis programavimas

158 CHAPTER 4. TIESINIS PROGRAMAVIMAS

tiesiniu¾ nelygybiu¾ sistemoms spr¾esti per polinomini¾ laik ¾a apskaiµciu-osime (4.25) sprendini¾ (X�; Y�), arba i¾sitikinsime, kad (4.25) neturisprendinio. Kadangi (4.25) sistemos dydis nedidesnis uµz trigub ¾a TPSS(4.24) dydi¾, tai TPSS sprendinys X� bus surastas per polinomini¾laik ¾a;arba bus nustatyta, kad TPSS sprendiniai neapr·eµzti.I¾rod·eme, kad polinominio sud·etingumo algoritmas TPSS uµz-

daviniui (4.24) egzistuoja tada ir tik tada, kai toks algoritmas egzis-tuoja tiesiniu¾ nelygybiu¾ sistemai (4.25) spr¾esti; priminsime, kad ly-gyb·e yra ekvivalenti dviem nelygyb·ems. Pastarosios sistemos nely-gyb·es yra negrieµztos. Kaip pamatysime v·eliau, lengviau sudaryti poli-nominio sud·etingumo algoritm ¾a grieµztu¾ nelygybiu¾ sistemoms. Tod·elsvarbu, kad egzistuotu¾ polinominio sud·etingumo algoritmas negrieµz-tos nelygybiu¾ sistemos sprendiniui atstatyti pagal artimos pastarajaigrieµztu¾nelygybiu¾sistemos sprendini¾.15 teorema. Nelygybiu¾su sveikaisiais koe�cientais sistema AX �

B, kurios dydis L; turi sprendini¾ tada ir tik tada, kai AX < B0

tuti sprendini¾, µcia b0i = bi + ", " = 2�2L: Egzistuoja polinominiosud·etingumo L atµzvilgiu algoritmas sistemos AX � B sprendiniuiapskaiµciuoti remiantis sistemos AX < B0 sprendiniu.�ios teoremos nei¾rodin·esime. Ja remiantis galima teigti, kad

egzistuoja polinominio sud·etingumo TPSS algoritmas, jei polinominiosud·etingumo algoritmas egzistuoja grieµztu¾ tiesiniu¾ nelygybiu¾ siste-moms su sveikaisiais koe�cientais spr¾esti. I� tikru¾ju¾, remiantis du-alumo teorija, TPSS per tiesini¾ laik ¾a gali buti pakeistas ekvivalenµciunegrieµztu¾tiesiniu¾nelygybiu¾su sveikaisiais koe�cientais sistemos ~AZ �eB sprendimo uµzdaviniu, kurio dydis $ ne daugiau kaip tris kartusdidesnis uµz TPSS dydi¾. Sudarykime nelygybiu¾ sistem ¾a ~A0Z < eB0,~A0 = ~A � 22L, eB0 = eB � 22L + I, I - vienetinis vektorius. Pastarosiossistemos dydis ne didesnis negu 2$2: Jei pastarajai sistemai spr¾estiµzinomas polinominio sud·etingumo algoritmas, tai jos sprendimo laikasapr·eµztas ir polinomu L atµzvilgiu. Surad¾e nelygybiu¾sistemos ~A0Z < eB0sprendini¾, kaip teigia 15 teorema, sistemos ~AZ � eB sprendini¾, galima

Page 159: Matematinis programavimas

4.9. ELIPSOIDU¾METODAS 159

atstatyti (tuo paµciu surasti ir TPSS sprendini¾) per polinomini¾ laik ¾a.Kadangi polinominu¾ i¾verµciu¾ kompozicija duoda polinomini¾ i¾verti¾, taiir bendras TPSS uµzdavinio sprendimo algoritmas yra polinominiosud·etingumo.Elipsoidu¾ algoritmas skirtas grieµztu¾ tiesiniu¾ nelygybiu¾ sistemoms

spr¾esti. Paµzym·ekime nagrin·ejam ¾aj ¾a nelygybiu¾ sistem ¾a AX < B. Ini-cializavimo µzingsnyje sukuriamas pradinis elipsoidas �0, kuris apimanelygybiu¾ sistemos sprendiniu¾ aib¾e T arba (jei, pavyzdµziui, aib·eneapr·eµzta) jos dali¾.k�tajame algoritmo µzingsnyje tikrinama, ar hiperelipsoido �k�1

centras #k patenkina nelygybiu¾sistem ¾a. Jei taip, tai uµzdavinys i�spr¾es-tas. Jei ne, nustatoma nelygyb·e,X

i

ajixi < bj;

kuri yra nepatenkinama. Per elipsoido centr ¾a pravesta hiperplok�tumalygiagreti hiperplok�tumai X

i

ajixi = bj

dalija hiperelipsoid ¾a pusiau, ir T priklauso hiperelipsoido pusei, kuripatenkina nelygyb¾e X

i

ajixi <Xi

aji#ki:

Akcentuosime svarbi ¾a hiperelipsoidu¾ savyb¾e: nesunku sukon-struoti hiperelipsoid ¾a, kuris apima padalinto hiperelipsoido pus¾e irkurio hiperturis reik�mingai maµzesnis uµz padalinto hiperelipsoido turi¾.Remiantis �ia savybe sudaromas hiperelipsoidas �k: k := k + 1, irµzingsnis kartojamas.

Galima parodyti, kad po baigtinio µzingsniu¾ skaiµciaus bus gautasnelygybiu¾ sistemos sprendinys. Algoritmas be papildomos sustojimo

Page 160: Matematinis programavimas

160 CHAPTER 4. TIESINIS PROGRAMAVIMAS

Figure 4.13: Elipsoido centras nepatenkina nelygybiu¾ sistemos.Nubr·eµzta ties·e, atitinkanti nepatenkint ¾a nelygyb¾e, ir jai lygiagretities·e, einanti per elipsoido centr ¾a

Page 161: Matematinis programavimas

4.9. ELIPSOIDU¾METODAS 161

Figure 4.14: Naujas elipsoidas apima atkirst ¾aj ¾a pus¾e

s ¾alygos butu¾nekorekti�kas, nes tu�µcios aib·es T atveju butu¾vykdomasbegalinis ciklas. Taµciau, remiantis informacija apie uµzdavinio duome-nis, teori�kai galima i¾vertinti minimalu¾ hiperelipsoido turi¾ netu�µciosleistinosios srities atveju. Jei vykdant algoritm ¾a gaunamas maµzesnioturio hiperelipsoidas, tai algoritmas stabdomas, ir �itoks sustojimasrei�kia, kad nelygybiu¾sistema neturi sprendinio.Sakysim, pradinis hiperelipsoidas yra sfera su centru koordinaµciu¾

pradµzioje ir radiusu n � 2L. Tada ne v·eliau kaip po K = 16 � n � (n +1) � L µzingsniu¾ algoritmas sustos. Tas rei�kia, kad blogiausio atvejosprendimo laikas yra polinominis uµzdavinio dydµzio atµzvilgiu. Toliaupateikiama elipsoidu¾ algoritmo schema. k - µzingsnyje hiperelipsoid ¾aapra�anti matrica paµzysm·eta Hk :

�k = fX : (X � #k)t �H�1k � (X � #k) � 1:

Page 162: Matematinis programavimas

162 CHAPTER 4. TIESINIS PROGRAMAVIMAS

Elipsoidu¾algoritmas:1. k = 0; K = 16 � n � (n+ 1) � L; #0 = (0; :::; 0)t;

H0 = n2 22L

0BB@1 0 ::: 00 1 ::: 0::: ::: ::: :::0 0 ::: 1

1CCA :2. For k = 0 to K doIf A#k < B then Print (#k) and StopelseRasti stulpeli¾Ai toki¾, kad Ati#k � bi,D = Ai;#k+1 = #k � 1

n+1� Hk�Dp

Dt�Hk�D;

Hk+1 =n2

n2�1

�Hk � 2

n+1(Hk�D)(Hk�D)t

Dt�Hk�D

�:

3. Print (�neturi sprendinio�) and Stop.Nepaisant to, kad elipsoidu¾ algoritmas (blogiausio atvejo)

sud·etingumo kriterijaus poµziuriu yra µzymiai geresnis uµz simplekso al-goritm ¾a, jis pasirod·e kaip prastas pastarojo konkurentas sprendµziantpraktinius uµzdavinius. Viena i� pagrindiniu¾ prieµzasµciu¾ ta, kad sim-plekso algoritmo µzingsnis realizuojamas µzymiai paprastesniais skaiµci-avimais negu elipsoidu¾ algoritmo µzingsnis. Be to, praktiniuose uµz-daviniuose simplekso algoritmo vykdomu¾µzingsniu¾skaiµcius daug - daugmaµzesnis negu blogiausiu atveju, o elipsoidu¾ algoritmui tokia savyb·e(kuri ¾a sunku net tiksliai suformuluoti) n·era budinga.

4.10 Vidinio ta�ko metodai

Simplekso algoritmas dominavo tiesinio programavimo uµzdaviniu¾sprendimo srityje nuo jo i�radimo iki elipsoidu¾metodo paskelbimo. Jisbuvo detaliai teori�kai i�tirtas, i�tobulinta ji¾ realizuojanti programin·e

Page 163: Matematinis programavimas

4.10. VIDINIO TA�KO METODAI 163

i¾ranga. Simplekso algoritmu buvo s·ekmingai sprendµziami praktiniaiuµzdaviniai. Atskiros kitokiu¾ id·eju¾ realizacijos pritraukdavo nepalygi-namai maµziau intelektualiu¾ju¾j·egu¾ir negal·ejo konkuruoti su dominuo-janµci ¾aja kryptimi. Situacija pasikeit·e po elipsoidu¾metodu¾paskelbimo.Nors elipsoidu¾metodas ir realiai nekonkuravo su simplekso algoritmupraktiniu¾TP uµzdaviniu¾sprendimo srityje, taµciau jo sukurimas parod·e,kad skirtingos negu simplekso algoritmo id·ejos gali buti perspektyvios,kad kelias efektyviu¾TP metodu¾kurimui n·era vienintelis. Pra·ejus ke-liems metams po elipsoidu¾metodo paskelbimo, N.Karmarkar pasiul·ekitoki ¾a id·ej ¾a, prad·ejusi ¾a nauj ¾a, taip vadinamu¾vidinio ta�ko metodu¾,krypti¾. Buvo i¾rodyta, kad �is, kaip ir elipsoidu¾, metodas priklausopolinominio sud·etingumo metodu¾klasei. Be to, Karmarkar�o metodosud·etingum ¾a apra�anµcio polinomo laipsnis µzemesnis negu elipsoidu¾metodo sud·etingum ¾a apra�anµcio polinomo laipsnis. Ypaµc svarbu, kad�is metodas s·ekmingai konkuravo su simplekso algoritmu sprendµziantpraktinius uµzdavinius.Karmarkar�o algoritmas tiesiogiai tinka specialiam TPS atve-

jui, kai visu¾, i�skyrus vien ¾a, ribojimu¾ de�iniosios pus·es lygios nuliui.I�skirtinis ribojimas yra toks

x1 + x2 + :::+ xn = 1:

Be to, reikalaujama, kad leistinajai sriµciai priklausytu¾ ta�kas V0 = In,

µcia I - vienetinis vektorius.Apibr·eµztis. Politopas

K = fX 2 Rn : X � 0;X

xi = 1g;

vadinamas standartiniu n� 1 matavimo simpleksu, o ta�kas V = Injo

centru.Apibr·eµztis. TP uµzdavinys vadinamas Karmarkar�o standartiniu

uµzdaviniu (TPKS), jei, leistinoji sritis yra apibr·eµzta �itaip

Page 164: Matematinis programavimas

164 CHAPTER 4. TIESINIS PROGRAMAVIMAS

G = K \ P; P = fX : AX = 0g;

µcia A yra sveiku¾ju¾skaiµciu¾matrica, V 2 G; tikslo funkcijos koe�cientaiC yra sveikieji skaiµciai ir tikslo funkcijos reik�m·es CX neneigiamos, kaiX 2 G. Reikia rasti srities G ta�k ¾a, kuriame tikslo funkcijos reik�m·elygi nuliui arba nustatyti, kad toks ta�kas neegzistuoja.Pabr·e�ime: TPKS formuluojamas taip, kad nereikalaujama rasti

optimalaus sprendinio, jei minimali tikslo funkcijos reik�m·e nelyginuliui. TPKS yra specialus TPS atvejis. Galima i¾rodyti, kad TPSper polinimini¾ laik ¾a gali buti pakeistas TPKS. Tod·el nesiaurindamibendrumo spr¾esime TPKS, kadangi jo struktura labiau atitinka na-grin·ejam ¾aji¾ algoritm ¾a. Pamin·esime kelet ¾a svarbiu¾Karmarkar�o algo-ritmo paai�kinimui faktu¾.Sakysim X0 2 G. I¾br·eµzkime i¾G sfer ¾a S(X0; r) su centru X0 ir

radiusu r. Nesunku rasti minimizavimo uµzdavinio minX2S(X0;r)CXminimumo ta�k ¾a (8 pratimas). Taµciau surastasis minimumo ta�kasgali labai skirtis nuo uµzdavinio minX2GCX minimumo ta�ko. Taspriklauso nuo srities apvalainumo ta�ko X0 atµzvilgiu: aib¾e G gal·etumevadinti apvalaina ta�ko X0 atµzvilgiu, jei i¾br·eµztos i¾G ir apibr·eµztos apieG sferu¾radiusai maµzai skirtu¾si. Jei aib·e apvalaina ta�ko X0 atµzvilgiu,tai abieju¾min·etu¾uµzdaviniu¾minimumo ta�kai skiriasi nelabai daug, irprie�ingai: jei G n·era apvalaina, tai jie gali labai skirtis. Pavyzdµziui,trikampis kurio kra�tiniu¾ ilgiai 1000, 1000 ir 1 tikrai nelaikytinas ap-valainu. Standartinis (n � 1 matavimo) simpleksas laikytinas ap-vailainu, nes apie ji¾ apibr·eµztos ir i¾ ji¾ i¾br·eµztos sferu¾ radiusu¾ santykisn·era labai didelis (9 pratimas)

r =1p

n(n� 1); R =

rn� 1n

;R

r= n� 1:

Projektyvin·e transformacija Rn 7�! Rn apibr·eµziama �itaip

Page 165: Matematinis programavimas

4.10. VIDINIO TA�KO METODAI 165

X 7�! HX +D

FX + c;

µcia H yra n � n matrica, D;F - n maµciai vektoriai ir c� konstanta,

patenkinanys reikalavim ¾a, kad matrica�E DF t c

�butu¾nei�sigimusi;

�i transformacija apibr·eµzta tik tokiems X, kuriems FX + c 6= 0. Jei�i 6= 0; tai

P�(X) =�X

I t�X; ��1 =

0BB@�1 0 ::: 00 �2 ::: 0::: ::: ::: :::0 0 0 �n

1CCA ;apibr·eµzia specialu¾ projektyvin·es transformacijos atveji¾ K 7�! K.P�(X) atvaizduoja standartini¾ simpleks ¾a standartiniame simplekse,kadangi I t � P�(X) = 1; ir visos atvaizdo komponent·es neneigiamos.Nesunku patikrinti (10 pratimas), kad atvirk�tin·e transformacijaapibr·eµziama �itaip

P�1�(X) =

��1X

I t��1X; (4.26)

ir P�1�(X) 2 K; X 2 K:

Jei X 0 = P�(X), tai xj =�jx

0jP

�ix0i, ir lygyb·e AX =

PAjxj = 0

patenkinama tada ir tik tada, kai 1P�ix0i

Pj(Aj�j)x

0j = 0; arbaP

j(Aj�j)x0j = 0: Kadangi A�

�1 yra m � n matrica, kurios j� tasisstulpelis yra (Aj�j), tai lygyb·e AX = 0 patenkinama tada ir tik tada,kai A��1X 0 = 0:Teisinga tokia transformacijos P�(X) savyb·e, apibendrinanti prie�

tai i¾rodyt ¾asias: jei � 2 G, tai transformacija P�(X) atvaizduoja stan-dartinio simplekso ir tiesinio poerdvio sankirt ¾a G = K \ fX : AX =0g i¾standartinio simplekso ir tiesinio poerdvio sankirt ¾a G0 = K\fX 0 :

Page 166: Matematinis programavimas

166 CHAPTER 4. TIESINIS PROGRAMAVIMAS

A��1X 0 = 0g; P�(�) = V: Kadangi leistinosios srities atvaizdui G0

galioja tokie santykiai

S(V; r) \ fA��1X 0 = 0g � G0 � S(V;R) \ fA��1X 0 = 0g;

µcia S(V; �) paµzym·etos i¾br·eµzta ir apibr·eµzta sferos, tai galima teigti, kadtransformacija P�(X) i�laiko leistinosios srities apvailainum ¾a. San-tykin·e paklaida, gaunama minimizacij ¾a leistinojoje srityje pakeiµciantminimizacija i¾br·eµztoje sferoje, ne didesn·e uµz

R� rR

= 1� r

R= 1� 1

n� 1 :

Remiantis atvaizdavimo P�(X) savyb·emis galima sudaryti toki¾al-goritm ¾a: leistinojoje srityje randamas X1 - tikslo funkcijos minimumota�kas i¾br·eµztojoje sferoje. Atliekama erdv·es transformacija PX1(X):Naujojoje leistinoje srityje X1 yra atvaizduotas i¾srities centr ¾a V: Ap-skaiµciuojamas ta�kas X 0

2 atliekant transformuotos tikslo funkcijos min-imizavim ¾a sferoje, i¾br·eµztoje i¾nauj ¾aj ¾a sriti¾, kuri yra to paties tipo kaipir pradin·e sritis, ir tt. Atliekant atvirk�tini¾ atvaizdavim ¾a, galima at-statyti einamojo ta�ko X 0

k pirmvaizdi¾pradin·eje leistinojoje srityje.Taµciau �i graµzi schema turi vien ¾a nepaµzym·et ¾a trukum ¾a: transfor-

muota tikslo funkcija neb·era tiesin·e:

CX =

Pj(cj�j)x

0jP

i �ix0i

; X 0 2 G0 :

µZinomi metodai negarantuoja netiesin·es funkcijos minimimumo ta�koradimo per baigtini¾ µzingsniu¾ skaiµciu¾. Jeigu nepavyktu¾ �io pagalbiniouµzdavinio pakeisti kitu, sprendµziamu per baigtini¾ µzingsniu¾ skaiµciu¾,tai polinominio sud·etingumo algoritmo sudarymas taptu¾nei¾manomas.Taµciau pasirod·e, kad uµztenka minimizuoti einamosios tikslo funkcijosskaitikli¾. Nors atskirai paimtos iteracijos rezultatas gali ir pabloginti

Page 167: Matematinis programavimas

4.10. VIDINIO TA�KO METODAI 167

tikslo funkcijos reik�m¾e, bet ilga iteraciju¾seka uµztikrina tikslo funkci-jos maµz·ejim ¾a. Minimizavimo proceso progresui vertinti buvo pasiulytanaudotis potencijalo funkcija

f(X) = ln

�(CX)n

x1 � x2 � ::: � xn

�:

Akivaizdu, kad CX ! 0, jei f(X)! �1:Apibr·e�ime funkcij ¾a �(X); X 2 G �itaip:1. Atliekama transformacija PX(�);2. Randamas ta�kas X 0 minimizuojant C 0Y sferoje S(V; �

n), µcia

C 0 = ��1C.3. �(X) = P�1X (X 0):I¾rodytas �itoks faktas: jei atvaizdavimu �(�) potencijalas sumaµz·eja

maµziau negu �, tai Karmarkar�o uµzdavinio minimali tikslo funkcijosreik�m·e yra teigiama.

Page 168: Matematinis programavimas

168 CHAPTER 4. TIESINIS PROGRAMAVIMAS

Karmarkar�o algritmas:Pasirenkama parametro � reik�m·e 0 < � < 1

2ir apskaiµciuojamas

algoritmo parametras � = � � �2

1�� :

1. X0 = (1n; :::; 1

n)t; K = d2nL=�e :

If CX0 = 0 then Print (X0) and Stop.2. for k = 1 to K do

Xk = �(Xk�1)If CXk = 0 then Print (Xk) and Stop.If f(Xk) > f(Xk�1)� � then Print(�min >0�)

and Stop.3. Rasti leistinosios aib·es vir�un¾e X : CX � CXk:Print (X) and Stop.

Tikslo funkcijos reik�m·e apskaiµciuotame ta�ke X turi buti lygi0. Karmarkar�o algoritmo vienos iteracijos sud·etingumas yra O(n3):Kadangi iteraciju¾ skaiµcius yra O(nL), tai bendras sud·etingumasO(n4L) yra polinominis.Karmarkar�o algoritmo reik�m·e optimizacijos mokslo krypµciai

µzymiai didesn·e negu atskiro, kad ir labai efektyvaus, algoritmosukurimas. Buvo i¾rodyta, kad sud·etingu¾ TP praktiniu¾ uµzdaviniu¾sprendimui gali buti s·ekmingai taikomos netiesiniu¾funkciju¾optimiza-vimo id·ejos. Prasid·ej¾es vidinio ta�ko metodu¾ tyrimas ir ju¾ s·ekmigastaikymas gerokai i�pl·et·e optimizacijos metodu¾ taikymo sriti¾. Toliau,nesigilindami i¾sud·etingumo vertinim ¾a, pateiksime vieno vidinio ta�kometodo, vadinamo a�nin·es skal·es keitimo metodu, apra�ym ¾a. Joid·eja pana�i i¾gradiento projekcijos metodo id·ej ¾a. Reikia rasti TPS

min CX;

AX = B; X � 0;

sprendini¾. Sakysim, µzinomas priklausantis leistinajai sriµciai pradinis

Page 169: Matematinis programavimas

4.10. VIDINIO TA�KO METODAI 169

ta�kas X0. Tikslo funkcijos antigradiento vektoriaus �C projekcija i¾aib¾e

fX : AX = Bgyra leistina nusileidimo kryptis. Tikslo funkcij ¾a galima maµzinti einant�ia kryptimi iki leistinosios srities ribos, t.y. iki viena i� vektori-aus X komponenµciu¾ taps lygi 0. Toliau i� tokio ta�ko tektu¾ eitileistinosios srities riba, apibr·eµziama aktyviaisiais nelygybiniais ribo-jimais. Aktyviu¾ju¾ ribojimu¾ i¾vertinamas projektuojant nusileidimokrypti¾ i¾ leistin ¾aj ¾a sriti¾ kelia metodo realizavimo sunkumu¾. Esmin·e�io metodo id·eja ta, kad neinama iki leistinosios srities ribos, bet nau-juoju pasirenkamas vidinis srities ta�kas.Kadangi tikslo funkcija tiesin·e, tai gradientas visur tas pats. Taigi,

i� naujojo ta�ko v·el tektu¾ eiti ta paµcia kryptimi. Geresnei krypµciaigauti reikia i¾vertinti artimiausi ¾a leistinosios srities rib ¾a. Nuo to prik-lauso metodo efektyvumas.Galime prie tikslo funkcijos prid·eti pagalbini¾ nari¾, kuris i¾vertintu¾

nelygybinius ribojimus. Paprasµciausia, bet sud·etingesn·e uµz tiesin¾e,funkcija yra kvadratin·e. Suformuluosime pagalbini¾ minimizav-imo uµzdavini¾ su kvadratine tikslo funkcija, kurios matrica Hk busparenkama taip, kad i¾vertintu¾ einamojo ta�ko artum ¾a leistinosios sri-ties ribai

min (C(X �Xk) +1

2�k(X �Xk)Hk(X �Xk));

AX = B; X � 0:�io uµzdavinio minimumo ta�kas lygus

Xk = Xk � �k(Hk)�1(C � A�k); (4.27)

�k =�A (Hk)

�1A��1

A (Hk)�1C:

Page 170: Matematinis programavimas

170 CHAPTER 4. TIESINIS PROGRAMAVIMAS

Vienas i� galimu¾ matricos Hk parinkimo variantu¾ yra Hk = �2k ;µcia k yra diagonali matrica, sudaryta i� (teigiamu¾) vektoriaus Xk

komponentu¾. Kai Xk yra vidinis leistinosios srities ta�kas, o �kpakankamai maµzas, tai ir Xk yra vidinis leistinosios srities ta�kas.Nauj ¾aji¾ ta�k ¾a rasime minimizuodami tikslo funkcij ¾a ant spindulio,einanµcio i�ta�ko Xk link Xk

Xk+1 = Xk + k(Xk �Xk);

µcia k yra µzingsnio daugiklis, nustatytas sprendµziant vienmat·es min-imizacijos uµzdavini¾. V·elgi, minimizuojant einama ne iki pat sritiesribos, bet sustojama �iek tiek anksµciau.Priminsime, kad Niutono metodo µzingsnis gali buti interpretuoja-

mas kaip µzingsnis antigradiento, apskaiµciuoto kitoje metrikoje, kryp-timi. Taip ir (4.27) metodo µzingsnio kryptis �TkC yra antigradientokryptis erdv·eje, gautoje atlikus Rn a�nin¾e transformacij ¾a apibr·eµzt ¾amatrica Tk. Pastaroji matrica i�rei�kiama per ribojimu¾ matric ¾a Abei teigiamai apibr·eµzt ¾a matric ¾a Hk, kuri ¾a galima parinkti taip, kadmetodas tur·etu¾norimas savybes. Galima i¾rodyti, kad �iuo metodu supasirinkta auk�µciau matrica Hk TP uµzdavinio sprendinys gaunamaspo baigtinio µzingsniu¾skaiµciaus.D·el naudojamos metodo apibr·eµzime a�nin·es transformacijos anglu¾

kalba �itoks metodas vadinamas a¢ ne scaling method. Jis buvopasiulytas dar 1967 metais I.Dikino. Taµciau tuo metu nebuvo i¾rodytasmetodo polinominis sud·etingumas.Pastaruoju metu vidinio ta�ko metodu¾ tyrimas buvo viena i�

aktyviausiu¾ krypµciu¾ optimizacijoje. Buvo paskelbti ir i�tirti meto-dai, sudarantys didel¾e klas¾e, kuri ¾a prireik·e toliau detalizuoti. Spe-cialiojoje literaturoje daµznai sutinkami terminai �pirminis - dualus�,�logaritminis barjeras�, �potencijalo maµzinimas�, �a�ninis skal·es keiti-mas�beveik vienareik�mi�kai parodo, kad straipsnyje nagrin·ejami arbataikomi vidinio ta�ko metodai. Reikia paµzym·eti, kad s·ekmingas vidinio

Page 171: Matematinis programavimas

4.11. ISTORIN ·ES PASTABOS 171

ta�ko metodu¾ taikymas dav·e impuls ¾a ir simplekso tipo algoritmu¾ to-bulinimui.

4.11 Istorin·es pastabos

Algoritmo tiesinio programavimo uµzdaviniams spr¾esti i�rad·ejas ir �iosmokslo srities krik�tat·evis G.Danzig teigia, kad \Tiesini¾programavim ¾agalima vertinti kaip revoliucini¾i�radim ¾a, i¾galinanti¾µzmonij ¾a praktin·esesud·etingose situacijose nusibr·eµzti ai�kius tikslus ir detaliai pagri¾stigeriausius µzingsnius tiems tikslams pasiekti�. Pats G.Danzig susidur·esu sud·etingomis praktin·emis situacijomis, kai Antrojo Pasaulinio karometais dirbo Pentagone planavimo reikalu¾patar·eju. Po karo jam buvopasiulyta i�analizuoti planavimo automatizavimo galimybes. Reik·ejotrumpais terminais ruo�ti iki tol nereg·etos apimtimis tiekimo ir lo-gistikos planus. To laiko mechanizacija rei�k·e analoginiu¾ ir/arbaperforaciniu¾ skaiµciavimo ma�inu¾ panaudojim ¾a. Ju¾ galimybiu¾ ribo-tum ¾a gerai mat·e planavimo ekspertai. Suµzinoj¾e apie kompiuteriokurimo id·ejas, jie prisid·ejo prie id·ejos realizavimo i¾tikin·edami Pen-tagono vadovus �nansuoti kompiuterio kurim ¾a. Taigi, galvodamasapie uµzdavini¾, G.Danzig tur·ejo metodo realizavimo perspektyv ¾a.G.Danzig matematikos daktaro laipsni¾gavo Berkeley universitete.

Jo gabumai pasirei�k·e anksti. Pasakojama, kad po paskaitos jis greitnusira�·e nuo lentos namu¾ darbo s ¾alyg ¾a ir tur·ejo �iek tiek sunkumu¾spr¾esdamas t ¾a uµzdavini¾. Bet kai atne�·e profesoriui J.Neyman rezulta-tus, pasirod·e, kad nuo lentos buvo nusira�yta ne s ¾alyga namu¾darbams,o tema daktaro disertacijai. Savo moksliniuose tyrimuose G.Danzigi¾gavo patirties klasikin·eje optimizacijos teorijoje. Matyt, gilus La-grange�o daugikliu¾metodo suvokimas suvaidino teigiam ¾a vaidmeni¾na-grin·ejant tiesinio programavimo uµzdavinius. Be to, G.Danzig tur·ejogalimyb¾e konsultuotis su tokiais mokslo autoritetais kaip J. von Neu-mann, J.Neyman, H.Kuhn ir kitais. Gilios matematikos µzinios, ori-

Page 172: Matematinis programavimas

172 CHAPTER 4. TIESINIS PROGRAMAVIMAS

entacija i¾praktini¾pritaikym ¾a ir kompiuterio perspektyvos suvokimasbuvo G.Danzig�o sulydyti i¾vien ¾a i�i¾µzymiausiu¾algoritmu¾�simpleksoalgoritm ¾a tiesinio programavimo uµzdaviniams spr¾esti. 1947 laikomi�io algoritmo sukurimo metais. Vos tik sukurtas jis buvo panaudotasoptimaliam kariniu¾perveµzimu¾planavimui. Pirmas komercinis panau-dojimas datuojamas 1952 metais, kai benzino gamyboje tiesinio pro-gramavimo metodais buvo prad·eti optimizuoti rekti�kuojamieji naftosmi�iniai. Pirmoji komercin·e kompiuterio programa, realizuojanti sim-plekso algoritm ¾a, buvo sukurta moksliniu¾ tyrimu¾ kompanijoje RandCorporation 1954 metais.Kitas tiesinio programavimo teorijos pirminis �altinis �

L.Kantoroviµciaus darbas, skirtas i� pirmo µzvilgsnio nuobodµziamuµzdaviniui � faneros gamybos ma�inu¾ optimalaus darbo planuisudaryti. L.Kantoroviµciaus matematinis talentas pairei�k·e labaiansksti. Jis baig·e universitet ¾a 18 metu¾, o budamas dvide�imties, jissu tokiais garsiais bendraautoriais kaip V.Smirnovas ir V.Krylovaspaskelb·e pirm ¾aj ¾a savo knyg ¾a V ariacins skai�ciavimas. Budamas22 metu¾ jis tapo Leningrado universiteto profesoriumi, pagars·ejusiurezultatais funkciju¾analiz·es ir skaiµciavimu¾matematikos srityse. 1937metais i¾dvide�imt penkeriu¾metu¾Leningrado universiteto profesoriu¾irprestiµzi�kiausio matematikos V.Steklovo vardo instituto bendradarbi¾L.Kantoroviµciu¾ kreip·esi faneros gamybos i¾mon·e su pra�ymu pad·etii�spr¾esti sunku¾ gamybos planavimo uµzdavini¾. Turimos a�tuoniosskirtingos faneros gamybos ma�inos, kurios kiekviena gali gamintipenkiu¾ tipu¾produkcij ¾a. Taµciau ma�inu¾paj·egumai gaminti tam tikrotipo produkcij ¾a yra skirtingi. Gamybos planas reikalavo, kad tarpi�leidµziamu¾ produkcijos ru�iu¾ butu¾ i�laikytos reikalingos proporcijos.Reikia paskirstyti darbus turimoms ma�inoms taip, kad butu¾ i�laiky-tos reikalaujamos proporcijos, ir bendras produkcijos i�leidimas butu¾maksimalus. Visu¾ galimu¾ variantu¾ perrinkti nei¾manoma, nes reik·etu¾i�spr¾est apie milijard ¾a tiesiniu¾ lygµciu¾ sistemu¾ su dvylika kintamu¾ju¾.Su pana�iais uµzdaviniais matematikai, dirb¾e taikymu¾srityje, susidur-

Page 173: Matematinis programavimas

4.11. ISTORIN ·ES PASTABOS 173

davo jau nuo senu¾ laiku¾. Pavyzdµziui, µzinomas prancuzu¾matematikasG.Monge pana�u¾ uµzdavini¾ suformulavo stengdamasis minimizuotitransporto i�laidas, susijusias su kariniu¾ i¾tvirtinimu¾ statyba. TaµciauG.Monge�ui nepavyko i�spr¾esti uµzdavinio. Matematikos tradicijaorientavosi i¾ lygµciu¾ sprendim ¾a. Buvo µzinomi dar Lagrange�o pasiulytimetodai optimizavimo uµzdaviniams su lygybiniais ribojimais spr¾esti.Taµciau naujajam uµzdaviniui µzinomi metodai netiko. Juos bena-grin·edamas, L.Kantoroviµcius 1938 metais sukur·e nauj ¾a metod ¾a, kuristoli pranoko pradinio gamybinio uµzdavinio sprendimo poreikius.Remiantis sukurta teorija buvo prad·eta optimaliai planuoti dideliu¾sistemu¾ darb ¾a, svarbiu¾ projektu¾ (ypaµc kariniu¾) vykdym ¾a ir pan., otaip pat nagrin·eti tokias fundamentalias ekonomikos kategorijas kaipkainas. L.Kantoroviµciaus rezultatai apie faneros gamybos planavimouµzdavinio sprendim ¾a buvo paskelbti Leningrado universiteto 1939metais i�leistoje bro�iuroje. Apibendrinantis matematinis straips-nis buvo paskelbtas 1942 metais µzurnale Doklady Akademiji NaukSSSR. Kaip jau min·eta auk�µciau, keturiasde�imtaisiais metais JAVnepriklausomai atrasti tiesinio programavimo metodai buvo detaliaui�vystyti ir i�karto pritaikyti ypatingos svarbos uµzdaviniams spr¾esti.Taµciau tas faktas nemenkina L.Kantoroviµciaus pionieri�ko atradimoreik�m·es. Gal but, jo rezultatai pralenk·e laik ¾a ta prasme, kadtuometin·eje SSSR nebuvo technin·es i¾rangos (kompiuteriu¾) sukurtiemsmetodams realizuoti. Be to, optimalaus planavimo metodai neatitikovyraujanµciu¾ ideologizuotos ekonomikos tendenciju¾. Kiek v·eliau, kaisusilpn·ejo ideologijos diktatura mokslui, L.Kantoroviµciaus autoritetasbuvo pripaµzintas ir sovietiniu¾ ekonomistu¾. Be daugelio jo moksliniu¾rezultatu¾ pripaµzinimo µzenklu¾ buvusioje SSSR, jis buvo pripaµzintastarptautin·es mokslin·es visuomen·es kaip vienas i� µzymiausiu¾ �io�imtmeµcio matematiku¾ ir ekonomikos teoretiku¾. Jis peln·e auk�µciausi ¾amokslini¾ pripaµzinim ¾a �Nobelio premij ¾a (1975 metu¾ apdovanojimasekonomikos srityje).Nuo pat simplekso algoritmo i�radimo jis i�karto prad·etas plaµciai

Page 174: Matematinis programavimas

174 CHAPTER 4. TIESINIS PROGRAMAVIMAS

taikyti ir visapusi�kai tyrin·eti. Vargu ar yra kitas algoritmas susi-lauk¾es pana�aus mokslininku¾d·emesio ir taip daµznai vartojamas, norskaip teigia algoritmo i�rad·ejas G.Danzig, simplekso algoritmo id·ejai�pradµziu¾ pasirod·e neperspektyvi. Tokio pesimizmo prieµzastis musu¾jau buvo auk�µciau paµzym·eta: iki bus surastas sprendinys nepalankiuatveju gali tekti peµziur·eti labai daug vir�uniu¾. Laimei algoritmas buvoi�bandytas. Jo efektyvumas pranoko visus lukesµcius. Negatyvi sim-plekso algoritmo praktinio efektyvumo pasekm·e ta, kad buvo nuslop-intas d·emesys kitoms galimoms id·ejoms.

Situacija pasikeit·e, kai 1979 metais L.Chaµcijanas i¾rod·e elipsoidu¾metodo polinomini¾ sud·etingum ¾a. Ne taip daµznai didieji dienra�µciaipirmajame puslapyje ra�o apie matematinius rezultatus. New YorkTimes L.Chaµcijano metod ¾a pavadino �matematiniu rusu¾ sputniku�.Nors pats elipsoidu¾ metodas ir netapo efektyvia priemone tiesinioprogramavimo uµzdaviniams spr¾esti, bet ledai buvo pralauµzti. Buvoprad·etas intensyvus kitokiu¾id·eju¾tyrimas. Didel¾e reik�m¾e tur·ejo 1984metais paskelbtas N.Karmarkar�o metodas. �iuo metu vidinio ta�kometodai s·ekmingai konkuruoja su simplekso metodu i¾vairiose taikymu¾srityse.

4.12 Uµzduotys ir kontroliniai klausimai

1. Uµzra�ykite tiesinio programavimo uµzdavini¾

max 2x1 � 3x2 + 5x4;

Page 175: Matematinis programavimas

4.12. UµZDUOTYS IR KONTROLINIAI KLAUSIMAI 175

�x1 + x2 � x3 + x4 = 8

2x1 + 4x2 = 10

�x3 � x4 � 3

x1 � 0

x3 � 0

standartine ir kanonine formomis.2. Paai�kinkite bazinio neleistino sprendinio

geometrin¾e prasm¾e.3. Kokiais atvejais tiesinio programavimo uµzdavinys

neturi sprendinio?4. Ar pavyzdµzio (4.4) pirmasis ir treµciasis stulpeliai

sudaro baz¾e? Jei taip, atlikite atramini¾�ios baz·es keitim ¾a.5. Kokiu atveju simplekso algoritmas �uµzsiciklina�?6. Uµzra�ykite tiesinio programavimo uµzdavino (4.4)

dualu¾ji¾uµzdavini¾.7. Kokiu pagrindu tiesinio programavimo uµzdavini¾

galima pakeisti tiesiniu¾ lygybiu¾ ir nelygybiu¾ sistemossprendimo uµzdaviniu? Atlikite toki¾ pakeitim ¾a (4.4) uµz-daviniui.8. A�ninio poerdvio ir sferos, kurios centras prikklauso

poerdviui, sankirta yra maµzesn·es dimensijos sfera. Kar-markar�o metodo realizacija numato tiesin·es funkcijos min-imizacij ¾a taip apibr·eµztoje srityje. I�spr¾eskite �itokio uµz-davinio pavyzdi¾

min x1 + 2x2 + 3x3;

(x1 � 1)2 + (x2 � 2)2 + (x3 � 3)2 � 1;

Page 176: Matematinis programavimas

176 CHAPTER 4. TIESINIS PROGRAMAVIMAS

µcia uµzdavinio formulavime minimas a�ninis poerdvis su-tampa su R3:9. Raskite i¾br·eµztos ir apibr·eµztos apie (n�1) dimensijos

standartini¾ simpleks ¾a sferu¾radiusus.10. I¾rodykite, kad (4.26) formule apibr·eµztas atvaizdavi-

mas yra atvirk�tinis atvaizdavimui P�(X):

Page 177: Matematinis programavimas

Chapter 5

RACIONALUSI�RINKIMAS

5.1 Ar visada galime optimizuoti?

Nagrin·edami optimizavimo uµzdaviniu¾ sprendimo metodus, kaipsavaime suprantm ¾a dalyk ¾a priimdavome, kad optimizavimo uµzdaviniaiyra adekvatus matematinis praktiniu¾ uµzdaviniu¾ modelis. I� tiesu¾,daugelyje µzmoniu¾ praktin·es veiklos sriµciu¾ optimizavimo uµzdaviniaii�kyla labai naturaliai. Kita vertus, yra nemaµzai atveju¾, kai opti-mizacijos tikslingumas intuityviai ai�kus, bet optimizavimo uµzdavinioformulavimas n·era trivialus. Sakysim, investuojant kapital ¾a, norimagauti galimai didesni¾peln ¾a. Bet daµznai niekas negali garantuoti, koksbus investicijos rezultatas. Kartais projektas visi�kai suµzlunga, pro-jekt ¾a vykdanti �rma bankrutuoja. Kaip pasirinki investavimo bud ¾a,jei jo rezultatai neai�kus? Daugelis ne tik komercin·es, bet ir inµzinerin·esveiklos rezultatu¾ paai�k·eja v·eliau, o nuspr¾esti reikia dabar, atsiµzvel-giant i¾ daugeli¾ kriteriju¾, esant rezultatu¾ neapibr·eµztumui bei interesu¾kon�iktams. Tokiose sud·etingose situacijose daµzniausiai sprendµzia

177

Page 178: Matematinis programavimas

178 CHAPTER 5. RACIONALUS I�RINKIMAS

auk�to rango vadybininkai, remdamiesi i�moktais vadybos metodais,patirtimi, intuicija. Bet ar visada ju¾sprendimai logi�ki? Gal but, µzmo-gaus intuicijai ir euristiniam sugeb·ejimams gali pad·eti teorija pana�i i¾optimizacij ¾a, puikiai pasiteisinusi ¾a paprastesniais atvejais. Kad butu¾konkreµciau, nagrin·ekime inµzinerini¾ projektavim ¾a [23]. Bet ne tech-ninius jo aspektus, braiµzym ¾a ir pan., o projektinio varianto i�rinkim ¾a,kaip esmini¾�pakitimu¾µzmogu¾supanµcioje dirbtin·eje aplinkoje pradµzios�[23] faktoriu¾. Projektavimo pavyzdys geras tuo, kad jam budingiauk�µciau min·eti sunkumai, ir �i veikla turi buti racionali. µCia negalimapasikliauti atsitiktinumu ir rizikuoti, �visk ¾a pastatant ant kortos�.

5.2 I�rinkimo uµzdaviniu¾savyb·es

Projektavimo procesas susideda i�keliu¾, iteratyviai kartojamu¾ etapu¾[23]. Kiekviename etape turi buti i�rinktas variantas, kurio speci-�kacijas apibr·eµzia prie� tai buvusio etapo rezultatas. Kadangi visasprojektavimo procesas yra iteracinio pobudµzio, tai ir i�rinkimo uµz-daviniai sprendµziami patikslinus speci�kacijas kelis kartus. Vien sveikuprotu ir euristiniais metodais daµznai sunku surasti bent kelis vari-antus, patenkinanµcius duotas speci�kacijas. Tod·el abejotina, kad busi�rinktas geriausias variantas. Jei varianto, patenkinanµcio speci�kaci-jas, visai nepavyksta surasti, tai daµznai nelengva i¾tikinti vadovus irkitus projektuotojus, kad toks variantas neegzistuoja. Projektiniu¾variantu¾ i�rinkimas reikalauja daug j·egu¾ ir laiko, tod·el stengiamasiji¾, kiek i¾manoma, automatizuoti naudojant matematinius metodus.Silpniausia prielaida, i¾galinani matemati�kai nagrin·eti i�rinkim ¾a

(anglu¾ kalba choice), yra dvieju¾ variantu¾ palyginamumas. Jei paly-ginus bet kokius du variantus galima pasakyti, kuris i�ju¾bent jau neblogesnis uµz kit ¾a, tai sakoma, kad variantu¾aib·eje apibr·eµztas preferenci-jos santykis. Savo struktura matematinis i�rinkimo uµzdavinio modelisturi i¾vertinti bendriausias preferencijos santykio savybes. Apibr·eµzti

Page 179: Matematinis programavimas

5.2. I�RINKIMO UµZDAVINIU¾SAVYB ·ES 179

preferencijos santyki¾daµznai nelengva, d·el tokiu¾aplinkybiu¾:1. Kriteriju¾ gausa. Visas objektas (taip pat ir jo mazgai bei de-

tal·es) apibudinamas ne vienu, o keliais kriterijais, pavyzdµziui, kaina,patikimumu, naudingo veiksmo koe�cientu, patvarumu, objekto mase,energijos s ¾anaudomis ir pan. Kartais reikia atsiµzvelgti i¾sunkiai kieky-bi�kai i¾vertinamus kriterijus, pavyzdµziui, pastato fasado atitikim ¾a ar-chitekturinei aplinkai, gamybos atlieku¾i¾tak ¾a gamtai ir pan. Kai kuriekriterijai yra prie�taringi. Kai kurie kriterijai apibr·eµzti projekto speci-�kacijomis. Kai kuriuos siekiama optimizuoti.2. Neapibr·eµztumas. Sud·etingesniame uµzdavinyje tiksliai nu-

matyti projektinio varianto charakteristiku¾ nei¾manoma. Projektuo-jant visi�kai naujus objektus, kai kuriu¾duomenu¾paprasµciausiai n·era.Kitais atvejais, duomenis surinkti sunku arba brangu, pavyzdµziui,reikia atlikti tyrin·ejimus. Sud·etingi objektai gali buti projektuojaminet kelis metus, o patys objektai naudojami de�imtmeµciais. B·egantlaikui pasikeiµcia vertinimo kriterijai, kainos, atsiranda naujos medµzi-agos ir i¾renginiai, t. y. pasikeiµcia dirbtin·e µzmogu¾ supanti aplinka irvisuomen·es poreikiai; tam kartais gali tur·eti i¾takos gamtiniai fakto-riai, pvz. sausros, potvyniai. Projektuotojai daµznai neµzino, kokie busatskiru¾ i¾moniu¾, organizaciju¾arba i¾takingu¾µzmoniu¾ sprendimai. Tod·elne visada galima tiksliai numatyti varianto i�rinkimo pasekmes.3. Rizika. Neigiamos pasirinkto sprendimo pasekm·es paprastai

paai�k·eja i¾diegus projekt ¾a. Jos gali buti labai sunkios, pavyzdµziui,katastrofa su µzmoniu¾ aukomis. Taµciau ir maµzesnes nes·ekmes lydi ne-malonumai. Vengiant rizikos, atsiµzvelgiama i¾ i¾prastus, anksµciau pa-siteisinusius sprendimus. Taµciau tokie sprendimai pernelyg konser-vatyvus. Sunku i¾sivaizduoti sud·eting ¾a projekt ¾a vykdyt ¾a be jokiosrizikos.4. Kon�iktai. Didel¾e reik�m¾e lyginant variantus gali tur·eti fak-

toriai, kuriuos sunku i¾traukti i¾ matematini¾ projektuojamojo objektomodeli¾. Pavyzdµziui, projektavimo, gamybos arba mokslo i¾staigu¾atsto-vai su vienu arba kitu projektiniu variantu gali sieti savo savanaudi�kus

Page 180: Matematinis programavimas

180 CHAPTER 5. RACIONALUS I�RINKIMAS

tikslus. I¾tak ¾a projektuotojui gali daryti i¾vairios potencialiu¾projektuo-jamojo objekto vartotoju¾ grup·es. Jei projektuotoju¾ kolektyvo nariu¾tikslai yra nevienodi, tai i�renkant variant ¾a gali kilti kon�iktai.Uµzbaigdami �i¾ i¾vadini¾ skyreli¾, aptarsime dar vien ¾a termin ¾a. Be

termino �i�rinkimas�anglu¾ kalboje naudojamas ir �iek tiek bendres-nis terminas decision making, kuris lietuvi�koje literaturoje paµzodµziuiverµciamas kaip �sprendimo pri·emimas�. Musu¾ vartojamas terminas�projektuotojas�bendru atveju atitinka termin ¾a �decision maker�.

5.3 Naudingumo funkcija

Du projekto variantus (alternatyvas) lengviausia palyginti, jei svarbustik vienas kriterijus. Pavyzdµziui, gamyklos projektu¾variantai gali butilyginami pagal numatom ¾a peln ¾a. Variantas X1 yra ne blogesnis neguvariantas X2, jei f(X1) � f(X2), Xi 2 A, i = 1; 2; µcia A - variantu¾,tenkinanµciu¾projekto speci�kacijas, aib·e, f(�) - pelnas.Preferencijos santykis tarp variantu¾(alternatyvu¾) µzymimas µzenklu

%. Paprastai sakoma, kad X2 nedominuoja X1, jei X1 % X2. JeiX2 % X1 ir X1 % X2, tai alternatyvos vadinamos ekvivalenµciomis irra�omos �itaip: X1 s X2. Jei X1 % X2, bet jos n·era ekvivalenµcios,tai sakoma, kad X1 dominuoja X2 ir ra�oma �itaip: X1 � X2:Funkcija f(�) auk�µciau min·etame pavyzdyje apibr·eµzia preferencijossantyki¾. �is atitikimas n·era abipus vienareik�mis, nes ir kita funkcijaF (X) = '(f(X)) apibr·eµzia lygiai t ¾a pati¾ preferencijos santyki¾, µcia'(�)- grieµztai did·ejanti funkcija. Lygindami variantus ir pagal peln ¾a,ir pagal koki¾nors kit ¾a kriteriju¾, kuris yra monotoni�kai did·ejanti pelnofunkcija, gausime toki¾pati¾ rezultat ¾a.Racionaliai i�rinkti projekto variant ¾a i�visu¾galimu¾variantu¾aib·es

galima tik tuomet, kai apibr·eµztasis preferencijos santykis pasiµzymitam tikromis racionalumo savyb·emis. Sakykime, kad toks san-tykis apibr·eµztas. Taµciau i�rinkimo uµzdavinys butu¾ µzymiai ai�kesnis,

Page 181: Matematinis programavimas

5.3. NAUDINGUMO FUNKCIJA 181

jei, kaip anksµciau nagrin·etame pavyzdyje, µzinotume analogi�k ¾a pel-nui funkcij ¾a, i�rei�kianµci ¾a preferencijos santyki¾. Tuomet i�rinkimouµzdavini¾gal·etume pakeisti tos funkcijos optimizavimo uµzdaviniu. Kylaklausimas, kokiomis savyb·emis turi pasiµzym·eti preferencijos santykis,kad egzistuotu¾ ji¾ reprezentuojanti funkcija.Sakykime, kad duotas baigtinis projekto variantu¾ skaiµcius A =

fX1; :::; Xmg, o peferencijos santykis yra toks, kad tarp nagrin·ejamu¾variantu¾ n·era ekvivalenµciu¾. �i prielaida nemaµzina bendrumo, nes ek-vivalenµcius variantus galima reprezentuoti vienu i�ju¾. Sakykime, kadpreferencijos santykis tranzityvus, t.y. i�X1 � X2 ir X2 � X3 i�-plaukia, kad X1 � X3. Daugeliui µzmoniu¾ �i prielaida priimtina.Taµciau, sprendµziant konkreµcius uµzdavinius, daµznai paai�k·eja, kadrealus lyginimai gali buti netranzityvus. Tod·el panagrin·ekime loginesnetranzityvumo pasekmes.Sakykime, kad X1 � X2, X2 � X3 ir X3 � X1: Kadangi n·e viena

alternatyva �iuo atveju neturi ai�kiu¾ privalumu¾, apsistokime ties X1:Taµciau X1 dominuoja X2, tod·el sutiktume pasirinkti X2 vietoj X1

tik gaudami uµz tai kaµzkoki¾ uµzmokesti¾a1, pvz. sutaupydami statybosi�laidu¾. Kadangi X2 dominuoja X3, tai pakeisdami X2 i¾ X3 gau-tume dar uµzmokesti¾ a2. Taµciau i� paskutiniosios alternatyvu¾ porospalyginimo matome, kad X3 dominuoja X1, tod·el pasi·em¾e uµzmokesti¾a3 uµz X3 pakeitim ¾a i¾X1; sugri¾µztume prie pradinio varianto X1 ir dargauname peln ¾a a1 + a2 + a3. Taµciau tokios �pelno pompos�, kuri i�nieko - pompuotu¾ peln ¾a, logi�kai m ¾astant, negali buti. Vadinasi, d·elpreferencijos netranzityvumo gali atsirasti prie�taravimu¾. Detaliautranzityvumo savyb·es aptariamos specialioje literaturoje [7], [13].Jei alternatyvu¾ skaiµcius baigtinis, ir preferencijos santykis tranz-

ityvus, tai alternatyvas galima sunumeruoti taip, kad geresn·e alter-natyva tur·etu¾didesni¾numeri¾

XK � XK�1 � ::: � X1:

Page 182: Matematinis programavimas

182 CHAPTER 5. RACIONALUS I�RINKIMAS

Apibr·eµzkime funkcij ¾a, kurios reik�m·e lygi alternatyvos numeriuiU(Xi) = i; i = 1; :::; K: I� funkcijos apibr·eµzimo akivaizdu, kad Xi �Xj tada ir tik tada, kai U(Xi) > U(Xj) , t.y. U(�) reprezentuojaduot ¾aji¾preferencijos santyki¾. Tokia funkcija vadinama naudingumofunkcija.Tuomet, kai alternatyvu¾skaiµcius yra begalinis, preferencijos tranz-

ityvumo nepakanka, kad egzistuotu¾naudingumo funkcija [7]. Neretaitenka nagrin·eti uµzdavinius su kontinualia alternatyvu¾aibe. Daµzniau-siai tai n - mat·es erdv·es poaibiai, kai kiekviena vektoriaus koordinat·eatitinka vien ¾a i�kriteriju¾. Nesileisdami i¾matematinius i�vedµziojimusir prielaidu¾ aptarim ¾a, suformuluosime bendr ¾a i�vad ¾a: jei preferenci-jos santykis patenkina naturalias ir logi�kas prielaidas, tai egzistuojaji¾ reprezentuojanti naudingumo funkcija. Taigi racionalaus projek-tinio varianto i�rinkimo uµzdavini¾i�esm·es galima pakeisti naudingumofunkcijos optimizavimo uµzdaviniu. Taµciau prakti�kai tuo pasinaudotigalima tik tuomet, kai µzinomas konstruktyvus naudingumo funkcijosapskaiµciavimo algoritmas. Atkreipsime d·emesi¾ i¾ tai, kad preferencijossantykis naudingumo teorijoje yra pirminis. Naudingumo funkcija ji¾tik apra�o. Bet kuri kita funkcija, gauta monotoni�kai transformavusnaudingumo funkcij ¾a, taip pat reprezentuoja nagrin·ejam ¾aji¾ preferen-cijos santyki¾ ir tod·el taip pat yra naudingumo funkcija.Kaip sudaryti naudingumo funkcij ¾a, gana plaµciai apra�yta lit-

eraturoje. I� pradµziu¾ teoriniais samprotavimais pagrindµziama,kokiai funkciju¾ klasei konkreµciu atveju turi priklausyti naudingumofunkcija. Po to, naudojantis ekspertine informacija (atsiµzvelgiant i¾tai, kaip projektinius variantus palygina specialistai) identi�kuojamakonkreti funkcija. Daµznai antrasis etapas rei�kia neµzinomu¾parametru¾i¾vertinim ¾a.I�nagrin·ekime paprasµciausi ¾a pavyzdi¾, kai projekto variantas

apibudinamas vieninteliu kriterijum - pelnu. Kadangi variant ¾a gal-ima sutapatinti su ji¾ atitinkanµciu pelnu, tai alternatyvu¾ aib·e yraneneigiamu¾ skaiµciu¾ intervalas. Ai�ku, kad did·ejant pelnui, naudingu-

Page 183: Matematinis programavimas

5.3. NAUDINGUMO FUNKCIJA 183

Figure 5.15: Naudingumo funkcijos augimo greitis maµz·eja, augant x.

mas did·eja, tod·el U(�) yra did·ejanti funkcija. Taµciau pelno prieaugiui,sakykime, de�imµciai litu¾, suteikiama nevienoda reik�m·e, nes ji prik-lauso nuo to, koks buvo pradinis pelnas: 100 ar 1000 litu¾. Antruojuatveju prieaugis paprastai vertinamas kaip µzymiai maµziau naudingas.Tod·el funkcijos augimo greitis did·ejant pelnui maµz·eja (5.15 pav.).Toki ¾a naudingumo funkcij ¾a galima aproksimuoti eksponentine

funkcijaU(x) = a+ b exp(cx);

µcia koe�cientai b ir c neigiami.Kaip jau buvo min·eta anksµciau, '(U(x)) (µcia '(�) grieµztai

did·ejanti) yra naudingumo funkcija, reprezentuojanti preferencijossantyki¾. Pastarasis daµznai pasiµzymi papildomomis savyb·emis, i�kuriu¾galima spr¾esti, kod·el viena alternatyva geresn·e uµz kit ¾a. Pavyzdµziui,

Page 184: Matematinis programavimas

184 CHAPTER 5. RACIONALUS I�RINKIMAS

preferencija gali buti apibr·eµzta ne tik paµcioms alternatyvoms, bet irju¾poroms. Jei (X1; X2) % (X3; X4) reik�tu¾, kad per·ejimas i�X1 i¾X2

yra ne blogesnis negu per·ejimas i�X3 i¾X4 ir preferencija pasiµzym·etu¾racionalumo savyb·emis, tai naudingumo funkcijai patenkintu¾ nely-gyb¾e U(X2) � U(X1) � U(X4) � U(X3). Galima i¾rodyti, kad �itokiasavyb·e invarianti�ka ne bet kokiai monotoni�kai did·ejanµciai funkci-jai '(�), o tik tiesinei funkcijai '(x) = ax + b; a > 0. �is atvejisatitinka i¾prast ¾a matavimo vienetu¾ pasirinkimo laisv¾e. Kaip µzinia,�zikos d·esniai nepriklauso nuo to, kaip matuojama mas·e (gramais,kilogramais, svarais), atstumas (metrais, kilometrais, p·edomis, coli-ais) ir kiti �ziniai dydµziai. Be to, �is specialus naudingumo funkcijosatvejis svarbus tuomet, kai lyginamas vidutinis naudingumas esantneapibr·eµztumui, o taip pat sprendµziant daugiakriterio optimizavimouµzdavinius.

Panagrin·ekime atveji¾, kai yra daug kriteriju¾. Jei kiekvien ¾a al-ternatyv ¾a pilnai charakterizuoja kriteriju¾ vektorius F = F (X) (µciaF (�) = (f1(�); :::; fm(�))), tai galime nagrin·eti naudingumo funkcij ¾aapibr·eµzt ¾a kriteriju¾vektoriams, o ne paµcioms alternatyvoms, t.y. U(F ).Kartais bendr ¾a naudingumo funkcij ¾a lengviau sudaryti netiesiogiai,t.y. ne kriterijams (f1; :::; fm), o ju¾ naudingumui. Pirmiausia sukon-struojamos atskiru¾ kriteriju¾ naudingumo funkcijos zi = �i(fi); i =1; :::;m: Po to, sudaroma kompozicijos funkcija u(Z(F )) = U(F ).Plaµciau �is klausimas nagrin·ejamas kitame knygos skyriuje. µCiapaµzym·esime tik vien ¾a plaµciai naudojam ¾a kompozicij ¾a - kriteriju¾tiesin¾ekombinacij ¾a u(Z) = a1z1+ a2z2+ :::+ amzm: �iuo atveju, naudojantisekspertine informacija, tereikia i¾vertinti kriteriju¾ lyginamuosius svo-rius

Page 185: Matematinis programavimas

5.4. NEAPIBR ·EµZTUMAS 185

5.4 Neapibr·eµztumas

Kai kurios projektuojamu¾objektu¾charakteristikos nustatomos visi�kaitiksliai, pavyzdµziui, kiek ir kokios ru�ies statybiniu¾medµziagu¾reikia nu-matomam siuvimo cecho pastatui. Taµciau tiksliai nustatyti, kiek jiskainuos, sunkiau, nes keiµciasi ir statybiniu¾ medµziagu¾, ir darbo j·egoskainos. Dar sunkiau i¾vertinti viso cecho kain ¾a. Kol bus uµzbaigtastatyba, gali atsirasti nauju¾ ma�inu¾ ir technologiniu¾ procesu¾, tod·eldaug kas gali keistis net paskutiniojoje projekto realizavimo stadijoje.Yra pavyzdµziu¾, kai reali statinio kaina kelis kartus vir�ijo projektin¾e.Busimo cecho pelnas priklauso nuo daugelio neapibr·eµztu¾ ir kintanµciu¾faktoriu¾, tod·el gali net kilti abejoniu¾, ar prasminga ji¾kaµzkaip vertinti.Taµciau pelno kriterijus labai svarbus lyginant kelis konkuruojanµciusprojektus.Projektuotojai i¾prat¾e intuityviai vertinti i¾vairius kriterijus

neapibr·eµztumo s ¾alygomis, nes ju¾darbas pradeda keisti ateities dirbt-in¾e aplink ¾a. Ateitis susijusi su dabartimi dialekti�kai s ¾aveikaujanµciaisbutinumo ir atsitiktinumo ry�iais. Kuo sud·etingesnis projektuojama-sis objektas, kuo tolimesn·eje ateityje jis bus realizuotas, tuo svarbesn·eantroji komponent·e, t. y. tuo didesnis neapibr·eµztumas vertinant pro-jekt ¾a. Nor·edami aptarti matematinius metodus, turime i�siai�kinti,kokie kiekybiniai neapibr·eµztumo matai naudotini, kokie modeliai irmetodai taikytini lyginant projektinius variantus neapibr·eµztumo s ¾aly-gomis.Ilg ¾a laik ¾a objektai ir procesai, kuriu¾ nebuvo galima tiksliai

apibr·eµzti, mokslo metodais apskritai nebuvo tyrin·ejami. Taµciau �iuo-laikiniai projektavimo ir valdymo uµzdaviniai butent tokie. Pavyzdµziui,lyginant projektuojamus objektus pagal pelno kriteriju¾U , turime at-siµzvelgti i¾ tai, kad �is priklauso ne tik nuo projektuotojo parenkamu¾parametru¾ X = (x1; :::; xn), bet ir nuo nevaldomu¾ faktoriu¾ Y =(y1; :::; ym), kuriu¾ reik�m·es projektuojant neµzinomos, t. y. U =U(X; Y ). Jei nelygyb·e U(X1; Y ) � U(X2; Y ) teisinga visoms Y

Page 186: Matematinis programavimas

186 CHAPTER 5. RACIONALUS I�RINKIMAS

reik�m·ems, tai pirmasis variantas yra, be abejoniu¾, geresnis uµz antr ¾aji¾.Jei U(X1; Y ) � U(X2; Y ) tik kai kurioms Y reik�m·ems, tai atsaky-mas nevienareik�mis. Vargu ar galima pagri¾sti vienoki¾ ar kitoki¾i�rinkimo princip ¾a, jei neapibr·eµztumas neformalizuojamas kokiomisnors racionalumo prielaidomis. Nagrin·etas pelno kriterijus bendruatveju gali buti suprantamas kaip apibendrinantis daugeli¾ kriteriju¾naudingumas.

5.5 Garantuoto rezultato principas

Atsargus µzmon·es, prie� prad·edami dirbti, daµznai pagalvoja, koksbus rezultatas nepalankiai susiklosµcius aplinkyb·ems. Vadovaudamiesi�iuo principu, anksµciau pateiktame pavyzdyje projektinius variantustur·etume lyginti pagal ju¾minimalu¾peln ¾a Y atµzvilgiu

minY 2B

U(X1; Y ) ir minY 2B

U(X2; Y );

µcia B - neµzinomu¾faktoriu¾vektoriaus Y galimu¾reik�miu¾aib·e. Tuometoptimalu¾variant ¾a gautume maksimizuodami minimaliai galim ¾a peln ¾aminY 2B U(X; Y )

maxX2A

minY 2B

U(X; Y ):

�iuo atveju neapibr·eµztumo modelis �neµzinomu¾ faktoriu¾ vektori-aus galimu¾ reik�miu¾ aib·e B. Kadangi garantuoto rezultato principasnaudojamas analizuojant nepalankiausias s ¾alygas, o minimumas daµz-niausiai pasiekiamas esant ribin·ems Y reik�m·ems, labai svarbu ob-jektyviai apibr·eµzti aib·es Y rib ¾a, atitinkanµci ¾a nepalankiausias s ¾alygas.Pavyzdµziui, projektuojant cecho pastat ¾a, reikia atsiµzvelgti i¾nepalanki-ausias klimatines, seismines s ¾alygas, prasµciausi ¾a medµziagu¾ kokyb¾eir kt. Gali kilti klausimas, kokia turi buti minimali temperaturaapibr·eµziant aib¾e B cecho statybos pavyzdyje. Ilgaamµz·es praktikos

Page 187: Matematinis programavimas

5.5. GARANTUOTO REZULTATO PRINCIPAS 187

suformuotos statybin·es normos orientuojamos i¾ pasitaikanµcias ek-stremalias reik�mes bei vidutin¾e µziemos temperatur ¾a, bet ne i¾ µzemi-ausi ¾a �zi�kai i¾manom ¾a temperatur ¾a. Nagrin·etame pavyzdyje garan-tuoto rezultato principo panaudojimas yra ginµcytinas. Taµciau jisvisi�kai naturalus, jei faktoriu¾ vektoriu¾ Y valdo prie�i�ki projektuo-tojui veiksniai. Detaliau antagonistiniu¾ interesu¾ susidurim ¾a anal-izuoja lo�imu¾ teorij ¾a, kurioje �is principas i�vedamas i� aksiomu¾,apibr·eµzianµciu¾kon�ikto sprendini¾.Garantuoto rezultato reikia siekti ir tuomet, kai paµzeidus

projektuojamu¾ objektu¾, pavyzdµziui, galingu¾ energetikos objektu¾,transporto sistemu¾, darbo reµzim ¾a, galimos sunkios, katastro��kospasekm·es. Projektuotojas priverstas tarsi, persikunyti i¾ savoprie�inink ¾a ir ie�koti tokiu¾s ¾alygu¾Y , kurioms susidarius gali kilti katas-trofos gr·esm·e. Pavyzdµziui, projektuojant atomin¾e elektrin¾e, reikiai¾sitikinti, ar reaktorius nesusprogs esant visoms galimoms nevaldomu¾faktoriu¾vektoriaus Y reik�m·ems, t. y. ir tokioms, kurios labai maµzaitik·etinos.I�skyr·eme budingiausius atvejus, kai reik·etu¾ taikyti garantuoto

rezultato princip ¾a. Prakti�kai jis taikomas daµzniau, o kartaisir absoliutinamas kaip vienintelis objektyvus, nepriklausantis nuosubjektyviu¾ faktoriu¾.Jei µzinome aib¾e B, tai galime suformuluoti teigini¾, skambanti¾

kaip matematikos teorema: visiems Y 2 B maksimizavimomaxX2AU(X; Y ) rezultatas ne blogesnis uµz garantuot ¾a, t.y.

maxX2A

minY 2B

U(X; Y ):

Taµciau matematikos teoremose, kuriuose yra teiginys �visiems Y 2 Bgalioja�, abstrakti aib·e B naturaliai sudaro paµcios matematin·es prob-lemos dali¾, pvz. diferencijuojamu¾ju¾ funkciju¾ aib·e, naturiniu¾ skaiµciu¾aib·e ir kt. Nevaldomu¾faktoriu¾aib·es B abibr·eµzimas projektavimo uµz-daviniuose daµzniausiai priklauso nuo subjektyviu¾ neµzinomu¾ faktoriu¾

Page 188: Matematinis programavimas

188 CHAPTER 5. RACIONALUS I�RINKIMAS

i¾verµciu¾, pvz., busimu¾muito mokesµciu¾ bei µzaliavu¾ kainu¾, kvali�kuotu¾darbuotoju¾ samdymo galimybiu¾ ir pan. Tod·el pripaµzindami, kadgarantuoto rezultato principas atitinka matematikos tradicijas, ne-galime nekreipti d·emesio i¾ tai, kad jis vienpusi�kai orientuotas i¾ ek-stremalias s ¾alygas.Projektuojant plataus vartojimo gaminius, svarbiau atsiµzvelgti ne

i¾ ekstremalias, bet i¾ labiausiai tik·etinas, vidutines s ¾alygas, kurios ap-sprendµzia, ar gaminys bus ekonomi�kai priimtas. Reziumuosime tokiupalyginimu: garantuoto rezultato principas, be abejo, racionalus pro-jektuojant povandeninio laivo radio aparatur ¾a, bet vargu ar �is prin-cipas tiks projektuojant buitini¾ radijo imtuv ¾a.

5.6 Vidutinio naudingumo principas

Masinio naudojimo gaminiai gali buti eksploatuojami esant i¾vairiomsnevaldomu¾ faktoriu¾ vektoriaus Y reik�m·ems. Kuo daµznesn·es, labiautik·etinos s ¾alygos, tuo didesn·e ju¾ reik�m·e projektuojant gamini¾.Sakykime, kad Y -atsitiktinis. Jei µzinomas vektoriaus Y tikimybinistankis p(Y ), tai vidutini¾ projektinio varianto X naudingum ¾a galimai�reik�ti formule

u(X) =

ZU(X; Y ) p(Y ) dY: (5.1)

Vidutinis naudingumas � tai bendras i¾vairiomis s ¾alygomiseksploatuojamu¾ gaminiu¾ naudingumas. Atskiru atveju, kai p(Y )i�rei�kia eksploatavimo s ¾alygu¾daµznius, U(X;Y ) �projekto variantoXpeln ¾a, gaunam ¾a esant s ¾alygomis Y , tuomet u(X) lygus vidutiniam pel-nui. Tod·el, siekiant maksimizuoti peln ¾a, konstruktyvius parametrusnaturalu parinkti maksimizuojant u(X):Vidutinio naudingumo principo racionalumas sprendµziant pana�ius

uµzdavinius nekelia abejoniu¾. Taµciau gali buti sunku parinkti tikimybiu¾

Page 189: Matematinis programavimas

5.6. VIDUTINIO NAUDINGUMO PRINCIPAS 189

skirstini¾. Remiantis tradicinais tikimybiu¾ teorijos vadov·elias reik·etu¾i�tirti vektoriaus Y realizaciju¾i¾vairiu¾reik�miu¾poaibiu¾daµznius. Jei �iestabilus, tai Y gali buti laikomas stochastiniu, o jo skirstini¾ (atskiruatveju tikimybini¾tanki¾) galima i¾vertinti statistiniais metodais naudo-jant duomenis. Klasikinis �itoks pavyzdys, i�tyr¾e kaip daµznai i�krintaatitinkamos lo�imo kauliuko kombinacijos ir i¾sitikin¾e ju¾stabilumu, ate-ityje i¾vairiu¾kombinaciju¾tikimybes priimtume lygiomis gautiems pagaleksperimento rezultatus daµzniams.Deja, sprendµziant realius uµzdavinius, neapibr·eµztumai nepalygi-

namai sud·etingesni. Vienareik�mi�kai nustatyti ateityje vyksianµciu¾rei�kiniu¾ pobudi¾ pagal praeityje steb·etus atsitiktinius rei�kiniusne visada i¾manoma. Pagri¾sti vidutinio naudingumo princip ¾a darsud·etingiau tuomet, kai projekto realizacija vienintel·e. Pavyzdµziui,nagrin·etame pavyzdyje Y � tai technologiniu¾ i¾renginiu¾, numatomu¾pirkti uµzsienio rinkoje, kainos, o U(X; Y ) � projektuojamojo cechopelnas. I�renkant projekto variant ¾a X, kainu¾ vektorius neµzinomas.Nors prielaida, kad X yra atsitiktinis dydis atrodo pilnai priimtina,bet ar �iuo atveju tikrai pagri¾stas vidutinio pelno maksimizavimas.Tiesiogiai remtis klasikin·es tikimybiu¾ teorijos i�vadomis tuomet, kaikalbama apie pavieni¾atsitiktini¾ i¾vyki¾, kaµzin ar korekti�ka.Tikimybiu¾ teorija nagrin·eja masinius atsitiktinius rei�kinius, bet

panagrin·ekime vienkartinio dalyvavimo loterijoje pavyzdi¾. Kod·el µzmo-gus pirkdamas vien ¾a biliet ¾a, tur·etu¾ galvoti apie vidutini¾ i�lo�im ¾a?Tuo vadovaujasi tie, kurie pavieni¾ i¾vyki¾ interpretuoja kaip vien ¾a i�daugelio analogi�ku¾ i¾vykiu¾ realizacij ¾a ir yra link¾e vienodose situaci-jose vienodai elgtis. Tokie racionalus µzmon·es, tikriausiai, retai da-lyvauja loterijose ir azartiniuose lo�imuose. Taµciau projektuotojasprivalo i�rinkti vien ¾a i� galimu¾ variantu¾, t.y. jis negali i�vengti da-lyvavimo �loterijoje�. Tod·el, budamas racionaliu, jis nor·etu¾ rinktist ¾a variant ¾a, kurio vidutinis naudingumas didµziausias. Nagrin·etamepavyzdyje projektuotojas, matyt, kreiptu¾si i¾uµzsakov ¾a, kad pastarasisuµzsakytu¾ rinkos tyrimo specialistams atlikti i¾reginiu¾ kainu¾ prognoz¾e,

Page 190: Matematinis programavimas

190 CHAPTER 5. RACIONALUS I�RINKIMAS

t.y. i¾vertinti kainu¾ skirstinio tanki¾ p(Y ), kuriam �iuo atveju labiautiktu¾subjektyviu¾tikimybiu¾, o ne daµznumu¾interpretacija: Tur·edamastoki¾ i¾verti¾ projektuotojas gal·etu¾ i�rinkti variant ¾a maksimizuodamasvidutini¾peln ¾a, kuris apibr·eµziamas formule (5.1).

5.7 Subjektyvios tikimyb·es

Ateities dirbtin·es aplinkos modelis sudaromas remiantis esminiais,nekintamais gamtos ir visuomen·es d·esniais. Kai kurie i� ju¾ formu-luojami remiantis tikimybiu¾ teorija. �i ¾a modelio dali¾ apima �loso�n·ebutinumo kategorija. Jos prie�yb·e �modelio neapibr·eµztumai. Jei pas-taruosius ir galima matemati�kai apra�yti tai gautasis modelis vis tiekbus subjektyvus. Kad butu¾paprasµciau, panagrin·ekime vien ¾a modelioparametr ¾a, pvz. vieno i� technologin·es i¾rangos, skirtos projektuoja-mam siuvimo cechui, varianto kain ¾a pasaulin·eje rinkoje po penkeriu¾metu¾. I¾vertinant bendras politines ir ekonomines tendencijas, matyt,galima i¾vertinti ir bendr ¾a kainu¾ kitimo tendencij ¾a. Taip pat reikiaatsiµzvelgti i¾speci�nes siuvimo pramon·es ir ma�inu¾gamybos ypatybesir kt. Jei ekspertas i¾vertins �i ¾a kain ¾a 0.5 milijono litu¾, tai ekspertiz·esuµzsakovas tikrai netur·es pretenziju¾ d·el 10 tukstanµciu¾ litu¾ paklaidos.Taµciau, ar negali kaina pakilti iki 0.7 milijono? Ar ji gali vir�yti mil-ijon ¾a? I�rei�kiamas vienu skaiµciumi ekspertinis kainos i¾vertis kaµzinar pakankamas, nors jis ir atitinka labiausiai tik·etin ¾a reik�m¾e. Visasreik�miu¾ intervalas yra daugiau ar maµziau tik·etinas, ir i¾ tai reikia at-siµzvelgti i�renkant variant ¾a.Kasdieniniame gyvenime be kiekybiniu¾ vertinimu¾, pavyzdµziui,

skaiµciais i�rei�kiamu¾ ilgio, svorio, laiko matu¾ sutinkami ir maµziautikslus teiginiai: �labai garsiai kalba�, �graµziai pie�ia�, �intensyviaitreniruodamasis pasieks geru¾ sporto rezultatu¾�. Ar galima tokiemsvertinimams suteikti tikslesn¾e prasm¾e, t.y. i�matuoti juos naudojan-tis kokia nors skale? Tam pirmiausia butina, kad vertinamos savyb·es

Page 191: Matematinis programavimas

5.7. SUBJEKTYVIOS TIKIMYB ·ES 191

realizacijos butu¾ palyginamos. �is reikalavimas i�rei�kiamas binari-uoju palyginimo santykiu, paprastai µzymimu �. Pavyzdµziui, teigini¾� a kalba garsiau uµz b� galima uµzra�yti �itaip: a � b. Jei binaru-sis palyginimo santykis tenkina tam tikrus racionalumo reikalavimus,tai nagrin·ejam ¾a savyb¾e galima i�matuoti. µZmon·es lengvai palyginagarso stiprum ¾a. Turbut tod·el, jau seniai sukurta skal·e ir specialusprietaisai garso stiprumui matuoti. Palyginti pie�inius sud·etingiau.Nors stojanµciu¾ju¾i¾dail·es mokyklas pie�iniu¾kokyb¾e vertinimo komisijai¾vertina balais, t. y. i�matuoja, bet kiek d·el to buna ginµcu¾! Kaippalyginti savyb·es i�rai�kas, minimas treµciajame teiginyje, apskritaineai�ku.�ioje knygoje nepateiksime tikslaus palyginimo santykio

racionalumo apibr·eµzimo ir jo detaliau neaptarsime. Apie taira�oma specialiuose matavimo teorijos veikaluose. Gal but, skaity-tojui bus i¾domu, kad palyginimo santykio reprezentavimo problemosatsiradim ¾a l·em·e psichologijos, pedagogikos ir kai kuriu¾kitu¾�netiksliu¾�mokslu¾ poreikiai. Paµzym·esime, kad matuoti psichologines savybessud·etingiau negu �zines, nes pirm ¾asias sunkiau apibr·eµzti, izoliuoti,tiesiogiai steb·eti, realizuoti reikalingu intensyvumu. Tokios problemosbudingos ir matuojant subjektyvi ¾a tikimyb¾e.Anksµciau apra�ytame pavyzdyje ekspertas tikriausiai prad·es ly-

ginti dvieju¾ galimu¾ kainu¾ intervalu¾ tik·etinumus. Kas labiau tik·etina,ar kaina tarp 0.4 ir 0.5 milijono, ar kaina didesn·e 0.7 milijono?Panagrin·esime bendr ¾a vieno faktoriaus atveji¾. Raid·emis A;B;Cpaµzym·esime uµzdarus intervalus, o µzyme � - tik·etinumo santyki¾.Uµzra�as A � B rei�kia, kad A labiau tik·etinas negu B. Aptarsimekelet ¾a racionalumo s ¾alygu¾.1. Pilnumas. Esant bet kuriems dviem A ir B; arba A � B,

arba B � A , arba A v B; µcia ekvivalentumo s ¾ary�iu v paneigiamospirmosios dvi alternatyvos.2. Tranzityvumas. Jei A � B ir B � C, tai A � C.3. Adityvumas. Sakykime, kad C turi tik po vien ¾a bendr ¾a ta�k ¾a

Page 192: Matematinis programavimas

192 CHAPTER 5. RACIONALUS I�RINKIMAS

su A ir B. A � B tuomet ir tik tuomet, kai A [ C � B [ C.4. Tolydumas. Jei A � B, tai intervalo A pradµzioje ir gale

galima atskirti tokius pointervalius A� bei A+, kad A� v A+ v B.�ios s ¾alygos, galima sakyti, neatsiejamos nuo tik·etinumo santykio.

Detaliai jos aptariamos specialioje literaturoje [13]. Prie �iu¾ s ¾alygu¾prid·ej¾e dar kelet ¾a, gauname i�vad ¾a [20]: egzistuoja vienintelis tikimy-binis tankis p(s), suderintas su tik·etinumo santykiu: A � B tada irtik tada, kai Z

A

p(s)ds >

ZB

p(s)ds:

Remiantis �iuo rezultatu, neapibr·eµztumo faktorius interpretuoti-nas kaip atsitiktinis dydis su tikimybiniu tankiu p(�). Kita vertus, tairei�kia, kad eksperto informacija apie neapibr·eµztum ¾a gali buti i�reik�tatikimybiniu skirstiniu. Neapibr·eµztumo i�rei�kimas standartiniu budu,t. y. tikimybiu¾ skirstiniu, pasiµzymi daugeliu privalumu¾, pavyzdµziui,kur kas ai�kesni tampa i¾verµciu¾, kuriuos pateikia i¾vairus ekspertai,pana�umai ir skirtumai. µZinomi metodai, skirti daugelio ekspertu¾ in-formacijai apie t ¾a pati¾ faktoriu¾ integruoti. Tod·el lengviau atpaµzintiklaidas ir suderinti ekspertu¾ informacij ¾a apie nagrin·ejamus fakto-rius. Subjektyvius modelius galima �adaptuoti�i¾vertinant steb·ejimu¾duomenis. Tikimybini¾ subjektyvaus neapibr·eµztumo modeli¾ galimanaudoti vidutiniam projektiniu¾ variantu¾ naudingumui apskaiµciuoti.Matematiniai metodai lieka tie patys, skiriasi tik gaunamu¾ rezultatu¾interpretacija.

5.8 Savage�o teorija

Racionalaus i�rinkimo neapibr·eµztumo s ¾alygomis uµzdavinys buvonagrin·ejamas keliais etapais. Pirmiausia paai�kinome, kadesant apibr·eµztumui racionalaus i�rinkimo uµzdavinys pakeiµciamas

Page 193: Matematinis programavimas

5.8. SAVAGE�O TEORIJA 193

naudingumo funkcijos U(X) maksimizavimo uµzdaviniu. Jei i�rinki-mas atliekamas neapibr·eµztumo s ¾alygomis, tai sudaromas tikimybinisneapibr·eµztumo modelis, kuris atskiru atveju yra tikimybinis tankisp(s). Tuomet naudingumo funkcija taip pat priklauso nuo neapibr·eµztofaktoriaus s: U(X) = U(X; s), ir kiekvien ¾a variant ¾a X galimaapibudinti vidutiniu naudingumu

u(X) =

ZU(X; Y ) p(Y ) dY:

Jei �is kriterijus priimtinas, tai i�rinkimo neapibr·eµztumo s ¾alygomisuµzdavini¾ galima pakeisti vidutinio naudingumo maksimizavimo uµz-daviniu [7]. Projektuotojai, tur but, �ias teorines i�vadas vertintu¾pirmiausiai atsiµzvelgdami i¾ tai, ar sud·etinga sprendµziant konkretu¾uµzdavini¾parinkti naudingumo funkcij ¾a ir tikimybini¾ tanki¾.Nor·etume labai trumpai aptarti Savage�o teorijos pagrindines

i¾d·ejas. �ioje teorijoje subjektyviu¾ tikimybiu¾ ir naudingumo funkcijosegzistavimas i¾rodomas bei vidutinio naudingumo kriterijus pagrindµzia-masremiantis kiek kitokiomis prielaidomis: lyginant neapibr·eµztu¾rezultatu¾situacijas.Sakykim, kad S = fsg yra situacijas apibr·eµzianµciu¾ buviu¾ aib·e

(states of the world), C = fcg - pasekmiu¾aib·e, D = fd(�)g sprendimofunkciju¾ aib·e, kurios argumentai yra i� aib·es S, o reik�m·es priklausoaibei C. Vaizdµziu �avantiuros�(gamble) atveju S yra neapibr·eµztumos ¾alygomis i¾vykstantys i¾vykiai, C - galimu¾i�lo�imu¾aib·e. Projektuoto-jas, neµzinodamas koks buvis bus realizuotas, turi pasirinkti funkcij ¾ad(�) 2 D: µCia pasirinkimas neapibr·eµztumo ir rizikos s ¾alygomis vadi-namas �avantiura�. Preferencijos santykis tarp D elementu¾ atitinkapreferencijas tarp �avantiuru¾�. Jei �is santykis patenkina labai ben-dras racionalumo prielaidas, tai egzistuoja tokia naudingumo funkcijaU(�) ir toks tikimybinis skirstinys (atskiru atveju tikimybinis tankisp(�)), kad d(�) � g(�) tada ir tik tada, kai

Page 194: Matematinis programavimas

194 CHAPTER 5. RACIONALUS I�RINKIMAS

ZU(d(s)) p(s) ds >

ZU(g(s)) p(s) ds :

Reziumuojame: jei �avantiuras� galima racionaliai palyginti,tai egzistuoja toks tikimybinis neapibr·eµztumo modelis ir tokianaudingumo funkcija, kad �avantiuras�galima lyginti pagal ju¾vidutini¾naudingum ¾a.

5.9 Nery�kios aib·es

Labai artima neapibr·eµztumui yra nery�kumo (neai�kumo) s ¾avoka.�iuo terminu (fuzziness) pavadinta ir nauja mokslo kryptis. Nery�kiu¾aibiu¾ teorija pradedant L. Zadeh straipsniu 1965 metais labai inten-syviai vyst·esi. Nery�ki aib·e A 2 R1 apibr·eµziama priklausomumofunkcijaMA(x), kurios reik�m·es priklauso intervalui [0, 1] (5.16 paveik-slas). Kiekvienam argumentui x funkcijos MA(x) reik�m·e apibr·eµziapriklausomumo aibei A laipsni¾. Nery�ki aib·e atitinka tradicini¾ aib·esapibr·eµzim ¾a, jei priklausomumo funkcijai i¾gauna tik dvi reik�mes: 0 ir1. Tuomet MB(x) yra staµciakamp·e (5.16 paveikslas) ir nurodo, kadx arba priklauso aibei B, arba jai nepriklauso, t. y. jokiu¾ tarpiniu¾priklausomumo laipsniu¾n·era.Tie projektu¾ parametrai, kuriu¾ tikslios reik�m·es neµzinomos, gali

buti pakeisti nery�kiomis aib·emis. Tod·el nery�kiu¾ aibiu¾ teorija galibuti panaudota i�renkant projektinius variantus. Panagrin·ekime,kokie skirtumai tarp tradicinio tikimybinio modelio ir modelio,sudaryto nery�kiu¾aibiu¾metodu. Jei visos aib·es apibr·eµztos baigtiniameintervale, tai priklausomumo funkcijos gali buti sunormuotos taip, kadju¾ integralai butu¾ lygus 1. Tuomet priklausomumo funkcija atitiktu¾tikimybini¾ tanki¾. Taµciau formaliai tikimybinio tankio s ¾avoka siau-resn·e, nes priklausomumo funkcijos integralas gali ir nebuti baigtinis(pvz., MA(x) = 1; �1 � x � 1). Nery�kios aib·es nuo tikimybiniu¾

Page 195: Matematinis programavimas

5.10. PSICHOLOGIN ·ES PREFERENCIJOS SANTYKIO SAVYB ·ES195

Figure 5.16: Priklausomumo funkciju¾pavyzdµziai

modeliu¾ skiriasi ir tuo, kad priklausomumo funkcijoms apibr·eµziamostokios operacijos, kurios neturi analogu¾tikimybiu¾teorijoje.Yra nemaµzai darbu¾, apibendrinanµciu¾anksµciau nagrin·et ¾a vidutinio

naudingumo princip ¾a, kuriuose naudingumas bei tikimyb·es i�rei�ki-ami nery�kiomis aib·emis. Tuo pabr·eµziama, kad nei naudingumo,nei tikimyb·es negalima tiksliai µzinoti. Nery�kiu¾ aibiu¾ teorij ¾a taippat galima s·ekmingai taikyti netiksliems samprotavimams modeliuoti.Taµciau negalima teigti, kad nery�kios aib·es visi�kai pakeiµcia labiautradicinius tikimybinius neapibr·eµztumo modelius. Pasirenkant metod ¾akonkreµciam uµzdaviniui spr¾esti, reikia kriti�kai palyginti i¾vairias gal-imybes, nes ne visada naujesnis metodas yra automati�kai geresnis.

5.10 Psichologin·es preferencijos santykiosavyb·es

I¾domu palyginti realias µzmoniu¾ preferenciju¾ savybes su anksµciaui�d·estytomis teorin·emis. Literaturoje �is klausimas gana plaµciaiaptartas, o �iame skyrelyje pateiksime kai kuriuos apibendrintus

Page 196: Matematinis programavimas

196 CHAPTER 5. RACIONALUS I�RINKIMAS

psichologiniu¾ tyrimu¾ rezultatus [7]. Eksperimentai, kuriais remiantisdaromos i�vados, yra abstraktaus pobudµzio, ju¾ s ¾alygos suprantamosplaµciam potencialiu¾ psichologiniu¾ eksperimento dalyviu¾ ir skaitytoju¾ratui. Butu¾ labai i¾domu, jei skaitytojas analogi�kus tyrimus atliktu¾konkreµciomis projektiniu¾variantu¾ lyginimo s ¾alygomis.Jau anksµciau aptar·eme, kad alternatyvas neapibr·eµztumo s ¾alygomis

reik·etu¾ lyginti pagal ju¾ vidutini¾ naudingum ¾a. Taµciau panagrin·ekimetoki¾ pavyzdi¾. Sakykime, kad realizuodami koki¾ nors sumanym ¾a, jusprivalote pasirinkti vien ¾a i�dvieju¾alternatyvu¾:1) garantuojanµci ¾a 80 litu¾peln ¾a;2) su tikimybe 0,85, kad bus 100 litu¾pelnas;tikimyb·e, kad jokio pelno nebus, lygi 0,15.

Kuri ¾a alternatyv ¾a jus, skaitytojau, pasirinktum·et? Teori�kairacionalaus i�rinkimo budas rekomenduoja antr ¾aj ¾a alternatyv ¾a, nesjos vidutinis pelnas 100�0:85 + 0 � 0:15 = 85 litai (pirmosios80 litu¾). Taµciau daugelis psichologinio eksperimento, apra�yto lit-eraturoje, dalyviu¾pasirinko pirm ¾aj ¾a.Vienas i� paai�kinimu¾ toks: pasirinkus antr ¾aj ¾a alternatyv ¾a, yra

tikimyb·e nieko negauti. µZmogus, matyt, i¾vertina t ¾a nemaloni ¾a psi-chologin¾e busen ¾a, kurion pakliutu¾, jei pasirink¾es antr ¾aj ¾a alternatyv ¾anieko negautu¾. Jei apsiribotume �iuo paai�kinimu, tai alternatyvastur·etume apibudinti ne vien pelnu, bet ir psichologin·emis pasekm·emis,t. y. vektoriniu dydµziu, kurio antr ¾aj ¾a komponent¾e neµzinia kaipmatuoti.Eksperimento rezultatus galima paai�kinti ir kitaip, neatmetant

racionalaus i�rinkimo prielaidos.Sakykime, pelno naudingumas yra netiesin·e pelno funkcija: y =

U(x). Jei U(�) yra i¾gaubta funkcija (kaip 5.17 paveiksle), tai san-tykis tarp vidutinio abieju¾ alternatyvu¾ naudingumo gali buti butenttoks, koki¾ i�rei�k·e psichologinio eksperimento dalyviai. Kod·el pinig-inio pelno naudingumas tur·etu¾ buti i¾gaubta did·ejanti funkcija, jauanksµciau buvo min·eta.

Page 197: Matematinis programavimas

5.10. PSICHOLOGIN ·ES PREFERENCIJOS SANTYKIO SAVYB ·ES197

Figure 5.17: Loteriju¾palyginimas naudingumo atµzvilgiu

Jei alternatyvos apibudinamos kriterijumi, kurio naudingumas yrai¾gaubta funkcija, tai racionaliam i�rinkimui budingas rizikos vengimas.�i savyb·e i�plaukia i�matematinio i¾gaubtos funkcijos apibr·eµzimo:

U(x0) > U0 = p1 � U(x1) + p2 � U(x2);

µcia p1 + p2 = 1; x0 = p1x1 + p2x2; t. y. garantuoto pelno alternatyvax0 dominuoja loterijas su tikimybe p1, duodanµcias didesni¾ negu x0peln ¾a, bet su tikimybe p2, duodanµcias maµzesni¾negu x0 peln ¾a. Kadangifunkcija tolydi, tai yra nemaµzai x reik�miu¾, pavyzdµziui uµzbruk�niuotasintervalas 5.17 paveiksle, kurioms esant garantuoto pelno (maµzesniouµz vidutini¾ loterijos peln ¾a) alternatyvos dominuoja nagrin·ejam ¾asiasloterijas.Analogi�kai galima i�nagrin·eti pavyzdi¾, kai tenka i�rinkti alter-

Page 198: Matematinis programavimas

198 CHAPTER 5. RACIONALUS I�RINKIMAS

natyv ¾a nuostoliu¾atveju. Sakykime, v·el galimos dvi alternatyvos :1) garantuojanti 80 litu¾nuostolius;2) su tikimybe 0.85, kad bus 100 litu¾nuostoliai(tikimyb·e, kad nuostoliu¾nebus, lygi 0.15).

Racionalaus i�rikimo budas rekomenduoja pirm ¾aj ¾a alternatyv ¾a.Taµciau daugelis pasirenka antr ¾aj ¾a. Psichologi�kai sunkiau susitaikytisu garantuotais nuostoliais, negu bandyti ju¾ i�vengti, nors antruojuatveju galima tur·eti didesnius nuostolius. �iuo atveju naudingumofunkcija yra i�kili, t.y. racionaliam i�rinkimui budingas polinkis i¾rizik ¾a.Bendru atveju naudingumo funkcija turi S raid·es pavidal ¾a. Taµciau

ji n·era simetri�ka neutralaus ta�ko atµzvilgiu. Panagrin·ekime paprast ¾apavyzdi¾. Pasiulymo dalyvauti loterijoje, kurioje tikimyb·e, kad busi�lo�ta 100 $ ir tikimyb·e, kad bus pralo�ta 100 $, lygios 0.5, at-sisak·e beveik visi eksperimento dalyviai. Dalyvavimas loterijoje butu¾psichologi�kai priimtinas tuomet, kai esant vienodoms alternatyvu¾tikimyb·ems nuostoliai butu¾ gerokai maµzesni uµz peln ¾a. Nuostoliu¾ irpelno atveju naudingumo funkcija pavaizduota 5.18 paveiksle. Abi�akas galima aproksimuoti eksponentin·emis funkcijomis, kuriu¾ koe�-cientai skirtingi.I�rinkimui budingas polinkis i¾ rizik ¾a arba jos vengimas priklauso

nuo neutralaus ta�ko pad·eties. Taµciau nuostoliu¾ ir pelno s ¾avokoskartais subjektyvios, tod·el reikia atidµziai i�analizuoti alternatyvu¾pasekmes ir pagri¾sti neutralaus ta�ko pad·eti¾. Literaturoje apra�ytaspsichologinis eksperimentas, kuriame dalyvavusiems gydytojams buvouµzduodamas toks klausimas: JAV laukiama retos Azijoje prasid·ejusiosligos epidemija. Jei nebus imtasi priemoniu¾, tai vertinant pagal kitu¾valstybiu¾ duomenis gali mirti 600 µzmoniu¾. Atlikti tyrimai rekomen-duoja du kovos su �ia liga budus. Panaudojus bud ¾a A, bus i�gelb·eta 200µzmoniu¾. Panaudojus bud ¾a B, tikimyb·e, kad bus i�gelb·eta 600 µzmoniu¾,lygi 1/3, bet tikimyb·e, kad nebus niekas niekas i�gelb·etas, lygi 2/3.Kuri¾ bud ¾a jus rekomenduotum·ete? Dauguma rekomendavo vengti

Page 199: Matematinis programavimas

5.10. PSICHOLOGIN ·ES PREFERENCIJOS SANTYKIO SAVYB ·ES199

Figure 5.18: Naudingumo funkcija nesimetri�ka neutralaus ta�koatµzvilgiu

Page 200: Matematinis programavimas

200 CHAPTER 5. RACIONALUS I�RINKIMAS

rizikos ir pasirinkti pirm ¾aji¾bud ¾a. I�uµzdavinio formuluot·es i�plaukia,kad neutralus ta�kas atitinka 600 µzmoniu¾netekti¾. Vadinasi, kiekvienasi�gelb·etasis - tai pelnas. Taigi gydytoju¾ rekomendacija atitinka teor-in¾e.Kitiems gydytojams buvo pateiktas �itoks klausimas: Ligai gy-

dyti pasiulyti du budai - C ir D. kitu¾ valstybiu¾ duomenimis, jei buspanaudotas C budas, mirs 400 µzmoniu¾, jei D, tai tikimyb·e, kad niekasnemirs, lygi 1/3, o tikimyb·e, kad mirs 600 µzmoniu¾, lygi 2/3. Kuri¾bud ¾a jus rekomenduotum·ete?Dauguma rekomendavo antr ¾aji¾ riziking ¾a bud ¾a. Matyt, uµzdavinys

suformuluotas taip, kad susidaro neteisingas i¾spudis, jog neutralusta�kas atitinka nuli¾. Vadinasi, kiekviena mirtis yra nuostoliai, taigigydytoju¾rekomendacija v·el atitinka teorij ¾a. Abiem formuluot·emis, tikkitais µzodµziais, nusakoma ta pati objektyvi situacija. Taµciau antr ¾ajaformuluote tiesiai nepasakoma, kas i¾vyktu¾, jei nebutu¾panaudotas joksgydymo budas. Tai vienintelis, bet esminis abieju¾formuluoµciu¾skirtu-mas.Daugelyje gyvenimi�ku¾ situaciju¾ µzmon·es, i�rinkdami vien ¾a arba

kit ¾a alternatyv ¾a, vadovaujasi ne vien racionalumu, bet ir emoci-jomis. Kai kuriais atvejais pasirinkimas buna toks, kad aplink-iniai ji¾ tegali i¾vertinti kaip neapgalvot ¾a. �ioje knygoje, netur·edamigalimyb·es plaµciau nagrin·eti psichologiniu¾ klausimu¾, paµzym·esime tikkelet ¾a i¾domesniu¾momentu¾. 300 litu¾premija uµz ger ¾a darb ¾a gali µzmogu¾nuliudinti ir netgi i¾µzeisti, jei jis tik·ejosi gauti µzymiai daugiau. Taµciaunet ir pus·e �ios sumos gali sukelti dideli¾dµziaugsm ¾a, jei ji yra �i�mu�ta�beveik nei¾tik·etinomis s ¾alygomis. Ta pati 300 litu¾ premija bus pri-imama vienaip, jei ji didµziausia i�gautu¾kolektyve, ir visai kitaip, jei jimaµziausia. Tod·el i¾domu, kaip nusivylimo koncepcij ¾a reik·etu¾suderintisu i�d·estytu racionalaus i�rinkimo modeliu. O �tai dar vienas i¾domusklausimas: ar atsiperka analiz·e, be kurios nei¾manomas racionalusi�rinkimas. Ji¾ galima suformuluoti ir kitaip: kiek kainuoja galvoji-mas?

Page 201: Matematinis programavimas

5.10. PSICHOLOGIN ·ES PREFERENCIJOS SANTYKIO SAVYB ·ES201

Sakykime, kad projektuotojas, dirbdamas savo darb ¾a, stengiasibuti racionalus. Tuomet i�renkant variantus neapibr·eµztumo s ¾alygomisreikia remtis vidutinio naudingumo i¾vertinimu. Vidutinis naudingu-mas apibr·eµziamas naudingumo funkcija ir tikimybiniu skirstiniu. Kadbutu¾galima i�reik�ti individo naudingumo funkcij ¾a, pirmiausia reikianustatyti jos form ¾a, t.y., ar ji atitinka rizikos vengim ¾a, ar polinki¾ i¾rizik ¾a. Sakysim, nagrin·ejamas tik vienas kriterijus. Jei garantuotasvariantas (x1 + x2)/ 2 dominuoja loterij ¾a, kurioje su tikimyb·emis 0.5realizuojamos kriterijaus reik�m·es x1 ir x2, tai naudingumo funkcijagali buti aproksimuota eksponentine

U(x) = a+ b e�cx;

µcia konstantos a; b; c (b < 0; c > 0) i¾vertinamos remiantis ekspertineinformacija. Pavyzdµziui, jei variantas x3 ekvivalentus loterijai, kuriojesu tikimyb·emis 0.5 realizuodami x1 ir x2, tai naudojantis lygybe

U(x3) = 0:5U(x1) + 0:5U(x2)

galima apskaiµciuoti konstant ¾a c. Prakti�kai stengiamasi gauti kuo dau-giau ekspertin·es informacijos ir po to konstantas i¾vertinti naudojantisbendrais metodais, pavyzdµziui, maµziausiu¾ju¾kvadratu¾metodu.Daµznai naudingumas (su pakankamu tikslumu) yra tiesin·e kri-

terijaus x funkcija. Tuomet naudingum ¾a galime sutapatinti su x.Kriteriju¾, kai ju¾ yra ne vienas, kompozicijos problema nagrin·ejamakitame skyriuje.Analogi�kai i¾vertinami subjektyvus tikimybiniai skirstiniai. Reikia

paµzym·eti, kad µzmon·es subjektyviai vertindami tikimybes pagalstatistiniu¾steb·ejimu¾duomenis link¾e pervertinti labai maµzas tikimybesir sumaµzinti artimu¾vienetui tikimybiu¾ i¾verµcius. Visi maµzu¾ tikimybiu¾i¾vykiai traktuojami kaip beveik negalimi, taµciau kokybi�kai besiskiri-antys nuo garantuotai nei¾manomo i¾vykio. Pana�iai vertinami ir beveikgarantuotai i¾vyksiantys i¾vykiai. Artimu¾ nuliui tikimybiu¾ i¾vertinimas

Page 202: Matematinis programavimas

202 CHAPTER 5. RACIONALUS I�RINKIMAS

yra labai sud·etinga problema taip pat ir klasikin·eje statistikoje.I�analizavus stambiu¾avariju¾prieµzastis, paai�k·eja, kad avarijos i¾vykstabutent tuomet, kai sutampa prakti�kai nei¾tik·etini i¾vykiai, kuriu¾ sta-tistikos surinkti nei¾manoma. Subjektyviais tokiu¾ tikimybiu¾ i¾verµciaispasikliauti taip pat negalima. Tod·el, projektuojant unikalius objektus,kuriu¾(nors ir labai maµzai tik·etini) sutrikimai gali sukelti katastro��kaspasekmes, variantas i�rinkamas remiantis garantuoto rezultato prin-cipu.

5.11 Stochastin·e optimizacija

Remiantis racionalaus i�rinkimo teorija, projektiniai variantai lygi-nami pagal vidutinio naudingumo kriteriju¾. Jei tokiu¾ variantu¾ yratik keletas, tai visu¾ju¾vidutini¾naudingum ¾a i¾manoma apskaiµciuoti netir tuomet, kai neapibr·eµztu¾faktoriu¾daug. Bet kaip pasinaudoti teorijosi�vadomis, jei konstruktyviu¾ parametru¾ vektorius X yra daugiamatisir priklauso sud·etingos strukturos aibei A, o nevaldomu¾faktoriu¾vekto-rius Y taip pat yra daugiamatis? Funkcij ¾a u(X)maksimizuoti ankstes-niuose knygos skyriuose nagrin·etais metodais daµzniausiai nepavyktu¾.Sunkumai kyla tod·el, kad daugiamaµciam integralui (5.1) apskaiµci-uoti reikia daug kompiuterio laiko, nes kitaip u(X) reik�m·es butu¾gaunamos su didel·emis paklaidomis. Tod·el (5.1) tipo integralamsmaksimizuoti sukurti specialus metodai naudojantys tik pointegrin·esfunkcijos reik�mes. Pavyzdµziui, sudaroma atsitiktin·e trajektorija, ku-rios µzingsniai vidutini�kai nukreipti U(X; Y ) did·ejimo kryptimi. Jeiµzingsnio ilgis ir atsitiktin·e judesio kryptis patenkina tam tikras s ¾a-lygas, tai atsitiktin·e trajektorija konverguoja (tikimybine prasme) i¾funkcijos u(X) lokalaus maksimumo ta�k ¾a.Yra ir kitu¾ id·eju¾, kuriomis pagrindµziami metodai, i� esm·es be-

siskiriantys nuo k ¾a tik apra�ytojo. Reikia paµzym·eti, kad stochastin·esoptimizacijos uµzdavinius spr¾esti n·era lengva net ir turint tam skirtus

Page 203: Matematinis programavimas

5.12. UµZDUOTYS IR KONTROLINIAI KLAUSIMAI 203

programin·es i¾rangos paketus.

5.12 Uµzduotys ir kontroliniai klausimai

1. Ar pagri¾stai postuluojama, kad preferencijos san-tykis yra tranzityvus? Sukonstruokite pavyzdi¾su netranz-ityviu preferencijos santykiu ir ji¾ i�analizuokite.2. Kokiomis savyb·emis pasiµzymi naudingumo funkcija?3. Kokius µzinote neapibr·eµztumo modelius? Kokiu savo

busimu¾ pajamu¾ neapibr·eµztumo modeliu remtum·et·es, jeireik·etu¾apsispr¾esti d·el skolinimosi i�banko buto pirkimui?4. Kokioms aplinkyb·ems esant sprendim ¾a priim-

tum·et vadovaudamiesi vidutinio naudingumo principu, irkokioms - minimakso principu?5. Kokia naudingumo funkcija atitinka sprendimus su

polinkiu i¾ rizik ¾a ir kokia atitinka sprendimus vengianµciusrizikos?6. Paai�kinkite neutralaus rizikos funkcijos ta�ko

prasm¾e.

Page 204: Matematinis programavimas

204 CHAPTER 5. RACIONALUS I�RINKIMAS

Page 205: Matematinis programavimas

Chapter 6

DAUGIAKRITERISOPTIMIZAVIMAS

6.1 Intuityvusis i�rinkimas

Daugelio kriteriju¾ uµzdaviniai i�kyla i¾vairiose sprendimu¾ pri·emimosituacijose. Panagrin·ekime projektavim ¾a. Kiekvienas projektavimoetapas baigiamas vieno arba keliu¾ variantu¾ i�rinkimu tolesniam dar-bui. Pavyzdµziui, ekspertams pateikiami penki galimi preliminarus siu-vimo cecho varijantaiXi, i = 1; :::; 5, besiskiriantys kriteriju¾vektoriausF (X) = (f1(X); :::; f5(X)) reik�m·emis. Jas palygin¾e, ekspertai savoi�vadas daµznai formuoja, pavyzdµziui, �itaip: varijantas X1 nepriimti-nas d·el per didel·es kriterijaus f1 (kainos) reik�m·es, o X2 - d·el permaµzo f2 (patikimumo). Variantas X3 atmetamas, nes beveik pagalvisus kriterijus blogesnis uµz X1 , tik pasiµzymi maµzu f5 (triuk�mo ly-giu). Rekomenduojama dirbti su variantais X1 ir X5 , taµciau reikiasumaµzinti varianto X5 triuk�mo lygi¾ir pagerinti kitus sanitarinius kri-terijus bei sumaµzinti varijanto X1 kain ¾a.Be abejo, ekspertai, visapusi�kai i�nagrin·ej¾e kelis variantus, pri-

205

Page 206: Matematinis programavimas

206 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

ims racionalu¾ sprendim ¾a. Taµciau ar tie keli variantai atspindivisas galimybes? Kita vertus, µzmogus gali neapr·epti visu¾ galimu¾variantu¾, jei ju¾ yra keli �imtai, ypaµc tuomet, kai kiekvienas varijan-tas apibudinamas de�imtimis kriteriju¾. Euristiniais metodais vargu arpavyktu¾ i�tirti didel¾e variantu¾ aib¾e ir, atmetus ai�kiai nepriimtinus,i�rinkti ekspertizei tam tikr ¾a potencialiai geriausiu¾ variantu¾ skaiµciu¾.Tod·el ekspertai efektyviai gali dirbti tik naudodami matematiniusmetodus. Min·ejome, kad racionalaus i�rinkimo uµzdavini¾ teori�kaigalima pakeisti naudingumo funkcijos optimizavimo uµzdaviniu. �i-ame skyriuje panagrin·esime, kaip t ¾a padaryti prakti�kai. Jei sudarytinaudingumo funkcij ¾a d·el i¾vairiu¾prieµzasµciu¾sunku, tai galime pasinau-doti alternatyviais metodais, kuriuos taip pat aptarsime.

6.2 Apibr·eµztys

Projekuotojo keiµciamu¾parametru¾vektorius X = (x1; :::; xn) parenka-mas tam tikroje srityje A 2 Rn, vadinamojoje leistin ¾aja sritimi arbaleistin ¾aja aibe. Pavyzdµziui, kai kuriems kintamiesiems apibr·eµziamosvir�utin·es, kai kuriems - apatin·es, kitiems - abi ribos. Plaµciauleistinosios srities s ¾avoka aptarta skyrelyje, skirtame optimizavimouµzdaviniu¾ formulavimui. Pavyzdµziui, leistinoji sritis 6.19 paveiksleapibr·eµzta trimis paprastaisiais, vienu netiesiniu ir dviem tiesiniais ri-bojimais.

Kiekvienam vektoriui X apibr·eµztas kriteriju¾ vektorius(f1; :::; fm) = F (X). Vektoriui X kintant aib·eje A vektorius Fperb·ega kriteriju¾ reik�miu¾ aib¾e �. Jei kriterijus butu¾ tik vienas(tolydinis X atµzvilgiu), tai � sutaptu¾ su intervalu, kurio pradµzi ¾air gal ¾a nustato kriterijaus funkcijos (vieno kriterijaus uµzdaviniuosevadinamos tikslo funkcija) minimumas ir maksimumas. Jei yra daugkriteriju¾, tai ju¾maksimumu¾ta�kai paprastai nesutampa. Pavyzdµziui,

Page 207: Matematinis programavimas

6.2. APIBR ·EµZTYS 207

Figure 6.19: Leistinosios aib·es pavyzdys

Page 208: Matematinis programavimas

208 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

Figure 6.20: Kriteriju¾reik�miu¾aib·es pavyzdys

kriteriju¾ reik�miu¾ aib·eje, pavaizduotoje 6.20 paveiksle, pirmojokriterijaus maksimumo ta�kas A nesutampa su antrojo kriterijausmaksimumo ta�ku B. Taµciau sutampa abieju¾ kriteriju¾ minimumaita�ke C. Jei spr¾esdami �i¾ uµzdavini¾ surastume bet kurio kriterijausminimim ¾a, tuomet i�spr¾estume ir dvikriteri¾minimizmo uµzdavini¾.

Daugiakriteriu¾ uµzdaviniu¾ teorijoje paprastai nagrin·ejamas visu¾kriteriju¾maksimizavimas. Tokiu atveju nelygyb·e tarp kriteriniu¾i¾verµciu¾ vektoriu¾ atrodo pana�iai kaip preferencijos santykio µzenklas.Toliau laikysim·es �ios tradicijos, nors vieno kriterijaus optimizavimouµzdaviniuose tikslo funkcij ¾a minimizavome. 6.20 paveiksle iliustruoja-mas dvikriterio maksimizavimo uµzdavinys gali atrodyti prie�taringas.Jei kaip sprendini¾ imsime ta�k ¾a A, tai gerokai nukrypsime nuo maksi-malios antrojo kriterijaus riek�m·es, ir atvik�µciai. Tod·el reikia ie�koti

Page 209: Matematinis programavimas

6.3. KRITERIJU¾KOMPOZICIJA 209

kompromisinio varijanto. Kita vertus, D taip pat negali buti spren-diniu, nes visi ta�kai paµzym·etame sektoriuje yra geresni u� ta�k ¾a Dabieju¾ kriteriju¾ at�vilgiu. Ta�kai, i� kuriu¾ negalima pajud·eti pageri-nant abu kriterijus, sudaro aib·es � �iaur·es - rytu¾rib ¾a, kuri pavyzdµziuiuµzbruk�niuota 6.20 paveiksle. Toks � poaibis vadinamasPareto arbakompromisu¾ aibe. Jei abu kriterijai lygiaverµciai, tai n·e vieno i��io poaibio ta�ku¾ negalime i�skirti, nes kiekvien ¾a i� ju¾ vienodai tin-kamas kaip kompromisinis variantas. Tod·el bendru atveju nepageri-nam ¾a kriteriju¾vektoriu¾ galime apibr·e�ti �itaip: F nepagerinamas, jeikugio, sudaryto i�pustiesiu¾ i�einanµciu¾ i�ta�ko F koordinaµciu¾ krypti-mis, sankirta su aibe � susideda i� veinintelio ta�ko F . Pavyzdµziui,6.20 paveiksle kiekvienas uµzbruk�niuotas kreiv·es ta�kas nepagerina-mas.Projektuotoj ¾a domina, kaip surasti variant ¾a, atitinkanti¾nepageri-

nam ¾a kriteriju¾ vektoriu¾. Ta�kas X� vadinamas efektyviuojusprendiniu (optimaliu Pareto prasme), jei nelygyb·e F (X) �F (X�) ekvivalenti lygybei X = X�, t.y. neegzistuoja toks X 2 A,kuriam fi(X) � fi(X

�); i = 1; :::;m ir bent vienam j; fj(X) >fj(X

�). Efektyvaus sprendinio kriteriju¾ vektorius nepagerinamas,ir atvirk�µciai: kiekvien ¾a nepagerinam ¾a kriteriju¾ (Pareto) vektoriu¾atitinka efektyvus sprendinys.

6.3 Kriteriju¾kompozicija

Praeitame skyriuje buvo parodyta, kad racionalus i�rinkimas gali butipakeistas naudingumo funkcijos maksimizavimu. Taµciau ir neµzinant�io rezultato atrodo gan naturalu pakeisti daugiakriteri¾uµzdavini¾vien-akriteriniu, sudarytu susumavus su svoriais visus uµzdavinio kriterijus

f(X) =

mXi=1

ai fi(X);

mXi=1

ai = 1; ai � 0: (6.1)

Page 210: Matematinis programavimas

210 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

Kokiu pagrindu gaut ¾aj ¾a funkcij ¾a f(X) galima laikyti pradindiniouµzdavinio naudingumo funkcja? Ar teori�kai pagri¾stas daugiakriteriouµzdavinio keitimas funkcijos f(X) maksimizavimo uµzdaviniu?Paprastai, preferencijos santyki¾ (psichologiniu) eksperimentu

pavyksta nustatyti tik nedideliam alternatyvu¾ skaiµciui. Tod·el galimatik·etis parinkti svorius (6.1) taip, kad funkcijos f(X) reik�miu¾ san-tykiai atitiks eksperimentinius duomenis. Kita vertus, kartais kriteriju¾svorius galima nustatyti atsiµzvelgiant i¾kriteriju¾svarb ¾a. Panagrin·esimesvertin·es kriteriju¾sumos savybes:16 teorema. Jei aib·e A yra i�kili, funkcijos fi(X)- i¾gaubtos (i�k-

ilos i¾ vir�u¾) ir X0- efektyvaus sprendinio ta�kas, tai egzistuoja tokiea0i � 0;

Pmi=1 a

0i = 1, kad

maxX2A

mXi=1

a0i fi(X) =mXi=1

a0i fi(X0): (6.2)

�is S.Karlin�o rezultatas teori�kai pagrindµzia svertin·es svoriu¾kompozi-cijos taikym ¾a.17 teorema. Jei ai � 0, i = 1; :::;m; bent vienas aj > 0 ir

mXi=1

ai fi(X�) = max

X2A

mXi=1

ai fi(X) (6.3)

tai X� yra efektyvus sprendinys.I��iu¾teoremu¾matome, kad maksimizuojant svertin¾e kriteriju¾sum ¾a

visada gaunamas efektyvusis sprendinys. Atitinkamai parinkdami svo-rius, galime gauti bet kuri¾efektyvuji¾sprendini¾. Gali susidaryti i¾spudis,kad naudodamiesi �ia kriteriju¾ kompozicija gal·esime i�spr¾esti visasdaugiakriterio optimizavimo problemas. Taµciau i�kilumo riekalavi-mas Karlin�o teoremoje susiaurina jos pritaikymo sriti¾, nes kriteriju¾i�kilumas projektavimo uµzdaviniuose gali buti abejotinas ir tik atski-rais atvejais i¾rodomas. Jei i�kilumo s ¾alyga ir priimtina, tai dar

Page 211: Matematinis programavimas

6.3. KRITERIJU¾KOMPOZICIJA 211

lieka neai�ku, kokia yra priklausomyb·e tarp parenkamu¾svoriu¾ ir juosatitinkanµciu¾Pareto aib·es ta�ku¾. Jei apie kriterijus turime papildomosinformcijos, tai kaip j ¾a i¾vertinti parenkant svorius? Pavyzdµziui, reikiagauti N tolygiai pasiskirsµciusiu¾ Pareto aib·eje ta�ku¾. Kaip parinktisvorius? Parenkant svorius asitiktinai su tolygiu pasiskirstymu, juosatitink ¾a kriteriju¾ vektoriai gali buti pasiskirst¾e Pareto aib·eje labainetolygiai. (6.21) paveiksle pavaizduotas gana tipi�kas pavyzdys:atskiruose Pareto aib·es poaibiuose ta�kai i�sid·est¾e tankiai, o kai kurju¾visai n·era. Tod·el lieka neai�ku, kokia yra Pareto aib·es forma. Nau-dodamiesi turimais duomenimis negalime atsakyti, ar egzistuoja tokiekriteriju¾vektoriai, kad fi > f �i . Ekstrapoliuodami taip, kaip parodytapaveiksle bruk�nine linija, gal·etume tik·etis, kad tinkamai parinkussvorius, gausime geresni¾ uµz (f �1 ; f

�2 ) kriteriju¾ vektoriu¾. Taµciau gali

pasirodyti, kad tikroji riba yra tokia, koki ¾a vaizduoja i�tisin·e linija,ir n·era vektoriaus su komponenµciu¾rei�m·emis f �i .Svertin·e kriteriju¾ kompozicija n·era panac·eja, bet ji daµznai nau-

dojama kuriant daugiakriterio optimizavimo metodus. Bendras kri-terijus, gautas atlikus svertin·es kriteriju¾sumos kompozicij ¾a, pasiµzymituo, kad sumaµz·ejus vienam kriterijui, tai kompensuojama, padidinuskit ¾a. Kitu atveju, tai gali buti lyg ir atskiru¾pelno komponenµciu¾suma:svarbu maksimizuoti bendr ¾a peln ¾a ir visai nesvarbu, kurios kompo-nent·es s ¾askaita jis gaunamas.Esti uµzdaviniu¾, kuriuose variantas nepriimtinas, jei bent vieno kri-

terijaus reik�m·e lygi �nuliui�. µCia nulis para�ytas kabut·ese tod·el, kadnaturaliame mastelyje nepriimtina kriterijaus reik�m·e gali ir nebutilygi nuliui. Taµciau, pakeitus skal·es ataskaitos ta�k ¾a, �i ¾a reik�m¾e galimalaikyti nuline. Antra vertus, net ir labai geros keliu¾kriteriju¾reik�m·esgali buti nuvertintos, kai vienas i�kriteriju¾artimas nuliui. �iuo atvejuvariantas priimtinas tik tuomet, kai visu¾ kriteriju¾ reik�m·es bent jau�neblogos�(anksµciau apra�ytu svertin·es sumos atveju variantas gal·etu¾buti priimtinas ir tuomet, kai vieno kriterijaus reik�m·e �labai bloga�,t.y. nulin·e). Tokias savybes turi kompozicija, i�rei�kiama kriteriju¾

Page 212: Matematinis programavimas

212 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

Figure 6.21: Optimizuojant svertin¾e svoriu¾kompozicij ¾a, ta�kai Paretoaib·eje i�sid·esto netolygiai

sandauga:

f(X) = f1(X) � f2(X) � ::: � fm(X): (6.4)

Jei funkcij ¾a f(X) logaritmuosime, tai gausime atskiru¾ kriteriju¾logaritmu¾ sum ¾a. Tod·el �ios kompozicijos matematin·es savyb·es yraanalogi�kos svertin·es sumos savyb·ems.Pateiksime dar vien ¾a kriteriju¾kompzicijos pavyzdi¾

f(X) = miniai � fi(X); (6.5)

kuria i�rei�kiamas �silpniausios grandies stiprinimo� principas. Juodaµznai naudojasi projektuotojai. �iuo atveju, net nereikalaujantkriteriju¾ i�kilumo prielaidos, galima i¾rodyti teorem ¾a, pana�i ¾a i¾ Kar-lin�o teorem ¾a.

Page 213: Matematinis programavimas

6.3. KRITERIJU¾KOMPOZICIJA 213

18 teorema. JeiX� yra efektyvaus sprendinio ta�kas ir fi(X�) > 0visiems 1 � i � m, tai egzistuoja tokie a�i > 0,

Pmi=1 a

�i = 1; kad

maxX2A

minia�i � fi(X) = min

ia�i � fi(X�): (6.6)

JeiX nepriklauso efetyviu¾ju¾sprendiniu¾aibei, tai esant bet kokiemsai > 0,

Pmi=1 ai = 1, ta�ke X funkcijos mini ai � fi(X)maksimumas

nepasiekiamas.

Teoriniu poµziuriu �is (J.Germejerio) rezultatas yra labai bendras.Taµciau prakti�kai parinkti svorius (6.6) kompozicijai gali buti ganasud·etinga.

Kartais, sprendµziant daugiakriteri¾uµzdavini¾, formuluojamas idealustikslas, t. y. kriteriju¾ vektorius F 0, kurio gal ir nei¾manoma pasiekti,bet i¾ kuri¾ reikia orientuotis. Pavyzdµziui, µzinome, kad gaminys, ku-rio parametrai F 0, rinkoje turi paklaus ¾a. Norint ji¾ nukonkuruoti,reikia pasiulyti gamini¾, kurio parametrai butu¾ beveik tokie patys,bet jo gamybai reik·etu¾ maµziau s ¾anaudu¾. Taigi, siekiame priart·etiprie uµzsibr·eµzto tikslo. Tod·el toks daugiakriterio uµzdavinio pakeiti-mas vienakriteriniu vadinamas tikslo programavimu. �is terminas yravertinys i� anglu¾ kalbos goal programming. Tikslo programavimouµzdavinio formulavimui be tikslo vektoriaus F 0 reikia dar apibr·e�ti at-stumo tarp kriteriju¾vektoriu¾ funkcij ¾a r(F 0; F ): Tuomet daugiakriteri¾uµzdavini¾galima pakeisti minimizavimo uµzdaviniu

minX2A

r(F 0; F (X)):

Kadangi atstumo funkcija daµzniausiai apibr·eµziama �itaip :

Page 214: Matematinis programavimas

214 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

r1(F;G) =mXi=1

cijfi � gij;

r2(F;G) =

mXi=1

ci(fi � gi)2;

tai ir v·el kyla klausimas: kaip parinkti atskiru¾kriteriju¾svorius? Daµz-nai neai�ku, kuri ¾a atstumo formul¾e pasirinkti. Be to, tiksl ¾a ne visadagalima apibr·eµzti vienareik�mi�kai.Kriteriju¾ kompozicijos optimizavimas pagrindµziamas i¾vairiais eu-

ristiniais samprotavimais ir matematin·emis kompozicijos funkciju¾savyb·emis. Viena i� pagrindiniu¾ �io metodo problemu¾ �kaip infor-macij ¾a apie kriterijus i�reik�ti ju¾ svoriais. Apibr·eµzus kompozicijosfunkcij ¾a, uµzdavinys sprendµziamas i¾prastais optimizavimo metodais.

6.4 Nuosekli kriteriju¾analiz·e

Administraciniu¾sprendimu¾, kurie priimami esant sud·etingoms situaci-joms (kai yra daug kriteriju¾ir tikslu¾) tyrimai parod·e, kad µzmon·es alter-natyvas i�renka nuosekliai analizuodami atskirus kriterijus. Pirmiau-sia atmetamos alternatyvos, netinkanµcios pagal svarbiausi ¾aji¾kriteriju¾,po to - pagal antr ¾aji¾ ir tt. Tinkamiausi variantai i�renkami nuosekliaiatmetant netinkamus atskiru¾kriteriju¾poµziuriu.Pana�us rezultatai buvo gauti atliekant psichologinius eksperimen-

tus. Pavyzdµziui, dalyviai tur·ejo i�rinkti i� daugelio daiktu¾ vien ¾a,reikaling ¾a eksperimento ved·ejui. Spr¾esdamas �i¾ uµzdavini¾, eksperi-mento dalyvis uµzduodavo ved·ejui klausimus apie reikalingo daiktopoµzymius. Daugelis klausimu¾ buvo formuojami taip, kad butu¾ gal-ima atmesti visus daiktus, neturinµcius reikalingo daikto poµzymio.

Page 215: Matematinis programavimas

6.4. NUOSEKLI KRITERIJU¾ANALIZ ·E 215

Ranµzuojant (surikiuojant) kriterijus, gauname leksikogra�n·esoptimizacijos uµzdavini¾: variantas X1 geresnis uµz X2 , jei f1(X1) >f1(X2). Jei f1(X1) = f1(X2), tai lyginama pagal antr ¾aji¾ kriteriju¾ irt. t. Naudojant leksikogra�ni¾ i�rinkim ¾a, kai kuriuose µcempionatuosei�ai�kinami µcempionai, pavyzdµziui:- µcempionu tampa komanda, surinkusi maksimalu¾ ta�ku¾ skaiµciu¾

(pregal·e - 1 ta�kas, lygiosios - 1/2 ta�ko, pralaim·ejimas - 0 ta�ku¾);- jei kelios komandos surenka vienod ¾a ta�ku¾ skaiµciu¾, tai µcempionu

tampa ta komanda, kuri surinko daugiausia ta�ku¾ tarpusavio susi-tikimuose;- jei pagal pirmuosius du kriterijus kelios komandos yra lygiavert·es,

tai µcempionu tampa ta, kurios i¾mu�tu¾ ir praleistu¾ i¾varµciu¾ santykis ju¾tarpusavio rungtyn·ese geriausias;- jei kelios komandos lyiavert·es pagal tris ankstesnius krtiterijus,

tai µcempionas i�ai�kinamas atsiµzvelgiant i¾ i¾varµciu¾ santyki¾ visose µcem-pionato rungtyn·ese.Kad kelios komandos butu¾ lygiavert·es pagal kelis kriterijus nors

ir maµzai tik·etina, bet pasitaiko. Pavyzdµziui, 1969 m. ledo rit-ulio pasaulio µcempionate trys komandos (TSRS, µCekoslovakija ir�vedija) surinko veinod ¾a ta�ku¾ skaiµciu¾ apskritai ir tarpusvio rung-tyn·ese. TSRS komanda tapo µcempione tik palyginus komandas pagaltreµci ¾aji¾kriteriju¾. Dabar dvi i��iu¾triju¾valstybiu¾nebeegzistuoja, o geri-ausi i¾vairiu¾tautybiu¾µzaid·ejai µzaidµzia �iaur·es Amerikoje. Klubu¾vadovu¾vykdomas µzaid·eju¾ pasirinkimas gal·etu¾ iliustruoti kit ¾a daugiakriterioi�rinkimo uµzdavini¾, bet jo formulavim ¾a paliksime skaitytojui.Leksikogra�nis optimizavimo uµzdavinys gali buti sprendµziamas

nuosekliai maksimizuojant kriterijus siaur·ejanµciuose leistinos aib·espoaibiuose Ai � A:pirmasis poaibis:

A1 = fX : X 2 A; f1(X) = f �1g; maxX2A

f1(X) = f�1 ;

Page 216: Matematinis programavimas

216 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

antrasis poaibis:

A2 = fX : X 2 A1; f2(X) = f �2g; maxX2A1

f2(X) = f�2 ;

m-asis poaibis:

Am = fX : X 2 A; fm(X) = f �mg; maxX2Am�1

fm(X) = f�m:

m�ojo maksimizavimo uµzdavinio maksimumo ta�kas ir bus spren-diniu. Jei kuriame nors µzingsnyje aib¾e sudaro veinintelis ta�kas, tai jisir yra leksikogra�nio u�davinio sprendinys. Leksikogr�niai uµzdaviniai,matyt, naturaliausi tuomet, kai leistinoji (arba kriteriju¾ reik�miu¾)aib·e yra diskreti, nes jei A kontinuali, o F (X) tolydin·e, tai sudarytipoaibius Ai sud·etinga.Auk�µciau nurodytas budas, skirtas leksikogra�niam uµzdaviniui

spr¾esti, susideda i�m etapu¾, kuriuose turi buti surastas funkcijos mak-simumas aib·eje, apibr·eµztoje lygybiniu ribojimu. Leksikogra�niai uµz-daviniai su begalin·emis kriteriju¾ reik�miu¾ aib·emis i¾domus tuo, kadne visada egzistuoja naudingumo funkcija, atitinkanti leksikogra�ni¾preferencijos santyki¾. Tod·el leksikogra�nis uµzdavinys ne visada galibuti pakeistas vienu optimizavimo (naudingumo funkcijos maksimiza-vimo) uµzdaviniu. Taigi, naudingumo teorijos prielaidos n·era univer-salios, o leksikogra�nis uµzdavinys iliustruoja atveji¾, kai gali neegzis-tuoti uµzdavini¾atitinkanti kriteriju¾kompozicija.Praktiniuose uµzdaviniuose krteriju¾ranµzavimas, ypaµc svarbiausiojo

i�rinkimas, daµznai naturaliai i�plaukia i�paties uµzdavinio. Pavyzdµziui,kaina masin·es produkcijos prek·ems arba mas·e aviaciniams i¾renginiamsdaµznai yra svarbesni uµz kitus kriterijus. Taµciau toks grieµztas kriteriju¾ranµzavimas (surikiavimas), kaip leksikogra�n·es optimizacijos atveju,ne visada reikalingas. Surikiuotiems kriterijams lieka tam tikra toler-ancija, t.y. gali buti pasirinktas variantas, kuris neµzymiai blogesnis uµz

Page 217: Matematinis programavimas

6.4. NUOSEKLI KRITERIJU¾ANALIZ ·E 217

kit ¾a pagal svarbiausi ¾aji¾ kriteriju¾, nes jis µzymiai geresnis pagal antr ¾aji¾kriteriju¾.Parink¾e pagrindiniu maksimizuojamu kriterijumi, pavyzdµziui

f1(X), o kitus apibr·eµz¾e kaip ribojimus, gausime i¾prast ¾a matematinioprogramavimo uµzdavini¾

maxX2B

f1(X); B = fX : X 2 A; fi(X) � �i; i = 2; :::;mg;

µcia ribojimu¾ lygiai �i gali buti apibr·eµziami ptojektavimo tikslais,µzinomu¾prototipu¾parametrais ir kt.

Nesant naturaliu¾, uµzdavinio s ¾alygomis reglamentuojamu¾ ribojimu¾lygiu¾, juos parinkti gali buti sunku. Jei nors vienas ribojimu¾lygis busper auk�tas (�i > maxX2A fi(X), gausime tu�µci ¾a aib¾e B. Kita ver-tus, �i negali buti µzemesnis negu i-ojo kriterijaus priimtina riba. Ypa�sunku parinkti �i tuomet, kai kriterijai prie�taringi, pavyzd�iui, kainair patikimumas. Kartais lygiu¾parinkim ¾a galima pagri¾sti analizuojantatskiru¾kriteriju¾maksimumus ir �vidutiniu¾�vektoriu¾F komponenµciu¾reik�mes. Sprendµziant daugiakriteri¾uµzdvini¾�iuo metodu, tenka daugkartu¾ spr¾esti optimizvimo u�davinius, besiskirianµcius tik ribojimu¾nelygybiu¾de�niosiomis pus·emis.Leksikogra�nio uµzdavinio sprendimo ir daugiakriterio uµzdavinio

pakeitimo i¾prastu matematinio programavimo uµzdaviniu metodai galibuti tam tikra prasme apjungti i¾vien ¾a. Daugelyje praktiniu¾uµzdaviniu¾kriterijai gali buti surikiuoti (nors ir ne taip grieµztai kaip leksiko-gra�niu atveju). Sakykime, kad kriterijus tuo svarbesnis, kuo maµzes-nis jo numeris. Kartais lengviau suformuluoti ne ribojimus kriteriju¾reik�m·ems, o nuolaidas di, kurios leidµziamas nuo maksimaliu¾kriteriju¾reik�miu¾, siekiant pagerinti maµziau svarbiu¾kriteriju¾reik�mes. Tuometapskaiµciuotas maksimalias svarbiausiu¾ju¾kriteriju¾reik�mes galima nau-doti leistinajai sriµciai apibr·eµzti µzemesniojo rango kriteriju¾maksimiza-vimo uµzdaviniuose. Taikant toki¾ metod ¾a, reikia nuosekliai i�spr¾esti�iuos optimizavimo uµzdavinius:

Page 218: Matematinis programavimas

218 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

f �1 = maxX2A

f1(X);

A1 = fX : X 2 A; f1(X) � f �1 � d1g;f �2 = max

X2A1f2(X);

A2 = fX : X 2 A1; f2(X) � f �2 � d2g;::::::::::::::::

f �m = maxX2Am�1

fm(X):

Daugiakriterio uµzdadvinio sprendiniu yra m-ojo maksimizavimouµzdavinio maksimumo ta�kas. Prie� spendµziant uµzdavini¾ nustatytinuolaidu¾dydµzius yra nelengva. Jei visi di = 0; gaunamas leksikogra�-nis uµzdavinys. Jei di yra tokie dideli, kad papildomi ribojimai nebesu-siaurina leistinos aib·es, tai gautasis sprendinys sutampa su µzemiausiojorango kriterijaus maksimumo ta�ku. Sprendµziant uµzdavinius nuolaidu¾metodu, tenka eksperimentuoti su i¾vairiais di nuolat konsultuojantissu ekspertais. Daµznai tam padeda gra�kai, pavyzdµziui, optimaliosantrojo kriterijaus maksimalios reik�m·es priklausomyb·e nuo pirmojokriterijaus nuolaidos pavaizduota paveiksle (6.22):

f �2 = f�2 (d1):

Suprantama, kad norint sudaryti tokius gra�kus, reikia daug kartu¾spr¾esti maksimizavimo uµzdavinius. Nuosekliu¾ju¾ nuolaidu¾ metodaslengvai suprantamas ir m·egstamas vartotoju¾. Ji¾ teori�kai pagrindµziatokia teorema:19 teorema. Kiekvienam kriteriju¾ vektoriui F �, priklausanµciam

Pareto aibei, galima parinkti tokias nuolaidas di, kad nuosekliu¾ju¾nuolaidu¾metodu gautas sprendinys (f �1 ; f

�2 ; :::; f

�m) sutaps su F

�.Bendru atveju nuosekliu¾ju¾nuolaidu¾metodu gautas sprendinys gali

ir nepriklausyti efektyviu¾ju¾ sprendiniu¾ aibei. Taµciau galima i¾rodyti,

Page 219: Matematinis programavimas

6.5. PARETO AIB ·ES APROKSIMACIJA 219

Figure 6.22: Antrojo kriterijaus maksimalios reik�m·es priklausomyb·enuo pirmojo kriterijaus nuolaidos

kad jei A yra apr·eµzta uµzdara aib·e, o visos kriteriju¾ funkcijos - toly-din·es, tai nuosekliu¾ju¾nuolaidu¾metodu gaunamu¾sprendiniu¾aib·eje yrabent vienas efektyvus sprendinys. Nuosekliu¾ju¾nuolaidu¾metod ¾a geri-ausia naudoti tuomet, kai sprendµziant daugiakriterius uµzdavinius kri-terijai yra naturaliai suranµzuoti pagal svarb ¾a taip, kad analizuojanti- ¾aji¾kriteriju¾reikia atsiµzvelgti i¾ i+ 1- ¾aji¾, bet nebutinai i¾ i+ 2- ¾aji¾.

6.5 Pareto aib·es aproksimacija

Auk�µciau i�d·estyti daugiakriter·es optimizacijos teorijos faktai rodo,kad vienintel·e sprendinio ypatyb·e, tiesiogiai i�plaukianti i�daugiakri-terio uµzdavinio formulavimo, yra ta, kad sprendinys priklauso Paretoaibei. Jei apie kriterijus turime papildomos informacijos, tai gal-ima i�skirti arba Pareto aib·es dali¾, arba rasti kuri¾ nors vien ¾a josta�k ¾a. Pavyzdµziui, priskyrus kriterijams svorius ir suradus ju¾svertin·es

Page 220: Matematinis programavimas

220 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

sumos maksimum ¾a, gaunamas vienas i� Pareto aib·es ta�ku¾. Daµz-nai asmenys, sprendµziantys daugiakriterius uµzdavinius, pvz. prjek-tuotojai, sutinka, kad kriterijams galima racionaliai priskirti svo-rius, taµciau prakti�kai jie t ¾a daro nenoriai ir tik su didel·emis i�ly-gomis. Pana�us sunkumai kyla ir naudojant kitus kriteriju¾ palygin-imo metodus. µZmoniu¾ turimai informacijai i�gauti reikalingi spe-cialus metodai, i¾vertinantys psichologinius faktorius. Kita vertus,reikia pad·eti uµzdavinio sprend·ejui geriau susivokti turimoje situaci-joje, geriau suprasti uµzdavinio ypatybes. Tam visu¾ pirma reikia kuodaugiau informacijos apie kriteriniu¾ i¾verµciu¾ aib¾e �, t.y. apie gali-mas kriteriju¾ reik�mes ir ju¾ s ¾ary�ius. Tik tur·edamamas toki ¾a infor-macij ¾a, sprend·ejas gali racionaliai derinti i�orinius (pvz., projektinius)reikalavimus, konkretaus atvejo ypatybes ir vartojamo metodo gal-imybes.Jei, pavyzdµziui, bent du kriterijai prie�tarauja vienas kitam, tai

nepagerinamu¾vektoriu¾ (Pareto) aib·e sutampa su aibe A. Norint kuonuodugniau i�tirti �, reik·etu¾ sudaryti tolygiai pasiskirsµciusiu¾ ta�ku¾tinkleli¾Xi, i = 1; :::; N; aib·eje A ir analizuoti gaunamas tuose ta�ku-ose kriteriju¾fj(Xi) reik�mes. Tolygaus ie�kojimo metodas gerai tinkatuomet, kai reikia ne itin tiksliai i¾vertinti globalinius ekstremumus.Suradus kriteriju¾ ekstremumus, galima nurodyti aib·es � ekstremal-ius ta�kus. Atmet¾e dominuojamus kriteriju¾ vektorius (t.y. tuos Fj -kuriems galime surasti Fk � Fj), gaunama Pareto aib·es aproksimacija.Ji pavaizduota 6.23 paveiksle ta�kais, sujungtais bruk�nine linija. Juosatitink ¾a ta�kai aib·eje A sudaro efektyviu¾ju¾ sprendiniu¾ aib·es aproksi-macij ¾a.Ta�ku¾Xi, i = 1; :::; N; aib·eje A tolygum ¾a galime i�reik�ti kriteri-

jumi

d(Xi; i = 1; :::; N) = maxX2A

min1�i�N

jjX �Xijj;

kuris lygus didµziausios �skyl·es� radiusui tinklelyje Xi, i = 1; :::; N .

Page 221: Matematinis programavimas

6.5. PARETO AIB ·ES APROKSIMACIJA 221

Figure 6.23: Pareto aib·es aproksimacija

Bendru atveju, norint sudaryti tolygu¾tinkleli¾, reikia spr¾esti sud·eting ¾aoptimizavimo uµzdavini¾:

minXi2A; i=1;:::;N

d(Xi; i = 1; :::; N):

Jei aib·e A apibr·eµzta paprastais ribojimais (staµciakampis gretasienisdaugiamat·eje erdv·eje), tai tolygu¾tinkleli¾pagri¾stai galima pakeisti tin-kleliu, kuris yra apytikriai tolygus ir paprastai sudaromas, pvz. LP�[22]. Kai aib·e A yra sud·etinga, bet µzinomas staµciakampis gretasie-nis S � A, kurio hiperturis n·era daug kartu¾ didesnis uµz A hiperturi¾,patartina naudoti t ¾a pati¾ metod ¾a. Tuomet i� ta�ku¾Xi 2 S galimaatrinkti tuos, kurie priklauso aibei A. Atrinktu¾ju¾ ta�ku¾ pasiskirsty-mas aib·eje A apytiksliai tolygus, o ju¾dalis lygi aibiu¾A ir S hiperturiu¾santykiui. Bendru atveju, sugeneruoti tolygiai pasiskirsµciusius ta�kusaib·eje A, kai A apibr·eµziama netiesiniais (ypa�lygybiniais) ribojimais,n·era paprasta.

Page 222: Matematinis programavimas

222 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

Gana daµznai staµciakampio gretasienio ta�kai generuojami naudo-jant pseudo atsitiktiniu¾skaiµciu¾generatoriu¾(speciali ¾a kompiuterio pa-program¾e). Toks budas paprastesnis ir greitesnis uµz tolygiu¾ tinkleliu¾panaudojim ¾a, bet ta�kai i�sid·esto ne itin tolygiai.Net jei kriterijai ir neprie�tarauja vienas kitam, efektyviu¾ju¾

sprendiniu¾ aib·es E hiperturis gali sudaryti labai maµz ¾a aib·es Ahiperturio dali¾. Tod·el tolygaus tinklelio ta�kai gali nepatekti i¾aib·es E aplink ¾a, o aibiu¾ E (efektyviu¾ju¾ sprendiniu¾) ir � (Pareto)aproksimacijos bus nelabai tikslios. �iuo atveju, siekiant padid-inti tikslum ¾a, reik·etu¾ tolygu¾ tinkleli¾ pakeisti netolygiu, kurio ta�kailabiau koncentruotu¾si efektyviu¾ sprendiniu¾ aib·es aplinkoje. Taµciautokie metodai sud·etingesni, pagri¾sti kriteriju¾ funkciju¾matematin·emissvyb·emis, ir ju¾�ioje knygoje nenagrin·esime.Analitini¾ bud ¾a efektyviu¾ sprendiniu¾ ir Pareto aib·ems apskaiµciuoti

iliustruosime pavyzdµziu. Sakykime, kad leistinoji aib·e A � R2 yraapibr·eµzta paprastais ribojimais A = fX : 0 � x1; x2 � 1g, du kriteri-jai - formul·emis

f1(X) = 2� x21 � x22;f2(X) = 2� 2(x1 � 0:8)2 � (x2 � 0:7)2:

6.24 paveiksle kriteriju¾funkcijos ir yra pavaizduotos lygio linijomis.Apskaiµciuoti kriteriju¾reik�miu¾aib·es ribas net �iuo atveju n·era taip pa-prasta. Kiekvien ¾a ta�k ¾a (f1; f2) srityje esanµcioje µzemiau bruknin·es lin-ijos, atitinka du ta�kai (x1; x2). Pareto aib¾e sudaro kriteriju¾ reik�miu¾aib·es riba, paµzym·eta kreive, jungianµcia kriteriju¾maksimalias reik�mesatitinkanµcius ta�kus, kurie pavaizduoti µzvaig�dut·emis.Ai�ku, kad (x1; x2) plok�tumoje abieju¾kriteriju¾maksimumu¾ta�kai

i¾eina i¾ efektyviu¾ sprendiniu¾ aib¾e. Bet kuris efektyvusis sprendinyspasiµzymi tuo, kad jokia kryptimi, einanµcia i�to ta�ko ir nevedanµcia i�leistinosios srities, negalima pagerinti i�karto abieju¾ kriteriju¾. Tod·el

Page 223: Matematinis programavimas

6.5. PARETO AIB ·ES APROKSIMACIJA 223

Figure 6.24: Kriteriju¾ funkciju¾ lygio linijos ir efektyviu¾ju¾ sprendiniu¾aib·e (pavaizduota uµzbruk�niuota linija )

Page 224: Matematinis programavimas

224 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

Figure 6.25: Kriteriju¾reik�miu¾aib·e

Page 225: Matematinis programavimas

6.5. PARETO AIB ·ES APROKSIMACIJA 225

butin ¾a efektyvaus sprendinio s ¾alyg ¾a galima suformuluoti �itaip: jei abikriteriju¾funkcijos diferencijuojamos ir vidinis leistinosios srities ta�kasX yra efektyvus, tai kriteriju¾gradientai ta�ke X yra prie�ingu¾krypµciu¾

�1 � rf1(X) + � 2 � rf2(X) = 0; �i � 0;Apskaiµciav¾e gradientu¾ komponentes ir pakeit¾e vektorin¾e lygti¾

lygµciu¾sistema komponent·ems apskaiµciuoti, gausime

�2x1 � 4�(x1 � 0:8) = 0;

�2x2 � 2�(x2 � 0:7) = 0:

I�pirmosios lygties i�plaukia, kad

� = � x12 (x1 � 0:8)

; � � 0:

I¾stat¾e � i¾antr ¾aj ¾a lygti¾ ir gausime

�x2 +x1(x2 � 0:7)2(x1 � 0:8)

= 0; 0 � x1 � 0:8:

�ia lygtimi apibr·eµziama efektyviu¾ sprendiniu¾ aib·e. J ¾a pertvark¾egausime kreiv·es lygti¾

�2x1x2 + 1:6x2 + x1x2 � 0:7x1 = 0;

x2(1:6� x1) = 0:7x1;

x2 =0:7x11:6� x1

; 0 � x1 � 0:8:

Efektyviu¾ sprendiniu¾ aib¾e atitinkanti kreiv·e prasideda ta�ke (0,0) ir monotoni�kai auga, kol pasiekia ta�k ¾a (0.8, 0.7). Tolimesn·e

Page 226: Matematinis programavimas

226 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

apra�omos �ia lygtimi kreiv·es t ¾asa jau nebeatitinka s ¾alygu¾, keliamu¾efektyviu¾sprendiniu¾aibei. Kai x1> 0.8, tuomet parametro � reik�m·eyra neigiama. Tod·el abieju¾kriteriju¾gradientu¾kryptys sutampa. 6.24paveiksle efektyviu¾sprendiniu¾aib·e pavaizduota uµzbruk�niuota kreive.

6.6 Dialoginiai metodai

Keiµciant daugiakriterio optimizavimo uµzdavini¾ vienkriteriu, naudo-jama papildoma informacija apie kriterijus, kriteriju¾ svorius, mini-malias leistinas kriteriju¾vertes, tikslo vektorius ir kt. Taµciau gautasisvienkriteris uµzdavinys gali pasirodyti nei�sprendµziamas. Pavyzdµziui,keiµciant daugiakriteri¾ uµzdavini¾ vienkriteriu matematinio progra-mavimo uµzdaviniu ir nustaµcius pernelyg dideles reik�mes ribojimu¾nelygybiu¾de�iniosiose pus·ese leistinoji aib·e gali pasirodyti tu�µcia. Tasreik�tu¾, kad pareikalauta sprendinio su pernelyg didel·emis kriteriju¾reik�m·emis. Kita vertus, gautasis sprendinys gali nepatenkinti var-totojo. Kai kada Pareto aibei aproksimuoti labiau naudotinas toly-gus tinklelis, kai kada - netolygus. I�skirtin¾e reik�m¾e gali tur·etivienas arba kitas Pareto aib·es poaibis. Tod·el svarbu, kad tuoj pat,gavus atsakym ¾a, butu¾ galima performuluoti uµzdavini¾ ir v·el ji¾ spr¾estikitais metodais arba su kitais duomenimis. Kad vartotojui butu¾lengviau vykdyti kompiuteriu daugiakriter·es optimizacijos algoritmus,kuriamos specialios dialogin·es programu¾ sistemos. Daugiakriteriouµzdavinio sprend·ejui interaktyvaus sprendimo galimyb·e ypa� svarbituomet, kai reikia i¾vertinti gaut ¾a kriteriju¾vektoriu¾atsiµzvelgiant i¾ne-formali ¾a vartotojo informacij ¾a apie uµzdavini¾.Vienu i� pirmu¾ju¾ dialoginiu¾ daugiakriterio optimizavimo metodu¾

buvo gradientinis metodas naudingumo funkcijai maksimizuoti.Taµciau vietoje naudingumo funkcijos reik�miu¾ skaiµciavimo ta�keXk buvo klausiama eksperto nuomon·es apie kriteriju¾, apskaiµciuotu¾tame ta�ke, santykini¾reik�mingum ¾a. Sakykime, kad egzistuoja, nors ir

Page 227: Matematinis programavimas

6.6. DIALOGINIAI METODAI 227

neµzinoma, naudingumo funkcija U(f1(X); :::; fm(X)): Leistinoji sritisA yra i�kila aib·e. Visos uµzdavinio funkcijos i¾gaubtos (i�kilos i¾ vir�u¾)ir tolygiai diferencijuojamos. Standartinis lokalaus maksimizavimometodas apra�omas �itaip:1. Inicializacija: parenkamas pradinis ta�kas X0, k = 0.2. Leistinos krypties parinkimas: vektorius Sk apskaiµciuojamas

taip, kad jo projekcija i¾ funkcijos U(f1(X); :::; fm(X)) gradientovektoriu¾ta�ke Xk butu¾maksimali:

Sk = arg maxS; Xk+S2A

(rX U(f1(Xk); :::; fm(Xk)); S):

3. µZingsnio prinkimas: apskaiµciuojamas µzingsnio ilgis

tk = arg max0� t�1

U(f1(Xk + t Sk); :::; fm(Xk + t Sk)):

4. Naujo sprendinio apskaiµciavimas: Xk+1 = Xk+ t Sk, k = k+1:5. Sugri¾µzimas i¾2.Taµciau, neµzinodami funkcijos U(�), negalime i¾vykdyti nei 2, nei

3 etapo. Taigi, kyla klausimas, kaip formali ¾a informacij ¾a apie U(�)reik�mes pakeisti informacija gaunama i� vartotojo. Funkcijos U(�)gradient ¾a ta�ke Xk galima i�reik�ti formule

rX U(f1(Xk); :::; fm(Xk) =mXi=1

@Uk@fi

� rX fi(Xk);

µcia @Uk@fi- dalin·e funkcijos U(�) i�vestin·e pagal fi, apskaiµciuota ta�keXk.

Butent �ios dalin·es i�vestin·es ir yra neµzinomos. Kadangi naudingumofunkcija yra monotoni�kai did·ejanti, tai visos dalin·es i�vestin·es yrateigiamos. Tod·el vektoriu¾Sk galima apskaiµciuoti �itaip:

Sk = arg maxS

Xk+S2A

(rX U(f1(Xk); :::; fm(Xk)) =@Uk@f1

; S) =

Page 228: Matematinis programavimas

228 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

arg maxS

Xk+S2A

(mXi=1

aki � rX fi(Xk); S);

µcia aki =@Uk@fi= @Uk@f1:

Koe�cientu aki i�rei�kiamas i-ojo kriterijaus santykinis reik�mingu-mas, t.y., kiek kartu¾ naudingumo prieaugis bus didesnis, padid·ejuskriterijui fi, negu tiek pat padid·ejus kriterijui f1 (kriteriju¾prieaugiaituri buti maµzi). Remdamasis �ia interpretacija, ekspertas daµzniai galii¾vertinti koe�centus aki .Koe�cientus i¾vertinti galima ir kitaip. Sakykime, kad pajud·ejus

i� ta�ko Xk, kriterijaus f1 reik�m·e padid·eja �1. Visi kiti kriteri-jai, i�skyrus i- ¾aji¾, nekinta. Koks turi buti i-ojo kriterijaus neigia-mas prieaugis -�i, kad nauj ¾aji¾ta�k ¾a gal·etume laikyti ekvivalenµciu Xk?Parink¾e �i; patenkinanµcius suformuluot ¾a s ¾alyg ¾a, aki gal·esime apskaiµci-uoti pagal formul¾e aki = �1=�i.Neµzinodami funkcijos U(�), formaliai negalime i¾vykdyti ir 3-ojo

etapo. Taµciau, pateik¾e ekspertui visu¾ kriteriju¾ priklausomyb·es nuot gra�kus fi(Xk + t Sk), galime tik·etis, kad jis parinks tinkam ¾atk reik�m¾e.�is metodas demonstruoja principin¾e interaktyvaus daugiakrite-

rio uµzdavinio sprendimo galimyb¾e, nors prakti�kai ir nelabai vartoja-mas. Kuriant interaktyvius metodus reikia atsiµzvelgti i¾psichologiniusfaktorius. Pavyzdµziui, ekspertai labiau link¾e duoti kokybinius dvieju¾alternatyvu¾ palyginimus negu kiekybinius i¾vertinimus. Vartojant in-teraktyvi ¾a gradientinio metodo versij ¾a sunku atsiµzvelgti i¾ priimtin ¾aekspertui sprendimo laik ¾a: gradientinio metodo µzingsniai daµznai bunatrumpi, ir tod·el sprendinio ie�kojimas gali pernelyg uµzsit¾esti.Vartotojams psichologiniu poµziuriu priimtinesnis deformuojamo

simplekso metodo dialogin·e modi�kacija, skirta daugiakriteriams uµz-daviniams spr¾esti. Aib·eje A sudaromas simpleksas, kurio vir�un·eseX1; :::; Xk+1 apskaiµciuojami kriteriju¾vektoriai F1; :::; Fk+1. Projektuo-

Page 229: Matematinis programavimas

6.6. DIALOGINIAI METODAI 229

tojui siuloma palyginti ju¾ poras. I�renkamas blogiausias ta�kas ir jisatspindimas simplekso svorio centro atµzvilgiu erdv·eje Rn. Nauj ¾aji¾simpleks ¾a sudaro senojo simplekso vir�un·es i�skyrus t ¾a, kuri buvoi¾vertinta kaip blogiausia. Pastaroji pakeiµciama jos atspindµziu. Nau-jojoje vir�un·eje apskaiµciuojamas kriteriju¾vektorius F , kuri¾ reikia pa-lyginti su kai kuriais kriteriju¾ vektoriais, atitinkanµciais senojo sim-plekso vir�unes. Simplekso deformacijas (tempiam ¾a, suspaudim ¾a arredukcij ¾a), kaip ir originaliame vienakriteriame metode, apsprendµziapreferencijos santykis tarp atitinkanµciu¾ vir�unes kriteriju¾ vektoriu¾.Tai yra neesminis apibendrinimas lyginant su vienkriteriu deformuo-jamojo simplekso metodu, kuriame vir�un·es palyginamos pagal joseapskaiµciuotas tikslo funkcijos reik�mes. Ekspertui, sprendµzianµciam �i¾uµzdavini¾, tereikia palyginti kriteriju¾ vektoruis. Aptariant deformuo-jamojo simplekso metodo savybes vienkriterio optimizavimo atveju,buvo paµzym·eta, kad jis nejautrus tikslo funkcijos nereguliarumamsbei skaiµciavimo paklaidoms. Tod·el ir esant kriteriju¾ gausai gal-ima tik·etis, kad, vartototojui neµzymiai suklydus lyginant altrnatyvas,nebus nepataisomu¾pasekmiu¾.Daµznai uµzdavinio charakteristiku¾nepavyksta suklasi�kuoti i¾ ribo-

jimus ir kriterijus. Siekiant praktinio uµzdavinio charakteristik ¾a for-malizuoti kaip matematinio programavimo uµzdavinio ribojim ¾a, galibuti nelengva apibr·eµzti ribojimu¾de�ini ¾asias puses. Pana�us sunkumaigali i�kilti bandant apibr·eµzti leistinas kriteriju¾ nuolaidas. Tada gal-ima rinktis pati¾ bendriausi ¾a, taip vadinam ¾a, parametru¾ erdv·es zon-davimo metod ¾a, kuris pana�us i¾ pasyvu¾ ie�kojim ¾a su tolygiu ta�ku¾i�d·estymu vieno kriterijaus optimizavimo uµzdaviniuose. Leistinoji sri-tis apibr·eµziama parastaisiais ribojimais ir tik neabejotinai ribojimu¾prasm¾e turinµciomis funkcijomis gi(X) � 0. Jei funkcij ¾a gi(X) galimainterpretuoti ir kaip kriteriju¾, ir kaip ribojim ¾a, tai ji priskiriama priekriteriju¾. Parametru¾ erdv·es zondavimo metodas [18] susideda i�triju¾toliau apra�ytu¾ daliu¾. Antroji ir treµcioji pakaitomis kartojamos tol,kol bus pasiektas priimtinas sprendinys.

Page 230: Matematinis programavimas

230 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

1. Sudaroma bandymu¾ lentel·e. Leistinoje srityje A (pseudo)atsitiktinai tolygiai generuojami ta�kai X1; :::; XN . Visuose t�kuoseapskaiµciuojamos m kriteriju¾reik�m·es

f1(Xi); :::; fm(Xi); i = 1; :::; N;

kurios i�d·estomos maµz·ejimo tvarka (µziur. lentel¾e), nurodant ta�konumeri¾:

fk(Xk1) � fk(Xk2 � ::: � fk(XkN); k = 1; :::;m:

I�tinklelio savybiu¾ i�plaukia, kad

fk(Xk1)! maxX2A

fk(X) ; fk(XkN)! minX2A

fk(X);

o funkcijos reik�miu¾ intervalu¾ empyriniai daµzniai art·eja prie tu¾intervalu¾ tikimybiu¾. Tod·el i� lentel·es duomenu¾ galima spr¾esti apieminimali ¾a ir maksimali ¾a kriterijaus reik�mes bei kriteriju¾ reik�miu¾tikimybiu¾skirstini¾.2. Nustatomi kriteriju¾reik�miu¾slenksµciai. Bandymu¾lentel·e

pateikiama projektuotojui. µZemiau pateiktas konkretaus uµzdaviniosprendimo lentel·es pavyzdys [18]. I�analizav¾es gaut ¾asias kriteriju¾reik�mes, jis nustato kiekvieno kriterijaus slenksti¾ f �i , µzemiau kuriokriterijaus reik�m·es laikytinos nepriimtinomis.3. Tikrinama, ar aib·e, kurioje kriterijai vir�ija slenksµcius,

yra netu�µcia. Tas realizuojama parastu algoritmu: atrenkami ta�kai,kuriuose slenksti¾vir�ija pirmajasis kriterijus f1(Xi) � f �1 , po to antra-jasis ir tt. Jei n·e vieno tokio ta�ko n·era, tai galima daryti i�vad ¾a:arba aib·e tu�µcia, arba nepavyko jos aptikti. Jei padidinus N , ta�ko,tenkinanµcio ribojimus, vis tiek nepavyksta rasti, tai manoma, kadaib·e tu�µcia arba jos hipertutis labai maµzas. Vartotojui prane�ama,kad jo reikalavimai kriterijams per grieµzti (nesuderinami) ir siuloma

Page 231: Matematinis programavimas

6.6. DIALOGINIAI METODAI 231

sumaµzinti slenksµciu¾ reik�mes. Suradus priimtin ¾a ta�k ¾a, jis tikslina-mas: tinklelui padengiama palyginti nedidel·e rastojo ta�ko aplinka irapskaiµciuotos kriteriju¾ reik�m·es, priklausanµcios Pareto aibei, pateiki-amos vartotojui; i�ju¾ i�renkamas uµzdavinio sprendinys.Gali atrodyti, jog uµzdavinys labai paprastas. Vartotojas tik anal-

izuoja vien ¾a i�lentel·es stulpeliu¾. Jam nereikia ie�koti kompromiso tarpkriteriju¾, kaip to reikalauja nuosekliu¾ju¾nuolaidu¾metodas. Ai�ku, var-totojui nor·etu¾si, kad slenksµciu¾ reik�m·es butu¾ artimos maksimaliomskriteriju¾ reik�m·ems. Tod·el kompromisas tarp kriteriju¾ pasiekiamasslenksµciu¾ nustatymu. Atkreipsime d·emesi¾ i¾ tai, kad parinkus per-nelyg dideles slenksµciu¾ reik�mes butu¾ gauta tu�µcia aib·e {X : X 2A; fi(X) � f �i ; i = 1; :::;m }, ir nebeliktu¾ i�ko i�rinkti sprendini¾.

L e n t e l ·e. Parametru¾erdv·es zondavimas, N = 512f1(Xi) i f2(Xi) i ::: fm(Xi) i�1:46�1:53�1:54�1:62�1:65

416348112280448

�3:13�3:36�3:46�3:52�4:02

416348112448302

�1:31�1:41�1:47�1:50�1:54

384374260248353

... ... ... ... ... ... ...�9:82�10:0

40771

�32:8�34:2

89407

�17:0�17:5

46507

Daµznai kyla klausimas, kokia konkreµciu atveju turi buti parinktaNreik�m·e? Metodo autoriai nurodo, kad dauguma praktiniu¾uµzdaviniu¾buvo s·ekmingai i�spr¾esti suN = 128; arbaN = 256, arba netgiN = 30[18]. Jei kriteriju¾funkcijoms apskaiµciuoti reikia labai daug kompiuteriolaiko, tai pasirenkamos maµzesn·es N reik�m·es.Tolygiai padengti leistin ¾aj ¾a sriti¾ tinkleliu gan paprasta tuomet,

kai aib·e A - staµciakampis gretasienis; nesud·etinga, kai A yra i¾ra�ytai¾ staµciakampi¾ gretasieni¾, kurio hiperturis artimas A hiperturiui;

Page 232: Matematinis programavimas

232 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

labai sunku, kai A apra�oma netiesiniais lygybiniais ribojimais.Nerekomenduojama naudoti �i¾ metod ¾a sprendµziant uµzdavinius suprie�taringais kriterijais. Parametru¾ erdv·es zondavimo metodas ar-timas nuosekliu¾ju¾nuolaidu¾metodui, kurio dialoginius variantus nau-doja nemaµzai projektuotoju¾.Sudarant daugeli¾ dialoginiu¾ algoritmu¾ auk�µciau apra�yti matem-

atiniai metodai naudojami arba kaip galimi sprendimo metodo vari-antai, arba kaip pagalbin·es priemon·es.

6.7 Metodu¾aptarimas

Skaitytojas, baigdamas skaityti skyreli¾, ai�ku, nor·etu¾gauti konkreµciasrekomendacijas, kaip pasirinkti tinkam ¾a metod ¾a. Deja, daugiakriteriu¾optimizavimo uµzdaviniu¾ klasi�kacijos labai s ¾alygin·es. Antra vertus,vartotoju¾informacija apie kriterijus labai i¾vairi, ir kiekvieno sud·etingopraktinio uµzdavinio sprendimas, galima sakyti, yra menas. Matyt,tod·el net storose knygose, skirtose daugiakriterei optimizacijai, n·eravienareik�miu¾rekomendaciju¾, kaip pasirinkti metod ¾a konkretiems uµz-daviniams spr¾esti.Kad projektuotojas gal·etu¾ pagri¾sti savo pasirinkt ¾a variant ¾a, jis

siekia suµzinoti kriteriju¾kitimo ribas, tipines kriteriju¾reik�miu¾kombi-nacijas. Tod·el, kai kriterijai yra neprie�taringi, pasiteisina parametru¾erdv·es zondavimo metodas. Ji¾vartoja nemaµzai ma�inu¾projektuotoju¾.Daµznai pasiteisina daugiakriteriu¾uµzdaviniu¾ keitimas vieno kriter-

ijaus optimizavimo uµzdaviniu¾ seka: tam tikras kriterijus pasirenka-mas tikslo funkcija, visi kiti keiµciami ribojimais. Taip buvo i�spr¾estanemaµzai i¾vairiu¾ sriµciu¾ optimalaus projektavimo uµzdaviniu¾. Nors�is metodas ir n·era labai gerai teori�kai pagri¾stas, bet, remiantissukaupta patirtimi, galima efektyviai panaudoti i¾prastus optimizav-imo metodus. Parinkdami kriterijams leidµziamas tolerancijas, gau-name nuosekliu¾ju¾nuolaidu¾metod ¾a.

Page 233: Matematinis programavimas

6.7. METODU¾APTARIMAS 233

Jei kriterijai gali buti interpretuojami kaip pelnas arba nuostoliai,tai tik·etina surasti bendr ¾a ju¾ matavimo skal¾e, i¾galinanµci ¾a naudotissvertin·es sumos kompozicija.Norint pasirinkti tinkam ¾a metod ¾a uµzdaviniui spr¾esti, reik·etu¾

i�analizuoti metodu¾ ir kompiuteriu¾ programu¾ apra�ymus, praktiniu¾uµzdaviniu¾ sprendimo rezultatus. Mokslinio tyrimo darbuose i¾domupatyrin·eti i¾vairius metodus, palyginti jais gaunamus rezultatus. Betpraktikoje i�kylantys uµzdaviniai daµznai turi buti i�spr¾esti iki grieµz-tai nustatytu¾ terminu¾. Tod·el projektuotojui neb·era kada eksper-imentuoti bandant i¾vairius metodus. Pagrindinis �ios knygos tik-slas �supaµzindinti su pagrindiniais metodais, ju¾ racionalaus taikymosritimis. Susipaµzin¾es su �iame skyriuje aptartais metodais, skaitytojasgal·es lengviau orientuotis reklamin·ese i¾vairiu¾daugiakriteriu¾uµzdaviniu¾sprendimo metodu¾ anotacijose bei objektyviau vertinti praktiniu¾uµzdaviniu¾sprendimo rezultatu¾publikacijas.Pasirenkant metod ¾a, rekomenduotume atreipti d·emesi¾ i¾ �iuos as-

pektus:1. Adektvatumas. Daugiakriteriai uµzdaviniai paprastai sprendµzi-

ami dialoginiais metodais. Dialoge su kompiuteriu turi dalyvauti kom-petentingas specialistas arba ju¾grup·e. Svarbu uµztikrinti, kad tai tikraibutu¾tas dialogas, kuris numatytas metode. Reik·etu¾detaliai apgalvoti,ar tie klausimai, i¾kuriuos tur·es atsakyti ekspertai, yra budingi ju¾veik-lai, ar dialogas pad·es giliau suprasti uµzdavini¾. Metod ¾a galima vadintitinkamu, jei ji¾ naudodamas vartotojas dirba tikslingai, turima infor-macija naudojama racionaliai.2. Naudojimo paprastumas. Nepatyrusiam vartotojui yra sukurti

specialus dialoginiu¾metodu¾ variantai. V·eliau, i¾gij¾es patirties, varto-tojas gali dirbti naudodamas efektyvesnius metodo variantus, skirtuspatyrusiam vairuotojui arba �meistrui�. To paties metodo variantu¾realizacjos skirtingoms vartotoju¾ katrgorijoms, gali gerokai skirtis.Pasirenkant programin¾e i¾rang ¾a reik·etu¾ atsiµzvelgti i¾ tai, kokiomisprielaidomis apie vartotojo µzinias daugiakriter·es optimizacijos sri-

Page 234: Matematinis programavimas

234 CHAPTER 6. DAUGIAKRITERIS OPTIMIZAVIMAS

tyje buvo vadovautasi kuriant daugiakriter·es optimizacijos taikomu¾ju¾programu¾ paket ¾a. Nemaµz ¾a reik�m¾e turi ir tai, per kiek laiko galimagauti programin¾e i¾rang ¾a, kokia jos kaina.3. Efektyvumas. Metodu¾ kur·eju¾ poµziuriu tai pati svarbiausia

metodo savyb·e, i¾rodoma teori�kai arba nustatoma eksperimenti�kai.Ar metodas prakti�kai efektyvus, galima suµzinoti tik tada, kai jis yrapakankamai plaµciai vartojamas, t. y. pakankamai paprastas ir pri-imtinas daugeliui vartotoju¾. Metodas laikomas prakti�kai efektyviu,jei juo randami geresni variantai, negu vartojant kitus metodus.

6.8 Uµzduotys ir kontroliniai klausimai

1. Ar daugiakriterio uµzdavinio atskiru¾kriteriju¾funkciju¾maksimumu¾ ta�kai priklauso efektyviu¾ sprendiniu¾ aibei?Kod·el?2. Ar galima svertin·es kriteriju¾ sumos kompozicijos

svorius parinkti taip, kad �i kompozicija atitiktu¾ �silpni-ausios grandies stiprinimo�princip ¾a?3. Dvikriteriam uµzdaviniui

f1(x) = x1 + x2;

f2(x) = 1� (x1 � 2)2 � (x2 � 0:5)2;x = (x1; x2); 0 � x1; x2 � 1;

gra��kai pavaizduokite kriteriju¾ reik�miu¾, Pareto irefektyviu¾sprendiniu¾aibes.

4. I�analizuokite triju¾ kriteriju¾ leksikogra�ni¾ uµzdavini¾su kontinualia leistin ¾aja sritimi.5. Suformuluokite daugiakriteri¾ uµzdavini¾, atitinkanti¾

savo savait·es biudµzeto planavim ¾a.

Page 235: Matematinis programavimas

Bibliography

[1] E. Aarts and J.Korst. Simulated Annealing and Boltzman Ma-chines. J.Wiley and Sons, 1989.

[2] M. Bazaraa, H.Sherali, and C.Shetti. Nonlinear Programming,Theory and Algorithms. John Wiley and Sons, 1993.

[3] D. Bertsekas. Nonlinear Programming. Athena Scienti�c, 1995.

[4] J. Cea. Optimisation Theorie et Algorithmes. Dunod, 1971. (yravertimas i¾ rusu¾kalb ¾a).

[5] J. Clausen. Branch and bound algorithms �principles and exam-ples. "http://vaidila.vdu.lt/tempus",, 1998.

[6] J. Clausen. Teaching duality in linear programming �the multi-plier approach. "http://vaidila.vdu.lt/tempus", 1998.

[7] P. Fishburn. Utility Theory for Decision Making. J.Wiley, 1970.(yra vertimas i¾ rusu¾kalb ¾a).

[8] F. Hillier and G.Lieberman. Introduction to Mathematical Pro-gramming. McGraw-Hill, 1991.

[9] D. Himmelblau. Applied Nonlinear Programming. McGrw-Hill,1972. (yra vertimas i¾ rusu¾kalb ¾a).

235

Page 236: Matematinis programavimas

236 BIBLIOGRAPHY

[10] R. Horst, P.Pardalos, and N.Thoai. Introduction to Global Opti-mization. Kluver, 1995.

[11] C. Kelley. Iterative Methods for Optimization. SIAM, 1999.

[12] J. Kubilius(red.). Matematikos terminu¾ ¼zodynas. Mokslo irenciklopediju¾ leidykla, 1994.

[13] R. Luce and H.Rai¤a. Games and Decisions. J.Wiley, 1957. (yravertimas i¾ rusu¾kalb ¾a).

[14] J. Mockus. Bayesian Approach to Global Optimization. Kluver,1989.

[15] J. Nocedal and S.Wright. Numerical Optimization. Springer,1999.

[16] B. Poliak. Vvedenije v optimizaciju. Nauka, 1983. (Rusu¾kalba).

[17] H-P. Schwefel. Evolution and Optimum Seeking. J.Wiley andSons, 1995.

[18] I. Sobol and R.Statnikov. Lp - poisk v zada¼cach optimalnogokonstruirovanija. Problemy slu¼cainogo poiska, 1:117�135, 1972.(Rusu¾kalba).

[19] D. Tempelaar, F.Wiedersheim-Paul, and E.Gunnarsson. Educa-tional Innovations in Economics and Business II. Kluver Acad-emic Publishers, 1998.

[20] A. Törn and A.¼Zilinskas. Global Optimization. Springer, 1989.

[21] V. ¼Cio¼cys ir R.Jasilionis. Matematinis programavimas. Mokslas,1990.

Page 237: Matematinis programavimas

BIBLIOGRAPHY 237

[22] V. ¼Saltenis ir A.¼Zilinskas. Techniniu¾ optimizavimo u¼zdaviniu¾sprendimas. Mokslas, 1986.

[23] A. ¼Zilinskas. Naujieji projektavimo metodai. Mokslas, 1990.

[24] A. ¼Zilinskas. Matematinis programavimas. Kaunas, VDU lei-dykla, 1999.

[25] A. ¼Zilinskas et al. Modelling of economics and business systems, s-jep 12382-97. Home page, Vytautas Magnus University: Kaunas,http://vaidila.vdu.lt/tempus, 1998.

[26] F. Vasiljev. ¼Cislenyje metody re¼senija ekstremalnych zada¼c.Nauka, 1988. (Rusu¾kalba).