29269309-optimizasyon

8

Click here to load reader

Upload: kivanc-hepsen-inci

Post on 14-Feb-2015

31 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: 29269309-optimizasyon

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

LINEER-OLMAYAN PROGRAMLAMA BÖLÜM 0 GİRİŞ 0.1. Optimizasyon Modelleri 0.2. Lineer Denklemler 0.3. Lineer Programlama 0.4. Lineer-olmayan Programlama 0.5. Optimizasyonun Temelleri BÖLÜM I KISITLAMASIZ OPTIMIZASYON I.1. Bir-boyutlu Lineer-olmayan Nümerik Optimizasyon I.1.1. Problemin Tanımı I.1.2. Türev Bilgisi Kullanan Yöntemler I.1.2.1. Newton-Raphson Yöntemi I.1.2.2. İkiye Bölme Yöntemi I.1.3. Türev Bilgisi Kullanmayan Yöntemler I.1.3.1. Altın Bölme Yöntemi I.1.4. Bir-boyutlu Nümerik Optimizasyonun Önemi I.2. Çok-boyutlu Lineer-olmayan Nümerik Optimizasyon I.2.1. Problemin Tanımı I.2.2. Genel Güncelleme Kuralı I.2.3. Matematiksel Temeller I.2.4. Gradyant Yöntemler I.2.4.1. Birinci-dereceden Yöntemler I.2.4.1.1. Dik İniş Yöntemi I.2.4.1.2. Conjugate-Gradient (Fletcher-Reeves) Yöntemi I.2.4.1.3. Davidon-Fletcher-Powell Yöntemi I.2.4.1.4. Broydon-Fletcher-Goldfarb-Shanno Yöntemi I.2.4.2. İkinci-dereceden Yöntemler I.2.4.2.1. Değiştirilmiş Newton Yöntemi I.2.4.3. İkinci-dereceden Yaklaşık Yöntemler I.2.4.3.1. Levenberg-Marquardt Yöntemi I.2.5. Gradyant-olmayan Yöntemler I.2.5.1. Genetik Algoritmalar BÖLÜM II KISITLAMALI OPTIMIZASYON II.1. Optimallik için Analitik Koşullar II.2. Lagrange Metodu II.2.1. Eşitlik Kısıtlamalı Problem II.2.2. Eşitsizlik Kısıtlamalı Problem II.2.3. Genel Optimizasyon Problemi II.3. Duallik II.3.1. Oyunlar ve Min-Max Dualliği II.3.2. Lagrange Dualliği II.4. Konvekslik II.5. Karesel Programlama

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Page 2: 29269309-optimizasyon

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

BÖLÜM 0 GİRİŞ

0.1. Optimizasyon Modelleri Optimizasyon modelleri matematiksel terimlerle bir problemin en iyi şekilde çözülmesi amacını ifade

ederler. Bu, bir işte karın en büyük yapılması, zararın en aza indirgenmesi, etkinliğin en yükseğe çıkarılması veya riskin en aza indirilmesi olabilir. Bir köprü inşaatında dayanıklılığın en yüksek veya ağırlığın en az olması istenebilir. Bir uçağın rotasının belirlenmesinde uçuş süresinin en az veya yakıt tüketiminin en az olması istenebilir. bir problemin optimum şekilde çözülmesi isteği o kadar yaygındır ki hemen hemen tüm uygulama alanlarında karşımıza çıkmaktadır. Hatta, Fermat’ın türettiği ışığın kırılması kanununda olduğu gibi, doğanın kanunlarını açıklamakta bile kullanılmaktadır.

Optimizasyon modelleri amaçları bu kadar çok çekici olduğundan yüzyıllardan beri kullanılmaktadır. Son zamanlarda, iş dünyası daha da büyüyüp karmaşıklaştıkça ve mühendislik tasarımları daha anlaşılmaz hale geldikçe optimizasyon modelleri kaçınılmaz hale gelmiştir. Artık pek çok durumda, bu modellerin yardımı olmadan kararların alınması mümkün olmamaktadır. Büyük, çok-uluslu bir şirkette örneğin çok küçük bir iyileştirme milyon dolarlık bir kara imkan verebilmektedir. Benzer şekilde, bu modellerin yardımı olmadan milyon mertebesinde transistöre sahip bir yonganın tasarımı neredeyse imkansızdır.

Böylesine büyük modellerin, çözülmedikleri sürece hiçbir değeri yoktur. Bilgisayar sistemlerinin yazılım ve donanımsal olarak hızlı ilerleyişiyle optimizasyon modelleri, iş dünyası, bilim ve mühendislikte kullanılabilen pratik bir araç haline gelmiştir. Artık milyonlarca tasarım değişkenine sahip bir optimizasyon probleminin çözümü mümkün hale gelmiştir.

Bu bölümde optimizasyon modellerine ilişkin bazı örnekler verilecektir. Örnekler, modellerin özelliklerini ve aynı zamanda problemi çözen teknikler arasındaki farklılıkları yansıtan kategorilere ayrılmıştır [1].

0.2. Lineer Denklemler

Lineer denklem sistemleri neredeyse tüm optimizasyon problemlerin de merkezi bir rol oynar. Burada ise bir veri uydurma örneği verilecektir. Lineer denklem sistemlerinin çözümü Lineer Programlama’da Simplex metodunun çözümünde ve Lineer-olmayan Programlama’da Newton yönteminde kullanılmaktadır.

(2,1), (3,6) ve (5,4) noktalarından geçen bir parabolun denklemini bulma problemini ele alalım. Bu noktalar (ti,bi) ile parabol de b(t)=x1+x2t+x3t2 ile gösterilirse aşağıdaki gibi üç bilinmeyenli üç denklem elde edilir:

x1+x2(2)+x3(2)2 = 1 x1+x2(3)+x3(3)2 = 6 x1+x2(5)+x3(5)2 = 4

veya x1+2x2+4x3 = 1 x1+3x2+9x3 = 6 x1+5x2+25x3 = 4

Burada çözüm [x1 x2 x3]T=[-21 15 -2]T şeklindedir olup parabolün denklemi b(t)=-21+15t-2t2

şeklindedir. Butip veri uydurma yaklaşımının pek çok uygulaması vardır. Verilerin illaki bir parabol ile

uydurulması şart değildir. Eğer verilerde bazı periyodik bileşenlerin olduğu düşünülüyorsa, b(t)=x1+x2t+x3sin(t) modeli daha uygun olabilir ve bunun sonucunda denklemler aşağıdaki şekilde olur:

x1+x2(2)+x3sin(2) = 1 x1+x2(3)+x3sin(3) = 6 x1+x2(5)+x3sin(5)= 4

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Page 3: 29269309-optimizasyon

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Eğer veri uydurma problemi lineer bir denklem sistemiyle çözülecekse, veri sayısıyla bilinmeyen sayısının eşit olması gerekir. en genel durumda elimizde N adet veri varsa bu verileri b(t)=x1+x2t+x3t2+…++xNtN-1 eğrisiyle uydurmak istersek,

⎥⎥⎥⎥

⎢⎢⎢⎢

=

⎥⎥⎥⎥

⎢⎢⎢⎢

⎥⎥⎥⎥⎥

⎢⎢⎢⎢⎢

NNNNN

N

N

b

bb

x

xx

tt

tttt

MM

L

MOMM

L

L

2

1

2

1

1

122

111

1

11

şeklinde bir lineer denklem sistemi elde edilir. Bu sisteme “kare” sistem diyebiliriz çünkü veri matrisi kare bir matristir (veri sayısı bilinmeyen sayısına eşit olduğundan). Daha ileriki konularda veri sayısının bilinmeyen sayısına eşit olmadığı durumlar da incelenecektir [1]. 0.3. Lineer Programlama

Bir lineer programlama modelinde lineer bir amaç fonksiyonu lineer kısıtlamalar altında optimize edilir. Lineer fonksiyonların basit olmalarına rağmen ekonomi, ağlar, planlama gibi alanlarda sıkça karşımıza çıkmaktadır.

Varsayalım ki mutfak kabini üreten bir firma haftalık kazancını maksimum yapmak istemektedir. Firma çok çeşitli siparişleri kabul etmektedir. Bunların arasında açık-raflı kitaplıklar, kapılı kabinler, çekmeceli kabinler ve müşteri-istekli kabinler olabilmektedir. Dört tip kabinin yapılması için gerekli malzeme miktarı ve işgücü ve aynı zamanda o kabinden elde edilen gelir aşağıdaki tabloda verilmiştir.

Kabin Tahta İşgücü Gelir

Kitaplık 10 2 100 Kapılı Kabin 12 4 150 Kapısız Kabin 25 8 200 Müşteri tasarımı 20 12 400

Varsayalım ki firmanın 5000 birim tahta ve 1500 birim işgücü mevcut. x1, x2, x3 ve x4 değişkenleri

sırasıyla her bir kabin tipi için üretilecek kabin sayısını göstersin. Buna ilişkin lineer programlama modeli aşapıdaki şekilde kurulabilir:

4321,,,

400200150100 maximize4321

xxxxzxxxx

+++=

Kısıtlamalar: 500020251210 4321 ≤+++ xxxx 1500128122 4321 ≤+++ xxxx 4321 ,,,0 xxxx≤

Bu model, tahtanın yanı sıra kabinlerde kullanılacak cam malzeme, vidalar lamine malzemeler v.b. diğer malzemeler ve fazladan işçi çalıştırma veya fazla mesai gibi durumlar da hesaba katılarak daha da gerçekçi hale getirilebilir [1].

0.4. Lineer-olmayan Programlama

Lineer-olmayan programlama bir fonksiyonun bazı kısıtlama fonksiyonları altında minimum veya maksimum yapılmasıdır. Buradaki fonksiyonlardan herhangi biri lineer-olmayan bir fonksiyon olabilir.

Lineer-olmayan programlama modelleri çoğunlukla bilim ve mühendislik alanlarında karşımıza çıkar. Örneğin bir kürenin hacmi, yarıçapının lineer-olmayan bir fonksiyonudur. Bir elektrik devresinde harcanan enerji, direncin lineer-olmayan bir fonksiyonudur. Bir hayvan topluluğunun nüfusu, doğum- ve ölüm-oranlarının lineer-olmayan bir fonksiyonudur.

Varsayalım ki dört adet bina elektrik kablolarıyla birbirine bağlanacaktır. binaların pozisyonları aşağıdaki şekilde gösterilmiştir. İlk iki bina dairesel bir yapıya sahip olup ilki (1,4) noktasında olup yarıçapı 2’dir, 1 yarıçaplı ikinci bina ise (9,5) koordinatlarındadır. Kare şekilli üçüncü binanın bir kenarının uzunluğu 2 olup bina (3,-2) noktasını merkez kabul edecek şekilde yerleştirilmiştir. Dördüncü

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Page 4: 29269309-optimizasyon

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

bina ise yüksekliği 4, genişliği 2 olan bir dikdörtgen şeklinde olup merkezi (7,0) noktasındadır. Binalardan gelen elektrik kabloları (x*,y*) gibi tek bir ortak noktada birleştirilecek ve her bir i. binaya (xi,yi) noktasından bağlanacaktır. Amacımız toplam kablo uzunluğunu minimum yapmaktır. wi ile i. binanın ortak bağlantı noktasına olan uzaklığını gösterirsek, bu problem için model şu şekilde kurulabilir:

4321,

minimize wwwwzyx

+++=

Kısıtlamalar: ( ) ( ) .4,3,2,1,022 ==−+−− i yyxxw iii

( ) ( ) 441 21

21 ≤−+− yx

( ) ( ) 141 22

22 ≤−+− yx

Binalardaki bağlantı noktaları sabit değilse bu kısıtlamar da eklenir

42 3≤≤x 13 3 −≤≤− y 86 4 ≤≤ x 22 4 ≤≤− y

(x,y)

(x4,y4) (x3,y3)

(x2,y2) (x1,y1)

w4w3

w2w1

Şekil 1. Binaların yerleşimi [1].

0.5. Optimizasyon Temelleri 0.5.1 Fizibilite ve Optimallik

Fizibilite ve optimum noktaları tanımlamanın pek çok yolu vardır. Önce fizibilite ile ilgili terimleri tanımlayalım:

lixvmixu

i

i

,...,3,2,10)(,...,3,2,10)(

====

Burada ve fonksiyonları optimizasyon modelleri üzerinde tanımlana kısıtlama

fonksiyonlarıdır. Örneğin gibi bir kısıtlama, ( )iu x ( )iv x

21 2 33 2 2x x x+ = − 9

0( ) 21 1 2 33 2 2 9u x x x x= + − + =

şeklinde yazılırken ( ) ( )1sin cos 2x x≤ şeklindeki bir kısıtlama,

( ) ( ) ( )1 1 2sin cos 0v x x x= − ≤ şeklinde yazılır. Bütün kısıtları sağlayan noktaya optimizasyon modelinin fizibl noktası denir. Fizıbl noktalardan oluşan küme veya bölgeye fizibl bölge denir ve S ile gösterilir.

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Page 5: 29269309-optimizasyon

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

x̂ gibi bir fizibl noktada, kısıtlaması eğer 0)( ≤xiv 0)ˆ( =xiv ise aktif, eşitlik sağlanmıyorsa aktif değil denir. İlk durum sağlanıyorsa yani kısıtlama aktif ise noktası sınırdadır denir, ikinci durumda ise içeridedir denir.

Tüm eşitlik kısıtlamaları herhangi bir fizıbl noktada aktiftir. Fizıbl bir noktadaki aktif küme, bu noktada aktif olan tüm kısıtlamalardan oluşan küme olarak tanımlanır. En az bir eşitsizlik kısıtlamasının aktif olmadığı fizıbl noktaların oluşturduğu bölgeye sınır bölgesi, kalanlara da içerideki noktalar denir. Örnek:

3x Kısıtlamalar:

0)(0)(0)(

0632)(

33

22

11

3211

≥=≥=≥=

=−++=

xvxvxv

xxxu

xxxx

ax

cx 2x

bx

1x

Ta ]200[=x fizıbl noktasında ve aktiftir, çünkü kısıtlama aktif değildir. 1v 2v 3v

Tb ]103[=x fizıbl noktasında sadece aktif 2v

Tc ]111[=x fizıbl noktasında hiçbir kısıtlama aktif olmadığından içerdeki noktadır.

Şimdide optimallik ile ilgili terimlere bir göz atalım. Aşağıdaki n-boyutlu problemi ele alalım:

)( minimize xx

fS∈

.

Minimizasyon ile maksimizasyon arasında bir fark yoktur, gibi bir fonksiyonu, )(xf))((- maximize x

xf

S∈

problemini çözerek maksimize edebiliriz. Bu yüzden sadece minimizasyon problemini düşünmek yeterli olacaktır. S fizıbl bölgesi, çoğunlukla kısıtlamalardan oluşan bir küme olarak düşünülecektir. Kısıtlamasız problemler için olduğu düşünülecektir. nℜ⊂S

Bir optimizasyon probleminin çözümüne ilişkin en temel tanım şu şekilde yapılabilir; S∈∀x için şartı sağlanıyorsa, )()( * xx ff ≤

*x noktası fonksiyonun global minimumudur. )(xf*x noktası aşağıdaki şartı sağlıyorsa kesin-global minimum olarak tanımlanır:

)()( * xx ff < , S∈∀x ve *xx≠ . Tüm fonksiyonların sonlu global minimumları olmayabilir ve bir fonksiyonun global minimumu

olsa bile bu onun kesin global minimum olduğu anlamına gelmez.

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Page 6: 29269309-optimizasyon

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Kesin global minimum Global minimum yok Kesin-olmayan global minimum

Global minimum bulmak her zaman mümkün olmayabilir. Çünkü bu derste kullanılacak yöntemler Taylor serisi açılımlarını kullanır ve bu seriler ancak belli bir nokta civarında bilgi verirler. Bu yüzden global minimumlar yerine daha yerel olanları bulmaya çalışacağız.

Eğer bir noktası aşağıdaki şartı sağlıyorsa bu noktaya lokal veya yerel minimum denir: *x)()( * xx ff ≤ S∈∀x öyle ki ε<− *xx

Burada ε , ’a bağlı olmayan küçük bir değerdir, *x • vektör normudur. Eğer bir noktası aşağıdaki şartı sağlıyorsa bu noktaya kesin-yerel minimum denir: *x

)()( * xx ff < S∈∀x öyle ki *xx≠ ve ε<− *xx

0.5.2 Konvekslik

Global çözümün bulunabildiği önemli bir durum vardır ki bu durumda amaç fonksiyonu konveksi bir fonksiyondur ve S’de konveks bir kümedir. Önce konveks bölge hakkında konuşalım. Bir S kümesi aşağıdaki şartı sağlıyorsa, konveks’tir:

10 ≤≤α olmak üzere S∈∀ yx, için S∈−+ yx )1( αα . Başka bir deyişle, eğer x ve y S’nin içinde iseler x ve y noktalarını birleştiren doğru parçası da S’nin

içindedir

Konveks Konveks Değil

Daha genel bir tanımlama yapmak istersek, lineer kısıtlamalardan oluşan her küme konveks bir

kümedir.

Yerel minimum

Kesin yerel minimum

Kesin yerel minimum Kesin yerel

minimum

Kesin yerel minimum Kesin global minimum

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Page 7: 29269309-optimizasyon

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Eğer bir fonksiyonu aşağıdaki şartı sağlıyorsa, S konveks kümesinde konveks’tir denir. )(xf10 ≤≤α olmak üzere S∈∀ yx, için )()1()())1(( yxyx fff αααα −+≤−+ .

Bu tanıma göre, ve noktalarını birleştiren doğru parçası fonksiyonun grafiğinin üstünde kalıyorsa konvekstir.

( ))(, xx f ( )(, yy f ))(xf

Benzer şekilde, fonksiyonu aşağıdaki şartı sağlıyorsa, S kümesinde konkav’dır denir. )(xf

10 ≤≤α olmak üzere S∈∀ yx, için )()1()())1(( yxyx fff αααα −+≥−+ . Lineer fonksiyonlar hem konveks hem konkav’dırlar. Eğer bir fonksiyon aşağıdaki şartı sağlıyorsa kesin-konveks’tir:

10 ≤≤α olmak üzere S∈∀ yx, için yx≠ olmak üzere )()1()())1(( yxyx fff αααα −+<−+ . Şimdi yerel ve global çözümlere geri dönelim. Konveks programlama problemi şu şekilde tanımlanabilir:

)( minimize xx

fS∈

burada S konveks bir küme ve konveks bir fonksiyondur. Başka bir tanımlama da şu şekilde yapılabilir:

)(xf

)( minimize xx

fS∈

Kıs.: , 0)( ≥xiv li ,...,2,1= burada konveks ve ’ler konkavdır [1]. )(xf )(xiv Teorem: Konveks Programlama Probleminin Genel Çözümü

*x , bir konveks programlama probleminin yerel çözümü olsun. Bu durumda aynı zamanda global çözümdür. Eğer amaç fonksiyonu kesin-konveks ise kesin-global çözümdür.

*x*x

Genellikle, optimizasyon problemlerinde fonksiyonun ve S’nin konveks olup olmadığını anlamak

güçtür. 0.5.3 Konvekslik ve Türevler Eğer bir-boyutlu bir fonksiyon olan f ’nin ikinci dereceden türevleri mevcutsa, konvekslik için alternatif bir tanım verilebilir. Böyle bir fonksiyon ancak ve ancak,

S∈∀≥ x xf ,0)('' ise konvekstir. Örneğin ( ) 4=f x x fonksiyonu tüm reel eksen boyunca konvekstir, çünkü S∈∀x için

. Diğer taraftan 012)('' 2 ≥= xxf ( ) ( )sin=f x x fonksiyonu ise ne konvekstir ne de konkav’dır. Çok-boyutlu durumda ise ikinci türevlerden oluşan Hessian matrisinin pozitif-yarı-tanımlı olması gerekir, yani

)(yf

x

)(xf

y))1(( yx αα −+f

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

Page 8: 29269309-optimizasyon

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi

S∈∀x için şartı tüm y’ler için sağlanmalıdır. Burada y vektörünün S içinde olması gerekmez. Örnek olarak,

0)(2 ≥∇ yxy fT

( ) 21 2 1 1 2 2, 4 12 9= + + 2f x x x x x x karesel fonksiyonu konvekstir, çünkü

0)32(2

18248

1812128

][)(

221

2221

21

2

121

2

≥+=

++=

⎥⎦

⎤⎢⎣

⎡⎥⎦

⎤⎢⎣

⎡=∇

yy

yyyy

yy

yyfT yxy

Eğer ise kesin-konveks’tir. Eğer Hessian matrisi S∈∀> x xf ,0)('' )(xf ∀ ∈x S için pozitif-tanımlı

ise kesin-konvekstir [1]. )(xf

[1] Linear and Nonlinear Programming, Nash and Sofer, 1996.

EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi