KISITLI OPTĠMĠZASYONnedimtutkun.com/ders_notlari/optimizasyon_teknikleri/notlar6.pdf · Bu...
Transcript of KISITLI OPTĠMĠZASYONnedimtutkun.com/ders_notlari/optimizasyon_teknikleri/notlar6.pdf · Bu...
Doğrusal Olmayan Programlama
Gerçek haytatta karşılaşılan birçok problem sadece
doğrusal olmayan fonksiyonlarla modellenebilir.
Doğrusal olmayan programlama (DOP) problemleri
genelde doğrusal programlama formatına uyan ancak
doğrusal olmayan fonksiyonları içeren problemler olarak
adlandırılır.
Çözüm yöntemleri doğrusal programlama yöntemlerinden
daha karmaşıktır. Öyle ki; en uygun çözümü belirlemek
genellikle imkansız olmasa bile zordur.
Doğrusal Olmayan Programlama
Doğrusal olmayan optimizasyon problemlerinin kısıtlarla ele
alınması için bir dizi yaklaşım mevcuttur. Bunlar genellikle
dolaylı ve doğrudan yaklaşımlar olarak ayrılabilir. Tipik bir
dolaylı yaklaşım ceza fonksiyonu denen fonksiyonlar
kullanılır. Bu fonksiyonlar muhtemel çözüm bir kısıta
yaklaştığında amaç fonksiyonunun değerini azaltan veya
arttıran ek ifadeler kullanırlar. Bu şekilde muhtemel
çözümün mevcut kısıtları ihlal etmesinin önüne geçilir.
Ancak bu tür yöntemler bazı problemlerde faydalı olurken,
birçok kısıt içeren problemlerin çözümünü zorlaştırır.
Doğrusal Olmayan Programlama
Genelleştirilmiş indirgemeli gradyan (GRG) arama yöntemi,
doğrudan yöntemlerin daha popüler olanlarından biridir
(detaylar için bakınız, Fylstra ve diğerleri, 1998; Lasdon ve
arkadaşları, 1978; Lasdon ve Smith, 1992). Aslında bu yöntem
Excel Çözücü‟de kullanılan doğrusal olmayan bir yöntemdir. Bu
yöntem ilk önce kısıtlı problemi kısıtsız bir optimizasyon
problemine çevirir. Bunu non-lineer denklem setini temel
olmayan değişkenler cinsinden ifade edilen temel değişkenlere
göre çözerek gerçekleştirir. Daha sonra kısıtsız optimizasyon
problemi daha önceki bölümde verilen uygun yaklaşımlara göre
çözülür.
Doğrusal Olmayan Programlama
İlk olarak amaç fonksiyondaki iyileşmenin arandığı yön
boyunca bir arama yönü seçilir. Varsayılan seçim daha önce
tarif edildiği gibi Hesiyan matrisinin yaklaşık değerlerini tutmayı
gerektiren Newton benzeri yaklaşımıdır. Bu yaklaşım çoğu
durumda iyi bir performans gösterir. Eşlenik gradyan yaklaşımı
Excel'de büyük problemlerin çözümü için bir alternatif olarak
bulunmaktadır. Excel Çözücü‟nün mevcut saklama alanına
bağlı olarak otomatik olarak eşlenik gradyan yöntemine geçen
iyi bir özelliği vardır. Arama yönü belirlendikten sonra değişken
adım miktarı yaklaşımı kullanılarak belirlenen doğrultuda tek
boyutlu bir arama gerçekleştirilir.
Yazılım Paketleri İle Optimizasyon
Yazılım paketleri, optimizasyon için büyük yeteneklere
sahiptir. Bu derste kullanım kolaylığı ve daha yararlı
olanlardan bazılarından bahsedeceğiz. Doğrusal olmayan
programlamadan ziyade doğrusal programlamayı
uygulamak için kolay ifade edilebilir biçimde tasarlanmış
çeşitli yazılım paketleri vardır. Çok geniş kullanımı
olduğundan Excel paket programında kullanılan tablolara
odaklanılacaktır. Bu kök yerlerinin belirlenmesi gibi bir çok
problemin çözümü için kullanılan Excel Çözücü‟yü
kullanmayı gerektirir.
Yazılım Paketleri İle Optimizasyon
Excel Çözücü‟nün doğrusal programlama için kullanıldığı
biçim verileri tablo hücrelerine giren önceki uygulamalara
benzerlik göstermektedir. Burada temel strateji tablodaki
diğer hücrelerin varyasyonlarının bir fonksiyonu olarak
optimize edilecek tek bir hücreye ulaşmaktır. Aşağıdaki
örnek, bunun gaz işleme problemi için nasıl yapılabileceğini
göstermektedir.
Yazılım Paketleri İle Optimizasyon
Örnek: Daha önce verilen gaz işleme problemini Excel
Çözücüyü kullanarak çözünüz.
Çözüm: Gaz işleme problemindeki istenilen değerleri
hesaplamak için bir Excel çalışma sayfası Şekil 1„de
gösterilmiştir. Gölgeli olmayan hücreler sayısal ve etiket
verilerini içermektedir. Gölgeli hücreler, diğer hücrelere
bağlı olarak hesaplanan miktarları içerir. Maksimize
edilecek hücre toplam kârı içeren D12 hücresidir.
Değiştirilecek hücreler üretilen normal ve süper gaz
miktarlarını içeren B4:C4'tür.
Yazılım Paketleri İle Optimizasyon
Örnek: Daha önce verilen gaz işleme problemini Excel
Çözücüyü kullanarak çözünüz.
Çözüm: Gaz işleme problemindeki istenilen değerleri
hesaplamak için bir Excel çalışma sayfası Şekil 1„de
gösterilmiştir. Gölgeli olmayan hücreler sayısal ve etiket
verilerini içermektedir. Gölgeli hücreler, diğer hücrelere
bağlı olarak hesaplanan miktarları içerir. Maksimize
edilecek hücre toplam kârı içeren D12 hücresidir.
Değiştirilecek hücreler üretilen normal ve süper gaz
miktarlarını içeren B4:C4'tür.
Yazılım Paketleri İle Optimizasyon
Excelde tablo oluşturulduktan sonra Çözücü „Araçlar‟
menüsünden seçilir. Bu noktada, ilgili bilgilerin girişi için bir
diyalog kutusu görüntülenecektir. Buradan Çözücü diyalog
kutusunun ilgili hücreleri aşağı Şekil 2‟deki gibi doldurulur. Şekil
3‟te verilen diyalog kutusu kullanılarak kısıtlar “Ekle” butonu ile
tek tek eklenir. Gösterildiği gibi, toplam ham gazın (hücre D6)
mevcut arzdan (E6) daha az veya buna eşit olması gerektiği
gösterilen biçimde eklenebilir. Her bir kısıtlama eklendikten
sonra, “Ekle” butonu seçilebilir. Dört kısıtlamanın tamamı
girildiğinde, Çözücü diyalog kutusuna dönmek için “Tamam”
düğmesi seçilir.
Yazılım Paketleri İle Optimizasyon
Şimdi çalıştırmadan önce Çözücü seçenekleri düğmesi
seçilmeli ve “Lineer model varsay” etiketli kutu işaretlenmelidir.
Bu uygulamanın hızını artırmak için Excel‟in simpleks
algoritması bir sürümünü (genellikle kullandığı daha genel Bu
seçeneği belirledikten sonra Çözücü menüsüne dönün.
„Tamam‟ düğmesi seçildiğinde, işlemin başarısı hakkında bir
rapor ile bir diyalog kutusu açılır. Mevcut durum için Çözücü
Şekil 4‟te gösterilen doğru çözümü elde eder. Çözümü elde
etmenin ötesinde, Çözücü ayrıca bazı yararlı özet raporlar
temin eder. Bunları daha önce tarif edilen mühendislik
uygulamalarında inceleyeceğiz.
ġekil 1. Doğrusal programlama için Çözücü‟yü kullanan Excel tablosu
Yazılım Paketleri İle Optimizasyon
ġekil 2. Excel Çözücü‟ye problemle ilgili parametrelerin girilmesi.
Yazılım Paketleri İle Optimizasyon
ġekil 3. Verilen problemle ilgili kısıtların diyalog kutusu ile girilmesi.
Yazılım Paketleri İle Optimizasyon
ġekil 4. Doğrusal programlama problemine çözümünü gösteren Excel tablosu.
Yazılım Paketleri İle Optimizasyon
Doğrusal Olmayan Optimizasyon
Çözücünün doğrusal olmayan optimizasyon için
kullanıldığı yöntem, önceki uygulamalarımıza
benzemektedir. Bu veriler tablo hücrelerine girilir. Bir
kez daha, temel strateji, elektronik tablodaki diğer
hücrelerin varyasyonlarının bir fonksiyonu olarak
optimize edilecek tek bir hücreye ulaşmaktır. Aşağıdaki
örnek doğrusal olmayan optimizasyon problemi için
oluşturulmuş paraşütçü problemi ile ilgili olup Excel
Çözücü ile bunun nasıl yapılabileceğini göstermektedir.
Doğrusal Olmayan Optimizasyon
Örnek: Paraşüt Maliyetinin Optimizasyonu
Burada sayısal yöntemlerin temel problem alanlarını
göstermek için düşen paraşütçü örneğini kullanılmıştır.
Bu örneklerin hiçbiri paraşüt açıldıktan sonra ne
olduğuna odaklanmamıştır. Ancak bu örnekte
paraşütün açıldıktan sonraki durumu incelenecek ve
paraşütün yere çarpma hızı tahmin edilmeye
çalışılacaktır.
Doğrusal Olmayan Optimizasyon
Bir savaş bölgesinde mültecilere hava yolu ile malzeme
tedarik etmeyi planlayan bir yardım kuruluşu için
çalışan bir mühendis olduğunuzu düşünün. Malzemeler
düşük irtifada yani 500 m‟den düşecek bu şekilde
düşüş tespit edilmeyecektir. Bunun yanı sıra
malzemeler mülteci kampına olabildiğince yakın
düşecektir. Paraşütler uçağı terk ettikten hemn sonra
açılacaktır. Hasarını azaltmak için çarpma üzerindeki
dikey hız vc = 20 m/s kritik değerinin altında olacaktır.
Doğrusal Olmayan Optimizasyon
Düşüş için kullanılan paraşüt, Şekil 1'de gösterilmiştir. Paraşütün
kesit alanı yarı kürenin yüzey alanı şeklindedir. Paraşütü kütleye
bağlayan 16 kordonun her birinin uzunluğu, paraşüt yarıçapı ile
ilişkilidir. Paraşüt için sürükleme kuvvetinin aşağıdaki formül
tarafından tanımlanan kesit alanının doğrusal bir fonksiyondur.
Burada c, sürükleme katsayısı (kg/s) ve kc alanın sürükleme
[kg/(sm2) üzerindeki etkisini parametrelendiren bir orantı
sabitidir. Ayrıca, yükü istenildiği kadar pakete bölünebilinir. Yani,
her bir paketin kütlesi şu şekilde hesaplanabilir.
Doğrusal Olmayan Optimizasyon
Burada m = bir paketin kütlesi (kg), Mt = düşürülecek toplam yük
(kg), ve n = toplam paket sayısı. Son olarak, her bir paraşütün
maliyeti doğrusal olmayan bir şekilde paraşütün büyüklüğü ile
ilişkilidir. Buna göre paraşüt başına maliyet aşağıdaki gibi olur.
c0, c1 ve c2 maliyet katsayılarıdır. Sabit terim c0 paraşütlerin taban
fiyatıdır. Daha büyük paraşütler imal etmek küçük paraşütlere göre
çok daha zor olduğundan paraşütlerde maliyet ve alan arasında
doğrusal olmayan bir bağıntı vardır. Yeterince küçük bir çarpma
hızına sahip olan ve aynı zamanda minimum maliyetli olacak (r)
büyüklüğü ile paraşüt sayısı (n) belirleyiniz.
Doğrusal Olmayan Optimizasyon
Çözüm: Buradaki amaç, havanın kaldırma maliyetini
en aza indirmek için paraşütlerin sayısını ve boyutunu
belirlemektir. Problem kısıt içerir çünkü paketler kritik
bir değerden daha az bir darbe hızına sahip olmalıdır.
Maliyet bireysel paraşüt maliyetinin paraşüt sayısı (n)
ile çarpılmasıyla hesaplanabilir. Bu nedenle, minimize
edilmek istenen fonksiyon objektif fonksiyon olarak
adlandırılır ve aşağıdaki gibi ifade edilir.
Doğrusal Olmayan Optimizasyon
Burada C = maliyet ($) olup A ve l daha önce verilen
denklemler ile hesaplanır. Daha sonra kısıtları
belirlemek gerekir. Bu problem için iki kısıt vardır. İlk
olarak, darbe hızı kritik hıza eşit veya ondan küçük
olmalıdır,
İkincisi, paketlerin sayısı tamsayı olmalı ve 1'den büyük
veya ona eşit olmalıdır.
Doğrusal Olmayan Optimizasyon
Bu noktada optimizasyon problemi formüle edilmiştir.
Görülebileceği gibi, doğrusal olmayan bir problemdir.
Problem kabaca formüle edilmiş olsa da, bir husus daha ele
alınmalıdır: Çarpma hızını v‟nin nasıl belirleneceğidir?
Temel fizik bilgisinden hatırlanacağı üzere bu hız düşen bir
nesnenin hızı olarak aşağıdaki gibi hesaplanabilir.
Burada v hız (m/s), g yerçekimi ivmesi (m/s2), m kütle (kg)
ve t zaman (s).
Doğrusal Olmayan Optimizasyon
Verilen denklem v ile t arasında bir ilişki kurmasına rağmen
kütlenin ne kadar sürede yere düşeceğinin bilinmesi
gerekir. Bu nedenle, düşme mesafesi z ile düşme süresi t
arasında bir bağıntıya gerek vardır. Buna göre düşme
mesafesi verilen denklemin zamana göre integrali alınarak
bulunabilir.
Bu integralin sonucu olarak aşağıdaki ifade elde edilir.
ġekil 4. Yerleştirilen bir paraşütün yeryüzüne düştüğü z yüksekliği ve v hızı (z = 0).
Doğrusal Olmayan Optimizasyon
Doğrusal Olmayan Optimizasyon
Burada z0 = başlangıç yüksekliği (m). Bu fonksiyon, Şekil
3'te çizildiği gibi, verilen t bilgisi ile z‟yi tahmin etmenin bir
yolunu sağlar. Ancak, bu problemi çözmek için t'nin bir
fonksiyonu olarak z'ye ihtiyacımız yoktur. Aksine, paketin z0
mesafesine düşmesi için gereken süreyi hesaplamamız
gerekmektedir. Böylece denklemi yeniden hesaplamamız
gerekir. Bu bir kök bulma problemi olup z‟yi sıfıra götüren
zaman için çözülmesi gerekir.
Doğrusal Olmayan Optimizasyon
Çarpma süresi hesaplandıktan sonra çarpma hızını bulmak
için ilgili denklemde yerine yazılır. Bu nedenle problemin
son hali aşağıdaki gibi olur.
Doğrusal Olmayan Optimizasyon
Örnek: Bir paraşütün istenilmeyen bir noktaya düşme
maliyeti en aza indirilmek istenmektedir. Buna göre
maliyeti en aza indiren optimal parametre değerlerini
doğrusal olmayan optimizasyon yöntemi ile elde ediniz.
Verilen paraşüt problemi için parametreler aşağıda
Çizelge 1‟de verilmiştir.
Excel kullanarak C maliyetini en aza indiren tasarım
değişkenleri r ve n için bu problemi çözünüz.
Doğrusal Olmayan Optimizasyon
Çizelge 1. Örnek 2 için verilen parametre değerleri.
Parametre Sembol Değer Birim
Toplam kütle 𝑀𝑡 2000 kg
Yerçekimi ivmesi g 9.8 𝑚/𝑠2
Maliyet katsayısı (sabit) 𝑐0 200 $
Maliyet katsayısı
(uzunluk)
𝑐1 56 $/m
Maliyet katsayısı (alan) 𝑐2 0.1 $/𝑚2
Kritik darbe hızı 𝑣𝑐 20 𝑚/𝑠
Sürüklenme alan etkisi 𝑘𝑐 3 kg/(𝑠/𝑚2)
İlk damla yüksekliği 𝑧0 500 m
Doğrusal Olmayan Optimizasyon
Bu değerleri aşağıdaki gibi denklemlere
dönüştürdüğümüzde aşağıdaki denklemleri elde ederiz.
Doğrusal Olmayan Optimizasyon
Böylece yukarıda verilen denklem sağlanana kadar t değeri
ayarlanır. Mevcut problemde kullanılan parametre aralığı için
bu formülün her zaman yakınsadığı görülür. Bu denklemin
Excel tablosundaki çözümü oldukça kolaydır. Aşağıda
gösterildiği gibi, t değeri ile denklemin sağ tarafı için iki hücre
ayarlanabilir. Denklemi B21 hücresine yazın ve B20
hücresinden gelen zaman değeri ile diğer parametreleri
sayfadaki diğer hücrelerden almasını sağlayın (tüm sayfayı
nasıl ayarlayacağımıza bakın). Daha sonra B20 hücresine
gidin ve değerini B21 hücresine yönlendirin.
Doğrusal Olmayan Optimizasyon
Bu formülasyonları girdikten sonra hemen aşağıdaki gibi hata
mesajını alacaksınız: “B20'ye B21‟e bağlı olduğundan ve tam
tersi için dairesel referanslar çözülemez”. Şimdi menüden
Araçlar / Seçenekler seçimine gidin ve hesaplamayı seçin.
Hesaplamadan diyalog kutusu, “iterasyon”u kontrol edin ve
“Tamam”a basın. Hemen Excel tablo bu hücreleri yineleyecek
ve aşağıdaki sonuç ortaya çıkacaktır.
Doğrusal Olmayan Optimizasyon
Böylece hücreler kök değerine yakınsayacaktır. Daha hassas
bir hale getirmek istiyorsanız, F9 tuşunu birkaç kez daha
yinelemek için basın (varsayılan 100 adet iterasyondan
ibarettir). İlgili değerleri hesaplamak için bir Excel çalışma
sayfası daha sonra Şekil 15.6‟da gösterildiği gibi ayarlanabilir.
Gölgelenmemiş hücreler sayısal ve etiket verilerini içeren
hücrelerdir.
Doğrusal Olmayan Optimizasyon
Gölgeli hücreler, diğer hücreler esas alınarak hesaplanan
miktarlardır. Örneğin, B17‟deki kütle, Mt (B4) ve n (E5)
değerlerine dayanmaktadır. Ayrıca bazı hücreler gereksizdir.
Örneğin, E11 hücresi E5 hücresine işaret eder. Bilgi E11
hücresinde tekrarlanır, böylece kısıtların yapısı sayfadan bariz
görülür. Son olarak, minimize edilecek hücre toplam maliyeti
içeren E15 olduğu bilinmelidir. Değiştirilecek hücreler yarıçapı
ve paraşütlerin sayısını içeren E4: E5'tir. Elektronik tablo
oluşturulduktan sonra, Çözücü seçimi Araçlar menüsünden
seçilir. Bu noktada, ilgili bilgi girişi için bir diyalog kutusu
görüntülenecektir.
ġekil 4. Doğrusal olmayan paraşüt optimizasyonu problemi için Excel tablo oluşumu.
Doğrusal Olmayan Optimizasyon
Doğrusal Olmayan Optimizasyon
Kısıtlar “Ekle” butonu ile tek tek eklenmelidir. Bunun için
aşağıdaki gibi görünen bir diyalog kutusu açılacaktır.
Gösterildiği gibi, gerçek darbe hızının (hücre E10) gereken hıza
eşit veya daha az olması gerektiği (G10) kısıtlaması gösterildiği
gibi eklenebilir. Her bir kısıtlama eklendikten sonra, “Ekle”
butonu seçilebilir. Aşağı okun çeşitli kısıtlama türleri arasından
seçim yapabildiğini unutmayın (<=,> =, = ve tamsayı). Böylece
paraşütlerin sayısını (E5) bir tamsayı olarak zorlayabiliriz.
Doğrusal Olmayan Optimizasyon
Tüm üç kısıt girildiğinde, Çözücü diyalog kutusuna dönmek için
“Tamam” düğmesi seçilir. Bu seçeneği belirledikten sonra
Çözücü menüsüne dönülür. “Tamam” düğmesi seçildiğinde,
işlemin başarısı hakkında bir rapor ile bir diyalog kutusu açılır.
Mevcut durum için Çözücü, Şekil 7'deki gibi doğru çözüm elde
eder.
Bu nedenle, yükü 2.944 m'lik bir paraşüt yarıçapına sahip altı
pakete ayırırsak, 4377.26 $'lık minimum maliyetin ortaya
çıkacağı belirlenmiştir. Çözümü elde etmenin ötesinde, Çözücü
ayrıca bazı yararlı özet raporlar sunmaktadır. Bunlar ayrıca
başka bir kısımda ele alınacaktır.
ġekil 4. Doğrusal olmayan paraşüt optimizasyon probleminin çözüm tablosu.
Doğrusal Olmayan Optimizasyon