• Nem Talált Eredményt

KÖZÉPHALADÓ SZINTEN

N/A
N/A
Protected

Academic year: 2022

Ossza meg "KÖZÉPHALADÓ SZINTEN"

Copied!
29
0
0

Teljes szövegt

(1)

GAZDASÁGMATEMATIKA

KÖZÉPHALADÓ SZINTEN

(2)
(3)
(4)

ELTE TáTK Közgazdaságtudományi Tanszék

Gazdaságmatematika középhaladó szinten

13. hét

NEM LINEÁRIS PROGRAMOZÁS Készítette: Lovics Gábor

Szakmai felel®s: Lovics Gábor

(5)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Vázlat

1 Alapfogalmak, egyenl®ségi kritériumok

2 Konvex programozás

(6)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Feltételes széls®érték-számítás

A feltételes széls®érték-számítási feladat (minimalizálás) a következ® formában írható fel általánosan:

min f(x) x∈S

) P,

ahol f(x)tetsz®legesRn→Rfüggvény és S⊆Rn. Az általános esetet azonban nem tudjuk megoldani még a legnagyobb sebesség¶ számítógépekkel sem. A legjobban kezelhet® speciális eset a lináris, amelyet az el®z® órán áttekintettünk. A lineáris programozásnak nagyon sok gyakorlati alkalmazása van, gyakori azonban az is, hogy egy modell a lineáris esetben matematikailag jól kezelhet®, a gyakorlatban azonban a nem lineáris eset az igazán érdekes. Gyakran a lineáris esetet arra alkalmazzuk, hogy közelít®

megoldást keressünk egy nem lineáris példára.

(7)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Egyenl®ségi kritériumok

Legyenek f(x), g(1)(x), g(2)(x), . . . ,g(k)(x)Rn→Rfolytonosan deriválható függvények, Egy egyenl®ségi kritériumokkal felírt feltételes optimalizálási probléma általános alakja:

max f(x) g(1)(x) =0 g(2)(x) =0

...

g(k)(x) =0

















 .

A feladathoz tartozó Lagrange-függvény pedig:

L(x) =f(x)−

k

X

i=1

λig(i)(x).

(8)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Egyenl®ségi kritériumok (folyt.)

Az els®rend¶ kritériumok ebben az esetben:

f10(x)−λ1g10(1)(x)−λ2g10(2)(x)− · · · −λkg10(k)(x) =0 f20(x)−λ1g20(1)(x)−λ2g20(2)(x)− · · · −λkg20(k)(x) =0

...

fn0(x)−λ1gn0(1)(x)−λ2gn0(2)(x)− · · · −λkgn0(k)(x) =0 g(1)(x) =0 g(2)(x) =0

...

g(k)(x) =0. Ennél a feladattípusnál a Lagrange-szorzók hasonló szerepet játszanak, mint a lineáris esetben a duál változók. Ekkor ugyanis ezek a változók fogják az árnyékárakat megmutatni.

(9)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa

Oldjuk meg a következ® feltételes optimalizálási feladatot:

min x2+y2 2x+y=10

) . Megoldás

A feladathoz tartozó Lagrange-függvény:

L(x,y) =x2+y2+λ(2x+y−10).

Az optimális megoldás feltétele:

L0x(x,y) =2x+2λ=0 L0y(x,y) =2y +λ=0 2x+y=10.

(10)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa (folyt.)

Az els® egyenletet átrendezve kapjuk, hogy λ=−x. Ezt a másodikba visszaírva arra jutunk, hogy x =2y. Ezt a harmadikba helyetesítve kapjuk, hogy y =2x. Visszahelyetesítve ezt a korábbi egyenletekbe láthatjuk, hogy x =4,λ=−4.

Az ábráról leolvasható, hogy valóban a minimalizálási feladatot oldottuk meg.

(11)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

A feladat

A feltételes optimalizálás legáltalánosabb, de még jól kezelhet®

esete az úgynevezett konvex optimailzálás.

Legyen

min f(x) x∈S

) CP,

ahol f(x)S →Rkonvex függvény és az S⊆Rn konvex halmaz.

A konvex programozási feladatnak számíthatósági szempontból két nagy el®nye van. Az egyik, hogy mivel a megengedett megoldások halmaza konvex, ezért két megengedett megoldás közötti pontok (a két pontot összeköt® szakasz minden pontja) is részei a megengedett megoldások halmazának. A másik, ha ezt a tényt kiegészítjük azzal, hogy a célfüggvény is konvex, akkor biztosak lehetünk benne, hogy minden lokális optimum egyben globális optimum is.

(12)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

A feladat (folyt.)

Tétel

Legyen g(x)Rn→Rkonvex függvény, és c∈Rtetsz®leges.

Ekkor az S ={x|g(x)≤c}halmaz konvex.

A tétel számunkra legfontosabb következménye, hogy a gyakorlatban a megengedett megoldások halmazát a konvex programozás esetén is egyenl®tlenségi kritériumokkal adjuk meg.

Legyenek f(x), g(1)(x), g(2)(x), . . ., g(k)(x)Rn→R

folytonosan deriválható konvex függvények. Egy egyenl®tlenségi kritériumokkal felírt feltételes optimalizálási probléma általános alakja:

min f(x) g(1)(x)≤0 g(2)(x)≤0

...

g(k)(x)≤0

















 CP.

(13)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

A konvex programozási feladat megoldása

A fenti feladat megoldása nagyon hasonlóan megy, mint az egyenl®séges esetben. El®ször is most is felírjuk a feladathoz tartozó Lagrange-függvényt:

L(x) =f(x)−

k

X

i=1

λig(i)(x).

Ebben az esetben azonban a feladat megoldása már nem

vezethet® vissza egy egyszer¶ többismeretlenes egyenletrendszer megoldására. Tudjuk azonban, hogy a lineáris esetben a

duálváltozókra az optimális megoldásban igaz volt a

komplementaritás, vagyis hogy egy korláthoz tartozó duálváltozó akkor nem nulla, ha az egyenl®tlenségi kritérium egyenl®séggel teljesül. Mivel ebben az esetben a Lagrange-szorzók játszák az árnyékárak szerepét, ezért velük írható fel a komplementaritási kritérium. Logikus ugyanis, hogy az árnyékárak ebben az esetben is nullák lesznek, ha egy korlát nem teljesül élesen, hiszen ekkor a korlát kis mérték¶ változtatása nem befolyásolja a célfüggvény értékét.

(14)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

A konvex programozási feladat megoldása (folyt.)

A konvexitási feltételek pedig ahhoz segítenek hozzá, hogy ne kelljen a másodrend¶ feltételekkel törödnünk, elegend® legyen egy els®rend¶ feltételeknek eleget tév® pont megkeresése. Sajnos azonban ezeknél a feladatoknál a konvexitás önmagában nem is elegend® annak biztosítására, hogy az optimum megkereséséhez szükséges és elégséges feltételeket adjunk. Ehhez további úgynevezett regularitási feltételek is kellenek. A regularitási feltételek sokféle módon megfogalmazhatóak, itt nem tárgyaljuk

®ket részletesen. A regularitási feltételek teljesülésének ellen®rzése a gyakorlatban sokszor ugyanolyan nehéz vagy nehezebb, mint az eredeti feladat megoldása, ezért ezeknek a teljesülésében inkább csak reménykedni szoktak a megoldások során.

(15)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Komplementaritás konvex esetben

Tétel (Kuhn-Tucker féle elégséges feltételek)

Legyen adva egy konvex programozási feladat (CP) a fenti egyenl®tlenséges kritériumokkal megadott formában, és legyenek a függvények folytonosan dierenciálhatóak. Ekkor annak elégséges feltétele, hogy x pont optimális megoldása a feladatnak, hogy léteznek olyanλ1, λ2, . . . , λm≥0 számok, melyekre

(megengedettségi kritérium) x legyen megengedett megoldása a feladatnak;

(stacionaritási kritérium) f(xxi)−Pm

j=1λjg(j)x(x)

i =0

(i=1,2, . . . ,n);

(komplementaritási kritérium), haλj =0, akkor g(j)(x)<0 (j=1,2, . . . ,m).

(16)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Komplementaritás konvex esetben (folyt.)

A tétel tehát a szükséges feltételeit adja meg az optimumnak. Ha az úgynevezett regularitási feltételek teljesülnek, akkor ezek a feltételek elégségesek is. Ez a gyakorlatban azt jelenti, hogy ha egy algoritmusunk talált a fenti tételnek megfelel® megoldást, akkor az biztosan optimális megoldása az eredeti feladatnak. Ha viszont nem talált, akkor két eset lehetséges. Az egyik, hogy a feladatnak nincs optimális megoldása, a másik, hogy van, csak nem teljesülnek a regularitási feltételek. Mivel a regularitási feltételeket nem tudjuk tipikusan ellen®rizni, ezért ezt a problémát általánosan nem tudjuk megoldani.

(17)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa komplementaritás használatára

Nézzük meg a következ® konvex programozási feladatot:

max xy x2+y2≤25

x+7y ≤25 x≥0 y≥0













 CP.

A feladathoz tartozó Lagrange-függvény a következ®:

L(x,y) =xy−λ1(x2+y2−25)−λ2(x+7y−25)−λ3x−λ4y. Miel®tt felírnánk az optimum elégséges feltételeit, egyszer¶sítsük le a feladatot kicsit, néhány specialitást kihasználva. Jól látszik, hogy a feladatnak vannak olyan megengedett megoldásai, melyekre mindkét változó szigorúan pozitív (pl.: x =y =1). Ez azt jelenti, hogy az optimális megoldásban a célfüggvény értéke biztosan pozitív lesz. Ebb®l viszont az következik, hogy az x =0 vagy az y =0 nem lehet optimális megoldása a feladatnak.

(18)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa komplementaritás használatára (folyt.)

Eszerint az utolsó két feltétel biztos, hogy szigorú

egyenl®tlenséggel teljesül az optimumban, tehát λ34=0.

Vagyis elegend® a következ® Lagrange-függvényt vizsgálnunk:

L(x,y) =xy−λ1(x2+y2−25)−λ2(x+7y −25).

(Ha ezt az egyszer¶sítést nem tesszük meg, akkor is eljutunk az optimális megoldáshoz, csak sokkal több számolással.)

Az egyszer¶sítés után az optimum elégséges feltétele, hogy találjunk olyanλ1, λ2≥0 számokat, melyre

L0x(x,y) =y−2λ1x−7λ2=0 L0y(x,y) =x−2λ1y−λ2=0

x2+y2≤25 /λ1>0⇒x2+y2=25/ 7x+y ≤25 /λ2>0⇒7x+y =25/.

(19)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa komplementaritás használatára (folyt.)

Ennek a rendszernek a megoldását úgy kereshetjük meg, hogy az els® két egyenletet négyféle egyenletrendszerrel és

egyenl®tlenségekkel egészítjük ki. Mind a négy esetben az egyenl®séges feltételekb®l indulunk ki, azoknak megkeressük a megoldását, majd ellen®rizzük, hogy a kapott megoldásra teljesülnek-e az egyenl®tlenségi feltételek.

A négy eset a következ®

1 λ1=0,λ2=0, x2+y2<25, 7x+y<25;

2 λ1=0,λ2>0, x2+y2<25, 7x+y=25;

3 λ1>0,λ2=0, x2+y2=25, 7x+y<25;

4 λ1>0,λ2>0, x2+y2=25, 7x+y=25.

(20)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa komplementaritás használatára (folyt.)

112=0-t az els® két egyenletbe behelyettesítve kapjuk, hogy x =y=0, ami a korábban belátottak alapján nem lehet optimális megoldás.

2 Az λ1=0-t az els® két egyenletbe visszahelyettesítve a következ® egyenletrendszert kapjuk

y−7λ2=0 x−λ2=0 7x+y =25.

A második egyenlet alapján x =λ2. Ezt az els® egyenletbe visszahelyettesítve kapjuk, hogy y =7x. Ezt a harmadikba beírva láthatjuk, hogy x = 2514≈1,79. Visszahelyettesítéssel kapjuk, hogy y = 252 =12,5,λ2=2514.

Ellen®riznünk kell még az egyenl®telnségeket. Aλ2= 2514>0 feltétel teljes¶l, viszont az x2+y2≈160>25 megsérti a megengedettségi feltételt, így az els® esetb®l nem jött ki a feltételeknek megfelel® megoldás.

(21)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa komplementaritás használatára (folyt.)

32=0-t behelyettesítve az els® két egyenletbe, és azokat kiegészítve a megfelel® harmadik egyenlettel kapjuk, hogy

y−2λ1x=0 x−2λ1y =0 x2+y2=25. Az els® két egyenletb®l kapjuk, hogy

1= y x 2λ1= x

y.

A két egyenlet jobboldala egyenl®vé tehet® egymással, vagyis

yx = xy. Ennek az egyenletnek kétféle megoldása van, az egyik az x=y, a másik az x=−y. Ha viszont kihasználjuk azt is, hogyλ1>0 kell legyen, akkor láthatjuk, hogy a második eset nem lehet megoldása az egyenletnek, így elegend® az els®vel továbbmennünk.

(22)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa komplementaritás használatára (folyt.)

Helyettesítsük az x =y-t a harmadik egyenletbe:

2x2=25 x= 5

√2. Visszahelyttesítéssel kapjuk, hogy y = 5

21=12.

Láthatjuk, hogy aλ1>0 feltételünk teljesül. Ellen®rizni kell még, hogy

7·5

√2 + 5

√2 ≈28>25.

A megengedettségi feltétel megint nem teljesül, így a feladatnak ebb®l az esetéb®l sem jön ki optimális megoldás.

(23)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa komplementaritás használatára (folyt.)

4 Végül az utolsó esetben négy ismeretlenünk és négy egyenletünk lesz:

y−2λ1x−7λ2=0 x−2λ1y−λ2=0 x2+y2=25

7x+y =25.

A negyedikb®l adódik, hogy y=25−7x. Ezt a harmadik egyenletbe behelyettesítve kapjuk, hogy

x2+ (25−7x)2=25 50x2−350x+600=0

x2−7x+12=0 x1,2=7±√

49−48

2 =

(4 3.

(24)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa komplementaritás használatára (folyt.)

Az eredményt a harmadik egyenletbe visszahelyettesítve kapjuk, hogy ha x =4, akkor y=25−7·4=−3, ami nem megendett megoldás. Hasonlóan, ha x =3, akkor

y =25−7·3=4.

A kapott eredményt helyettesítsük vissza az els® két egyenletbe. Így a következ® rendszert kapjuk

4−6λ1−7λ2=0 3−8λ1−λ2=0.

A második egyenlet hétszeresét vonjuk ki az els® egyenletb®l, így kapjuk, hogy

−50λ1=−17 λ1=17

50 =0,34.

(25)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

Példa komplementaritás használatára (folyt.)

Visszahelyettesítéssel kapjuk, hogy λ2=0,28.

Mivelλ1>0 ésλ2>0, ezért ez a eset kielégíti a Kun-Tucker-tétel feltételeit, tehát optimális megoldást találtunk.

(26)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

A Kun-Tucker-tétel speciális esetei

A következ®kben azt mutatjuk meg, hogy a Kun-Tucker-tétel valójában nem más, mint több korábban tanult feltételes optimalizáláshoz kapcsolodó eredmény általánosítása.

1 Legyen adva egy konvex optimalizálási feladat, és tegyük fel, hogy az optimimum a megengedett megoldások egyik bels®

pontja. Ekkor a komplemetaritási kritérium értelmében λj =0 minden j-re. Ekkor viszont a stacionaritási kritérium alapján ez azt jelenti, hogy ez a pont a célfüggvényem egy stacionárius pontja.

2 Az egyenl®ségi kritériumoknál tanultak is tekinthet®k a Kun-Tucker-tétel egy speciális eseténk. Ennek szemléltetésére nézzünk egy olyan példát, ahol egy darab egyenl®ségi korlát mellett szeretnénk maximalizálni egy célfüggvényt. Ekkor a feladat a következ® alakú lesz

min f(x) g(x) =0

) CP.

(27)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

A Kun-Tucker-tétel speciális esetei (folyt.)

A szokásos trükkel ez átírható egyenl®tlenséges formába min f(x)

g(x)≤0

−g(x)≤0



 CP0.

A Kun-Tucker-tétel értelmében az optimalitás kritériuma, hogy létezzenek olyan λ1, λ2≥0 számok melyre

g(x)≤0

−g(x)≤0

∂f(x)

∂xi −λ1∂g(x)

∂xi2∂g(x)

∂xi =

= ∂f(x)

∂xi −(λ2−λ1)∂g(x)

∂xi =0, (i=1,2, . . . ,m), haλ1=0⇒g(x)<0,

haλ2=0⇒g(x)>0.

(28)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

A Kun-Tucker-tétel speciális esetei (folyt.)

Az els® két egyenl®tlenségb®l következik, hogy g(x) =0.

Ebb®l az is következik, hogyλ16=, λ26=0. A stacionaritási kritérium esetén aλ=λ2−λ1 változó lesz az el®jelkötetlen Lagrange-szorzó.

(Igazából a levezetés csak akkor helyes, ha g(x)lineáris függvény, mert ekkor lesz g(x)és−g(x)is konvex.)

3 Mivel a lineáris függvények egyszerre konvexek és konkávok is, ezért egy lineáris programozási feladatra is felírható a Kun-Tucker-tétel. Ekkor a komplementaritási kritérium éppen a lineáris programozás komplementaritását fogja visszaadni.

(29)

13. hét Lovics

Alapfogalmak, egyenl®ségi kritériumok Konvex programozás

ELTE TáTK Közgazdaságtudományi Tanszék

Köszönjük, hogy használta tananyagunkat!

Bármilyen kérdést, megjegyzést örömmel várunk az

eltecon.hu

honlapon feltüntetett címekre

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Derékszög¶ háromszögben igaz a Pitagorász-tétel: egy háromszög akkor és csak akkor derékszög¶, ha létezik két olyan oldala (a és b), melyek hosszának

Mivel a szinusz és a koszinusz függvények egy perióduson belül sem kölcsönösen egyértelm¶ hozzárendelések, ezért a perióduson belül is meg kell szorítsuk a függvényt...

A deníciókból láttuk, hogy a komplex számok deniálhatók mint olyan valós számpárok, amelyeken speciális módon deniálunk m¶veleteket. Ha az összeadást nézzük, a

egyenletes lineáris egyenletrendszernek egyértelm¶en létetzik-e megoldása, akkor igazából azt vizsgáljuk, hogy a baloldalon álló vektorok bázist alkotnak-e. Az el®z®

Ha azt tapasztaljuk, hogy az egyenes két helyen is elmetszi a függvényt, akkor ez azt jelenti, hogy a függvény nem injektív. Ha nem metszi el sehol, akkor a függvény

Ekkor az egyenesen lév® vektorok az 1-hez mint sajátértékhez tartozó sajátvektorok, az origón átmen®, az erdeti egyenesre mer®leges vektorok pedig a − 1-hez

Az üres halmaz esetén minden számra teljesül, hogy nagyobb vagy egyenl®, mint a halmaz összes eleme, vagyis az üres halmaznak minden szám

Nem csak a tétel mondható ki nagyon hasonlóan a polinomok és az egész számok körében, de a maradékos osztás írásban nagyon hasonlóan végezhet® el mindkét gy¶r¶ben.