You are on page 1of 8

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
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
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].

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:

maximize z =100 x1 +150 x2 + 200 x3 + 400 x4


x1 , x2 , x3 , x4

Kısıtlamalar: 10 x1 +12 x2 + 25 x3 + 20 x4 ≤ 5000


2 x1 +12 x2 + 8 x3 +12 x4 ≤1500
0 ≤ x1 , x2 , x3 , x4
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
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

Kısıtlamalar: wi − (xi − x )2 + ( yi − y )2 = 0, i =1,2,3,4.


(x1 −1)2 + ( y1 − 4)2 ≤ 4
(x2 −1)2 + ( y2 − 4)2 ≤1
Binalardaki bağlantı noktaları
2 ≤ x3 ≤ 4 sabit değilse bu kısıtlamar da
− 3 ≤ y3 ≤ −1 eklenir

6 ≤ x4 ≤ 8
− 2 ≤ y4 ≤ 2

(x2,y2)
(x1,y1) w1 w2
(x,y) w4
w3
(x4,y4)
(x3,y3)

Ş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:
ui ( x) = 0 i =1,2,3,...,m
vi ( x) = 0 i =1,2,3,...,l

Burada ui ( x ) ve vi ( x ) fonksiyonları optimizasyon modelleri üzerinde tanımlana kısıtlama


fonksiyonlarıdır. Örneğin 3 x12 + 2 x2 = 2 x3 − 9 gibi bir kısıtlama,
u1 ( x ) = 3x12 + 2 x2 − 2 x3 + 9 = 0
şeklinde yazılırken sin ( x1 ) ≤ cos ( x2 ) şeklindeki bir kısıtlama,
v1 ( x ) = sin ( x1 ) − cos ( x2 ) ≤ 0
ş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
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

x a =[0 0 2]T fizıbl noktasında v1 ve v2 aktiftir, çünkü kısıtlama v3 aktif değildir.


x b =[3 0 1]T fizıbl noktasında sadece v2 aktif
x c =[1 1 1]T 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 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

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 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

Kesin yerel minimum


Kesin global 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

Konveks Konveks Değil

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

Kıs.: vi (x) ≥ 0 , i =1,2,...,l


burada f (x) konveks ve vi (x) ’ler konkavdır [1].

Teorem: Konveks Programlama Probleminin Genel Çözümü


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

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,
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].

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

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

You might also like