KISITLI OPTĠMĠZASYONnedimtutkun.com/ders_notlari/optimizasyon_teknikleri/notlar6.pdf · Bu...

41
KISITLI OPTĠMĠZASYON

Transcript of KISITLI OPTĠMĠZASYONnedimtutkun.com/ders_notlari/optimizasyon_teknikleri/notlar6.pdf · Bu...

KISITLI OPTĠMĠZASYON

DOĞRUSAL OLMAYAN

PROGRAMLAMA

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.

ġekil 4. Konuşlandırılmış bir paraşüt.

Doğrusal Olmayan Optimizasyon

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

ġekil 4. Kısıtların girildiği diyalog kutusu.

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