Marmara Üniversitesi İ.İ.8.F. Dergisi, Yıl 1987, Cilt iV. Say" 1 -2
Tam
Sayılı
Programlamaya Genel Bir
Bakış
.
Bülent AYYl~DIZ (*)
1. GİRİŞ
Tam sayılı programlama (TSP) konusuna gelinceye kadar en iyi-leme (optim.izasyon) problemlerinde karar değişkenlerinin değişim · aralığındaki tüm değerleri aldıkları, yani devamlı karakterli oldukları bilinir. Fakat birçok problemde ise karar değişkenleri tam sayılı de-ğerler alabildikleri takdirde bir anlam kazanmaktadırlar. Örneğin, bir uçak f9brikasında üretilebilecek eniyj (optimum) uçak sayısını·· bul-mak. için· elde edeceğimiz çözümde, tam sayıdaki miktarların dışında ·
kalan miktarlar bizim için geçerli olmayacaktır. İşte bu nedenle kesikli eniyileme problemleri özel bir öneme sahiptir. Bu problemlerde ka-rar değişkenlerinin bazılarının veya tümünün, sadece saptanmış belli bir kesikli değerler grubunun değerlerini almakla sınırlandırılmış ol-dukları görülür. ·su çeşit problemler aynı zamanda çeşitli kombinas-yonlar arasında eniyi kombinasyonun bulunması problemini de içerir. Tüm bu problemler, karar değişkenlerinin bazıların.ın veya tümünün tam sayı olması kısıtının ilavesiyle, bir doğrusal programlama (DP) pr<?blemi olarak formüle edilebilir. Bu gibi problemler tam sayılı pro -gramlama problemleri olarak adlandırılırlar.
Bunlar iki sınıfa ayrılabilirler :
1. Tüm tam sayılı programlama ki, burada bütün karar değiş kenleri sadece tam sayılı değerleri almakla sınırlandırılmışlardır.
2. Karma tam sayılı programlama, b.urada ise karar değişken lerinin bazıları devamlı-karakterli, bazıları ise devamsız karakterli olup tam sayılardır.
Her iki sınıf da kendi içlerinde yine iki sınıfa ayrılırlar :
a) · Sadece tam sayılardan oluşan tüm karar değişkenlerinin O ve-ya 1 olarak değerler almakla sınırlı oldukları tam sayılı programlar.
b) Negatif olmayan tüm tamsayıların karar değişkeni
olabile-ceği programlar. ,
Çalışmamızda .. korar değişkenlerinin tümünün tam sayılı değer leri aldıkları programlama problemlerinin «Gomory Kesme Düzlemi Algoritması» ve «Dal-Sınır Teknigi» He çözümü konusunu inceleye-. ·ceğiz.
2. GOMORV KESME DÜZLEMİ ALGORİTMAŞI
, Tüm karar değişk~~leri tam sayı olan bir tam sayılı programlama problemini göz önüne alalım. Bu bizim orjinal· problemimiz olsun. Tam sayı olma kısıtlarının kaldırılması ile elde edilen probleme «İlişkin» · doğrusal programlama problemi (DPP) adı verilir. İlişkin
DPP'ni simp-lex yöntemi ile çözelim. En iyi çözümde, tüm karar değişkenleri tam ·sayı ise, bu TSP problemi içinde en, iyi çözümdür. Fakat bir veya daha
fazla karar değişkeni (Xj) tam sayı değilse bu çözüm TSP problemi
için geçersizdir. ·
TSP problemi için eniyi çözümün (Xj) değerlerinin en yekın tam sayılara yu_varlanarak elde edilebileceği ileri sürülebilir. Eğer model-deki karar değişkenlerinin oldukça büyük değerler ·alacağı
bekleni· yorsa veya değerlerde yuvarlama vaparken çözümün geçerliliği kı sıtlardan kolayca gözlenebiliyorsa, böyle bir yuvarlama yöntemi
pra-1
tikte kullanışlı olabilir. Fakat TSP modeli 0-1 değişkenlerini de içe-riyorsa, tam sayı olmayan degerleri en yakın tam sayıya yuvarlama anlamsız olacaktır. Bunun yanında (Xj) nin elemanı olduğu (n) bo-yutlu çözüm uzayında (XER0
) yuvarlama yapılabilecek 2° adet komşu
tam sayilı nokta olduğundan, yuvarlama yapmak için bunların
han-gilerinin seçileceği n büyük değerler aldığı zamar:ı çözümü güç bir problem olacaktır. Böyle bir komşu tam sayılı nokta bulunsa bile bu geçerli olmayabilir (1). Bir an bu tam sayılı noktanın geçerli olduğunu , kabul etsek bile, bunun eniyi çöz9inden uzak olması olasılığı
da vardır.
Böylece yuvarlama 'yöntemi basit bir TSP probleminde kullanı
labilir olmakla beraber kombin.atoryal tercih değişkenleri içeren mo
-. dellerde ve küçük değerlerden oluşan modellerde
kullanılmaz. Kesme Düzlemi :
1) Murty, K., '«Line~r and Combinatorial Programming», John Wiley and Sons,
(X), ilişkin DPproblemlerinjn en ıyı tam sayılı olmayan cozumu olsun. Kesme düzlemi; (X) eniyi çözümü, tam sayılı çözüm setinden (kümesinden) tamamen ayıran bir çok boyutlu düzlem olarak tanım lanabilir (2
).
Kesme Düzlemi Yöntemi:
TSP problemini çözerken kullandığımız kesme düzlemi yöntemi şu şekildedir (3) :
1. İlişkin DP problemini ele alıp çözelim.
' • I
- Eğer bu problem geçersiz ise, orjinal TSP problemi de geçer -sizdir. İşlem durdurulur. ·
- Eğer eniyi çözüm tam sayı olma şartlarını da sağlıyorsa, bu orjinal TSP problemi için de eniyi çözümdür. İşlem durdurulur.
- Eğer DP .. problemi için bulunan eniyi .çözüm bazı değişkenler için tamsayı olma' şartını sağlamıyorsa, 2. adıma geçilir.
2. Kesme türetme yöntemi kullanılır .. Böylece bir kesme düzlemi
elde edilir. Eldeki problemin kısıtlarına bulunan kesme ilave edilir.
İşlem durana kadar yöntem sürdürülür.
-Genel olarak, eğer
~ am+ı.j X.i
=
bm+ı bir kesme düzlemiyse ve eğer j~ am+ı. j
Xi
>
bın+ı (tam sayılı, geçerli çözümler için)j
şartları gerçekleşiyorsa, ,,
~ am+ı.i X
.i
>
bm+ı kısıtı bir kesmedir. jKesme bir doğrusal eşitsizlik kısıtı olup.
1. ·Eldeki tam sayılı olmayan ilişkir:ı DP probleminin e.niyi çözü-münü eler.
2) lbid, s. 421.
3) CLAYCOMBE, W.W., SULLIVAN, W.C., «Foundations of Mathematical Pro· grami_ng», Reston Pub. Co .. 1975, s. 194-199.
2. TSP probleminin tüm geçerli tam sayılı cözümlerince bu kısıt sağlanır.
3. DAL-SiNiR TEKNİGİ
Amaç işlevinin en küçüklenmesi halini. ele alalım ve amaç işle vinin alacağı eniyi değer için bir üst sınır mevcut olsun (bu çoğun lukla amaç işlevinin, eniyi geçerli çözüm i.çin aldığı .değer olacaktır)
!
İlk adım, tüm gec~rli çözümler kümesini çeşitli alt kümelere ayır mak olacaktır. Ve herbir alt kümede amaç işlevinin olası çözümleri için bir alt sınır elde edil!r. Elde edilen bu alt sınırlar amaç işlevinin cari üst sınırını aşars~, söz konusu alt küme daha sonraki aşama· lorda göz önüne alınmaz. Yani elenmiş olur. Geriye kalan alt kümeler içinde en küçük alt sınıra sahip olanı, yine bir kaç alt kümeye ayrı
lacaktır. (dallandırılacaktır). Sonra yeni bulunah .bu alt kümelerin, her birini.n sırasıyla alt sınırı bulunacaktır. Daha önce yapıldığı gibi bu alt sınırla~ yeni' alt kümelerin elenmesi veya dallandırılmasında
kul-lanılacaktır. Kalan alt kümelerden bir diğeri, daha i.leri dallandırma lar için kullanılacak ve böyle devam edilecektir. Bu işlem uygun ç0-zümü buluncaya kodar tekrarlanacakW. Bu Uygun çözümde amaç iş levine karşı gelen değer, herhangi bir alt kümedeki alt sınırdan bü-yük olmayacaktır (4
).
Dal-Sınır Tekniğinin Aşamaları :
Başlangıç Adımı - Göz önüne alınan tüm çözümler kümesi ile başlanacaktır (Elenmemiş herhangi bir çözüm de dahil olmak üzere). Bu bizim tek «Kalan Alt Küme»miz olacaktır. Burada Zü
==
oo kabul edilecektir.Dal Adımı - Kalan alt kümelerden (elenmemiş veya dallandırıl , mamış olan) birini seçerek dallandırma kuralı uygulanır
ve bu alt kü-me iki veya daha fazlçı alt kümeye ayrılır.
Sınır Adımı - Her bir yenL alt küme için bir alt sınır (ZA) sapta-nır. Bu alt sınır, her bir alt kümede amaç işlevinin geçerli çözüm de-,
ğeri içindir.
veya
Eleme Adımı -:-- Her bir yeni alt küme için, eğer 1. ZA
>
=
Zü ise4) HILLIER. F.S .. LIEBERMAN, G.J., «Operatiqns Research», Second Edition, Holden Day, ine., 1974, s. 699-700.
2. Alt küme geçerli bir çözüm içermiyorsa · veya
3. Alt kümede en geçerli çözüm belirlenmemiş ise, o zaman ZA, o çözüm için amaç işlevinin aldığı değer olacaktır. Eğer ZA
<
Zü yani yeni bulunan bu geçerli alt sınır daha önce belirlenmiş olan üst sınırdan küçük olursa, o zaman yeni üst sınır Zü
==
ZA (bulduğumuz bu geçerli alt sınır yeni üst sınırımız olarak kabul edilir) olur ve bu çö-züm zorunlu çöçö-züm olarak ayrılır. Kalan tüm alt kümelere koşul 1. tekrar uygulanır.Durma Kuralı - Eğer hiçbir altküme kalmamışsa (yani elenme-. miş alt küme yoksa) bu işlem durdurulur. En son zorunlu çözüm, en-iyi çözüm olmak kabul edilir. Aksi takdirde dallandırmaya devam edilir.
A/maç işlevinin en büyüklenmesi durumunda, yöntem aynı kal-makla birlikte, alt ve üst sınırların rolleri değişip, ters olarak işleye:. cektir. Böylelikle Zü'nün yerini ZA, ZA'nın yerini de Zü alacak,
+
oo ise - oo olacak ve eşitsizliklerin yönü de değişecektir.Dallandırılacak alt kümelerin seçiminde en çok bilinen kurallar,
en iyi sınır (EİS): kuralı ve en yeni sınır (EVS) kuralıdır. EİS kuralı, en uygun alt kümeyi seçer (en küçükleme problemlerinde bu en küçük alt sınırlı kümedir). Çünkü bu alt küme, eniyi çözümü kapsamında bu-lundurma şansı en büyük olan kümedir. EYS .kuralı ise; en son
yara-tılan ve elenmemiş olan alt kümeyi ·seçer. Aynı anda oluşan alt
kü-meler arasında ise en uygun sınırlara sahip olanı seçer ( 5
) • . ·
Dal-Sınır Tekniğinin Uygulaması.:
Bir fabrikada A, B, C, D makineleri 1, 2, 3, 4 No.lu yerlere yerleş tirilecektirler. Yerleştirme ile ilgili maliyetler aşağıdaki tabloda veril- .
miştir. En az maliyeti sağlayacak, eniyi yerleştirmeyi dal-sınır
tek-niğini kullanarak yapalım.
Bulunan geçerli çözUmler içinde en az maliyetli
~erleştirme
dü-zeni; D makinasının 1 no.lu yere, B makinasının 2 no.lu yere, C ma-kinasının 3 no.lu. yere, A makinasının 4 no.lu yere yerleştirilmesi şek lidir. Bu şekilde yerleştirilince Z* =97 olur.5) lbid, s. 701-704.
l 2 ' 3 . 4 A 94 1 54 68 Tablo. 1 B 74 10 88 82
c
62 88 6 7& . D 11 74 811 21 Çözüm:4 - İKİLİ DÇ>GRUSAL PROGRAMLAMA İÇİN DAL-SiNiR
ALGORİTMASI
(0-1 TAM SAYILI PROGRA1MLAMA
İÇİN
DAL-SiNiR ALGORİTMASI)Bir çok tam sayılı doğrusal programlama problemlerinin özel _bir yapısı vardır. Bu da tüm değişkenlerin O veya 1 gibi, sadece iki
de-ğeri almakla sınırlandırılmış olmalarıdır. Bunun nedeni de, tam sayılı·
karar değişkeni çoğu kez sadece olası bir faaliyetin yapılacağını
· (X = 1) veya yapılmayacağını (X =0) göstermek için kullanılır.
Burada üstlenilen faaliyetin derecesi veya seviyesi sabittir. Bu nedenle sa-dece iki değere ihtiyaç vardır. örpeğin, belirli bir araştırma ve geliş
tirme projesinin uygulanıp lJYQUlanmayacağı, yeni bir fabrikanın
makinede yapılıp yapılmayacağı problemlerinde karar alabilmek için
0-1 tam sayılı doğrusal programlama . kullanılır. _Karar değişkenleri ikiden fazla değer alabiliyorsa tüm problemi 0-1 ikili biçime indir-geyebilmek için· ikili (binary) gösterim kullanllır (
6 ).
. \
0-1 Tam sayılı programlama probleminin genel yapısı şu şe kildedir. Amaç işlevi : n Min.
z
=
~cjxj
j=l Kısıtlar: n ~a
jj
xj
>
= bi , j=l. ve (i=1, 2, ... , m) (j=1, 2· .... , n)Burada O
<
=
C1< =
C2< ... <
=
Cn dir. C.i parametreleri ' üzerindeki bu şart kısitlayıcı değildir. Çünkü başlangıçta Cj<
O· ise; X.i, X/=0 veya 1 olmak ·kaydıyla (l-X/) ile değiştirilir. Böylece Xj , lerin amaç işlevinde katsayıları pozitif olur. Eğer gerekirse değişken ler katsayıların_ büyüklüğüne göre yeniden düzenlenir.Özetlemek gerekirs·e problemi çözmek .. için kullanılan
algorltma-nın genel amacı kısıtların elverdiği ölçüde _değişkenleri sıfır
yapmak-tır. Bu arada bazı değişkenlere. 1 değeri vermek gerektiğinde önce-likle ilk değişkenler tercih edilecektir. Bu nedenle ilk. denemede bü-tün değişkenlere O vererek elde edilen çözümün. geçerli ve. aynı za-manda eniyi çözüm olup olmadığı araştırılır. Değilse
X
1'e 1 değeri verilerek çözüm irdelenir. Sonuç yine olumsuzsa X1'e1
verildiğindeX2 'ye de 1 verilir ve böyle deneme yanılma yoluyla d~vam edilir (7).
Bu fikri kullanarak, ikili DP problemi için bir dal-sınır algoritması sunacağız_; Bu algoritma bazı değişkenlere (Xı. X2' ...• XN) gibi
de-ğerler vererek alt kümeleri tanımlar. N, değer verilen değişkenlerin
sayısıdır. (Xı, X2 •...• XN) ise, cciri kısmi çözümdür. (Xı, X2 •.• ,.. XN,
6) CAVER. D.P., THOMPSON, G.L., «Programming And Probabilty Models
in
Operations Research», Wadsworth Pub. Co .. 1973, s. 224-247.
7) HILLIER. F.S .. LIEBERMAN. G.J .. a.g.e .. s. 705-706.
XN+ı · ... , XN) şeklindeki herhangi bir çözüm, yukarıdaki kısmi
çözü-mün tümleyeni olarak adlandırılır.
Dal adımı; dallandırma. işlemi (Xı, Xz, ... , XN) kısmi çözümünü
se-çerse, bu iki yeni alt kümeye ayrılır. Bu işlem (XN+ı = 1) ve (XN+ı =0) ola'rak yapılır. EYS kuralı, bu secimi yapmakta kullanılır.
Sınır adımı için (X
1, X:b ... ,
XN) kısm,i cÇ>zümünün alt sınırı ZA şuşekildedir : N ~ cjxj, XN
=
1 ise j=l ZA = N-1 ~ !CjXj+
CN+ı, XN.=o
ise j=l[XN=O iken CN+ı 'i eklememizin nedeni; algoritmanın daha
önce-den (Xı.Xz, ... ,XN_1 , XN=O, ... ,Xn) çözümü geçersiz bulmuş olması
dır]. Bu yüzden XN= 1 için bulunan alt sınır
daima XN=O için bulu-nandan küçük veya eşittir. Eğer hiç biri elenmemişse, EYS kuralı
daima XN= 1 kısmi çözümü seçer. Bu yüzden XN kısmi çözümü elen-:
meden, XN=O kısmi çözüme eleme kuralı uygulamaz . . Eleme adımı, bir kısmi çözüme şöyle uygulanır:.
Test -1 : ZA
>
= ZüTest -2 : Alt küme herhangi bir geçerli çözüm içermiyorsa, kıs
mi çözümün tümleyeni tarafından ·herhangi bir kısıtın sağlanmama
durumu gözlenir. Eğer herhangi bir kısıt .,için;
N N
~ auXj
+
~ max [a1j, O]< bi (1 =1, 2, ... , m. Bazı i değerleri için) j=l j=N+lDurumu varsa kısmi çözüm elenir.
Test -3 : Alt kümede eniyi geçerli cozüm bulunmuşsa, ZA 'ya
kar-şılık gelen çözümün [yani (kısmi ·çözüm)
+
(XN+ı=
1-XN) vetüm
di-ğer kalan değişkenler sıfır] gerçekten geçerli olup olmadığı gözlenir.
Bu yüzden N eğer bütün kısıtlar için, . ,
~ ·aij ai. N+ı (1-XN)
>
= bi, (i = 1, .2, ... , m. Tüm i değerleri için) j=lH )l _, 1,o1,o..~ R M 14 555
ZA
< Zü
ise,Zü
yenidenZA
'ya eşitlenip bu çözüm zorunlu çözümola-rak saklanır.
O~ 1 Tam Sayılı Programlama Probleminin Dal-Sınır Tekniği
ile Çözümü:
Amaç İşlevi: Min. Z=5~1 +6X2+ 7X3+8X4+9X5
Kısıtlar . ~ 5. SONUÇ . : 3Xı - X2 + x3 + x4 - x5
>
= 2 'Xı + 3X2 - x3 - 2x4 + x5>
=
o -Xı -X
2
+ 3X3 + x4 + x5>
=
1xj
=o veya 1 (j=1, 2, 3, 4, 5)Tam sayılı programlama; bazı veya tüm karar değişkenlerinin
tam sayı olma kısıtı ile birlikte ortaya çıkmaktadır. Bu problemler,
tam sayı kısıtı olmayan problemlere göre daha güç
· olmaktqdır. Bu
nedenle tam sayılı doğrusal programlama için eldeki algoritmalar,
simpleks yöntemine göre genellikle çok daha az etkindir.
Hesapla-ma sürecini belirleyen en önemli unsur tam sayılı değişkenlerin sa- '
yısıdır. Problem özellikle basit ,bir yapıya sahip
olmadıkça, yani tam
sayılı değişkenlerin sayısı bir iki düz.ineyi geçmedikçe problemi
çöz-mek olasıdır. Bu sayı, değişkenlerin sadece 0-1 olması halinde bir ·
dereceye kadar artar.
Bilgisayar uygulaması için, TSP algoritmaları çoğunlukla
mate-•
.matiksel programlama paket programları halinde mevcuttur. Bu
al-goritmalar çoğunlukla dal-sınır tekniği ve varyasyonları
üzerinde
ku-rulmuştur.
Daha eski algoritmalardan birisi olan Gomory Kesme Düzlemi
algoritmasının başarısı, problemin yapısına bağlı olarak sınırlıdır.
Ko-nu ile ilgili diğer bir yaklaşım da matematiksel guruplar teorisinin
uy-gulamCJsıdır. BU yaklaşım ümit verici görülmektedir.
Pratikte problemler, bu algoritmaların herhangi birinin ele
ala-cağından çok daha geniştir.
B.u durumlarda simpleks yönteminin
kul-lanımı yaygındır. Elde edilen eniyi DP çözümü geçerli tam
sayılı
çö-. züme yuvarlanır. Bununla birlikte bilindiği gibi bu yaklaşım
bazen
yeterli ormaz .. Çünkü yuyarlama yapılacak geçerli tam sayılı çözüm
bulmak ·güçtür veya olanaksızdır. Bu bulunsa bile eniyi çözümden
bu-lunmasında, etkin bulgusal (heuristic) yöntemlerin geliştirilmesiyle
önemli bir ilerleme sağlanmıştır. Bu çözümler muhakkak eniyi çözüm
olmamakla, birlikte basit yuvarlama ·işleminden daha geçerlidir.
KAYNAKLAR
__. CAVER. Donald P .. THOMPSON. Gerald L.. «Programming And Probability Models in Operations Research», Wadsworth Pub. Co .. 1973.
1 - CLAYCOMBE, William W., SULLIVAN. William C., «Foundation Of Mathematieal
Programming», .Reston Pub. Co., 1975.
- HALAÇ, Osman. «Kantitatif Karar Verme Teknikleri», Arpaz Matbaeılık. İstanbul,
1978. .
- HILLIER. Frederic S .. LIEBERMAN, Gerald J,, «Operations Researeh», Seeond Editiön, Holden-Day, ine,, 1974.
- MURTY, Katta C .• «Linear And Combinatorial Programming», John Wiley and Sons. ine., 1976.