Professional Documents
Culture Documents
Optimizasyon
Optimizasyon
1. GR
Optimizasyon, bir sistemde varolan kaynaklarn (igc, zaman, kapital, sreler,
hammaddeler, kapasite, ekipman gibi) en verimli ekilde kullanlarak belirli amalara (maliyet
enazaltlmas, kr enoklanmas, kapasite kullanmnn enykseltilmesi ve verimliliin
enoklanmas gibi) ulamay salayan bir teknoloji olarak tanmlanmaktadr (Gass, 2000).
Optimizasyonda modelleme ve zmleme iki nemli bileen olarak nitelendirilmektedir.
Modelleme gerek yaamda karlalan problemin matematiksel olarak ifade edilmesi;
zmleme ise bu modeli salayan en iyi zmn elde edilmesini kapsamaktadr.
Optimizasyon teknolojisinin geliiminde aratrmaclar ncelikli olarak modellemeyle
ilgilenmilerdir. Bu alandaki ilk almalar Leontief tarafindan Amerika Birleik Devletlerinin
d ticaretini ve ekonomik yapsn modellemek amacyla yapt yaynlardr (Leontief, 1933;
1936). Rus matematikisi Kantorovich retim planlamasnda en sklkla karlalan
problemlerin modellenmesine ve elde edilebilecek en iyi sonular bulma metodlarn anlatt
makalesiyle modern retim sistemlerinde optimizasyona olan ihtiyac ortaya koymutur
(Kantorovich, 1939). Fakat, Kantorovichin bu almas batl bilim insanlar tarafndan uzun
sre sonra farkedilmitir (Kantorovich, 1960). Kantorovich, retim sistemlerinin performansnn
arttrmna ynelik dokuz farkl optimizasyon problemi tanmlam ve bu problemlerin
zmne ynelik olarak her problem iin farkl zm algoritmas gelitirmitir. te yandan,
Kantorovich ve Gavurin (1940) ulam sektrnn verimliliini arttrmaya ynelik modelleme
almalar da yapmlardr. Ayrca, ekonomi alannda optimum kapasite kullanmna ynelik
zellikle ulatrma sistemlerinde modelleme almalar yaplmtr (Koopmans, 1949;
Koopmans, 1951; Koopmans ve Reiter, 1951; Koopmans, 1957; Koopmans ve Bausch, 1959).
Bu modelleme almalar bilim dnyas tarafndan kabul grm ve Leontief 1973 ylnda
Nodel Ekonomi dln almtr, Kantorovich ve Koopmans ise 1975 ylnda Nobel Ekonomi
dln paylamlardr (Nobel, 2006). Optimizasyon modellerinin zellikle ekonomik
sistemlerde kullanlmas ve retim/datm sistemlerinde karlalan problemlerin birounun
optimizasyon problemi olarak modellenmesine ramen optimizasyon modellerinin teorik
zelliklerinin aratrlmas ve genel zm algoritmalarnn gelitirilmesi halen devam
etmektedir. Optimizasyon problemlerinin zmne ynelik olarak ilk nemli alma Dantzig
tarafndan yaplm ve simpleks algoritmas gelitirilmitir (Dantzig, 1949a). Nobel Ekonomi
dln 1975 ylnda alan Koopmans, Dantzigin almalarnn nemine inanm ve Dantzigin
bu dle ortak olmas gerektiini Nobel dl komitesine belirtmitir. Fakat bu carsna cevap
alamam ve Nobel dlnn te birlik ksmn Uluslararas Uygulamal Sistem Analizi
Enstitsnde (International Institute for Applied Systems Analysis-ILASA) George Dantzig
adna kurulan burs programna balamtr (Gass ve Assad, 2004). Koopmans, optimizasyon
projelerinde modelleme ve zm gelitirme almalarnn birlikte yrtlmesi gerekliliine
g( x, y ) = 0
h( x, y ) 0
x
(1)
y { 0 ,1, 2 ,...,m }
Ax b
x0
(2)
Fabrika 1
Fabrika 2
Kar Marj
Talep
Kullanlabilir
toplam retim
zaman
100
170
Ama Fonksiyonu:
Toplam karn enoklanmas (z=c1x1+c2x2)
Kstlar:
Fabrika 1deki toplam retim zaman kstldr (ai1x1+ai2x2bi)
Fabrika 2deki toplam retim zaman kstldr (aii1x1+aii2x2bi)
rn 1 iin talep miktar (x1d1)
rn 2 iin talep miktar (x2d2)
Her rn iin en dk retim miktar (x10 ve x20)
Bu problem iin dorusal programlama modeli aadaki gibi oluturulur:
max z = 1.000 x1 + 900 x2
k.s.
1x1 +
1x2 100
x1
(3)
x2 100
x1 0,
x2 0
(4)
y { 0 ,1, 2 ,...,n }
Parametreler:
e1: birinci rn seildiinde yaplacak masraf (1.500 TL)
e2: ikinci rn seildiinde yaplacak masraf (1.200 TL)
Ama Fonksiyonu:
Kstlar:
x1 +
100
x2
2x1 + 1,5x2
170
100 y1
x1
(5)
100 y2 0
x2
y1 +
y2 = 1
x1 0 , x2 0 , y1 {0,1}, y2 {0,1}
(6)
x n
Dorusal programlama rnek modelimizde her dnm iin elde edeceimiz karn elastik
olduunu dnelim: tarm arazimizi bir rn iin ne kadar fazla kullanrsak kar her dnmden
elde edeceimiz kar miktar azalmaktadr. Bu durumda birim kar miktarlar, c1 ve c2, (7)deki
gibi ifade edilirler:
c1 =
1.000
( x1 )
1 / E1
, c2 =
900
( x2 )
1 / E2
(7)
max z =
1.000
( x1 )
1 / 15
x1 +
900
( x2 )
1 / 10
x2
x1 +
x2 100
2x1 +
1,5x2 170
x1 +
100
k.s.
(8)
x2 100
x1 0 ,
x2 0
1.000
( x1 )
1 / 15
x1 +
900
( x2 )1 / 10
x2 1.500 y1 1.200 y2
x1 +
x2
100
2x1 +
1,5x2
170
100 y1
x1
y1 +
x1 0 ,
(9)
100 y2 0
x2
y2 =1
x2 0 , y1 {0,1}, y2 {0,1}
m + n (m + n) !
=
m! n!
n
(10)
Tablo 2. Dorusal Bir Sistemin Eitlik Says Ve Deiken Saysna Gre zm Says.
Deiken Says
Eitlik Says
zm Says
252
10
10
184.756
25
25
126.410.606.437.752
Tablo 2de gsterildii gibi ok kk boyutlu problemlerde btn zmleri teker teker
elde edip bu zmler arasndan en iyi sonucu elde etmek mmkn gibi grnse de gerek
hayatta karlalan problemler iin en yksek performansl bilgisayarlarla bile uygulama iin
kabul edilebilecek srelerde zlemeyecek kadar zordur. Bu durumda bilim dnyas akll
zm algoritmalar arayna girmitir. Dantzig (1949a), kinci Dnya sava sresince ve daha
sonra yapt almalar sonucu dorusal programlama problemlerinin zm iin simplex
metodunu gelitirmitir ve metodu 1949 ylnda yapt yaynla aklayarak bu alanda nclk
yapmtr. Simplex metodu dorusal programlama probleminin ifade edildii ok boyutlu
uzayda problemde varolan kst says kadar karar deikeninin aktif olduu bir zmden
balayarak ama fonksiyonun deerini en iyiye doru tayan aktif olmayan bir deikenin aktif
olan bir deikenle yer deitirmesi esasna dayanr. Bu ilem ardk olarak tekrarlanr ve ama
fonksiyonu deerinde herhangi bir iyilime elde edilmeyecei bir durumda ise simplex metodu
problemin en iyi zm bulduu iin zm elde edilmi olur. Simpleks metodu ile ilgili teorik
almalar eitli makalelerde verilmitir (Dantzig ve Wood, 1949; Dantzig, 1949b, Dantzig
1951a, Dantzig, 1951b; Dantzig, 1951c; Dantzig, 1963).
rnek problem iin zm alan ekil 1de gsterilmitir. Modelde iki esas deiken
olduu iin zm alan iki boyutlu grafikte gstrerilebilmektedir. Modeldeki birinci kst
zm alann dorusal olarak birinci deiken ekseninden 100 deerinde ve ikinci deiken
ekseninden yine 100 deerinde kesmekte ve zm alann bu dorunun altnda kalan blgeyle
snrlamaktadr. kinci kst ise kst zm alann dorusal olarak birinci deiken ekseninden
85 (1702) deerinde ve ikinci deiken eklseninden yine 113.33 (1701,5) deerinde kesmekte
ve zm alann bu dorunun altnda kalan blgeyle snrlamaktadr. Tm kstlaryla birlikte
problemin zm alan ise iki kstn kesitikleri zm alanyla snrlanmtr. ekil 1de, ama
fonsiyonun deiik deeri gsterilmitir. Bu doru zerindeki tm zmlerin ama
fonksiyonu deeri birbirine eittir. rnek problemizde de olduu gibi tm dorusal
programlama problemlerinde sonsuz sayda zm olmakla birlikte, en iyi zm modeldeki
kst saysna eit saydaki deikenin aktif olduu noktalarda, yani kslarn kesitii noktalarda
olabilmektedir (Dantzig, 1963). rnek problemimizde bu noktalar A, B, C, ve D olarak
belirtilmitir. Dolaysyla simplex metodu sadece bu zmleri rasyonel bir ekilde ardk
olarak inceleyerek en iyi zm tm zmleri elde etmeden bulur. Simplex metoduna en
kolay zm olan A (x1=x2=0) noktasndan baladmz durumda, ilk iterasyonda bu zme
komu olan B veya D zmlerinden birisini en iyi zm aday olarak incelemek
gerekmektedir. Eer B zm tercih edilirse x1 ynnde hereket edilecek ve x1 deikeninin
deerinde yaplacak her birim artla ama fonsiyonu deerinde 1.000 birim iyiletirme elde
edilecek, D zm tercih edilirse x2 ynnde hereket edilecek ve x2 deikeninin deerinde
yaplacak her birim artla ama fonsiyonu deerinde 900 birim iyiletirme elde edilecektir.
Dolaysyla ama fonsiyonu deerini daha hzla artrabilecek olan x1 deikeni ynnde hereket
etmek ve x1 ynndeki zm alannn en u noktas olan Bye kadar ilerlemek gerekmektedir.
Simplex metodunun ikinci iterasyonunda ise B zmne komu olan A veya C zmlerinden
birisini en iyi zm aday olarak incelemek gerekmektedir. B zmne ularken A noktasnn
Bye gre ama fonksiyonu deeri bakmndan daha kt olduunu biliyorduk, dolaysyla A
noktasna geri dn mantkl bir adm deildir ve C zmn en iyi zm aday olarak
incelemek gerekir. C zmne ulamak iin ikinci kst zerinde hareket ederek x1 deikenin
deeri azaltlrken x2 deikeninin deeri arttrlr. C zmnn komularndan D
incelendiinde ise bu noktann ama fonksiyonu deerinin Cnin ama fonsiyonu deerinden
daha dk olaca grld iin simplex metodu rnek problemimiz iin C noktasnn en iyi
zm olduu sonucuna varr.
rnek problemimiz iin simplex metodunun uygulan Tablo 3de verilen simplex
tablocuklaryla gsterilmitir. Simpleks metoduna balang zm olarak A noktas
seildiinde ilk tablocuk elde edilir. Ama fonsiyonu satrnda her deikenin bir birim
arttrlmas durumunda ama fonksiyonu deerinde olacak art gsterilmektedir. Deikenler
arasnda x1 en hzl deiiklii verecei iin seilir. Yeni bir deikenin sfrdan farkl bir
deerle yer alabilmesi iin iterasyonda verilen tablocukta sfrdan farkl bir deerle zmde yer
alan deikenlerden birisinin (xs1 veya xs2) sfra eitlenmesi gerekmektedir. Eitsizlikleri eitlie
evirmek amacyla tanmladmz yeni deikenler xs1 ve xs2nin sfr deerini almas o kstn
aktif olduu anlamna geleceinden, xs1in sfrlanmasyla elde edilecek zm birinci kst
salamamaktadr. Tablo 3deki ilk tablocukta hesaplanan oran x1 deikeninin zmde yer
almasyla hangi deikenin sfrlanacana dair bilgi iermektedir. Bu oranlardan en kk
olanna karlk gelen deikenin sfrlanmas durumunda yeni zm tm kstlar
salamaktadr. Bu durumda x1 zmde sfrdan farkl bir deer alrken, xs2 deikeni sfra
eitlenir ve yeni zm ikinci tablocukda verildii gibi elde edilir. kinci tablocuktan
grlebilecei gibi x2 deikeninin ama fonsiyonunu ifade eden satrndaki deeri negatiftir ve
x2nin sfrdan farkl bir deer alarak ama fonsiyonunu daha ykseltebileceini gstermektedir.
Yeni zmde x2nin sfrdan farkl bir deer almas durumunda xs1 deikeninin sfrlanmas
durumunda yeni zm tm kstlar salar ve son tablocuk elde edilir. Son tablocuktanda
grlebilecei gibi ama fonsiyonu satrndaki deeri negatif olan bir deiken olmad en iyi
zmn bulunduu anlamna gelir ve simpleks metodu optimal ama fonsiyeni deerini 94.000
ve deikenlerin deerlerini x1=40 ve x2=60 olarak bulur.
ekil 1. rnek Dorusal Problem in zm Alan.
Kst
Ama
1
2
3
4
Ama
1
2
3
4
Ama
1
2
3
4
z
1
0
0
0
0
1
0
0
0
0
1
0
0
0
0
x1
-1.000
1
2
1
0
0
0
1
0
0
0
0
1
0
0
x2
-900
1
1,5
0
1
-150
1/4
3/4
-3/4
1
0
1
0
0
0
xs1
0
1
0
0
0
0
1
0
0
0
600
4
-3
3
-4
xs2
0
0
1
0
0
500
-1/2
1/2
-1/2
0
200
-2
2
-2
2
xs3
0
0
0
1
0
0
0
0
1
0
0
0
0
1
0
xs4
0
0
0
0
1
0
0
0
0
1
0
0
0
0
1
b
0
100
170
100
100
85.00
15
85
15
100
94.00
60
40
60
40
Oran
1001=100
1702= 85
1001=100
1000=
151/4=60
853/4=113.33
problemin soncuna gre deerlendirilerek yeni nodlar oluturulur. Dal-snr algoritmasnda her
dal aadaki durumlarda sonlandrlr:
i.
ii.
iii.
10
j =1
j =1
f ( x) + j g j ( x) + j h j ( x) = 0
r
x f ( x) + j h j ( x) = 0
j =1
g j ( x ) = 0 j =1,...,m
h j ( x) 0
j =1,...,r
j h j ( x) = 0
j 0
j =1,...,r
(11)
(12)
(13)
(14)
Ayrca karar deikenleri alacaklar deerlerle tamamlayc koular yerine getirmeli (12),
tm kstlara uymal (13) ve kstlar iin tanmlanan arpanlardan j iin (14)te verilen ek
artlar salanmaldr.
Dorusal olmayan problemlerin optimal zmn elde etmek iin eitli metodlar
kullanlmaktadr (Bazaraa ve di, 2006). Bu metodlar arasnda yaygn olarak kullanlan Aktif
kst kmesi metodunu 5 ana basamaktan olumaktadr (Fletcher ve de la Masa, 1989):
11
f ( x) + j h j ( x) = 0
j =1
h j ( x) 0 j J1
4. Eer tm kstlar eitlik olarak salanyorsa (hj(x)=0 ve j<0, j=1,...,r) mevcut zm
KKT artlarn yerine getiriyor demektir ve en iyi zm bulunmutur. Mevcut zm
en iyi zm olarak raporlanr ve algoritma durdurulur.
5. Eer herhangi bir kst salanmyorsa (hj(x)>0) ve/veya j<0 ise:
a. terasyon sayac gncellenir, i=i+1.
b. arpan sfrdan kk deer alan bir kst aktif set kmesinden karlr. Birden
fazla arpann sfrdan kk olmas durumunda sfrdan fark en byk olan kst
seilerek aktif kst kmesinden karlr ve Ji kmesi gncellenir.
c. Salanmayan kstlar (hj(x)>0) Ji kmesine eklenerek gncellenir.
d. 3. basamaa dnlerek yeni bir iterasyon yaplr.
x1 :
14
(1000) x1 15 1 22 3 = 0
15
x2 :
9
(900) x2 10 1 1.52 4 = 0
10
x1 :
x2 :
14
x1 (1000) x1 15 1 22 3 = 0
15
9
x2 (900) x2 10 1 1.52 4 = 0
10
12
(15)
x1 + x2 100
2 x1 + 1.5 x2 170
x1 100
x2 100
1 ( x1 + x2 100 ) = 0
2 ( 2 x1 + 1.5 x2 170 ) = 0
3 ( x1 100 ) = 0
4 ( x2 100 ) = 0
x1 , x2 0
1 , 2 , 3 , 4 0
13
rnek problemin eniyi .zm dsal yaklaklama metoduyla 3 dorusal olmayan alt
problemin ve 2 tamsay-kark ana problemin zlmesiyle elde edilmitir. Dsal yaklaklama
metoduyla elde edilen zmde deikenlerin deerleri, x1=85, x2= 0, y1=1 ve y2=0 olarak
belirlenmitir. zmde raporlanan en iyilenmi ama fonsiyonmu deeri ise 61.710,76dr.
Tamsay-kark dorusal olmayan programlama problemlerinin zm iin dier
yaklamlardan en yaygn olanlar arasnda mantk tabanl metodlar (Trkay ve Grossmann,
1996) dal-snr algoritmalar (Gupta ve Ravindran, 1985; Leyffer, 2001), dal-ve-kes
14
Balas E. (1965), An Additive Algorithm for Solving Linear Programs with Zero-One Variables,
Operations Research, 13, 517-546.
Barnes, E.R. (1986), A variation on Karmarkar's algorithm for solving linear programming
problems, Mathematical Programming, 36, 2, 174-182.
Bazaraa, M.S., Sherali H.D. ve Shetty, C.M. (2006), Nonlinear Programming: Theory and
Algorithms, 3. bask, Wiley-Interscience, New York.
Billington,G., Callioni,G., Crane,B., Ruark,J.D., Rapp, J.U., White,T. ve Willems,S.P. (2004),
Accelerating the Profitability of Hewlett-Packards Supply Chains, Interfaces 34, 5972.
Bollapragada, S., Cheng, H., Phillips, M., Garbiras, M., Scholes, M., Gibbs, T. ve
Humphreville, M. (2002), NBC's Optimization Systems Increase Revenues and Productivity,
Interfaces, 32, 4760, 2002.
Cavalier, T.M. ve Soyster, A.L. (1985), Some computational experience and a modification of
the Karmarkar algorithm, ISME Working Paper 85-105, The Pennsylvania State University.
Dakin, R. J. (1965), A Tree Search Algorithm for Mixed Integer Programming Problems,
Computer Journal, 8,3, 250-255, 1965.
Dantzig, G. B. (1949a), Programming in a linear structure, Econometrica 17, 7374.
Dantzig, G. B. (1949b), Programming of Inter-Dependent Activities II, Mathematical Model,
Econometrica, 17, 3-4, 200-211, 1949b. (Ayn makale ayrca Dantzig, G.B. (1951), Activity
Analysis of Production and Allocation iinde Koopmans, T. C. editr, John Wiley& Sons, NY,
19-32 yaynlanmtr).
Dantzig, G. B. (1951a), Maximization of a linear function subject to linear inequalities, Activity
Analysis of Production and Allocation iinde Koopmans, T. C. editr, John Wiley& Sons, NY,
339-347.
Dantzig, G. B. (1951b), Application of the simplex method to a transportation problem, Activity
Analysis of Production and Allocation iinde Koopmans, T. C. editr, John Wiley& Sons, NY,
359-373.
Dantzig, G. B. (1951c), ,A proof of the equivalence of the programming problem and game
problem, Activity Analysis of Production and Allocation iinde Koopmans, T. C. editr, John
Wiley& Sons, NY, 330-335.
15
16
17
Mizuno, S., Todd, M.J. ve Ye, Y. (1993), On adaptive step primal-dual interior-point algorithms
for linear programming, Math. Oper. Res., 18, 964-981.
Murty, K.G., Wan, Y.W., Liu, J., Tseng, M.M., Leung, E., Lai, K.K. ve Chiu, H.W.C. (2005),
Hongkong International Terminals Gains Elastic Capacity Using a Data-Intensive DecisionSupport System, Interfaces, 35, 6175.
NEOS Optimizasyon Rehberi web sitesi, http://www-fp.mcs.anl.gov/otc/Guide/index.html, son
eriim tarihi: 7 ubat 2006.
Nobel dl web sitesi, http://nobelprize.org/economics/laureates/, son eriim tarihi: 5 ubat
2006.
Patchong, A., Lemoine, T. ve Kern, G. (2003), Improving Car Body Production at PSA Peugeot
Citroen, Interfaces, 33, 3649.
Stubbs, R. ve S. Mehrotra, S. (1999), A Branch-and-Cut Method for 0-1 Mixed Convex
Programming, Mathemaitcal Programming, 86, 515-532.
Trkay, M. ve I.E. Grossmann, I:E: (1996) Logic-Based MINLP Algorithms for the Optimal
Synthesis of Process Networks, Compt. Chem. Eng., 20, 959-978.
Vanderbei, R.J., Meketon, M.S. ve Freedman, B.A. (1986), A modification of karmarkar's linear
programming algorithm, Algorithmica, 1, 1, 395-407.
Viswanathan, J. ve I.E. Grossmann, I.E. (1990) A Combined Penalty Function and OuterApproximation Method for MINLP Optimization, Compt. Chem. Eng., 14, 769-782.
Williams, H.P. (1999), Model Building in Mathematical Programming, 4. bask, Wiley, New
York, NY.
Winston, W.L. (2003), Operations Research: Applicatios and Algorithms, 4. bask, International
Thomson Publishing, Belmont, CA.
18