Professional Documents
Culture Documents
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
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi
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].
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
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,
⎡1 t1 L t1N −1 ⎤ ⎡ x1 ⎤ ⎡ b1 ⎤
⎢ N −1 ⎥ ⎢ ⎥ ⎢ ⎥
⎢1 t 2 L t 2 ⎥ ⎢ x2 ⎥ = ⎢ b2 ⎥
⎢M M O M ⎥ ⎢ M ⎥ ⎢ M ⎥
⎢ N −1 ⎥ ⎢ ⎥ ⎢ ⎥
⎢⎣1 t N L t N ⎥⎦ ⎣ x N ⎦ ⎣bN ⎦
ş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].
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:
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi
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:
minimize z = w1 + w2 + w3 + w4
x, y
6 ≤ x4 ≤ 8
− 2 ≤ y4 ≤ 2
(x2,y2)
(x1,y1) w1 w2
(x,y) w4
w3
(x4,y4)
(x3,y3)
Fizibilite ve optimum noktaları tanımlamanın pek çok yolu vardır. Önce fizibilite ile ilgili
terimleri tanımlayalım:
ui ( x) = 0 i =1,2,3,...,m
vi ( x) = 0 i =1,2,3,...,l
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi
x̂ gibi bir fizibl noktada, vi (x) ≤ 0 kısıtlaması eğer vi (xˆ ) = 0 ise aktif, eşitlik sağlanmıyorsa aktif
değil denir. İlk durum sağlanıyorsa yani kısıtlama aktif ise x̂ 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:
x3
Kısıtlamalar:
u1 (x) = x1 + 2 x2 + 3 x3 − 6 = 0
xa v1 (x) = x1 ≥ 0
v2 ( x) = x 2 ≥ 0
xc
x2 v3 (x) = x3 ≥ 0
xb
x1
Şimdide optimallik ile ilgili terimlere bir göz atalım. Aşağıdaki n-boyutlu problemi ele alalım:
minimize f (x) .
x∈S
Minimizasyon ile maksimizasyon arasında bir fark yoktur, f (x) gibi bir fonksiyonu,
maximize (- f (x))
x∈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 S ⊂ ℜ n olduğu düşünülecektir.
Bir optimizasyon probleminin çözümüne ilişkin en temel tanım şu şekilde yapılabilir;
∀x∈ S için f (x* ) ≤ f (x) şartı sağlanıyorsa,
x* noktası f (x) fonksiyonun global minimumudur.
x* noktası aşağıdaki şartı sağlıyorsa kesin-global minimum olarak tanımlanır:
f (x* ) < f (x) , ∀x∈ S ve x ≠ x* .
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
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi
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 x* noktası aşağıdaki şartı sağlıyorsa bu noktaya lokal veya yerel minimum denir:
f (x* ) ≤ f (x) ∀x∈ S öyle ki x − x* < ε
Burada ε , x* ’a bağlı olmayan küçük bir değerdir, • vektör normudur.
Eğer bir x* noktası aşağıdaki şartı sağlıyorsa bu noktaya kesin-yerel minimum denir:
f (x* ) < f (x) ∀x∈ S öyle ki x ≠ x* ve x − x* < ε
Kesin yerel
minimum
Kesin yerel
Kesin yerel minimum
minimum Yerel minimum
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:
0 ≤α ≤1 olmak üzere ∀x, y∈ S için αx + (1−α )y∈ S .
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
Daha genel bir tanımlama yapmak istersek, lineer kısıtlamalardan oluşan her küme konveks bir
kümedir.
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi
Eğer bir f (x) fonksiyonu aşağıdaki şartı sağlıyorsa, S konveks kümesinde konveks’tir denir.
0 ≤α ≤1 olmak üzere ∀x, y∈ S için f (αx + (1−α )y ) ≤αf (x) + (1−α ) f (y ) .
Bu tanıma göre, (x, f (x) ) ve (y , f (y ) ) noktalarını birleştiren doğru parçası fonksiyonun grafiğinin
üstünde kalıyorsa f (x) konvekstir.
f (y )
f ( x)
x f (αx + (1−α )y ) y
Benzer şekilde, f (x) fonksiyonu aşağıdaki şartı sağlıyorsa, S kümesinde konkav’dır denir.
0 ≤α ≤1 olmak üzere ∀x, y∈ S için f (αx + (1−α )y ) ≥αf (x) + (1−α ) f (y ) .
Lineer fonksiyonlar hem konveks hem konkav’dırlar. Eğer bir fonksiyon aşağıdaki şartı sağlıyorsa kesin-
konveks’tir:
0 ≤α ≤1 olmak üzere ∀x, y∈ S için x ≠ y olmak üzere f (αx + (1−α )y ) <αf (x) + (1−α ) f (y ) .
Şimdi yerel ve global çözümlere geri dönelim. Konveks programlama problemi şu şekilde tanımlanabilir:
minimize f (x)
x∈S
burada S konveks bir küme ve f (x) konveks bir fonksiyondur. Başka bir tanımlama da şu şekilde
yapılabilir:
minimize f (x)
x∈S
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,
f ''( x) ≥ 0, ∀x∈ S
ise konvekstir.
Örneğin f ( x ) = x 4 fonksiyonu tüm reel eksen boyunca konvekstir, çünkü ∀x∈ S için
f ''( x) =12 x 2 ≥ 0 . Diğer taraftan f ( x ) = sin ( 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
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi
∀x∈ S için y T ∇ 2 f (x)y ≥ 0 şartı tüm y’ler için sağlanmalıdır. Burada y vektörünün S içinde olması
gerekmez. Örnek olarak, f ( x1 , x2 ) = 4 x12 + 12 x1 x2 + 9 x22 karesel fonksiyonu konvekstir, çünkü
⎡ 8 12⎤ ⎡ y1 ⎤
y T ∇ 2 f (x)y =[ y1 y2 ]⎢ ⎥⎢ ⎥
⎣12 18⎦ ⎣ y2 ⎦
= 8 y12 + 24 y1 y2 +18 y22
= 2(2 y1 + 3 y2 ) 2 ≥ 0
Eğer f ''( x) > 0, ∀x∈ S ise f (x) kesin-konveks’tir. Eğer Hessian matrisi ∀x ∈ S için pozitif-tanımlı
ise f (x) kesin-konvekstir [1].
EEM 701 Özel Konular – Lineer-olmayan Programlama Ders Notları, Yrd. Doç. Dr. Serdar İplikçi