• Nem Talált Eredményt

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

N/A
N/A
Protected

Academic year: 2022

Ossza meg "GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN"

Copied!
8
0
0

Teljes szövegt

(1)

GAZDASÁGMATEMATIKA KÖZÉPHALADÓ SZINTEN

Készült a TÁMOP-4.1.2-08/2/a/KMR-2009-0041 pályázati projekt keretében Tartalomfejlesztés az ELTE TáTK Közgazdaságtudományi Tanszékén

az ELTE Közgazdaságtudományi Tanszék az MTA Közgazdaságtudományi Intézet

és a Balassi Kiadó közrem¶ködésével

Készítette: Lovics Gábor Szakmai felel®s: Lovics Gábor

2010. június

(2)

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

Gazdaságmatematika középhaladó szinten

13. hét

Nem lineáris programozás

Lovics Gábor

Alapfogalmak, egyenl®ségi kritériumok

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:

minf(x) x∈S

) P,

aholf(x)tetsz®legesRn→Rfüggvény ésS⊆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.

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:

maxf(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).

(3)

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

f10(x)−λ1g10(1)(x)−λ2g0(2)1 (x)− · · · −λkg0(k)1 (x) = 0 f20(x)−λ1g20(1)(x)−λ2g0(2)2 (x)− · · · −λkg0(k)2 (x) = 0

...

fn0(x)−λ1gn0(1)(x)−λ2g0(2)n (x)− · · · −λkg0(k)n (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álto- zók. Ekkor ugyanis ezek a változók fogják az árnyékárakat megmutatni.

Példa

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

minx2+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.

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

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

Konvex programozás

A feladat

(4)

A feltételes optimalizálás legáltalánosabb, de még jól kezelhet® esete az úgynevezett konvex optimailzálás.

Legyen

minf(x) x∈S

) CP,

ahol f(x) S → R konvex 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.

1. Tétel

Legyeng(x)Rn→Rkonvex függvény, ésc∈Rtetsz®leges. Ekkor azS ={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. Legyenekf(x), g(1)(x), g(2)(x), . . ., g(k)(x)Rn →Rfolytonosan deriválható konvex függvények. Egy egyenl®tlenségi kritériumokkal felírt felté- teles optimalizálási probléma általános alakja:

minf(x) g(1)(x)≤0 g(2)(x)≤0

...

g(k)(x)≤0

















 CP.

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 meg- oldá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. 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.

Komplementaritás konvex esetben

2. 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

(5)

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

• (stacionaritási kritérium) ∂f(x∂xi)−Pm

j=1λj∂g(j)(x)

∂xi = 0 (i= 1,2, . . . , n);

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

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.

Példa komplementaritás használatára

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

maxxy 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. 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≥0szá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/.

Ennek a rendszernek a megoldását úgy kereshetjük meg, hogy az els® két egyenletet négyféle egyenletrend- szerrel é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®t- lensé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;

(6)

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

1. A λ1 = λ2 = 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ánx=λ2. Ezt az els® egyenletbe visszahelyettesítve kapjuk, hogyy= 7x. Ezt a harmadikba beírva láthatjuk, hogyx= 2514 ≈1,79. Visszahelyettesítéssel kapjuk, hogyy=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>25megsérti a megengedettségi feltételt, így az els® esetb®l nem jött ki a feltételeknek megfelel® megoldás.

3. Aλ2= 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. Helyettesítsük azx=y-t a harmadik egyenletbe:

2x2= 25 x= 5

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

2, λ1 = 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.

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.

(7)

A negyedikb®l adódik, hogyy= 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.

Az eredményt a harmadik egyenletbe visszahelyettesítve kapjuk, hogy hax= 4, akkory= 25−7·4 =

−3, ami nem megendett megoldás. Hasonlóan, hax= 3, akkory= 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.

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.

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 mindenj-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. En- nek 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

minf(x) g(x) = 0 )

CP.

A szokásos trükkel ez átírható egyenl®tlenséges formába minf(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

(8)

melyre

g(x)≤0

−g(x)≤0

∂f(x)

∂xi

−λ1

∂g(x)

∂xi

2

∂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.

Az els® két egyenl®tlenségb®l következik, hogyg(x) = 0. Ebb®l az is következik, hogyλ16=, λ26= 0. A stacionaritási kritérium esetén aλ=λ2−λ1változó lesz az el®jelkötetlen Lagrange-szorzó. (Igazából a levezetés csak akkor helyes, hag(x)lineáris függvény, mert ekkor leszg(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.

Hivatkozások

KAPCSOLÓDÓ DOKUMENTUMOK

Generálás esetén mindig csak véges sok vektor lineáris kombinációjáról beszéltünk. Felmerülhet a kérdés, hogy mi történik akkor, ha azt vizsgáljuk, hogy végtelen sok

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

Már csak az a kérdés, hogy mi a feltétele annak, hogy diagonalizálható legyen egy mátrix. Ha ennek n db gyöke van, akkor végig tudjuk csinálni a

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 fels® korlátja.. Vagyis az üres

Két egész szám összege vagy különbsége egész szám, ahogyan a polinomok összege vagy különbsége is polinom.. Ugyanígy két egész szám szorzata is egész szám, ahogyan

Ez azt jelenti, hogy az id® el®rehaladtával az 1 és −2 pontoktól egyre távolabb, míg az 0 ponthoz egyre közelebb kerülünk, ha valahonnan a közeléb®l indulunk. Így már

Láthatjuk, hogy ez elég nehéz, hiszen például még a fenti viszonylag egyszer¶ esetben is meg- lehet®sen bonyolult lenne az egyensúlyi pálya pontos meghatározása, ha pedig

Vagyis vagy mutassa meg, hogy a feladatnak nem létezik megengedett megoldása (ehhez, mint azt a kés®bbiekben látni fogjuk, elegend® arra bizonyítékot szolgáltatnia, hogy