You are on page 1of 7

Tam Sayl Programlama(integer programming) Tam sayl programlama teknii, dorusal programlamann bir uzants olup dorusal programlamada

meydana gelebilecek gereki olmayan sonular ortadan kaldrmay amalar. Baz dorusal programlama modellerinde sonularn tam say kmamas problemin gerek hayattaki problemlere uygunluunu bozmaktadr. rnein bir retim probleminde masa ve sandalye retimi yaplacaksa sonularn kesirli kmas gereki olmamaktadr. Sonularn tam sayya yuvarlatlmas baz kstlar bozabilecei iin zm olmamaktadr.Tam sayl programlama teknii, kstlar bozmadan sonucun tam say olmasn salamaktadr. Bir dorusal programlama problemi zldnde optimum bir tamsay(integer) zm bulunmusa sorun yoktur. Ancak sonularn tamsay kmamas durumunda ve zmn tamsayl olmas isteniyorsa probleme yeni bir kst ekleyerek ileme devam etmek mmkndr. Eklenen bu yeni kst(kesme ) orijinal kstlar altnda mmkn olabilecek tm tamsay zmleri ieren yeni bir zm blgesi meydana getirir ancak ilk zmde bulunan tam say olmayan zm iermez. Tam sayl programlamada iki algoritma kullanlmaktadr. Dal-snr algoritmas Kesme dzlemi yntemi nce Dal-snr algoritmasn ele alalm. Dal-snr algoritmas Algoritmay bir rnek problem zerinde inceleyelim. Aadaki dorusal programlama probleminin grafik zmnden sonularn tam say kmad grlmektedir. rnek problem: max Z = 5x1 + 4x2 Kstlar: x1 + x2 <= 5 10x1 + 6x2 <= 45 Pozitiflik koulu: x1 , x2 >= 0 problemin zm uzay aadaki gibidir.

x2 8 7 6 5 4 3 2 1 zm blgesi 2.kst

1.kst x1

Problemin zmnde : Z= 23.75, x1 = 3.75, x2 =1.25 kmaktadr. Deikenler tam say kmad iin dal-snr algoritmas ile optimum tam sayl zm buluncaya kadar zm uzaynn dzenlenmesi yaplacaktr. lk aamada LP0 zmnde( DP zm) tam say deer almayan bir deiken rasgele seilir. x1 deikenini seelim(x1=3.75) LP0 zm uzaynn 3< x1 <4 blgesinde tamsayl deerler olmayacaktr dolaysyla bu blge elemine edilebilir.

x2 8 7 6 5 4 3 2 1 LP2 x1 0 1 2 3 4 5 6 LP1 x1 <= 3 x1 >= 4

LP1 uzay = LP0 uzay + (x1 < = 3) LP2 uzay = LP0 uzay + (x1 >= 4) Optimum zm ya LP1 uzaynda ya da LP2 uzaynda olacaktr. Her iki alt problem ayr ayr zlmelidir. nce LP1 problemini (x1 <=3) kstn ekleyerek zelim. max Z = 5 x1 + 4x2 x1 + x2 <= 5 10 x1 + 6 x2<= 45 x1 <= 3 x1,x2 >= 0 problem zldnde Z= 23, x1 =3, x2 = 2 kmaktadr. O halde LP1 optimum deere ulamtr diyebiliriz. zmdeki Z=23.75 deeri LP1 de Z=23 olarak ktna gre bu bir alt snr olarak alnabilir. Bir tamsayl zm elde edildii iin daha fazla ilerletmeye gerek yoktur. LP2 ye ait zmde de Z= 23.32 , x1 =4, x2=0.83 kmaktadr. x2=0.83 olduundan yeniden bir dallanma yaplarak ; x2<= 0 ve x2 >=1 kontrol yaplabilir. LP3 uzay = LP2 uzay + (x2 <= 0) = LP0 uzay +( x1 >=4)+ (x2<=0)

LP0 x1 =3.75, x2=1.25,Z=23.75 x1 <=3 x1 >=4

LP1 x1 =3, x2=2, Z=23 Alt snr optimum


X2<=0

LP2 x1 =4, x2=0.83,Z=23.32


X2>=1

LP3 x1 =4.5, x2=0,Z=22.5

LP4 zm yok

x1 <=4

x1 >=5

LP5 x1 =4, x2=0,Z=20

LP6 zm yok

LP5 zmnde de sonu tamsayl kmaktadr. Ancak LP1 zmnde Z = 23 alt snr olarak alnrsa(en byk alt snr) bu zmn optimum olmad sylenebilir. Burada hangi daln seilip nce zlmesi konusunda kesin bir kural olmayp seim tahmini yaplmaktadr. Kesme Dzlemi Yntemi (gomorys fractional cut) Yntemi grafik olarak gstermek iin bir ama fonksiyonu ve bir kst ele alalm. Ama fonksiyonu: Z = 2x1 + 5 x2 Kst : 3x1 + 6 x2 <= 16 x1 = 16/3 = 5.3 , x2 =16/6 =2.6 dorularn izdiimizde EDB alan optimum zm blgesini oluturmaktadr. Bu blgedeki B noktas (x1=0, x2=2.6) ama fonksiyonunu maksimum yapan noktadr. Ancak sonu tamsay kmad iin probleme bir kst daha ekleyip ileme devam etmeliyiz.

x2 5 4 3 2 1 D E x1 1 2 3 4 5 6 B

Yeni kstmz : x2 5 4

x2 <= 2 kst olsun.

3
C x2 <= 2

2 1

x1
E

ABC ile gsterilen alanda tamsayl zm olmadndan yeni zm blgesi EACD alan olup problemin tamsayl zmlerini iermektedir. Bu blgede ama fonksiyonunu maksimum yapan nokta C (x1 =1, x2=2) noktasdr. Kesme dzlemi algoritmasn simpleks tabloda aklamaya alalm. Aada bir dorusal programlama problemi ve problemin tamsay sonu vermeyen final tablosu verilmektedir. DP problemi: max Z = 3 x1 + 5 x2 Kstlar: x1 + 4 x2 <= 9 2 x1 + 3 x2 <= 11

simpleks tablo(son tablo)

ama fonk.katsa. taban deik. 5 3 x2 x1 Zj Cj - Z j kapasite 7/5 17/5 86/5

3 x1 0 1 3 0

5 x2 1 0 5 0

0 S1 2/5 -3/5 1/5 -1/5

0 S2 -1/5 4/5 7/5 -7/5

Yeni kst eklemek iin optimum zmdeki tamsay olmayan herhangi bir deiken seilebilir. x2 deikenini seelim ve bu deikenin olduu satr yeniden yazmaya alalm. Tam say olmayan saylar ; (tamsay) + ( 1 den kk pozitif kesri) olarak yazalm. rnein 4/3 ------ 1 + 1 / 3 5/4------ 1 + 1 / 4 2/3------ 0 + 2 / 3 -2/3 ------ -1 + 1 / 3 x2 deikeninin olduu satr (tamsay) + (1 den kk pozitif kesir) olarak yazalm. x2 ( 1, 2/5, -1/5, 7/5) (1+0) x2+ (0+ 2/5)S1 + (-1 + 4/5) S2 = (1+ 2/5) Tamsayl katsaylar sa tarafa alarak yeniden yazalm. 2/5 S1 + 4/5 S2 = 2/5 +(1- 1 x2 + 1S2) Tam sayl ksm herhangi bir tamsay olarak dnp eitlikten karrsak; 2/5 S1 + 4/5 S2 > = 2/5 eklinde yazabiliriz. Probleme yapay(artificial) deiken eklememek iin her iki taraf 1ile arparak eitliin ynn deitirip bir slack(bo) deiken eklersek kst aadaki ekli alacaktr. -2/5 S1 -4/5 S2 + S3 = -2/5 Bu kst son tabloya ekleyelim
ama fonk.katsa. taban deik. kapasite 5 3 0 x2 x1 S3 Zj Cj - Z j 7/5 17/5 -2/5 86/5 3 x1 0 1 0 3 0 5 x2 1 0 0 5 0 0 S1 2/5 -3/5 -2/5 1/5 -1/5 0 S2 -1/5 4/5 -4/5 7/5 -7/5 0 S3 0 0 1 0 0

Bundan sonraki admda S3 tabandan kacak ve yerine baka bir deiken tabana girecektir. Tabana girecek deikenin seimi iin Cj - Z j satrndaki negatif elemanlar bunlara kar gelen S3 satrndaki negatif katsaylarla oranlanr. En kk orana sahip stundaki deiken tabana girecek deikendir. (- 1/5) / (-2/5) = 1 / 2 ve (-7/5 ) / (-4/5) = 7/4 oranlarna bakarsak (1/2) en kk deer olduu iin bu stundaki S1 deikeni, S3 yerine tabana girecek deikendir. Bir sonraki simpleks tablo aada verilmektedir.
ama fonk.katsa. taban deik. kapasite 5 3 0 x2 x1 S1 Zj Cj - Z j 1 4 1 17 3 x1 0 1 0 3 0 5 x2 1 0 0 5 0 0 S1 0 0 1 0 0 0 S2 -1 2 2 1 -1 0 S3 1 -3/2 -5/2 1/2 -1/2

Bu tablodaki sonulara bakarsak; x1 = 4 , x2= 1 ve Z = 17 kmaktadr. Tamsayl sonu elde edildii iin iterasyona son verilir. Ele alnan rnekte tek kst ilavesi ile optimum sonuca ulalmaktadr. Bu her zaman gereklemeyebilir. Eklenen ilk ksttan sonra elde edilen sonu hala tamsay deilse yeniden bir kst daha eklenerek tam sayl sonu alnncaya kadar ilemler tekrarlanr.

You might also like