dosyayı indir
Download
Report
Transcript dosyayı indir
6.1. TAMSAYILI PROGRAMLAMA
Çoğu uygulamalı problemlerin, karar
değişkenleri ancak tamsayılı olduğunda
anlamlıdır. Çünkü, girdi ve çıktıların
bölünmezlik sorunu, karar değişkenlerinin
tamsayılı olmasını gerektirir. Sermaye
bütçelemesi, elektrik jeneratör birimleri,
araç ve gereçler, makineler ve kişiler
bunlara birer örnektir.
Doğrusal programlama problemlerinde bazı
değişkenlerin tamsayılı değerli yada tüm
değişkenlerin tamsayılı olması istenebilir.
Eğer problemde, sadece bazı değişkenlerin
tamsayı değerli olması gerekli iken diğer
değişkenler bölünebilirlik varsayımını
karşılayan yani kesirli değerler alabilen
değişkenler ise bir tür problem, karma
tamsayılı programlama problemidir.
Bir problemin çözüm değerlerinin tamsayılı
olması istendiğinde, bu problem doğrusal
programlama formulasyonundan tamsayılı
programlamaya dönüşür. Aslında , tamsayılı
programlamanın matematik modeli,
değişkenlerinin tamsayı değerli olması
istenen bir ek kısıtlayıcılı doğrusal
programlama modelinden başka bir şey
değildir.
Örneğin;
Max z = 6X1+5X2+2X3
Kısıtlayıcılar:
10x1+4x2+x3 ≤ 600
2x1+5x2+2x3 ≤ 800
ve
x1, x2, x3≥0 x1 Tamsayı
(6.1)
Bu karma tamsayılı programlama
probleminin çözümünde X1 ve X3
değişkeninin değerinin tamsayı olması
gerekli değildir. X1 değişkeninim çözüm
değeri ise tamsayı olmak zorundadır.
Max z=6x1+5x2+2x3
Kısıtlayıcılar:
10x1+4x2+x3 ≤ 600
2x1+5x2+2x3 ≤ 800
Ve
x1, x2, x3 ≥ 0, x1, x2, x3 tamsayı
(6.2)
(6.2) de verilen problem, arı tamsayılı
programlama problemi olup çözüm değerleri
de;
Max z=888.0, x1=22, x2=0 ve x3=378’dir.
Uygulamada çoğu doğrusal programlama
problemlerinde bölünebilirlik varsayımı geçerli
olmadığı gibi bazı problemlerin “evet veya hayır
kararları” ile ilişkin olduğunu görmekteyiz. Bu tür
kararlarda iki olanaklı seçim sadece evet ve
hayırdır. Örneğin; bu yatırımı yapmalı mıyız?
Fabrikayı bir alanda mı kurmalıyız? Gibi sadece iki
seçenekli kararlar, değerleri0 ve 1 ile kısıtlanan
karar değişkenleri ile gösterilir. Böylece, j’inci evet
veya hayır kararı j ile aşağıdaki şekilde ifade edilir.
1 karar j evet ise
xj=
0 karar j hayır ise
Bu tür değişkenlere ikili (binary) değişkenler (veya
0-1 değişkenleri) adı verilir.
Tamsayılı programlama problemindeki tüm
değişkenlerin ikili değişkenler yani 0 veya 1’e eşit
olması istendiğinde, bu tür tamsayılı programlama
problemine ikili tamsayılı programlama veya 0-1
tamsayılı programlama problemi denir. Aşağıda
verilen problem, 0-1 tamsayılı programlama
problemine bir örnektir.
Örnek:
max z = 6x1+5x2+2x3
Kısıtlayıcılar:
10x1+4x2+x3 ≤ 600
(6.3)
2x1+5x2+2x3 ≤ 800,
Ve
x1, x2, x3 =0 veya 1
Bu örnek problemin çözüm değerleri
x1=1, x2=1, x3=1 ve max z = 13’dür
Bazı değişkenlerin 0 veya 1 değerini alırken diğer
değişkenlerin sürekli(kesirli) değerler alan
tamsayılı programlama problemine 0-1 karma
tamsayılı programlama problemi denir.
Uygulamada, bu tür problemlere örnek olarak,
bazı ürünlerin hangi makinede üretilmesinin seçimi
ile bu makinelerde söz konusu ürünlerden ne
kadar üretileceğine ilşkin problem 0-1 karma
tamsayılı programlama türündendir
Bir tamsayılı programlama probleminin
doğrusal programlama gevşetmesi
kavramı, tamsayılı programlama
çözümünde önemli bir rol oynar. Bu
nedenle, doğrusal programlama
gevşetmesinin tanımının yapılması gerekli
olmaktadır.
Değişkenler üzerinde tüm tamsayı veya 0-1
kısıtlarının atılarak, elde edilen doğrusal
programlama problemine, tamsayılı
programlamanın doğrusal programlama
gevşetmesi(relaxation) adı verilir.
(6.1), (6.2) ve (6.3) de verilen örnek problemlerin doğrusal
programlama gevşetmesi aşağıda verilmiştir.
Max z = 6x1+5x2+2x3
Kısıtlayıcılar:
10x1+4x2+x3 ≤ 600
(6.4)
2x1+5x2+2x3 ≤ 800
Ve
x1, x2, x3 ≥ 0
(6.4) de verilen doğrusal programlama gevşetmesinin
çözüm değerleri ise
x1 = 22.2, x2 = 0, x3 = 377.8 ve max z =
888.9’dur
Herhangi bir tamsayılı programlama, bazı ek
kısıtlayıcılar(kısıtlayıcı değişkenlerinin tamsayı veya 0 yada
1 olması) ile doğrusal programlama gevşetmesi olarak
görülmektedir. Bu yüzden, doğrusal programlama
gevşetmesi, tamsayılı programlamanın daha az kısıtlayıcılı
veya daha fazla rahatlandırılmış bir görünümüdür. Bunun
anlamı da tamsayılı programlamanın çözüm bölgesi
onun doğrusal programlama gevşetmesinin uygun
bölgesinde olması gerektiğidir. Bir enbüyükleme (max)
türündeki tamsayılı programlama problemi için bu durum
şu şekilde ifade edilir.m
Doğrusal programlama gevşetmesinin
optimal z değeri ≥ tamsayılı
programlamanın optimal z değeri, (6.4) de
verilen doğrusal programlama
gevşetmesinin optimal z değerinin (888.9)
diğer karma ve tamsayılı doğrusal
programlama problemlerin optimal z
değerinden daha büyük olduğunu
görmekteyiz.
Bilinmelidir ki, tamsayılı programlamanın
uygun çözüm bölgesi, onun doğrusal
programlama gevşetmesinin uygun çözüm
bölgesinin bir alt kümesi olmasına rağmen,
tamsayılı programlama problemini çözmek
onun doğrusal programlama gevşetmesini
çözmekten genellikle daha zordur.
6.2. TAMSAYILI PROGRAMLAMA İLE İLGİLİ
PROBLEMLER
Uygulamada karşılaştığımız, personel
programlaması, kuruluş yeri seçimi, sırt
çantası, sermaye bütçeleme, sabit
yükleme(yük) tezgah yerleştirme, küme örtme
ya-veya kısıtlayıcılı, ise – 0 zaman kısıtlayıcılı
problemler ile makineleri dizeleme problemlerinin
tümü tam sayılı programlamaya ilişkin
problemlerdir.
6.2.1. Kuruluş Yeri Seçimi Problemleri
Örnek 6.2.1.1
FAMU imalat şirketi , yeni
fabrikasının Bursa’daki Demirtaş Organize
Sanayi Bölgesinde (DOSAB) veya
Hasanağa Organize Sanayi Bölgesinde
(HOSAB) kurmayı düşünmektedir. Aynı
zamanda yeni kurulacak fabrikanın yanında
en fazla bir depo inşa etmek zorundadır.
Her karar seçeneğinin net bugünkü değeri
yani pazarın zaman içindeki değerini ele
alan toplam karlılığı ile yatırımların getirdiği
sermaye miktarı aşağıda Tablo 6.1’de
verilmiştir. Ayrıca FAMU şirketinin bu
fabrikaya ayırabildiği sermaye miktarı da 21
milyon YTL’dir.
Karar
Seçeneği
Sayısı
Evet veya Hayır
Soruları
Evet veya Hayır
Soruları
Net Bugünkü
Değer
(Milyon YTL
Gerekli Sermaye
Miktarı
(Milyon YTL
1
Fabrikayı
DOSAB’da mı
kuralım?
X1
20
15
2
Fabrikayı
HOSAB’da mı
kuralım?
X2
14
8
3
Depoyu DOSAB’da
mı kuralım?
X3
12
7
4
Depoyu HOSAB’da
x4
8
4
mı kuralım?
Şirketin amacı, toplam net bugünkü değerini
en çoklamak için fabrikanın ve deponun
nerede kurulacağının belirlenmesidir.
Çözüm:
Burada, tüm karar değişkenlerinin 0-1
olduğu görülmektedir.Yani:
Xj=
1 karar j evet ise
(j=1,2,3,4)
0 karar j hayır ise
Deponun kurulmasına ilişkin tamamıyla
karşılıklı dışarmalı seçeneği gösterdiğinden
yani, şirket en fazla bir depo istediğinden
aşağıdaki kısıtlayıcının ele alınması
gerekir.Yani
x3 + x4 ≤ 1
Aynı zamanda ,deponun inşaatı fabrikanın
kuruduğu bölgede olması
istendiğinden,depoya ilişkin karar koşullu
karardır.Böylece,x1 = 0 olduğunda x3 =
0olur.Benzer şekilde,x2 = 0 olduğunda x4 =
0 olacaktır.Söylenen bu durumları iki ek
kısıtlayıcı ile ifade edebiliriz.
x3 ≤n x1 ve x4 ≤x2
veya
x3 – x1 ≤0 ve x3 – x2 ≤ 0
dir.
Şimdi şirketin 0-1 tamsayılı programlama
modelini yazabiliriz.
Max z = 20x1 + 14x2 + 12x3 +8x4
Kısıtlayıcılar
15x1 + 8x2 + 7x3 + 4x4 ≤ 21
x3 + x4 ≤ 1
-x1
+x3
≤0
-x2
+x4
≤0
xj ≤ 1
xj ≥ 0
xj = tamsayı ve sıfır veya 1
(j = 1,2,3,4)
Bu örnek problem,temel kararın evet veya hayır
olan çoğu gerçek hayattaki uygulamalardan birisini
göstermektedir.Çoğu kez,evet veya hayır
türündeki kararlar,önceki kararlara bağlı olup yani
koşullu kararlardır.Örneğin,bir karar diğer karara
koşullandırıldı ise diğeri evet ise onunda sadece
evet olmasına izin verilir.
Bu örnek problemin WINQSB paket programı ile
elde edilen çözümü ise x1 = 0,
x2 = 1,x3 =
0,x4 = 1 ve max z = 22.000.000 YTL’dir.
6.2.2 Sırt Çantası Problemleri
Herhangi bir tamsayılı programlama problemi
sadece bir kısıtlayıcılı ise bu tür probleme çoğu
kez sırt çantası problemi (knapsack problem) adı
verilir.Uygulamasa,birden fazla kısıtlayıcılı sırt
çantası problemleriyle de,karşılaşabiliriz.Birden
fazla kısıtlayıcılı sırt çantası problemine,çok
boyutlu sırt çantası problemi denir.Sermaye
bütçeleme,portföy seçimi,proje seçimi makinelerin
yerleşim planı gibi bir çok problem sırt çantası
problemi olarak düşünülebilir.
ÖRNEK 6.2.2.1
Güldoğan Tekstil Şirketi,boyahane,ev
tekstili,dikim atölyesi,cep astarı dikim
atölyesi olmak üzere dört yatırımı
düşünmektedir.Bu yatırımların gerektirdiği
şu andaki nakit miktarları,yatırımların
getirisinin net bugünkü değeri ile şirketin
elindeki yatırımlara ayıracağı kaynak miktarı
bilgileri aşağıdaki tabloda verilmiştir.
GüldoğanTekstilŞirketi
ne İlişkin Veriler
Yatırımlar
Karar Değişkeni
Gerekli Sermaye Miktarı
(1000 YTL)
Net Bugünkü Değeri
(1000 YTL)
Boyahane
X1
6.300
18.500
Ev tekstili (Dikim)
X2
1.080
10.200
Cep astarı (Dokuma
X3
2.160
18.000
Cep astarı (Dikim)
x4
1.440
16.000
Eldeki nakit miktarı (YTL)
6.900.00
Güldoğan Tekstil Şirketinin amacı,net
bugünkü değerini en fazla kılan yatırımı
seçmektir.
ÇÖZÜM:
Şirketin dört yatırım seçeneği ve dolayısıyla
da dört karar değişkeni vardır.Yatırım
seçeneklerine ilişkin karar evet veya hayır
türündedir.O nedenle,değişkenleri 0-1
tamsayılı değerler olarak ifade etmeliyiz.
xj(j = 1,2,3,4) =
1 yatırım j seçilirse
0 yatırım j seçilmez ise
Örneğin,x3 = 1 cep astarı dokuma
bölümünün kurulmasını ve x3 = 0 ise cep
astarı dokuma bölümünün kurulmasını ifade
eder.Buna göre şirketin 0-1 tamsayılı tek
boyutlu sırt çantası problemi aşağıdaki
şekilde ifade edilir.
Max z =18.500x1 + 10.200x2 + 18.00x3 +
16.000x4
Kısıtlayıcılar
6.300x1 + 1.080x2 + 2.160x3 + 1.440x4 ≤
6.900
ve
xj = 0 veya 1
(j = 1,2,3,4)
Bu problemin WINQSB paket programı ile
elde edilen çözüm değerleri;
x1 = 0,x2 = 1,x3 = 1,x4 = 1 ve max z =
44.200.000YTL’dir.
Güldoğan Tekstil Şirketi,ayrıca aşağıdaki
koşullarında karşılanmasını istemektedir.
1.Şirket en fazla iki yatırım yapabilmektedir.
2.Şirket,cep astarı dokuma yatırımı
yaparsa,boyahane yatırımı yapmak
zorundadır.
3.Şirket,cep astarı dikim atölyesi yaparsa ev
tekstiline yatırım yapmayacaktır
Bu durumda,şirketin yatırımlarının sayısını
belirleyen kısıtlayıcı x1 + x2 + x3
+
x4 ≤ 2’dir.Yukarıdaki iki nolu koşul ise
koşulluk arar özelliğindedir.Dolayısı ile x3 =
1 ise x1 = 1 olmalıdır.Bu kısıtlayıcının
okuyucuya daha anlaşılır olması
için,aşağıdaki iki durumu ele alarak
açıklamakta yarar vardır.
Durum 1:
x3 = 1 yani x3 = 1 ise 1 – x1 ≤ 0 veya x1 ≥ 1dir. X1 = 0
veya xi = 1 olmak zorunda olduğundan x1 =
1’dir.Dolayısıyla şirketin istediği ikinci koşul
karşılanmaktadır.
Durum 2:
x3 = 0 ise
0 – x1 ≤ 0
ve
x1 ≥ 0 dır.
X1 = 0 veya 1 olması durumunda x1 = 1
ve dolayısıyla
x3 = 1olmak zorundadır.
3 nolu koşulda ise Güldoğan Tekstil için ek kısıtlayıcı
x2 + x4 ≤ 1’dir.Şimdi bu ek kısıtlayıcı da iki durum ile
açıklamaya çalışalım.
Durum 1:
x4 = 1,olduğunda şirket cep astarı dikim
atölyesine yatırım yapacağını ifade
eder.Yukarıdaki kısıtlayıcıda,x4 yerine 1
koyduğumuzda yani x2 + 1 ≤ 1 veya x2 ≤ 0
olur, x2 = 0 bize şirketin ev tekstiline
yatırım yapmayacağını,dolayısıyla 3 nolu
koşulun karşılığını gösterir..
Durum 2:
X4 = 0,bu durumda 3.koşul x2’nin
değerinin kısıtlamaz.Eğer x4 = 0 olursa x2
≤ 1 olur ve bu da x4’ün değerini 0 veya 1
olması için serbest bırakılır.
Yukarıda ele aldığımız kısıtlayıcılar ile
birlikte problemin 0-1 tamsayılı programlama
modeli aşağıda verilmiştir.
Max z = 18.500x1 + 10.200x2 + 18.00x3 + 16.000x4
Kısıtlayıcılar
6.300x1 + 1.080x2 + 2.160x3 + 1.440x4
≤ 6.900
x1 +
x2 +
x3 +
x4
≤2
- x1 +
+
x3
≤0
x2 +
+
x4 ≤1
ve
xj = 0 veya 1 (j = 1,2,3,4)
Bu problemin çözümü;
X1 = 1,x2 = 0,x3 = 0,x4 = 0 ve max z
=18.500.000 YTL’dir.
ÖRNEK 6.2.2.2
Bir seyahat işletmesi,yolcularına
yanlarında taşıyabileceği eşyanın en fazla
20 kg olması koşulunu koymuştur.İstenen
ise,bize en fazla fayda sağlayan
eşyalarımızdan ne kadarını valizimizde
taşıyabileceğimizdir.Eşyalar ile ilgili ağılıklar
ve onların faydaları (YTL) aşağıda
verilmiştir.
Eşyalar
Ağırlık (kg)
Fayda (YTL)
Gömlek,
Takım elbise
Ayakkabı
İç çamaşır Radyo
Diz üstübilgisayar
Kilim
Halı
Tencere
0.2
1.2
0.8
0.1
2.0
3.5
1.5
4.0
2.0
8.0
60.0
15.0
2.0
20.0
100.0
80.0
200.0
6.0
ÇÖZÜM
Karar değişkenlerimiz;
xj =Taşınacak j’inci eşyanın miktarı (xj ≥ 0 ve tamsayı)
xj = 1,2,3,4,…,9
Amaç fonksiyonu ise faydayı en fazla kılan
Max z =8x1 + 60x2 + 15x3 + 2x4 + 20x5 + 100x6 + 80x7 + 200x8 + 6x9
dir.
Kısıtlayıcı ise,taşıyabileceğimiz eşya ağırlığının 20 kg’mı
geçmemesidir.Yani;
0.2x1 + 1.2x2 + 0.8x3 + 0.1x4 + 2x5 + 3.5x6 + 1.5x7 + 4x8 + 2x9 ≤ 20
ve
Xj ≥ 0 ve tamsayı j = 1,2,3,4,…,9
Modelin çözüm değerleri ise;
x1 = 2,x2 = x3 = 0,x4 = 1,x5 = x6 = 0,x7 =
13,x8 = x9 = 0 ve Max z = 1058 YTL’dir.
Bu problemde görüldüğü üzere,aynı
eşyadan birden fazlasının çantaya (valize)
konulabilme olanağı vardır.Öte yandan,öyle
problemlerde vardır ki,eşyaların çantaya
konulup konulmaması kararını
gerektirebilir.Bu durumda,karar değişkenleri
0-1 türünden tanımlanmalıdır.Yani;
1 j ’inci eşyanın çantaya konulması
Xj=
0 j ’inci eşyanın çantaya konulmaması
Karar değişkenleri 0 veya 1 ile tanımlanan
sırt çantası problemlerine 0-1 sırt çantası
problemleri denir.
Şimdi,0-1 sırt çantası problemi için bir
örnek problem ele alarak onun çözümünü
verelim.
ÖRNEK 6.2.2.3
Yeşim Tekstil Şirketi,ürettiği hazır giyim ve ev
tekstili ürünlerini satmak için Bursa’da altı satış
mağazası açmayı düşünmektedir.Satış
mağazalarının her biri ayrı semtlerde
olacaktır.Piyasa araştırmasına göre satış
mağazalarının aylık kiraları ve bu mağazalarda
alışveriş yapabilecek potansiyel müşteri sayısı
aşağıda verilmiştir.
semtler
1
2
3
4
5
6
Aylık kira tutarı
(YTL)
2,000
3,000
5,000
2,500
1,500
1,200
Aylık potansiyel
müşteri sayısı
30,00
0
45,000
60,000
20,000
15,000
18,000
İstenen,potansiyel müşteri sayısını en çok
kalacak satış mağazalarının hangi
semtlerde açılması gerektiğini
belirlemektedir.Ayrıca,şirketin satış
mağazalarının aylık kirası için ayırabildiği
para da 12.00 YTL’dir.
ÇÖZÜM
Bu problem,hangi semtlerde mağazaların
açılıp açılmamasına ilişkin olduğundan,0-1
tamsayılı programlama türünde formüle
edilmelidir.Dolayısı ile,
1 mağazanın j semtinde açılması
Xj =
0 mağazanın j semtinde açılmaması
Max z = 30.000x1 + 45.000x2 + 60.000x3 + 20.000x4 +
15.000x5 + 18.000x6
Kısıtlayıcılar
2.000x1 + 3.000x2 + 5.000x3 + 2.500x4 +
1.500x5 + 1.200x6 ≤ 12.000
ve
Xj = 0 veya 1,j = 1,2,3,4,5,6
Bu problemin çözümü;
x1 = 1,x2 =1,x3 = 1,x4 =0,x5 = 0,x6 = 1 ve max z =153.000
Şirket aylık 153.000 müşteri potansiyelini
elde edebilmesi için satış mağazalarını 1,2,3
ve 6 nolu semtlere açmalıdır.
Sırt çantası problemleri tek kısıtlayıcılı
olduğu gibi değişkenlere ilişkin kısıtlar
artırılarak çok boyutlu da olabilir.
6.2.3 Sermaye Bütçeleme Problemleri
Sermaye bütçeleme problemleri,eldeki sınırlı
bütçenin yatırım projelerine dağıtılarak en fazla
getiriyi sağlamayı amaçlayan
problemlerdir.Sermaye bütçeleme problemleri
klasik doğrusal programlama problemi olarak
formüle edilerek çözümlendiği gibi sırt çantası
problemi türünde de ele alınarak,0-1 tamsayılı
programlama problemi olarak da
çözümlenebilmektedir.
Daha önce ele aldığımız Örnek 6.2.2.1,aslında tek dönemli
sermaye bütçeleme problemidir.Fakat uygulamada,çoğu
yatırımcılar,elindeki sermayeyi birden fazla döneme yayıp
belirli projelere yatırarak dönem sonunda en fazla getiriyi
elde etmek isterler.Ayrıca yatırımcılar,hangi dönemde hangi
yatırım yapılmalıdır ki en fazla getiri sağlansın ile iki veya
daha fazla projeden sadece birisinin seçilmesinin
gerektiren problemler ile de karşılaşırlar.
Özellikle,birden fazla döneme ilişkin yatırım
problemleri,çok dönemli sermaye bütçeleme problemleridir.
ÖRNEK 6.2.3.1
FAMU Şirketi,elindeki sermayeyi birbirini
izleyen 4 yıl için var olan 5 projeye yatırmak ve
yatırımlarını 5.yılda satarak elde edeceği toplam
getiriyi ençoklamak istemektedir.Şirket,bu
projelerden birine karar verirse,dört yıl boyunca
belirli miktarda bu projeye para yatırmalıdır.
Şirketin her dönem için yatırabileceği para
sınırlıdır.Şirket ile ilgili veriler aşağıda tabloda
verilmiştir.
FAMU Şirketi İle İlgili Veriler
5.yılda beklenen
satış fiyatı
(YTL)
Yıllar içinde yatırılması gereken miktar
(YTL)
Projeler
1
2
3
4
1
20,000
40,000
10,000
5,000
80,000
2
30,000
20,000
5,000
2,000
60,000
3
40,000
30,000
10,000
0
50,000
4
20,000
30,000
5,000
10,000
40,000
5
15,000
25,000
10,000
8,000
20,000
Bütçe
60,000
80,000
30,000
15,000
FAMU şirketinin amacını gerçekleştirmek
modeli formüle ediniz.
ÇÖZÜM
Bu problem,çok boyutlu sırt çantası
problemidir.Bütçe kısıtlayıcısı her yıla
karşılık gelmek üzere dört tanedir.
Modelin karar değişkenleri
1 proje j seçilirse
Xj =
0 proje j seçilmez ise
j = 1,2,3,4,5
Amaç fonksiyonu ;
Max z = 80x1 + 60 x2 + 50 x3 + 40x4 +
20x5
Kısıtlayıcılar
40x1 + 30x2 + 40x3 + 20x4 + 15 x5 ≤ 60
40x1 + 20x2 + 30x3 + 30x4 + 25x5 ≤ 80
10x1 + 5x2 + 10x3 + 5x4 + 10x5 ≤ 30
5x1 + 2x2 +
+ 10x4 + 8x5 ≤ 20
ve
xj = 0 veye 1,j = 1,2,3,4,5
Problemin optimal çözümü ise
x1 =1,x2 = 1,x3 = x4 = x5 = 0 ve max z =
140.000 YTL’dir.
6.2.4 Sabit Yük Problemleri
Sabit yük (Fixed-Charge) veya hazırlık maliyeti (Setup
cost) bir faaliyet gerçekleştiğinde ortaya çıkar.Örneğin,bir
kumaşın baskı makinesinde basılması için önce kumaşın
baskı kalıbı hazırlanıp baskı makinesi yerleştirilmelidir.
Baskı kalıbının hazırlanması ve makineye takılması
maliyetine sabit yük veya hazırlık maliyeti denir.Basılan
kumaş miktarı ile orantılı olan maliyete de değişken maliyet
denir.Bir anlamda,değişken maliyet en az faaliyet düzeyi ile
orantılı olacaktır.Bilindiği üzere,bir işletme istenen,toplam
maliyetin enküçüklenmesidir.
Bir j faaliyetinin toplam maliyeti aşağıdaki fonksiyon
biçiminde ifade edebilir.
kj + cjxj
Fj (xj) =
0
xj > 0 ise,
xj > 0 ise,
Burada;
Xj = Faaliyet j’nin (kj≥0) miktarını
Kj = Faaliyet j’nin hazırlık veya sabit yük
maliyetini
Cj = Faaliyet j’nin her artışına göre maliyetini
gösterir.
Dikkat edildiğinde,kj maliyeti ancak xj>0
olduğunda ortaya çıkmaktadır.Bir anlamda,ancak
ürün üretilmeye karar verildiğinde hazırlık veya
sabit yük maliyeti söz konusu olmaktadır.
Hazırlık maliyetini içeren problemler,karma
tamsayılı problem biçiminde ifade
edilebilir.bunun için,her bir faaliyetin (j =
1,2,3,…,n) üretimi xj > 0 olmalı mıdır?gibi
soruların her biri için evet veya hayır kararını
yansıtan yeni bir yardımcı ikili (binary)
değişken yj’ye gereksinim vardır.Böylece,
n
Z= ∑
j=1
(cj xj+kjyj
Burada
1 xj > 0 ise
yj =
0 xj = 0 ise
Bu yüzden yj tesadüfi kararlar (contingen decisions)
olarak görülmektedir.Dolayısıyla xj ile yj arasındaki ilişkiyi
ortaya koyan kısıtlayıcının da ele alınması gerekir.Bu
kısıtlayıcıda,
Xj ≤ Myj j = 1,2,3,…,n
Buradaki,M herhangi bir xj (j = 1,2,3,…,n) nin en
çok uygun değerinin aşan oldukça büyük değerli
sayısı ifade eder.Bu kısıtlayıcı, xj >0 olduğunda
yj’nin sıfırdan çok bire olduğunu (yani yj = 1)
karşılar.Böylece,kjyj = kj olur ve xj üretildiğinde
sabit maliyet kj ortaya çıkar.Buradaki sorun,xj = 0
olduğunda sözünü ettiğimiz kısıtlayıcının yj’yi 0
veya 1 olması için serbest bırakmasıdır.Fakat bu
sorun,amaç fonksiyonun yapısı gereği
kendiliğinden
Çünkü kj = 0 olduğunda yj formülde yer
almayacaktır.Bu nedenle,kj > 0 olduğunda durum
ile ilgileneceğiz.Ayrıca,xj = 0 olduğunda kısıtlayıcı
yj = 0 ve yj = 1 arasında bir seçime olanak
verir.Amaç fonksiyonun yj =0 olduğundaki değeri
(z),yj = 1 olduğu değerden daha küçük
olmalıdır.Dolayısıyla,amaç fonksiyonun değerini
(z),minimum kılmak istediğimizden her zaman xj =
0 olduğunda yj = 0’ı seçeriz.
Şimdi,karma tamsayılı sabit yük
problemini formüle edebiliriz.
Minimum z =
n
∑
j=1
(cj xj +kjyj)
Kısıtlayıcılar
i = 1,2,3,…,m
n
∑
j=1
aijxj ≥ bi
j = 1,2,3,…,n
xj – Myj ≤ 0
ve
xj ≥ 0
yj = 0 veya 1 j = 1,2,3,…,n
Yukarıdaki modelde,eğer xj değişkenlerin
tamsayı olması zorunlu ise bu problem,arı
tamsayılı problem olur.
ÖRNEK 6.2.4.1
Bu örnekte,doğrusal programlamanın hava kirliliğini
azatlımda nasıl kullanılabildiği açıklanacaktır.Önce problem
klasik doğrusal programlama modeli olarak ifade edilecek
sonra da ek yük maliyetler ele alınarak,model karma
tamsayılı programlama olarak ifade edilerek çözüm
değerlerine ulaşılmaya çalışılacaktır.
Çelik fabrikasının iki fırınından çıkan;zerrecikler,sülfür
oksit ve hidrokarbon türündeki kirleticiler havayı
kirletmektedirler.Yasaların getirdiği temiz hava
standartlarına göre şirket bu kirleticilerin yıllık aşağıdaki
emisyon oranında (kg) azaltmak zorundadır.
Kirleticiler
Zerrecikler
Sülfür oksit
Hidrokarbon
Yıllık azatlımı istenen emisyon oranı
(kg)
16.800
42.000
25.000
Bu kirleticilerin en ekonomik yolda azatlımı
için kabul edilen yöntemler;
a.Fabrika bacasının yükseltilmesi
b.Fırın bacalarına filtre takılması
c.Fırınlarda daha kaliteli yakıt
kullanılmasıdır.
Teknolojik kısıtlamalar altında bu yöntemlerin kullanılması ile emisyon
oranlarında yıllık azaltılabilecek miktarlar ise aşağıdaki tabloda verilmiştir.
Fabrika Bacasının
Yükseltilmesi
Filtre takılması
Kaliteli yakıt Kullanımı
Kirleticiler
Fırın 1
Fırın 2
Fırın 1
Fırın 2
Fırın 1
Fırın 2
Zerrecikler
3,000
2,200
6,000
4,500
3,600
3,200
9,600
10,000
5,000
9,000
15,500
13,500
7,500
17,500
5,500
4,700
5,400
4,000
Sülfür oksit
Hidrokarbon
Kirletici azatlım yöntemleri tam etkince kullanıldığında,onların
yıllık maliyeti (milyon YTL) aşağıda verilmiştir.
Kirlilik Azatlım Yöntemleri
Fabrika bacasının yükseltilmesi
Filtre takılması
Kaliteli yakıt tüketimi
Fırın 1
Fırın 2
4
3
6
5
2.5
4
Çelik şirketinin amacı,bu kirletici azatlım
yöntemlerinden hangi oranda (kapasitede)
kullanarak toplam maliyetini minimum
kılmaktır.
ÇÖZÜM
Bu problemin,altı karar değişkeni
vardır.Her bir karar değişkeni,her iki fırında
kullanılması gereken kirlilik azatlım
yönteminin yüzdelik oranlarını gösterir
Fabrika bacasının yükseltilmesi
Filtre takılması
Kaliteli yakıt kullanılması
Karar
Değişkenleri
Fırın 1
Fırın 2
x1
x2
x3
x4
x5
x6
Amaç fonksiyonu
Min z =4x1 + 5x2 + 3x3 + 2.5x4 + 6x5 + 4x6
Kısıtlayıcılar
Emisyon azalımı
3x1 + 2.2x2 + 6x3 + 4.5x4 + 3.6x5 + 3x6
≥16.8
9.6x1 + 10x2 + 5x3 + 9x4 + 15.5x5 + 13.5x6
≥42
7.5x1 + 17.5x2 + 5.5x3 + 4.7x4 + 5.4x5 + 4x6
≥25
Teknolojik kısıt.
x1≥1
x2≥1
x3≥1
x4≥1
x5≥1
x6≥1
ve
(j = 1,2,3,4,5,6)
xj≥0
Yukarıda ifade edilen klasik doğrusal
programlama modelinin çözüm değerleri x1
= 1,
x2 = 0.1991,x3 = 1,x4 = 1,x5 =
0,x6 = 0.9540 ve min z = 14.310
YTL’dir.Buna göre Fırın 1’de baca
yükseltilmesi yüzde yüz,Fırın 2’de %20
uygulanmalıdır.Fırın 1 ve Fırın 22ye yüzde
yüz filtre takılmalı ve kaliteli yakıt tüketimi
Fırın 2’de %95 olmalıdır.
Şimdi,çelik fabrikasında kirlilik azatlım yöntemi
kullanmak için Fırın 1’de ek 1.000.000 YTL ve
Fırın 2’de ek 600.000 YTL bir harcamanın gerekli
olduğunu ele alarak problemimizi çözelim.böylece
sabit yük maliyeti k1 = 1.000.000,k2 = 600.000
olacaktır.Bu sabit yük maliyetini de önceki
modelimize yükleyerek,şirketin aşağıda görülen
karma tamsayılı programlama modelini yazabiliriz.
Min z =4x1 + 5x2 + 3x3 + 2.5x4 + 6x5 + 4x6 + y1 + 0.6y2
Kısıtlayıcılar
3x1 + 2.2x2 + 6x3 + 4.5x4 + 3.6x5 + 3x6
≥16.8
9.6x1 + 10x2 + 5x3 + 9x4 + 15.5x5 + 13.5x6
7.5x1 + 17.5x2 + 5.5x3 + 4.7x4 + 5.4x5 + 4x6
x1
≤1
x2
x3
x4
≤1
≤1
≤1
x5
≤1
x6
≤1
≤0
≥42
≥25
x1 – My1
x2 – My2
≤0
ve
xj≥0 (j = 1,2,3,4,5,6)
y1,y2 = 0 veya 1
Bu modelin,WINQSB paket programı ile
elde edilen çözüm değerleri;
x1 = 0,x2 = 0.42198,x3 = 0.9969,x4 =
1,x5 = 0.6592,x6 = 1,y1 = 0,y2 = 1 ve
min z = 16.194.800 YTL’dir.
ÖRNEK 6.2.4.2
FAMU Tekstil Şirketi,hazır giyim ürünlerinden Tshirt,pijama, ve şort üretmektedir.Her bir ürün için istenen
işçilik ve kumaş miktarı aşağıda verilmiştir.
Ürünler İşçilik Süresi (dak)
T-shirt
Pijama
Şort
8
28
16
Kumaş Miktarı
(gram)
284
658
939
Şirketin,haftalık üretim için elinde 8.000 kg kumaş
ile 108.000 dakika işçilik vardır.Şirket,her T-sihrt
satışından 5 YTL,pijama satışından 6 YTL,şort
satışından da 4 YTL kazanmaktadır.Ayrıca,müşteri
talebinin zamanında karşılanması için
şirket,ürettiği ürünler için dikiş makinesi kiralamak
zorundadır.Şirket,haftalık T-shirt makinesine kira
bedeli olarak400 YTL,pijama dikiş makinesine 250
YTL,şort dikiş makinesine de 150Ytl ödemektedir.
FAMU Tekstil şirketinin haftalık kârını en
çoklayacak tamsayılı programlama modelini
kurunuz.
ÇÖZÜM
Karar değişkenleri;
x1=Haftalık üretilecek T-shirt sayısını
x2=Haftalık üretilecek pijama sayısını
x3=haftalık üretilecek şort sayısını gösterir.
Dikkat edilirse kiralanan dikiş makinelerinin
maliyeti üretilen ürün miktarına değil sadece
üretilen ürün türüne bağlıdır.
Dolayısıyla,makinelerin kiralama maliyeti
ifadesini aşağıdaki değişkenleri kullanarak
açıklayabiliriz.
1 T-shirt üretilirse
y1 =
0 T-shirt üretilmez ise
1 Pijama üretilirse
y2 =
0 Pijama üretilmez ise
1 Şort üretilirse
y3 =
0 Şort üretilmez ise
Kısaca,eğer xj >0 ise yj =1 ve eğer xj = 0 ise
yj = 0 dır.
Haftalık makinelerin kiralama maliyeti =
400y1+250y2+150y3
Burada,bilinmesi gereken nokta,şirketin
gerçekten ürettiği ürün makinesine ödemede
bulunacağıdır.Örneğin,şirket sadece T-shirt
ve pijama üretir ise y1 = y2 = 1 ve y3 = 0
olur ve dolayısıyla toplam haftalık kiralama
maliyeti de 400+250 = 650 YTL olacaktır.
Kiralama maliyeti üretilen ürün miktarına
bağlı olmadığından,her tür makinenin
kiralama maliyetine sabit yük maliyeti adı
verilir.bir faaliyetin sabit yük maliyeti ancak o
faaliyet sıfır olamayan değer aldığı zaman
ortaya çıkar.
Şimdi,şirketin tamsayılı programlama modelini kurabiliriz.
Max z =5x1+6x2+4x3-400y1-250y1-150y3
Kısıtlayıcılar
8x1 + 28x2 + 16x3
≤ 108.000 (işgücü)
284x1 + 658x2 + 939x3 ≤ 8.000.000
x1 - My1
≤0
x2 - My2
≤0
x3 - My3 ≤ 0
x1,x2,x3 ≥ 0;
x1,x2,x3 tamsayı
y1,y2,y3 = 0 veya 1
Bu model çözülürken,M = 15.000
alınmıştır.çözüm değerleri ise;
x1 = 13.500,x2 = 0,x3 = 0,y1 = 1,y2 = 0,y3 =
0, max z = 67.100 YTL’dir.
6.2.5 Küme Örtme Problemleri
Bir küme örtme probleminde (set
covering problem) verilen herhangi bir
kümenin her üyesi(örneğin küme 1) diğer
kümenin (küme 2)kabul edilebilen bir
üyesince örtülmeli yani kapsanmalıdır.Küme
örtme problemindeki amaç;küme 1’deki tüm
elemanları örtmek için gereken küme 2’deki
eleman sayısını minimum kılmaktır.
6.2.5 Küme Örtme Problemleri
Bir küme örtme probleminde (set covering problem) verilen herhangi bir
kümenin her üyesi(örneğin küme 1) diğer kümenin (küme 2)kabul edilebilen bir
üyesince örtülmeli yani kapsanmalıdır.Küme örtme problemindeki amaç;küme
1’deki tüm elemanları örtmek için gereken küme 2’deki eleman sayısını minimum
kılmaktır.
n
Min z = ∑
j=1
cj xj
Kısıtlayıcılar
m
∑
t=1
i=1,2,….,m
aij xj ≥ 1 j=1,2,….,n
ve
xj = 0 veya 1
(j = 1,2,3…,n)
Küme örtme problemlerinin bir çok uygulama alanı
vardır.Havayolu şirketleri ,hangi uçağının sefere çıkacağına
ve onun nereye uçacağına filo çizelgelemesi yaparak karar
verirler.Çizelgelenmiş uçuşlara uçakların atanmasına filo
atanması denir.Filo atama probleminde,atama maliyetleri
enazlanmak veya her uçuş seferinden elde edilen kâr en
çoklanmak istenir.Filo atama ile tayfa eşleştirme
problemleri küme örtme problemleri özelliğindedir.Ayrıca
havayolu tayfa çizelgelemesi son yıllarda tamsayılı
programlamanın önemli bir uygulamasını
oluşturmakta,hatta binlerde olanaklı uçuş sıralamasını
içeren problemler bu yöntemle çözülmektedir.
Bir küme örtme problemi,potansiyel faaliyetlerin
(uçuş sıralaması gibi) bir sayısını içerirken
faaliyetlerin özelliklerini (uçuşları gibi)tanıtabilir.Her
faaliyet özelliklerden ziyade bazılarına sahip
olmalıdır.Amaç ise her özelliğin en az bir kere
kapsanarak en az maliyetli faaliyet bileşenini
belirlemektir.Örneğin Si, i özelliklerini kapsayan
(örten) tüm faaliyetlerin kümesi olsun.Böylece Si
kümesinin en az bir elemanı seçilen faaliyetler
arasında olmalıdır ve dolayısıyla kısıtlayıcı
∑
jєsi
xj ≥ 1
Bu kısıtlayıcılar küme-ayrıştırma
probleminde
∑
jє si
xj ≥ 1
olur.Böylece,Si kümesinin her bir
elemanı,bütün seçilen faaliyetler arasında
yer almalıdır,
ÖRNEK 6.2.5.1
Bursa Belediyesi sekiz yerleşim merkezi için
itfaiye (yangın söndürme) istasyonu kurmak
istemektedir.Belediyenin amacı,her bir yerleşim
yerine,20 dakikada ulaşılabilecek yerlerde en az
sayıda itfaiye istasyonunun kurulmasıdır.
Bursa ilindeki sekiz yerleşim merkezi
arasındaki ulaşım süreleri aşağıdaki tabloda
verilmiştir.
Yerleşkeler Arasındaki Uzaklıklar
(dakika)
y1
y2
y3
y4
y5
y6
y7
y8
y1
y2
y3
y4
y5
y6
y7
y8
0
15
25
30
35
22
10
32
15
0
32
25
22
16
24
12
25
32
0
18
28
26
40
20
30
25
18
0
19
30
15
40
35
22
28
19
0
18
30
15
22
16
26
30
18
0
18
32
10
24
40
15
30
18
0
16
32
12
20
40
15
32
16
0
İtfaiye istasyonlarının nerede ve kaç tane
kurulması gerektiğini tamsayılı programlama
modeli kurarak belirleyiniz.
ÇÖZÜM
Her yerleşim yerine,itfaiye istasyonunun
kurulup kurulmamasını belirlemek için 0-1
değişkenlerini;
x1,x2,x3,x4,x5,x6,x7 ve x8
1 itfaiye istasyonu j yerleşkesinde kurulur ise
xj =
0 itfaiye istasyonu j yerleşkesinde kurulmaz ise
ile tanımlayalım.
Toplam kurulacak itfaiye istasyonu sayısı =
x1+x2+x3+x4+x5+x6+x7+x8
dir.
Bursa Belediye yönetiminin amacı ise bu toplam sayıyı
en aza indirmektir.Yani;
Min z = x1+x2+x3+x4+x5+x6+x7+x8
Belediye yönetiminin kısıtlayıcıları ise
yerleşkelere 20 dakikada ulaşılabilen
yerleşkelerde itfaiye istasyonlarının
kurulmasıdır.aşağıda,her bir yerleşkenin 20
dakikada veya daha az sürede diğer
yerleşkelere ulaşabildiğini tablodan
yararlanarak belirlenmiştir.
Yerleşkeler
Ulaşılabilen Yerleşkeler
y1
y2
y3
y4
y5
y6
y7
y8
1,2,7
1,2,6,8
3,4,8
3,4,5,7
4,5,6,8
2,5,6,7
1,4,6,7,8
2,3,5,7,8
Yerleşke 12e 20 dakika uzaklıkta en az bir itfaiye
istasyonu kurmak için
x1+x2+x7 ≥ 1
( Yerleşke 1 )
kısıtlayıcısı ele alınmalıdır.bu kısıtlayıcı x1 = x2 =
x7 = 0 olmasını olanaksız kılar ve böylece
yerleşke 12e 20 dakikada ulaşabilen az bir itfaiye
istasyonunun kurulması sağlanmış olur.Benzer
şekilde diğer 7 yerleşke içinde kısıtlayıcıları
yazabiliriz.Amaç fonksiyonu ile bu kısıtlayıcıları
ilişkilendirirken her değişken 0 veya 12e eşit
olmalıdır.
Şimdi,Bursa ilinde hangi yerleşkelere itfaiye
istasyonu kurulması gerektiğini belirleyen 01 tamsayılı programlama modelini
kurabiliriz.
Min z = x1+x2+x3+x4+x5+x6+x7+x8
Kısıtlayıcılar
x1+x2
+x7
≥1
x1+x2
+x6
+x8
≥1
x3+x4
+x8
≥1
x3+x4+x5
+x7
≥1
x4+x5+x6
+x8
≥1
x2
+x5+x6+x7
≥1
x1
+x4
+x6+x7+x8
≥1
x2+x3
+x5
+x7+x8
≥1
ve
xj = 0 veya 1
(j = 1,2,3,4,5,6,7,8)
(Yerleşke 1)
(Yerleşke 2)
(Yerleşke 3)
(Yerleşke 4)
(Yerleşke 5)
(Yerleşke 6)
(Yerleşke 7)
(Yerleşke 8)
Bu modelin optimal çözümü ise
x2 = x4 = 1,x1 = x2 = x3 = x4 = x5 = x6 = x7
= x8 = 0 ve min z = 2’dir.
Böylece,Bursa ilinde sadece yerleşke 2 ve
yerleşke 4’de olmak üzere;iki tane itfaiye
istasyonu kurulmalıdır.
Küme örtme problemlerinde temel amaç,bütün yerleşkelere
hizmet verebilecek ve bir yerleşkeye “en az” bir merkezin
hizmet verebilmesini sağlayan en az sayıda itfaiye
istasyonunun alt kümesinin belirlenmesidir.Bu problemde
verilen sekiz yerleşke küme 1’in elemanları(S1 =
{1,2,3,4,5,6,7,8})ve bu yerleşkelere 20 dakika içinde
ulaşılabilen yerleşkelerde kurulacak itfaiye istasyonları da
küme 2’nin (S2 = {2,4})elemanlarıdır.Yerleşke 2’de kurulan
itfaiye istasyonu,yerleşke 1,2,6 ve 8’e hizmet ederken yani
onları kapsarken,yerleşke 4’de kurulan itfaiye istasyonu da
yerleşke 3,4,5 ve 7’ye hizmet götürecektir.
ÖRNEK 6.2.5.2
Bir havayolu şirketi,tayfalarını gelecekteki uçuşların tümünü
örtmesi (kapsaması) için atamak istemektedir.Odaklanılan
problem,aşağıdaki tabloda verilen birinci sütundaki İstanbul ile ilgili
uçuşlara üç tayfanın atanmasıdır.Tablodaki 12 sütun her tayfa için
olanaklı 12 sıralamayı ve her sütunda yer alan sayılarda uçuş sırasını
göstermektedir.
Bu sırlamada yer alan uçuşlarda,her uçuşu kapsayacak şekilde 3
tayfadan birisinin atanması gereklidir.Elbette bir uçuşa birden fazla
tayfa atanabilir.Böyle bir durumda,havayolu şirketi fazladan istihdam
ettiği tayfaların ücretini ödemek zorundadır.Tablonun maliyet satırı
özellikle sıralı uçuşlara örten (kapsayan) üç tayfanın toplam atanma
maliyetini minimum kılmaktır.
Havayolu Şirketi problemi İçin Veriler
Uçuşların olanaklı sıralaması
uçuşlar
İstanbul-Londra
1
2
3
1
İstanbul-Frankfurt
5
6
1
1
İstanbul-Amsterdam
1
2
3
3
3
4
Frankfurt-Ankara
3
4
4
4
6
7
3
5
5
3
3
4
5
7
2
4
2
3
2
2
2
Amsterdam-Ankara
1
5
2
Amsterdam-İstanbul
12
4
Ankara-Amsterdam
2
11
1
3
3
10
1
1
2
2
9
1
2
Frankfurt-İstanbul
8
1
1
Ankara-Frankfurt
Maliyet(1000 YTL)
7
1
Londra-Ankara
Londra-İstanbul
4
8
5
2
4
4
2
9
9
8
9
ÇÖZÜM
Uygun 12 sıralı uçuş için 12 tane evet veya
hayır vardır.Yani;j sırasındaki uçuşu bir tayfa
atanmalı mıdır?
(j = 1,2,3,4,5,6,7,8,9,10,11,12)
Dolayısıyla bu soruya ilişkin kararlar için 12
tane ikili değişken kullanılmalıdır.
1 j sırasındaki uçuşa bir tayfa atanır ise
Xj =
0 j sırasındaki uçuşa bir tayfa atanmaz ise
Bu formülasyonun en ilginç kısmı her kısıtlayıcının karşılığı olan uçuşu
kapsamaktadır.Örneğin tablodan son uçuş olan Amsterdam-Ankara
uçuşunu ele alalım.Beş sıralama(isimcek 6,9,10,11 ve 12
sıralamalar)bu uçuşu kapsar.Bu yüzden söz konusu 5 sıralamada yer
alan uçuşlardan en az biri seçilmelidir.Buradaki kısıtlayıcı;
x6+x9+x10+x11+x12 ≥ 1 dir.
Bu problemin tamamlanmış 0-1 tamsayılı
programlama modeli aşağıda verilmiştir.
Min z
=2x1+3x2+4x3+6x4+7x5+5x6+7x7+8x8+9x
9+9x10+8x11+9x12
Kısıtlayıcılar
x1+x4+x7+x10
≥ 1 (İstanbul-Londra)
x2+x5+x8+x11
≥ 1 (İstanbul-Frankfurt)
x3+x6+x9+x12
≥ 1 (İstanbul-Amsterdam)
x4+x7+x9+x10+x12
≥ 1 (Londra-Ankara)
x1+x6+x10+x11
≥ 1 (Londra-İstanbul)
x4+x5+x9
≥ 1 (Ankara-Frankfurt)
x7+x8+x10+x11+x12 ≥ 1 (Ankara-Amsterdam)
x2+x4+x5+x9
≥ 1 (Frankfurt-İstanbul)
x5+x8+x11
≥ 1 (Frankfurt-Ankara)
x3+x7+x8+x12
≥ 1 (Amsterdam-İstanbul)
x6+x9+x10+x11+x12 ≥ 1 (Amsterdam-Ankara)
(üç tayfanın atanması)
12
∑
xj = 3
j=1
ve
xj = 0 veya 1
(j = 1,2,3,…,12)
Bu modelin optimal çözümü:
Min z = 18.000 YTL
x3 = 1 (Bir tayfa üçüncü sıralamadaki uçuşa atanacak)
x4 = 1 (Bir tayfa dördüncü sıralamadaki uçuşa atanacak)
x11 = 1 (Bir tayfa on birinci sıralamadaki uçuşa atanacak)
ve
x1 = x2 = x5 = x6 = x7 = x8 = x9 = x10 = x12 = 0
6.2.6 Ya-Veya Kısıtlayıcı Problemler
Matematiksel programlama problemlerinde genellikle,iki kısıtlayıcıdan
en az birisinin doyurulması istenir.İşte bu tür kısıtlayıcılı problemlere
ya-veya kısıtlayıcı(Either-or Constraints) problemler denir.Bir
problemde;
f (x1,x2,….,xn)≤ 0
(1)
g(x1,x2,….,xn)≤ 0
(2)
biçiminde iki tür kısıtlayıcı olduğunu düşünelim.Bu iki kısıtlayıcıdan en
az birisinin doyurulması için kısıtlayıcılara 0-1 değişkeni,y eklenir.
f(x1,x2,….,xn)≤My
(3)
g(x1,x2,….,xn)≤M(1-y)
(4)
Burada;
y : 0-1 tamsayılı değişkeni
M : f (x1,x2,….,xn) ≤ M ve g (x1,x2,….,xn) ≤ M
Koşulu ile problemlerdeki diğer kısıtlayıcıları
doyuran yeterince büyük değerli bir sayıyı ifade
eder.
Şimdi 3 ve 4 nolu yukarıdaki kısıtlayıcıların
eklenmesi bize 1 ve 2 nolu kısıtlayıcılardan en az
birinin doyurulmasına eşit olduğunu gösterir.
Şöyle ki;
Eğer y = 0 olduğunda (3) ve (4) nolu kısıtlayıcılar f ≤ 0ve g
≤ M olur.Böylece,
y = 0 olduğunda ikinci kısıtlayıcı (g ≤
M) problemin çözümünü sınırlamaz.Dolayısıyla,(1) veya
muhtemelen (2) nolu kısıtlayıcı doyurulmuş olur.
Eğer y = 1 olduğunda (3) ve (4) nolu kısıtlayıcılar f ≤ M ve g
≤ 0 olur.Böylece,
y = 1 olduğunda (2) nolu veya (1) nolu
kısıtlayıcı doyurulur.
Sonuç olarak,y = 0 veya y = 1 olduğunda (3) ve (4) nolu
kısıtlayıcılar ile (1) ve (2) nolu kısıtlayıcılardan en az birisi
doyurulur.
Şimdi,ve-veya kısıtlayıcılarına ilişkin iki örnek problemi ele
alalım.
ÖRNEK 6.2.6.1
Bir otomobil fabrikası küçük,orta ve
büyük boy olmak üzere üç tür otomobil
üretmeyi düşünmektedir.Her tür otomobil
için gerekli olan çelik,işgücü ile her
otomobilden elde edilen kârlar tabloda
verilmiştir.
Küç
ük
Çelik (ton)
İşgücü (saat)
Kâr (YTL
Orta Büyük
1,5
3
30
25
2000 300
0
5
40
4000
Eldeki Kaynak Miktarı
6.000
60.000
Otomobil üretiminin ekonomik olması
için,üretilecek otomobil hangi türden ise
miktarı en az 1000 adet olmalıdır.Fabrikanın
kârını enbüyükleyecek tamsayılı
programlama problemini formüle ediniz.
ÇÖZÜM
Karar değişkenleri;
x1 = Üretilecek küçük otomobillerin sayısını
x2 = Üretilecek orta boy otomobillerin sayısını
x3 = Üretilecek büyük boy otomobillerin sayısını gösterir.
Amaç fonksiyonu:
Max z =2000x1 + 3000x2 + 4000x3
Biliyoruz ki;herhangi bir türden otomobil üretilirse onun üretim
miktarı en az 1000 olmalıdır.Çelik ve işgücü miktarı sınırlı olduğundan
otomobil fabrikasınca aşağıdaki beş kısıtlayıcı doyurulmalıdır.
Kısıtlayıcı 1; x1≤0 veya x1≥1000
Kısıtlayıcı 2; x2≤0 veya x2≥1000
Kısıtlayıcı 3; x3≤0 veya x3≥1000
Kısıtlayıcı 4; üretilen otomobiller için en fazla 6000 ton çelik
kullanılabilir.
Önceki açıklamalarımızda da görüldüğü gibi
eğer f(x1,x2,x3) = x1 ve g(x1,x2,x3) = 1000
– x1 olarak tanımladığımızda,kısıtlayıcı 1’i
aşağıda verilen kısıtlayıcı çifti ile yeniden
ifade edebiliriz.
x1 ≤ M1y1
1000 – x1 ≤ M1(1 – y1)
ve
y1 := 0 veya 1
x1 ve 1000 - x1’in her ikisinin M1’den fazla olmasını önlemek için M1’in 1000’den büyük
ve x1’in ise M1’den küçük olması gerekir.Dolayısıyla M1 yeterince büyük değerli
seçilmelidir.Problemimizde,tüm işçilik süresi küçük otomobilin üretimine ayırdığımızda en
fazla üretilebilecek otomobil sayısı 6000/3 = 2000 dir.Böylece,M1 = 2000
olmalıdır.Benzer şekilde,kısıtlayıcı 2 ve kısıtlayıcı 3’de kısıtlayıcı çifti ile değiştirerek
yazabiliriz.
x2 ≤ M2y2
1000 - x2 ≤ M2(1 – y2)
y2 = 0 veya 1
x3 ≤ M3y3
1000 – x3 ≤ M3(1 _ y3)
y3 = 0 veya 1
M2 = 2000 ve M3 = 1200 olması yeterlidir.
Çelik kısıtlayıcısı ile işgücü kısıtlayıcıları da aşağıda verilmiştir.
1.5x1 + 3x2 + 5x3 ≤ 6000
(Çelik)
30x1 + 25x2 + 40x3 ≤ 60.000
(İşgücü)
Şimdi xj ≤ 0 ve xj’nin tamsayı olması gerektiğini dikkate alarak otomobil fabrikasının
tamsayılı programlama (TP) modelini yazabiliriz.
Max z = 2000x1 + 3000x2 + 4000x3
Kısıtlayıcılar
x1≤2000y1
1000 – x1 ≤2000(1 – y1)
x2≤2000y2
1000 – x2 ≤2000(1 – y2)
x3≤1200y3
1000 – x3 ≤120081 – y3)
1.5x1 + 3x2 + 5x3≤6000
30x1 + 25x2 + 40x3≤60.000
ve
x1,x2,x3 ≥ 0; x1,x2,x3 tamsayı
y1,y2,y3 = 0 veya 1
Bu modelin optimal çözüm değerleri;z =6000,x2 = 2000, y2 = 1,y1 = y2 =
x1 = x3 = 0 dır..böylece,otomobil fabrikası 2000 adet orta boy otomobil üretmeli
ve en fazla elde edeceği kâr da 6000 YTL’dir.
ÖRNEK 6.2.6.2
Bir şirketin araştırma ve geliştirme bölümü üç yeni ürün
geliştirmiştir.Şirket yönetimi,üretim hattında yaşanabilecek
darboğazı önlemek için bu ürünlere aşağıdaki iki
kısıtlamayı getirmiştir.
Kısıtlama 1:Geliştirilen üç üründen ancak ikisinin
üretimi yapılmalıdır.
Kısıtlama 2:bu ürünler,şirketin iki fabrikasından sadece
birinde üretilmelidir.
Ayrıca,her iki fabrikada üretilen ürünlerin birim üretim
maliyetleri aynıdır.Ürünler ile ilgili diğer bilgiler aşağıdaki
tabloda verilmiştir.
Ürünler İle İlgili Diğer Veriler
ürünler
Fabrikalar
1
2
3
Haftalık elverişli çalışma
süresi
1
3
4
2
30
2
4
6
2
40
Birim kar(ytl)
5000
7000
3000
Satış
potansiyeli
(Haftalık
adet)
7
5
9
Şirketin amacı, kârını ençoklamak için hangi
ürünlerin ne miktarda üretilmesi ve bu
ürünün hangi fabrikada üretileceğinin
belirlenmesidir.Üretim miktarı ise tamsayı
olma zorunluluğu yoktur.
ÇÖZÜM
Karar değişkenleri:
x1 = Geliştirilen ürün 1’in haftalık üretilecek miktarını
x2 = Geliştirilen ürün 2’in haftalık üretilecek miktarını
x3 = Geliştirilen ürün 3’ün haftalık üretilecek miktarını
Kısıtlama 1 ve kısıtlama 2 ile karar değişkenleri (x1,x2,x3) ≤ 2
olması istenmekte ve bu ürünlerin (x1,x2,x3) ancak iki fabrikanın
birinde üretilmesi istenmektedir.Ayrıca,karar değişkenleri sürekli
değişkenler olduğundan yardımcı ikili değişkenleri (y1,y2,y3) gerekli
olmaktadır.Eğer kara değişkenleri ikili yani 0-1 tamsayılı değişkenler
olsaydı kısıtlama 1’i x1 + x2 + x3 ≤ 2 olarak yazabilirdik.Fakat karar
değişkenleri sürekli değişkenler olduğundan ikili değişkenleri (yj)
aşağıdaki gibi ifade edebiliriz.
1 Eğer xj > 0 ürün j üretilirse
y4 =
(j=1,2,3,4)
0 Eğer xj = 0 üretilmez ise
Bu yorumu,modelimizde M’in (büyük pozitif değerli sayı)
yardımıyla güçlendirmek için aşağıdaki kısıtlayıcıları
ekleriz;
x1 ≤ My1
(1)
x2 ≤ My2
(2)
x3 ≤ My3
(3)
y1 + y2 + y3 ≤ 2
(4)
yj = 0 veya 1
(j = 1,2,3)
Ya-veya kısıtlayıcı ve negatif olmayan
kısıtlayıcılar,kara değişkenleri için sınırlı uygun
bölgeyi verir ve bu bölgede,her xj ≤ M’dir.bu
yüzden,xj ≤ Myj kısıtlayıcısı,yj = 1 olduğunda xj’nin
herhangi bir değerinin uygun bölgede olmasına
olanak verir.yj = 0 iken xj = 0 olur.yukarıdaki
4.kısıtlayıcı y1,y2,y3’den en fazla ikisinin değerinin
1’e eşit olmasını zorunlu kılar ve dolayısıyla bu iki
üründen ancak birisinin üretimi gerçekleşebilir.
Kısıtlama 2 için diğer yardımcı ikili değişken
(y4)’ü aşağıdaki yorumla modelimize eklemeliyiz.
1
y4 =
0
Eğer 4x1 + 6x2 + 2x3 ≤40 (Fabrika 1’de mi gerçekleşmeli?)
Eğer 3x1 + 4x2 + 2 x3 ≤30 (Fabrika 2’de mi gerçekleşmeli?)
Kısıtlama 2,ya-veya kısıtlayıcı
türündedir.Dolayısıyla bu iki kısıtlayıcı,
3x1 + 4x2 + 2 x3 ≤30 + My4
4x1 + 6x2 + 2x3 ≤40 + M(1 – y4)
ve
y4 = 0 veya 1
olarak ifade edebiliriz.
Şimdi,ele aldığımız kısıtlayıcıların sağ tarafındaki değişkenleri sol tarafa
geçirerek şirketin amacını gerçekleştirecek modeli yazabiliriz.
Max z = 5000x1 + 7000x2 + 3000x3
Kısıtlayıcılar
x1
≤7
x2
≤5
x3
≤9
x1 – My1
≤0
x2 – My2
≤0
x3 – My3
≤0
y1 + y2 + y3
≤2
3x1 + 4x2 + 2 x3 – My4
≤30
4x1 + 6x2 + 2x3 + my4
≤40
ve
x1≥0,x2≥0,x3≥0
yj = 0 veya 1
(j = 1,2,3,4)
Bu model,karma tamsayılı programlama
modelidir.Çünkü,üç karar değişkenin (xj)
tamsayı olması istenmez iken dört tane ikili
yani 0-1 tamsayılı değişkeni (yj)
vardır.Karma tamsayılı programlama
algoritması bu modelin çözümünde
kullanıldığında,modelin optimal çözüm
değerleri;
Max z = 54.500 YTL,x1 = 5.5, x2 = 0, x3 = 9,
y1 = 1, y2 = 0, y3 = 1, y4 = 1 ve çözümde M
= 50 olarak alınmıştır.Buna göre,üretim için
seçilecek ürünler,ürün 1 ve ürün 3’dür.Bu iki
ürün de fabrika 2’de
üretilmelidir.Ayrıca,haftada ürün 5.5 birim ve
ürün 3’den 9 birim üretilmeli ve bunun
sonucunda elde edilen haftalık kâr 54.500
YTL olacaktır.
6.2.7.İse – O Zaman Kısıtlayıcılı
Problemler
İse – o Zaman kısıtlayıcılı (If – Then Constraints)
problemler,çoğu uygulamalarda aşağıdaki durumlar ortaya
çıktığında söz konusu olmaktadır.
Eğer f(x1,x2,…,xn) > 0 kısıtlayıcısı doyurulması
istenirse,o zaman g(x1,x2,…,xn) ≥ kısıtlayıcısı da
doyurulmalıdır.Öte yandan,eğer f(x1,x2,…,xn) > 0
kısıtlayıcısı doyurulmaz ise g(x1,x2,…,xn) ≥ 0 doyurulabilir
yada doyurulmayabilir.Kısaca,f(x1,x2,…,xn) > 0
kısıtlayıcısının g(x1,x2,…,) ≥ 0 kısıtlayıcısını doyurması
istenir.Bunu sağlamak için formulasyonda,aşağıdaki
kısıtlayıcıların dahil edilmesi gerekir.
-g(x1,x2,…,xn)≤ My
(1)
f(x1,x2,…,xn)≤ M(1-y)
(2)
y = 0 veya 1
Bilindiği üzere,M pozitif değerli bir sayı
olup,M için seçilecek sayı,problemdeki tüm
kısıtlayıcıları karşılayan x1,x2,…,xn
değişkenleri için f ≤ M ve –g ≤ M olacak
şekilde yeterince büyük olmalıdır.
Gözlemlediğimizde;
Eğer f >0 ise o zaman (2) nolu kısıtlayıcı
sadece y = 0 olduğunda sağlanır.O zaman
(1) nolu kısıtlayıcı –g ≤ 0 veya g ≥ 0 olur
ki,bu da istenen sonuçtur.Böylece,eğer f
>0 ise o zaman (1) ve (2) nolu kısıtlayıcılar
kendiliğinden g ≥ 0 olması sağlar.
Aynı zamanda eğer f > 0 doyurulmaz ise (2) nolu
kısıtlayıcı y’nin y = 0 veya y = 1 olmasına izin
verir,y = 1 seçilerek (1) nolu kısıtlayıcı
kendiliğinden sağlanır.Böylece,eğer f > 0
doyurulmaz ise x1,x2,…,xn değişkenlerinin
değerleri sınırlandırılmaz ve g < 0 veya g ≥ 0’ın
her ikiside olanaklıdır.
İse-o Zaman kısıtlayıcılı problemleri daha iyi
açıklayabilmek için bir örnek problemi ele alaım.
ÖRNEK 6.2.7.1
Bursa’da Kaplanlar Soğutma San.Tic. ve Ltd.
Şirketinin ürettiği sanayi buzdolaplarından Lapis
(250 cm),Beril (240 cm),Mercan (250 cm) ve Oltu
(250 cm) boyutunda ürettiği buzdolaplarına ilişkin
veriler aşağıdaki tabloda verilmiştir.Bu
ürünler,oldukça birbirine benzerdir,fakat şirket
Lapis ve Beril isimli dolaplar üreteceği zaman ayda
en az 60’şar adet üretecektir
Ürünler İle İlgili Veriler
ürünler
Lapis
Beril
Mercan
Oltu
Rldeki
kaynak
miktarı
Soğutma ünitesi (adet)
1
1
1
1
225
Saç (kg)
260
98.5
96.5
87.5
31.082
Alüminyum (kg)
20
45
48
41.5
8.580
Cam (m²)
3.84
21.5
20.5
20.5
3720
İşçilik (saat)
37
36
35
36
8100
Kâr (YTL)
12.300
11.800
12.500
12.200
girdiler
Şirketin aylık kârını ençoklayacak tamsayılı
programlama modelini kurunuz.
ÇÖZÜM
Karar değişkenleri:
x1:Aylık üretilecek Lapis buzdolabı miktarını
x2:Aylık üretilecek Beril buzdolabı miktarını
x3:Aylık üretilecek Mercan buzdolabı miktarını
x4:Aylık üretilecek Oltu buzdolabı miktarını
Şirketin kâr fonksiyonu;
Max z = 12.300x1 + 11.800x2 + 12.500x3 + 12.200x4
Kısıtlayıcılar
x1 + x2 + x3 + x4≤225
(Soğutma
ünitesi)
260x1 + 98.5x2 + 96.5x3 + 87.5x4≤31.082
(Saç)
20x1 + 45x2 + 48x3 + 41.5x4≤8.580
(Alüminyum)
3.84x1 + 21.5x2 + 20.5x3 + 20.5x4≤3720
(Cam
(m²))
37x1 + 36x2 + 35x3 + 36x4≤81000
(İşçiliksaat)
Şirket,Lapis ve Beril buzdolaplarından ürettiğinde
o zaman bunların toplam üretim miktarı en az 60
adet olmalıdır.Bu kısıtlayıcıya da x1 + x2 > 0 ise o
zaman
x1 + x2 ≥60 olmalıdır.
f(x) = x1 + x2
g(x) = -x1 – x2 + 60 olarak ifade edelim.
M = 4500 aldığımızda,
f(x) = x1 + x2 ≤4500y
g(x) = -x1 – x2 + 60 ≤60(1 – y)
y = 0 veya 1
Şirketin,tamsayılı programlama modelini bir
bütünlük içinde aşağıdaki şekilde
gösterebiliriz.
Amaç fonksiyonu;
Max z = 12.300x1 + 11.800x2 + 12.500x3 +
12.200x4
Kısıtlayıcılar
x1 + x2 + x3 + x4
≤225
260x1 + 98.5x2 + 96.5x3 + 87.5x4
≤31.082
20x1 + 45x2 + 48x3 + 41.5x4
≤8.580
3.84x1 + 21.5x2 + 20.5x3 + 20.5x4
≤3720
37x1 + 36x2 + 35x3 + 36x4
≤81000
x1 + x2
≤4500y
-x1 – x2 + 60
≤60(1 – y)
ve
x1,x2,x3,x4≥0
y = 0 veya 1