Do˘ grusal olmayan programlama
Suat ATAN
˙I¸cindekiler
1 Giri¸s 2
2 Optimizasyon 2
3 Do˘grusal olmayan programlama 4
3.1 Tek de˘gi¸skenli fonksiyonun optimumluk ¸sartları . . . 6
3.2 C¸ ok De˘gi¸skenli Fonksiyonlarda Gerek ve Yeter S¸art . . . 7
4 Do˘grusal olmayan programlama problemlerinin ¸c¨oz¨um¨u 8 4.1 Tek de˘gi¸skenli kısıtsız optimizasyon problemlerinde yakla¸sık ¸c¨oz¨um teknikleri . . 8
4.1.1 Aralı˘gı ikiye b¨olme y¨ontemi . . . 8
4.1.2 Altın oran y¨ontemi . . . 8
4.1.3 Yarı aralık (bisection) y¨ontemi . . . 9
4.2 C¸ ok de˘gi¸skenli fonksiyonlarda yakla¸sık ¸c¨oz¨um teknikleri . . . 9
4.2.1 Gradyant y¨ontemi . . . 9
4.2.2 Newton y¨ontemi . . . 10
4.3 Kısıtlı optimizasyon . . . 10
4.3.1 Lagrange ¸carpanları . . . 10
4.3.2 Do˘grudan arama y¨ontemi . . . 14
4.3.3 Yerine koyma metodu . . . 15
4.4 Kuhn-Tucker ko¸sulları . . . 16
1 Giri¸ s
Lineer programlama bir dizi sınırlamalar dahilinde ¸cıktıların lineer matematiksel y¨ontemler kullanılarak optimize edilmesi demektir.Anonim (2013d) Do˘grusal (lineer) programlamadaki do˘grusal (lineer) s¨ozc¨u˘g¨u, modeldeki t¨um matematiksel fonksiyonların do˘grusal (lineer) ol- ması gerekti˘gini belirtir. Programlama kelimesi ise bilgisayar programlamaya i¸saret etmez; daha
¸
cok planlama ile e¸s anlamlıdır. Dolayısıyla do˘grusal (lineer) programlama, bir¸cok uygun alter- natif arasından belirlenmi¸s bir hedefe uyan optimal ¸c¨oz¨um¨u bulacak aktivitelerin planlanmasını ifade eder. (Anonim, 2013c)
Matematikte matematiksel programlama ya da optimizasyon terimi; bir ger¸cel fonksiyonu mi- nimize ya da maksimize etmek amacı ile ger¸cek ya da tamsayı de˘gerlerini tanımlı bir aralıkta se¸cip fonksiyona yerle¸stirerek sistematik olarak bir problemi incelemek ya da ¸c¨ozmek i¸slemlerini ifade eder.Pek ¸cok ger¸cek ve teorik problemler bu genel ¸cer¸cevede modellenebilir.Bu teknik kullanılarak form¨ule edilen problemlere fizik bilminin ilgi alanından bir ¨ornek verilecek olursa, bilgisayar mo- nit¨orlerinin enerji minimizasyonundan s¨oz edilebilir.(Anonim, 2013b). Do˘grusal programlama ve do˘grusal olmayan programlama bu optimizasyonun bir alanıdır.
Genel olarak do˘grusal olmayan programlama, ¸c¨oz¨um fonksiyonunun do˘grusal(lineer) olma- masını ifade eder. Elbette ger¸cek hayatta do˘grusal olmayan fonksiyona sahip ¸c¨oz¨umler de mev- cuttur. Do˘grusal olmayan programlamada kullanılacak matematiksel y¨ontem ve s¨ure¸cler do˘grusal programlamaya g¨ore daha karma¸sıktır.
2 Optimizasyon
Matematik, bilgisayar bilimi, ya da y¨onetim bilimi, matematiksel optimizasyon (alternatif, op- timizasyonu veya matematiksel programlama) mevcut alternatiflerin bazı dizi (bazı kriterler a¸cısından) en iyi elemanın se¸cimidir. (Dantzig, 1965)
Basit durumda, bir optimizasyon problemi sistematik bir izin k¨umesi i¸cerisinden giri¸s de˘gerlerini se¸cme ve fonksiyonunun de˘gerini hesaplayarak ger¸cek i¸slevini maksimize veya minimize olu¸sur.
Di˘ger form¨ulasyonlar i¸cin optimizasyon teorisi ve teknikleri genelleme uygulamalı matematik geni¸s bir alanı kapsar. Daha genel olarak, optimizasyon ama¸c fonksiyonları ve etki farklı farklı
¸
ce¸sitli dahil olmak ¨uzere tanımlanmı¸s bir etki alanı (veya kısıtlamaları k¨umesi) verilen bazı ob- jektif fonksiyonu ”mevcut en iyi” de˘gerler bulma i¸cerir.
Optimizasyon s¨ure¸cleri, matematik gerektiren ¸calı¸smalardır. Modern optimizasyon y¨ontemle-
rinin ba¸slangıcı de˘gi¸simler hesabına (calculus of variations) kadar dayanır. De˘gi¸simler hesabı ile ilgili genel ¸cer¸ceveyi 18. y¨uzyılda ortaya koyan Lagrange’ın “Lagrange ¸carpanlar y¨ontemi” (Lag- rangian multipler rule) olarak bilinen me¸shur metodu da g¨un¨um¨uzde optimizasyon teorisinin ana konularından birini olu¸sturmaktadır (Dutta) . ˙Ilk ve en basit optimizasyon y¨ontemlerinden olan “En Dik ˙Ini¸s, (ED˙I)” (steepest descent) metoduna ait uygulamanın Cauchy tarafından ilk kez g¨osterildi˘gi 19.y¨uzyıl ortalarından yirminci y¨uzyılın ortalarına kadar bu sahada ¸cok az iler- leme kaydedilmi¸stir. Bu d¨onemden itibaren bilgisayar teknolojisindeki geli¸smelere paralel olarak
¸
cok hızlı i¸slemcilerin kullanılmaya ba¸slanmasıyla optimizasyon konusundaki ¸calı¸smaların ve yeni uygulamaların miktarı da hızla artmı¸stır (Rao, 2009)
Sayısal optimizasyon y¨ontemlerini ¨u¸c grupta toplamak m¨umk¨und¨ur. Bunlar; belirleyici (deter- ministic), olasılıksal (stochastic) ve melez (hybrid) metotlardır. Belirleyici metotlar genel olarak Fermat teoreminden hareketle olu¸sturulan ED˙I ve Newton metotları gibi gradyan i¸slemlerine dayalı y¨ontemlerdir. Bununla birlikte uygulama yapılacak problemin ¨ozelliklerine ba˘glı olarak kullanılabilecek simpleks metotları, do˘grusal programlama gibi de˘gi¸sik y¨ontemler de ge¸cti˘gimiz y¨uzyıl i¸cerisinde ortaya ¸cıkmı¸stır. Olasılıksal metotlar ise, Genetik Algoritmalar, Karınca Kolonisi ve Tavlama Benzetimi gibi t¨urev bilgisi gerektirmeyen, genellikle do˘gadan esinlenen y¨ontemler- dir. Melez optimizasyon teknikleri ise belirleyici ve olasılıksal y¨ontemlerin bir arada kullanıldı˘gı metotlardır. Her y¨ontemin farklı ¨ust¨unl¨ukleri ve eksiklikleri olabilmekle birlikte, genel olarak be- lirleyici y¨ontemler genel optimumu daha hassas bir ¸sekilde bulabildi˘gi, olasılıksal y¨ontemler ise uygulama kolaylıkları nedeniyle tercih edilirler. Melez y¨ontemler ise bir araya getirdi˘gi farklı me- totların ¨ust¨unl¨uklerinden istifade etmeyi ama¸clar. Dinamik sistemlerin kararlı denge noktalarının bulunması yakla¸sımı ile do˘grusal olmayan optimizasyon (do˘grusal olmayan programlama) prob- lemlerinin ¸c¨oz¨um¨u konusundaki teknikler de belirleyici y¨ontemlerden sayılmaktadır. Bu alandaki ilk ¸calı¸smalardan olan, do˘grusal olmayan otonom sistemlerin kritik noktaları ile yerel optimumları ili¸skilendiren Yamashita (Yamashita, 1980) dan sonra konu ile ilgili ara¸stırmalar giderek artmı¸s ve son on yılda yo˘gunla¸sarak ¨ozellikle gradyan sistem yakla¸sımları ile dinamik sistemin takip edece˘gi y¨or¨ungeler yoluyla dinamik sistemin denge noktalarına (yerel optimumlara) ula¸sılması ¨uzerinde durulmu¸stur . S¨oz konusu ¸calı¸smalarda, optimizasyonu yapılacak do˘grusal olmayan fonksiyonun gradyanı kullanılarak birinci mertebeden adi diferansiyel denklem yardımıyla bir dinamik sis- tem tanımlanmakta ve bu dinamik sistemin denge noktaları, do˘grusal olmayan fonksiyonun yerel optimumları olarak bulunmaktadır. Di˘ger taraftan ikinci mertebeden adi diferansiyel denklem
¨
uzerine kurulmu¸s dinamik sistem yakla¸sımı ¨uzerine de ara¸stırmalar yapılmı¸stır. Hacıo˘glu (2011)
3 Do˘ grusal olmayan programlama
Do˘grusal olmayan Programlama konusundaki ilk ¨onemli ı95ı yılında Karush-Kuhn ve Tucker tarafından optimal ¸c¨oz¨um i¸cin gerek ve yeter ¸sartlar teorisi adı altmda sunulmu¸stur.
Genel bir optimizasyon problemi x1, x2, x3, ..., xn n adet karar de˘gi¸skenini ama¸c fonksiyo- nunu optimize(minimize veya maksimize) etmek suretiyle uygun alan i¸cerisinden se¸cmektir.
f (x1, x2, ..., xn)
Bu problem E˘ger ama¸c fonksiyonu do˘grusal de˘gilse veya ¸c¨oz¨um k¨umesinin yer aldı˘gı uygun alan do˘grusal olmayan sınırlarla belirlenmi¸s ise do˘grusal olmayan programlama problemi olarak adlandırılır. Bu durumda do˘grusal olmayan programlama problemi ¸s¨oyle g¨osterilir:
A¸sa˘gıdaki sınırlama fonksiyonları ko¸sulu ile
g1(x1, x2, ..., xn) ≤ b1
..
..
..
gm(x1, x2, ..., xn) ≤ bm
M ax.f (x1, x2, ..., xn)
Do˘grusal olmayan programlama problemleri m¨uhendislik, matematik, i¸sletme, fizi˘ge dayalı bilimler ve matematilk ile kararın (geni¸s anlamda) girdi˘gi t¨um alanlarda yaygın bir bi¸cimde kullanılmaktadır. (Avriel, 2012) . (Cornuejols and Tutuncu, 2007)
Gerek ve Yeter S¸art Kavramı:
Optimizasyon tekniklerinin uygulamalarında ve aynı zamanda elde edilen sonucun ger¸cek optimum de˘ger olup olmadı˘gını belirlemede gerek ve yeter ¸sartlar dikkate alındı˘gından bu ¸sartları kavramak ¨onemlidir.
Gerek ¸sart: Optimum noktada ¸sartları sa˘glaması gereken durumlar olarak adlandırılır. Di˘ger bir tanımla e˘ger herhangi bir nokta gerek ¸sartları sa˘glamıyorsa optimum nokta olamaz. Bununla birlikte gerek ¸sartları sa˘glayan nokta optimum olmayabilir veya tek bir nokta olmayabilir. Gerek
¸sartları sa˘glayan noktalar aday nokta (candidate points) olarak adlandırılır. Dolayısıyla optimum
nokta ile optimum olmayan noktaları ayırmak i¸cin ba¸ska ¸sartlara ihtiya¸c duyulur ve bu ¸sartlar yeter ¸sart olarak adlandırılır.
Yeter ¸sart: E˘ger aday optimum noktalar yeter ¸sartları sa˘glıyorsa bu nokta optimum noktadır ve daha ileri testler yapmaya gerek yoktur. Ancak bu ¸sartların sa˘glanamadı˘gı veya kullanılmadı˘gı durumlarda aday noktalarından herhangi birisinin optimum olmadı˘gı s¨oylenemeyebilir. ¨Ozetle:
(Anonim, 2013a)
• 1. Optimum noktalar gerek ¸sartları sa˘glamalıdır. Bu ¸sartları sa˘glamayan noktalar optimum nokta olamaz.
• 2. Gerek ¸sartları sa˘glayan bir noktanın optimum olması gerekmez; yani optimum olmayan noktalarda gerek ¸sartları sa˘glayabilir.
• 3. Yeter ¸sartı sa˘glayan bir aday nokta ger¸cekten optimumdur.
• 4. E˘ger yeter ¸sartlar kullanılamıyor veya hesaplanamıyorsa aday noktaların optimum oldu˘guna dair herhangi bir sonu¸c ¸cıkartamayız.
B¨ut¨un bu ¸sartlara optimality conditions (optimumluk ¸sartları) denir ve a¸sa˘gıda belirtilen iki durum i¸cin kullanılır:
• 1. Bir tasarım noktası verildi˘ginde, optimumluk ¸sartları kullanılarak bu noktanın aday nokta olup olmadı˘gı tespit edilir.
• 2. Aday noktayı tespit etmek i¸cin bu ¸sartlar kullanılır.
Tek de˘gi¸skenli optimizasyon Tek de˘gi¸skenli fonksiyonlarda dikkat edilecek husus elde edilen minimum de˘gerin lokal minimum mu yoksa global minimum mu oldu˘gunun tespit edilmesidir.
Lokal minimum Bir de˘gi¸skenli bir f (x)fonksiyonun h’ın k¨u¸c¨uk pozitif ve negatif de˘gerinde a¸sa˘gıdaki ifadeyi veriyorsa bu fonksiyonun x = x∗ da relatif veya lokal minimumdur.
f (x∗) ≤ f (x∗+ h)
Benzer olarak x∗ noktasında e˘ger a¸sa˘gıdaki ifade sa˘glanıyorsa bu de˘gerde f (x) fonksiyonu mak- simumdur.
f (x∗) ≥ f (x∗+ h)
Global minimum veya maksimum de˘ger i¸cin optimumluk ¸sartlarının sa˘glanması gerekmektedir ki bir de˘gi¸skenli bir fonksiyon i¸cin a¸sa˘gıda verilmi¸stir. Grafiksel g¨osterim ¸sekil 1 ile g¨osterimek- tedir.
S¸ekil 1: Lokal ve global maksimum ve minimum
3.1 Tek de˘ gi¸ skenli fonksiyonun optimumluk ¸ sartları
Optimumluk ¸sartları, bir f (x)nun aday noktalarını belirlemede kullanılır. Optimumluk ¸sartlarını elde etmek i¸cin ¨oncelikle a¸sa˘gıda verilen kabul yapılır: “x minimumnoktadır ve bunun civarındaki bir noktada fonksiyonun de˘geri ve t¨urevidi kkate alınacaktır.” noktası fonksiyonun lokal minimum noktası olsun. x ise x0noktasına yakın herhangi bir nokta olarak dikkate alalım. Dolayısıyla artım miktarı d a¸sa˘gıdaki gibi tanımlanır:
d = x − x∗
ve bu noktalara kar¸sılık f (x) fonksiyonun farkı a¸sa˘gıdaki gibi verilir:
∆(x) = f (x) − f (x∗)
m noktası f (x) fonksiyonun lokal minimum oldu˘gu nokta oldu˘gundan k¨u¸c¨uk bir ilerlemede ( x de˘gerine varıldı˘gında) f (x)’in de˘geri de˘gi¸smez veya mutlaka artar. Dolayısıyla ∆f (x) negatif olmayan bir de˘ger alır. Dolayısıyla,
∆f (x) = f (x) − f (x∗) ≥ 0
. olmalıdır. Buradan f (x) fonksiyonu Taylor serisi ile a¸cılıdktan sonra sonu¸c olarak d nin her de˘gerinde ¸sartı sa˘glayan de˘geri:
f0(x∗) = 0
S¸ekil 2: Hessian Matrisi
olacaktır. (Meyer, 1979)
Bu ¸sarta birinci-derece optimumluk ¸sartı (first order optimality condition) veya birinci- de- rece gerek ¸sart (first-order necessary condition) olarak adlandırılır zira fonksiyonun sadece bi- rinci t¨urevini i¸cerir. Bu ¸sartları sa˘glayan noktalar lokal minimum veya maksimum veya hi¸cbir olmayabilir (b¨uk¨um noktası olabilir). Bu noktalar stationary noktaları olarak adlandırılır.Aday noktaları belirledikten sonra bu noktalardan hangisinin fonksiyonu minimum veya maksimum yaptı˘gını belirlemek i¸cin yeter ¸sartlar dikkate alınır.
Buna g¨ore
f0(x∗) ≥ 0 ise yeter ¸sart olarak adlandırılır.
3.2 C ¸ ok De˘ gi¸ skenli Fonksiyonlarda Gerek ve Yeter S ¸art
E˘ger fonksiyon ¸cok de˘gi¸skenli ise bu durumda her bir eleman i¸cin ayrı ayrı kısmi t¨urev alınan Hessian Matrisi tanımlamak gerekir. C¸ ¨oz¨um buna g¨ore yapılır. S¸ekil 2 ile Hessian matrisi g¨oste- rilmektedir. (Bartholomew-Biggs, 2005)
Uygulamada Hessian Matrisi ile ¸c¨oz¨um¨un hesaplanması zaman alıcı olmaktadır bu bakımdan bilgisayarlı ¸c¨oz¨um de yapılabilir.
4 Do˘ grusal olmayan programlama problemlerinin ¸ c¨ oz¨ um¨ u
Do˘grusal olmayan programlama problemlerinin hepsini ¸c¨ozen genel bir y¨ontem bulunmamakla birlikte, de˘gi¸sik tipteki do˘grusal olmayan programlama problemlerinin ¸c¨oz¨um¨u i¸cin farklı y¨ontem- ler bulunmaktadır . Optimizasyon problemlerinin analitik y¨ontemlerle ¸c¨oz¨ulemedi˘gi durumlarda yakla¸sık ¸c¨oz¨um tekniklerine ba¸svurulur. Lineer olmayan programlama problemlerinin ¸c¨oz¨um¨u i¸cin geli¸stirilen algoritmaların temeli, tek de˘gi¸skenli fonksiyonların ¸c¨oz¨um¨undeki algoritmalara da- yanır. Bu nedenle ¨once tek de˘gi¸skenli fonksiyonlarda aralı˘gı ikiye b¨olme, altın-oran ve yarı-aralık algoritmaları, daha sonra da ¸cok de˘gi¸skenli fonksiyonlar i¸cin gradyant algoritmasından s¨oz edi- lecektir
Bir ¸cok lineer olmayan programlama algoritmasının temel prensibi ¸su ¸sekildedir: uygun bir Xk noktası ile ba¸slanır ve uygun bir λk adım b¨uy¨ukl¨u˘g¨u bulunarak yeni bir Xk+1 noktası elde edilir. Bu i¸sleme ardı¸sık olarak devam edilerek optimal ¸c¨oz¨ume ula¸sılmaya ¸calı¸sılır.
4.1 Tek de˘ gi¸ skenli kısıtsız optimizasyon problemlerinde yakla¸ sık ¸ c¨ oz¨ um teknikleri
Bir f (x) fonksiyonu [a, b] kapalı aralı˘gında tanımlı ve bu aralıkta f (x) minimum veya maksi- mum de˘gerini alsın. Verilen aralıkta fonksiyonun yakla¸sık ¸c¨oz¨um¨un¨u bulmak i¸cin aralı˘gı ikiye b¨olme, altın oran ile yarı-aralık y¨ontemleri kullanılabilir. Bunlardan aralı˘gı ikiye b¨olme ve altın oran t¨urev kullanmayan, yarı-aralık t¨urev kullanan algoritmalardır. Bu y¨ontemlerle ilgili kısa a¸cıklamalara yer verilmi¸stir (Erdo˘gan ve Alptekin, 2006).
4.1.1 Aralı˘gı ikiye b¨olme y¨ontemi
Bir f(x) fonksiyonu [a,b] kapalı aralı˘gında tanımlı ve bu aralıkta f (x) minimum veya maksimum de˘gerini alsın. [a,b] aralı˘gının orta noktasından > 0 uzaklıkta iki λ = (a + b)/2 − ve µ = (a + b)/2 + noktaları alınarak bu noktaların fonksiyon altındaki g¨or¨unt¨uleri bakılarak yeni bir aralık bulunur. Bu i¸sleme aralık belli bir l > 0sayısından k¨u¸c¨uk olana kadar devam edilirse aranan
¸
c¨oz¨ume ula¸sılır.
4.1.2 Altın oran y¨ontemi
Bir f (x)fonksiyonu [a, b] kapalı aralı˘gında tanımlı ve bu aralıkta f (x) minimum veya maksimum de˘gerini alsın. r2 + r − 1 = 0 denkleminin pozitif k¨ok¨u olan ve yakla¸sık de˘geri r ' 0, 618 olan sayıya altın oran denir. Her iterasyonda sabit bir oranla aralı˘gın uzunlu˘gu indirgenerek yeni
nokta ¸ciftleri bulunur. Bu i¸sleme aralık belli bir l > 0 sayısından k¨u¸c¨uk olana kadar devam edilirse aranan ¸c¨oz¨ume ula¸sılır.
4.1.3 Yarı aralık (bisection) y¨ontemi
Bir f(x) fonksiyonu [a,b] kapalı aralı˘gında tanımlı ve bu aralıkta f(x) t¨urevlenebilir bir fonksiyon olmak ¨uzere minimum veya maksimum de˘gerini alsın. Bu durumda aralı˘gın orta noktasındaki t¨urev de˘gerine bakılarak yeni aralık tespit edilir. Bu i¸sleme aralık l > 0 sayısından olana kadar devam edilirse aranan ¸c¨oz¨ume ula¸sılır.
4.2 C ¸ ok de˘ gi¸ skenli fonksiyonlarda yakla¸ sık ¸ c¨ oz¨ um teknikleri
Bu ba¸slık altında gradyant ve Newton y¨ontemlerine yer verilmi¸stir. Uygulamada yakla¸sık ¸c¨oz¨um y¨ontemleri i¸cin bilgisayar programlarından yararlanılmaktadır. ¨Orne˘gin aralı˘gı ikiye b¨olme ve altın oran algoritması i¸cin C++ ve Newton ile gradyant y¨ontemleri i¸cin de Maple matematiksel programlama dilinde yazılan programlar kullanılabilmektedir.
4.2.1 Gradyant y¨ontemi
Bu y¨ontem en hızlı artan veya en hızlı azalan y¨on olarak isimlendirilir. ¨Oncelikle bir ba¸slangı¸c noktası alınır, daha sonra ama¸c fonksiyonunu en hızlı geli¸stiren y¨onde hareket edilir. Bu y¨on ama¸c fonksiyonunun gradyantı ile (e˘ger ama¸c fonksiyonu maksimum ise) aynı y¨onde veya ama¸c fonksiyonunun gradyantının (e˘ger ama¸c fonksiyonu minimum ise) ters y¨onde olacaktır. Daha sonra gradyant belli bir katı kadar adım atılarak ba¸slangı¸c noktasına ilave edilir. Fonksiyonun gradyantının normu > 0 olana kadar iterasyona devam edilerek ¸c¨oz¨um bulunur. ¨Ozetle gradyant algoritması;
1. Rastgele bir X0 noktasıyla ba¸sla, 2. X0’da fonksiyon gradyantını hesapla,
3. Gradyan do˘grultusunda bir adım atarak yeni bir X1noktasına git,
4. (2) ve (3) adımlarını, fonksiyonun gradyantının sıfır oldu˘gu X∗noktasına kadar tekrarla,
¸seklindedir.
4.2.2 Newton y¨ontemi
Gradyan y¨onteminde ama¸c fonksiyonunun en hızlı iyile¸sti˘gi y¨on olan gradyant y¨on¨unde adım atılarak yeni bir nokta bulunurken, Newton y¨onteminde ise ikinci mertebe ko¸sulları kullanılması suretiyle Newton adımı atılarak yeni bir nokta bulunur. Newton adımı bir lineer denklem siste- minin ¸c¨oz¨ulmesi ile bulunur.
4.3 Kısıtlı optimizasyon
Kısıtlı do˘grusal olmayan (nonlinear) optimizasyon problemleri, kısıtları e¸sitlik veya e¸sitsizlik
¸seklinde olan problemlerden olu¸sur. Y¨ontemler kısıtlılık ve kısıtsızlık hallerine g¨ore geli¸stirilmi¸stir.
Kısıtlı olanlar i¸cin analitik ¸c¨oz¨um; kısıtlar e¸sitlik ¸seklinde ise lagrange ¸carpanları y¨ontemiyle yapılır. Kısıtlar e¸sitsizlik ¸seklinde ise Kuhn-Tucker (K-T) ko¸sullarını sa˘glayacak ¸sekilde ¸c¨oz¨umler ara¸stırılır.
4.3.1 Lagrange ¸carpanları
Zmin,max= f (x1, x2, ..., xn) (1)
gi(x) = bi (2)
¸seklinde verilen kısıtları e¸sitlik halinde ve de˘gi¸skenleri serbest olan modelin ¸c¨oz¨um¨unde Lang- range ¸carpanları y¨ontemi kullanılır. Kaya (2012)
Y¨ontemin iki temel varsayımı vardır.(Markland ve Sweigart, 1987, s.719 aktaran Kaya (2012))
• Kısıtlayıcı fonksiyon sayısı (m), bilinmeyen de˘gi¸sken sayısı (n) sayısından az olmalıdır.
• Ama¸c fonksiyonu ve kısıtlar s¨urekli ve t¨urevleri alınabilen fonksiyonlar olmalıdır.
Modelin ama¸c fonksiyonu ve kısıtlarından olu¸san Langrange fonksiyonu a¸sa˘gıdaki bi¸cimde g¨osterilir:
L(x, λ) = f (x) +X
λi[bi− gi(x)] (3)
λi de˘gerlerine Langrange ¸carpanları adı verilir. Langrange fonksiyonun kullanılmasıyla; m kısıtlı problem, m Langrange ¸carpanlı kısıtsız bir problem haline gelir. Langrange fonksiyonunun optimumu veren sonu¸c, kısıtları sa˘glamak zorunda oldu˘gunda orjinal problemin de optimum
¸
c¨oz¨um¨u olacaktır. Kaya (2012)
Ornek: Maksimizasyon problemimiz a¸sa˘¨ gıdaki gibi olsun.1
M ax : Z = 4x1− 0.121+ 52− 0.2x22 (4) kısıt ise:
x1+ 2x2= 40 (5)
˙Ilk adımda do˘grusal olmayan ama¸c fonksiyonumuzu Langrange fonksiyonuna ¸cevirelim. Bunun i¸cin kısıtlama fonksiyonunu da a¸sa˘gıdaki gibi sıfıra e¸sit hale getirmek suretiyle d¨on¨u¸st¨urelim:
x1+ 2x2− 40 = 0 (6)
Sonraki adım; Langrange ¸carpanı λ ile bir ¨onceki sıfıra e¸sit e¸sitli˘gimizi ¸carpıp ama¸c fonksiyonuna etkileyelim (bu durumda ama¸c fonksiyonu de˘gi¸smemi¸s olur).
L = 4x1− 0.1x21+ 5x2− 0.2x22− λ(x1+ 2x2− 40) (7) S¸imdi ise 3 de˘gi¸skenimiz ile ilgili Langrange fonksiyonunun kısmi t¨urevini alalım:
∂L
∂x1
= 4 − 0.2x1− λ (8)
∂L
∂x2
= 5 − 0.4x2− 2λ (9)
∂L
∂λ = −x1− 2x2+ 40 (10)
Bu denklemleri sıfıra e¸sitleyelim:
4 − 0.2x1− λ = 0 (11)
5 − 0.4x2− 2λ = 0 (12)
−x1− 2x2+ 40 = 0 (13)
Denklemler ¸c¨oz¨uld¨u˘g¨unde a¸sa˘gıdaki sonu¸clar elde edilir:
x1= 18.3
1Orne˘¨ gin tamamı ”Nonlinear Programming Solution Techniques” adlı kitaptan alınmı¸stır. Anonim
S¸ekil 3: Problemin WolframAlpha ile ¸c¨oz¨ulm¨u¸s hali ve 3 boyutlu g¨or¨un¨um¨u.
¸si¸se ¨uretmeli,
x2= 10.8 kupa ¨uretmeli
λ = 0.33 olur
Bu de˘gerleri Langrange fonksiyonunda ilgili yerlere yazdı˘gımızda L de˘geri $70.42 olacaktır.
Yukarıda elle yapılan ¸c¨oz¨um¨un bilgisayarda ¸c¨oz¨ulm¨u¸s hali: Yukarıdaki optimizasyon problemini bilgisayar yardımı ile manuel ¸c¨oz¨ume g¨ore daha hızlı ve hatasız ¸c¨ozebiliriz. C¸ ¨oz¨um¨un grafiksel g¨osterimi S¸ekil 3’de g¨osterilmi¸stir.
Ornek : Hickory S¨ ¸irketi sandalye ¨uretmektedir. Her ay sabit maliyetler 7500 $ ayrıca her bir sandalye ba¸sına ¨uretim maliyeti 40 $ olmaktadır. Fiyat ise taleple ba˘glantılı olup a¸sa˘gıdaki do˘grusal denkleme g¨ore ortaya ¸cıkmaktadır. (v ¨uretilecek adet olmak ¨uzere): Anonim
v = 400 − 1.2p (14)
S¸ekil 4: Hickory S¸irketi i¸cin optimal ¨uretim
Buna g¨ore do˘grusal olmayan kar fonksiyonunu yazın ve maksimum karı sa˘glayacak fiyat ve optimum ¨uretim adedini ve buna g¨ore ¸cıkacak maksimum karı da hesaplayın:
C¸ ¨oz¨um: p fiyat olmak ¨uzere kar fonksiyonu hasılat- toplam maliyet olacaktır. Buna g¨ore
¨
oncelikle maliyet fonksiyonumuz:
c = 7500 + 40v (15)
olur, hasılat pv de˘gerinden maliyeti ¸cıkaracak olursak:
M ax.pv − (7500 + 40 ∗ v) (16)
S¸imdi bu propbelmde v de˘gerleri yerine v = 400 − 1.2p denkleminin sa˘g taraftaki ifadesini koyarak bilinmeyen adedini bire indirelim:
M aksimize400p − 1.2p2− 7500 − 16000 − 48p (17) ayrıca kar sıfır olmayaca˘gından kısıt fonksiyonumuz: p > 0 olacaktır.
Bu denklemi bilgisayar yardımı ile ¸c¨ozd¨u˘g¨um¨uzde:
p = 146, 66 optimum ¨uretim adedi v = 224 adet ve maksimum kar 2180 $ olacaktır. C¸ ¨oz¨um¨un 3 boyutlu grafiksel g¨osterimi ¸sekil 4 ile g¨osterilmi¸stir.
S¸ekil 5: Belirsizlik aralı˘gı
4.3.2 Do˘grudan arama y¨ontemi
Bu y¨ontemin d¨u¸s¨uncesi tanımlanmı¸s optimumu i¸cerdi˘gi bilinen bir belirsizlik aralı˘gını tanımlamak ve optimum bulununcaya kadar aralı˘gı daraltmaktır. Bu aralık ba¸sta istenildi˘gi kadar k¨u¸c¨uk tu- tulabilir.Bu y¨ontem ¸sekil 5 ile grafiksel olarak g¨osterilmi¸stir.
Ornek: A¸sa˘¨ gıdaki do˘grusal olmayan problemi do˘grudan arama y¨ontemi ile ¸c¨ozelim:
M ax.f (x) =
3x 0 ≤ x ≤ 2
−x3 +203 2 ≤ x ≤ 3
(18)
C¸ ¨oz¨um: xL= 0, xR= 3 olsun:
xL≤ x ≤ x2ve x1≥ x ≤ xRolmalıdır.
Burada: x1− xL= xR− x2ve ∆ = x2− x1’dir. Bu da:
x1= xL+xR− xL− ∆
2 (19)
ve
x2= xL+xR− xL+ ∆
2 (20)
oldu˘gu anlamına gelir. ∆ = 0.01 olarak hesap yapılacak olursa sonu¸clar 6 ile g¨osterilmektedir.
S¸ekil 6: Do˘grudan arama y¨ontemi ile ¸c¨oz¨um
4.3.3 Yerine koyma metodu
Do˘grusal olmayan programlama ¸c¨oz¨um metotları i¸cerisinde en kolay metot yerine koyma metodu
2 olarak bilinen metottur. Bu metot ancak tek kısıtlılık e¸si˘gi olan durumlarda kullanılır. Bu metodun mantı˘gı de˘gi¸slenleri birbiri yerine koymak suretiyle ¸c¨ozmektir. Bu kısıtlı optimizasyon modelinin bir nevi kısıtsız optimizasyon modeline d¨on¨u¸smesi olarak kabul edilebilir.Anonim
Ornek: Problem: Anonim¨
maksimizeZ = vp − cf− vcv (21)
kısıt ise:
v = 1500 − 24.6p (22)
Sabit de˘gerler cf = 10000$vecv= 8$oslun
Dikkat edilecek olursa ama¸c fonksiyonu do˘grusal de˘gildir ¸c¨unk¨u v (satı¸s adedi) ve p (fiyat) de˘gi¸skenlerinin ¸carpanları vardır bu nedenle denklem do˘grusal de˘gildir. S¸imdi yukarıdaki ilk fonksiyonda v yerine ikinci fonksiyondaki 1500 − 24.6p de˘gerini yazarsak:
2˙Ingilizce kar¸sılı˘gı substition method
Z = 1500p − 24.6p2− cf− 1500cv+ 24.6pcv (23) cf ve cv sabit de˘gi¸skenlerini de yerine koydu˘gumuzda:
Z = 16696p − 24.6p2− 22000 (24)
Bu problemi Z’nin diferansiyelini alıp sıfıra e¸sitleyerek ¸c¨ozece˘giz:
∂Z
∂p = 1669.8 − 49.2p (25)
0 = 1669.8 − 49.2p (26)
49.2p = 1669.8 (27)
p = 34.49$ (28)
Aynı problemin bilgisayar destekli ¸c¨oz¨um¨u ¸sekil 7 ile g¨osterilmi¸stir.
4.4 Kuhn-Tucker ko¸ sulları
Bir do˘grusal olmayan programlama probleminde, problemin kısıtları e¸sitsizlik formunda ise bu t¨urden problemlerin ¸c¨oz¨um¨u Kuhn-Tucker ko¸sullarını sa˘glamalıdır. Kısıtları e¸sitsizlik formunda olan bir do˘grusal olmayan programlama problemi a¸sa˘gıdaki ¸sekilde verilsin: m kısıt ve n de˘gi¸skenden olu¸san bir problemde; Maksimum veya minimum ama¸c fonksiyonu: z = f (x1, x2, . . . , xn) Kısıtlar:
g1(x1, x2, . . . , xn) ≤ b1g2(x1, x2, . . . , xn) ≤ b2....gm(x1, x2, . . . , xn) ≤ bm
¸seklinde verilsin. Problemin Lagrange fonksiyonu yazılır ve buna g¨ore Kuhn-Tucker ko¸sulları incelenir. Lagrange fonksiyonu a¸sa˘gıdaki gibi yazılır: L(xj, λi) = f (xj)λ(xj)(j = 1, 2, .., n)ve(i = 1, 2, ..., m) Kuhn-Tucker ko¸sullarının uygulanabilmesi i¸cin verilen do˘grusal olmayan programlama probleminin kısıtlarının ≤ ¸seklinde olması gerekmektedir Winston, (2004).
Kuhn-Tucker gerek ¸sartları iki ama¸c i¸cin kullanılır:
• verilen bir noktanın muhtemel optimum olup olmadı˘gını kontrol etmede aday minimum noktaların tespitinde kullanılır Kuhn-Tucker 1. derece gerek ¸sartları ile ilgili ¨onemli bazı
¨
ozellikler a¸sa˘gıda verilmi¸stir:
S¸ekil 7: Problemin bilgisayar destekli ¸c¨oz¨um¨u-Optimal de˘ger i¸saretlenmi¸stir
• K-T ¸sartları ancak regular (d¨uzenli) noktada uygulanır.
• K-T ¸sartlarını sa˘glamayan noktalar, e˘ger irregular (d¨uzensiz) noktalar de˘gilse lokal mini- mum olamazlar. K-T ¸sartlarını sa˘glayan noktalar Kuhn-Tucker noktaları olara adlandırılır.
• K-T ¸sartlarını sa˘glayan noktalar kısıtlı veya kısıtsız olabilir.
• E˘ger e¸sitlik kısıtlayıcı varsa ve e¸sitliksiz kısıtlayıcıların hi¸cbiri aktif de˘gilse K-T ¸sartlarını sa˘glayan bu noktalar stationary noktalardır. Yani bu noktalar minimum maksimum veya d¨on¨um noktaları olabilir.
Kaynaklar
Anonim. Nonlinear Programming Solution Techniques.
Anonim. pages 1–8, 2013a.
Anonim. Optimizasyon-vikipedia, 3 2013b. URL http://tr.wikipedia.org/wiki/Optimizasyon.
Anonim. Dogrusal programlama-vikipedia, 3 2013c. URL http://j.mp/suatdp1.
Anonim. Linear programming-wolfram mathworld, 3 2013d. URL
http://mathworld.wolfram.com/LinearProgramming.html.
Mordecai Avriel. Nonlinear programming: analysis and methods. Courier Dover Publications, 2012.
MC Bartholomew-Biggs. Nonlinear optimization with financial applications, volume 1. 2005.
Gerard Cornuejols and R Tutuncu. Optimization methods in finance. Number January. 2007.
George Bernard Dantzig. Linear programming and extensions. Princeton university press, 1965.
J. Dutta. Optimization Theory - A Modern face of Applied Mathematics.
Havacılık M¨uhendisli˘gi B¨ol¨um¨u ˙Istanbul T¨urkiye Hacıo˘glu, Abdurahman; Hava Harp Okulu.
Do˘grusal olmayan optimizasyon problemleri i¸cin ta¸sınır algoritmik fonksiyonlar y¨ontemi. Ha- vacılık ve Uzay Teknolojileri Dergisi, 5(1):1, 2011. ISSN 13040448.
Cansın Kaya. Do˘grtusal olmayan programlama ile portf¨oy analizi, Ocak 2012. Yuksek Lisans Tezi.
RM Meyer. Max-Min Problems. Essential Mathematics for Applied Fields, pages 1–8, 1979.
URL http://j.mp/suatdop2.
S. S. Rao. Engineering Optimization: Theory and Practice, Fourth Edition. John Wiley and Sons, Inc., 2009.
H. Yamashita. A Differential Equation Approach to Nonlinear Programming. Mathematical Programming, cilt 18, s, 1980.