• Sonuç bulunamadı

3.2 Matematiksel Eniyileme

3.2.1 Do§rusal Programlama (DP)

Do§rusal programlama en yaygn olarak kullanlan kstl eniyileme tekniklerin- den biridir. Burada "Programlama" kelimesi bilgisayar programlama anlamnda de§il, eskiden daha çok kullanlan di§er bir manas olan "planlama" anlamnda kullanlm³tr. Do§rusal programlamada kullanlan gerçek dünya süreçlerinin al- tnda yatan akla gelebilecek bütün modeller do§rusaldr; dolaysyla "do§rusal programlama" aslnda "do§rusal modeller kullanlarak planlama yapma" ³eklinde dü³ünülmelidir. Ksaca do§rusal programlama, do§rusal denklemlerden olu³an bir matematiksel modeldeki en iyi sonuca (en yüksek kâr ya da en dü³ük maliyet gibi) ula³abilmek için kullanlan planlama modelidir.

1920'lerde, Sovyet Rusya'da ekonomi ile ilgili konularn ön planda oldu§u zaman- larda ülke ekonomisinin nasl planlanabilece§ini göstermek için yaplan teorik çal³malar srasnda ilk defa bir do§rusal programlama problemi tanm Leonid Kantoroviç tarafndan yaplm³tr. Ne yazk ki teorinin pratik olarak planlamaya uygulanmasndaki imkanszlk ve ideolojik nedenler nedeniyle Kantoroviç'in bu çal³masnn önemi ancak II. Dünya Sava³ndan sonra anla³labilmi³tir. II. Dünya Sava³ srasnda Birle³ik Amerika'da ortaya çkan lojistik tahsis problemlerini in- celemek için George Dantzig'in ba³kanl§nda kurulan bir ara³trma grubu bu tür sorunlarn çözülmesi için do§rusal programlama probleminin tanmlanmas gere- §ini ortaya çkartm³ ve bu türlü do§rusal programlama problemlerinin çözümü için Simpleks algoritmas adn verdikleri bir çözüm sistemi öne sürmü³tür. Geli³tirilen bu çözüm sisteminin özelikle maliyetleri ve getirileri planlamak su- retiyle harp masraarnn kslmasna yol açt§ açkça görüldü§ü için bu teorik ve pratik geli³meler 1947'ye kadar devlet srr olarak sakl kalm³tr. Yine 1947 ylnda John von Neumann, oyun teorisi ile ilgileniyorken, ikincillik (duality) teori- sini geli³tirerek do§rusal programlamaya önemli katkda bulunmu³tur. O zamana kadar do§rusal programlamaya yaptklar katklar nedeni ile Kantoroviç, Dantzig ve von Neumann'a 1975 ylnda Nobel Ekonomi ödülü verilmi³tir.

1947'den sonra geli³tirilen bilgisayar uygulamalar ile birlikte özellikle büyük sa- nayi birimleri ve büyük devlet projeleri için birçok do§rusal programlama prob- lemi tanmlanm³ ve Simpleks algoritmas ile çözülüp pratikte kullanlmaya ba³- lanm³tr. Örne§in petrol rane ³irketleri çok girdili ve çok çktl günlük üretim planlamalar için do§rusal programlama çözümlerini devaml kullanmaya ba³la- m³lardr.

1979'da Leonid Haciyan do§rusal programlama probleminin polinomsal zaman içinde çözülebilece§ini ilk defa ispat etmi³tir. Bu alanda çok daha önemli te- orik ve pratik geli³meler 1984'te Narendra Karmarkar'n do§rusal programlama problemlerin çözülmesi için (Simpleks algoritmas yerine) ara nokta yöntemini öne sürmesi ile yeni bir boyut kazanm³tr. Zamanmzda do§rusal problemlerin çözümünde yo§unlukla Karmarkar'n temellerini atm³ oldu§u bu yöntemler kul- lanlmaktadr.

Do§rusal programlama kullanlmasnn pratik yararll§nn ispat edildi§i ilk prob- lemlerden biri olan Dantzig tarafndan ortaya atlm³ 70 ki³inin 70 göreve karar verici olarak atanmas örne§i biraz daha ayrntl olarak incelendi§inde daha iyi anla³labilir. Bu problemde ki³ilerin görevlere en iyi sonucu verecek ³ekilde tahsis edilmesi için e§er bütün olas durumlar teker teker elden geçirilip amaca yap- t§ katklar bulunmak istenirse bu kadar büyük sayda bir permütasyonun elden geçirilmesinin imkânsz oldu§u ortaya çkar; çünkü gerekli permütasyon says neredeyse bütün evrende bulunan parçacklarn saysna yakndr. Bu problemin bilgisayarla Simpleks algoritmas kullanlarak çözülmesi saniyeler bile sürmemek- tedir. Do§rusal programlama kuram arkasnda bulunan teori, kontrol edilmesi gereken mümkün en iyi çözüm saysn çok etkili ³ekilde azaltt§ için çözüm süresi inanlmaz derecede ksalr. Burada problemin çözümünde zaman alan asl ksmn sadece problemin do§rusal programlama modeline dönü³türülmesi ve bilgisayara olan girdisinin hazrlanmas olmaktadr.

Bir matematiksel eniyileme modeli e§er sürekli de§i³kenlere ve tek bir do§rusal amaç fonksiyonuna sahipse ve tüm kstlamalar do§rusal e³itlik veya e³itsizlikler- den olu³uyorsa, do§rusal (lineer) program olarak adlandrlr. Ba³ka bir deyi³le, modelin tek-amaçl fonksiyonu ve tüm kstlamalar, süreklilik gösteren karar de- §i³kenlerinden olu³maldr.

Model, bir sistemin de§i³en ko³ullar altndaki davran³larnn incelenmesi, kontrol edilmesi ve gelece§i hakknda varsaymlarda bulunulmas amac ile sistemin ele-

manlar arasndaki ili³kilerin kelimeler ya da matematiksel formüller yardm ile belirlenmesine verilen addr. Matematiksel model ise bir sistemin elemanlarnn simgeler ile tanmlandktan sonra aralarndaki ili³kilerin fonksiyonlar ile göste- rilmesine verilen addr. Do§rusal Programlamada her bir eniyileme probleminin öncelikle matematiksel olarak modellenmesi gereklidir. Do§rusal programlama için olu³turulan bir modelde üç farkl bile³en bulunur [23]. Bu bile³enler a³a§da açklanm³tr.

• Karar de§i³kenleri ve de§i³ken snrlar

Örne§in üretilecek ürünlerin miktarlar gibi genelde ayarlanabilen veya kont- rol edilebilen saysal büyüklükler için kullanlan de§i³kenlerin de§erleri prob- lemin ba³langcnda bilinmemektedir. Sadece de§i³kenler için belirli limitler ve pozitiik veya negatiik gibi ön tanmlamalar yaplabilir. Burada yapl- mak istenen do§rusal programlama modelindeki amaç fonksiyonun en iyi de§erini veren de§i³ken de§erlerinin bulunmasdr.

• Kstlamalar

Bir Do§rusal Programlama problemi, karar de§i³kenlerinin alaca§ de§erleri snrlayan belirli kstlar içermelidir. Burada her bir kst do§rusal e³itlik ya da e³itsizlikler ile tanmlanr. Tanmlanan her bir kst mevcut çözüm uzayn biraz daha küçülterek olas çözümlerin saysnn azalmasna neden olur. Örne§in bir gerçek dünya probleminde üretim hattnda çal³an i³çi says, üretim band says ve tüketilebilecek en fazla hammadde miktar gibi tanmlamalarn her biri birer kst olu³turur.

• Amaç fonksiyon

Her bir DP problemi bir amaç fonksiyon ve eniyilenecek karar de§i³ken- leri içermelidir. Burada amaç fonksiyonu karar de§i³kenlerinin (x1, x2, ...., xn)

do§rusal bir fonksiyonudur. Amaç fonksiyonu enbüyükleme ya da enküçük- leme olacak ³ekilde tanmalanabilir. Gerçek dünya problemlerinde seçilen amaçlara örnek olarak üretimdeki maliyetler toplamnn enküçüklenmesi veya yaplacak kârn enbüyüklenmesi verilebilir.

“ekil 3.4'te örnek olarak bir do§rusal programlama problemi için var olan do§ru- sal kstlar, mümkün olabilecek olas çözüm bölgesi ve en yüksek kazanç noktas gösterilmi³tir. “ekil üzerinde do§rusal e§riler modelde bulunan do§rusal kst- lar tarafndan üretilmi³lerdir. Bu do§rular arasnda kalan taral bölge ise çözüm

“ekil 3.4: Örnek bir do§rusal programlama problemi için mümkün olabilecek olas çözüm bölgesi ve en yüksek kazanç noktas gösterimi.

bölgesini temsil etmektedir. Yani, bu alan içerisindeki her çözüm model için sa§- lanmaktadr. Ancak bu çözümlerden en iyi çözümü veren, yani verilen do§rusal programlama modelindeki amaç fonksiyonun en yüksek de§eri ald§ sadece tek bir nokta bulunmaktadr. Bu nokta ise ³ekil üzerinde krmz ok ile gösterilmi³ olan optimum noktadr.

Benzer Belgeler