4 e3. HAVLU VE HAVLU KUMAŞLAR Belkıs ZERVENT ÜNAL
33
Şekil 3.6. Havlu dokuma makinası tarağı (Yılmaz ve Powell, 2005)
Havlu dokuma işleminde hav yüksekliğinin homojenliğini korumak amacıyla
çözgü ipliklerinin mümkün olduğunca daha az engelli bir yol izlemesi
gerekmektedir. Bu nedenle hav çözgü ipliklerinde genellikle düz tahar tercih
edilmekte, ancak çözgü sıklığının yüksek olması halinde hav ve zemin çözgüleri için
atlamalı tahar kullanılabilmektedir.
Havlu kumaşların dokunmasında tasarıma göre belirli bir bölgenin havsız
olarak dokunması ile kenar veya bordür oluşturulması da istenebilmektedir. Bordür
veya kenar bezi dokunurken tefenin veya kumaş çizgisinin değişken hareketi devre
dışı bırakılmakta olup, bu durumda geçiş bölgelerinde normalden yüksek veya kısa
havlar oluşabilmektedir.
3.3.4.2.Havlu Dokuma Makinalarındaki Teknolojik Gelişmeler
Havlu dokuma makinaları, hav oluşturma mekanizmaları ve hav çözgü iplik
besleme sistemleri ile diğer dokuma makinalarından farklılık göstermektedirler.
Genel olarak hav oluşumu amacıyla tarağın periyodik olmayan bir hareket yapması
kam mekanizmalarıyla sağlanmaktadır. Ancak bu durumun yarattığı pek çok
olumsuzluktan dolayı son yıllarda özellikle bu konu üzerinde çalışmalar
yürütülmüştür. Bu amaçla servo motor tahrikli hav oluşturma mekanizmaları
geliştirilmiştir. Bu mekanizmalar ile havlu kumaşların desenlendirilmesinde, kalite
düzeyinde ve üretim verimliliğinde önemli gelişmeler sağlanmıştır.
Aynı kumaş üzerinde değişken hav yükseklikleri havlu kumaş tasarımında
istenen bir özelliktir. Kam tahrikli hav oluşturma mekanizması kullanılan 3. HAVLU VE HAVLU KUMAŞLAR Belkıs ZERVENT ÜNAL
34
makinalarda kumaşın her bir yüzünde iki farklı hav yüksekliği elde edilebilmektedir.
Servomotor tahrikli hav oluşturma mekanizmaları ise atkı boyunca (tezgah eni
doğrultusunda) iki farklı hav yüksekliğinin çalışılabilmesine olanak sağlamaktadır.
Söz konusu durum Şekil 3.7’de açıkça görülebilmektedir.
Şekil 3.7. Farklı hav yüksekliğine sahip havlu yapısı (Vamatex kataloğu, 2005)
Kam tahrikli havlu dokuma makinalarında 3 atkı gruplu havlu dokumadan
4-atkı gruplu dokumaya veya tersine geçiş aynı havlu üzerinde mümkün
olamamaktadır. Ancak servo motor tahrikli mekanizmaların kullanılmasıyla aynı
havlunun dokunması sırasında farklı atkı grupları arasında geçiş yapılabilmektedir.
Örneğin; havlunun düz olarak dokunduğu kısımlarda 3-atkı gruplu dokuma, hav
çözgü ipliklerinin yüzey değiştirdiği yerlerde 4-atkı gruplu dokuma, atkı yönünde 2
farklı hav yüksekliği istenen kısımlarda 5, 6 ve 7 atkı gruplu dokuma ve gerektiğinde
hav içinde bordür dokuma aynı kumaş yapısında problemsiz olarak elde
edilebilmektedir. Böylelikle hav çözgülerinin yüzey değişim noktalarında, bordür
veya beze geçiş ve çıkış bölgelerinde oluşacak kısa hav problemi ortadan kaldırılmış
olmaktadır. Ayrıca Şekil 3.8’de görülen dalga formu da bu sistem yardımıyla
sağlanabilmektedir.
Şekil 3.8. Dalgalı hav formuna sahip havlu kesiti (SmitTextile kataloğu, 2005) 3. HAVLU VE HAVLU KUMAŞLAR Belkıs ZERVENT ÜNAL
35
Havlu kumaşların dokunmasında bordür oluşumu havlı bölgeye nazaran çok
daha yüksek atkı sıklığında gerçekleştirilmektedir. Bu yüzden dokuma makinası hızı
bordürlü bölgeye göre ayarlanmakta olup bu durum havlı kısmın olabileceğinden
daha düşük hızda dokunmasına ve bundan dolayı üretim kaybına neden olmaktadır.
Bu sorun dokuma makinası ana motorunda hız kontrol ünitesi kullanılmasıyla
giderilmektedir. Bu ünite sayesinde bordür ve hav kısımlarının dokunması esnasında
makina farklı hızlarda çalıştırılabilmektedir.
Servo motor tahrikli hav oluşturma mekanizması ile havlu kumaş üretiminde
elde edilen diğer bir kazanım, kam tahrikli mekanizmalara sahip makinalarda bordür
kısmında meydana gelen boncuklanma probleminin ortadan kaldırılmasıdır. Bu
hatanın sebebi gerginliği nispeten düşük olan hav çözgülerinin bordür oluşturulurken
daha yüksek kıvrım alarak kumaş yüzeyine çıkmalarıdır. Ancak servo motor tahrikli
hav oluşturma mekanizmalarında, bordür kısmında iplik gerginliği ve örgü yapısının
daha iyi kontrol edilebilmesinden dolayı, kumaş üzerinde bu hatalar
görülmemektedir.
Yeni bir kumaş tasarlayıp dokumaya geçildiği zaman gramajın ilk denemede
tutturulması mümkün olmamakta, bir miktar kumaş dokunduktan sonra numune
alınarak, hav yüksekliği değiştirilmek suretiyle gramaj ayarlanmaktadır. Kam tahrikli
hav oluşturma mekanizmasında hav yüksekliğinin ayarlanması hareket iletim
sistemindeki kol uzunluklarının ayarlanmasıyla sağlanmakta olup bu işlemle hassas
bir ayar yapılamamakta, zaman kaybı ve telef miktarı fazla olmaktadır. Hav
oluşturma mekanizmasında servo motor tahriki kullanıldığında ise istenen gramajda
bir havlu kumaş için hav uzunluğu makina bilgisayarı tarafından analitik olarak
hesaplanabilmekte ve hesaplanan hav yüksekliği hassas bir şekilde elde
edilebilmektedir.
Havlu dokuma makinalarında hav oluşum, kumaş çekme ve çözgü salma
sistemleri dışında da bazı yenilikler söz konusudur. Havlu dokuma makinası
üretiminde öncü markalardan biri kesme aparatını tüm havluların arasına
yerleştirmiştir. Buna bağlı olarak tezgah enince tüm havluların iki kenarına ayrı ayrı
cımbar konulmuş olup, bu durum terbiye sonrası boy kesim aşamasını ortadan
kaldırmıştır (Vamatex kataloğu, 2005).3. HAVLU VE HAVLU KUMAŞLAR Belkıs ZERVENT ÜNAL
36
Bir başka firmanın makinasında ise “atkı kesici kontrolü” sistemi ile atkı
ipliğinin ağızlığa yatırıldıktan sonraki kesim işlemi elektronik olarak kontrol
edilmeye ve böylece kesme şartları, ipliğin numarasına ve türüne göre otomatik
olarak ayarlanmaya başlanmıştır (SmitTextile kataloğu, 2005).4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
37
4. YÖNEYLEM ARAŞTIRMASI
4.1. Yöneylem Araştırmasına Giriş ve Tarihçe
“Yöneylem araştırması” terimi farklı şekillerde tanımlanmakta olup genel
olarak “insan, makina, para ve malzemeden oluşan endüstriyel, ticari, resmi ve
savunma sistemlerinin yönetiminde karşılaşılan problemlere modern bilimi
kullanarak çözüm bulup, sistemi bulunduğu konumdan daha iyi bir konuma
getirmeyi amaçlayan bilim dalı” olarak ifade edilmektedir. Ayrıca yöneylem
araştırması (YA) “eldeki olanaklardan ençok yararlanmayı sağlamak için bilimsel
tekniklerin problemlere uygulanışı” olarak da tanımlanabilmektedir. Bunun yanı sıra
YA’nın bir diğer tanımı ise “bir sistemde ortaya çıkan problemlere, sistemin
denetlenebilir bileşenleri cinsinden bilimsel yöntem, teknik ve araçların kullanılması
ile en iyi (optimum) çözümün bulunması” şeklindedir.
İlk YA çalışması 1940’da II. Dünya Savaşında İngilizler tarafından askeri
alanda gerçekleştirilmiştir. Daha sonra da uzun yıllar bu alanda kullanımına devam
edilen YA’nın savaş döneminde yarattığı olumlu etki, diğer alanlarda da
kullanılmaya başlanmasını sağlamıştır. Üretimin makinalaşması, organizasyonların
büyümesi, insan-makina sistemlerindeki karmaşıklık YA çalışmalarına endüstride de
ihtiyaç olduğunu ortaya çıkarmıştır. YA çalışmalarının gelişmesinde anahtar rol
oynayan iki faktör olup bunlardan biri bilim adamlarının YA tekniklerini geliştirerek
bu teknikleri gerçek hayata uygulamaya başlamaları, diğeri ise bilgisayarlardaki
gelişmedir. Bilgisayar donanımı ve yazılımı alanındaki hızlı gelişmeler YA
tekniklerinin gerçek hayat problemlerine uygulanışını kolaylaştırmış, elle çözümü
çok uzun zaman alan ve hata oranının arttığı problemlerin çözümünü kolaylıkla
gerçekleştirilebilir hale getirmiştir.
Türkiye’de ilk YA çalışmaları ise 1960 yılında askeri amaçlı olarak
başlatılmış, 1965’te TÜBİTAK’da ilk YA grubu kurulmuş, 1964’ten sonra ise
üniversitelerde YA konusu anlatılmaya başlanmıştır (Tinli, 2005).
YA çalışmaları öncelikle askeri alanda kullanılmaya başlanmış olup zamanla
yönetim bilimleri, finans, pazarlama, üretim teknolojisi, maliyet muhasebesi, 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
38
davranış bilimleri gibi disiplinleri de içine almıştır. Ancak işletmeler dikkate
alındığında muhasebe, tasarım, üretim, pazarlama, finans, organizasyon, satın alma
ve araştırma-geliştirme departmanları YA çalışmalarının yapıldığı bölümler olarak
sayılabilmektedir.
4.2. Yöneylem Araştırması İşleyiş Süreci
Yöneylem araştırması bir işletmenin/örgütün problemini çözmek için
kullanıldığında genel olarak aşağıda kısaca özetlenen işlem adımlarının sırasıyla
takip edilmesi gerekmektedir.
1) Problemin tanımlanması: Problemin tanımlanması, ulaşılmak istenen amaçları ve
sistemin kısımlarını belirleme işlemlerini kapsamaktadır.
2) Sistemin gözlenmesi: Problem tanımlandıktan sonra probleme etkisi olan
parametre değerlerinin tahmininde kullanılmak üzere veri toplanmalıdır.
3) Matematiksel modelin kurulması: Bu aşamada, belirlenen problemi en iyi şekilde
temsil edecek bir matematiksel modelin oluşturulması gerekmektedir. Bu amaçla
problemin değişkenleri saptanmalı ve çerçevesi belirlenmelidir. Bir modelde
kontrol edilebilen (karar vericinin kontrolünde olan) ve kontrol edilemeyen
(sistemin işleyişini etkileyen fakat değerleri karar verici tarafından
belirlenemeyen) değişkenler olmak üzere iki tip değişken bulunmaktadır. Kontrol
edilebilen değişkenlere tesisin yeri, kapasitesi, kontrol edilemeyenlere ise birim
üretim başına maliyet, talep vb. değişkenler örnek olarak verilebilmektedir. Bu
aşamada söz konusu değişkenlerle matematiksel bağıntılar kurularak, problem
matematiksel semboller ve ifadelerle sunulmaktadır.
4) Modelin çözümü ve doğrulanması: Matematiksel modelin kurulmasından sonra
bu modelin çözüm aşamasına geçilir. Elle veya genellikle bilgisayar kullanılarak
çözümü gerçekleştirilen modeldeki amacın sağlanıp sağlanmadığı, kısıtların
amaç üzerindeki etkileri, değişkenlerin aldıkları değerlerin yorumu çözümden
sonra mutlaka değerlendirilmelidir. Ayrıca parametreler üzerinde yapılacak
herhangi bir değişikliğin modeli nasıl etkilediği de araştırılmalıdır. 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
39
Modelin çözümünden sonra dikkat edilmesi gereken nokta çözümün
güvenilirlik düzeyidir. Modeli kurarken yapılan bir hata çözümün tüm
aşamalarına yansıyabilmektedir. Çözüm bulunduktan sonra modelin tamamı
değerlendirilerek uygulanabilirliğinin kanıtlanması gerekmektedir. Ayrıca gerçek
hayatta sürekli koşullar değiştiğinden bu değişikliklerin modele yansıtılabilmesi
başka bir ifadeyle modelin güncelleştirilebilmesi de oldukça önemlidir.
4.3. Matematiksel Modeller
“Model” ifadesi bir sistemin değişen koşullar altındaki davranışlarını
incelemek, kontrol etmek ve geleceği hakkında varsayımlarda bulunmak amacı ile
elemanlar arasındaki bağıntıları kelimeler veya matematiksel terimlerle belirleyen
ifadeler topluluğu şeklinde tanımlanabilmektedir.
Modeller ele alınan konuya ve amaca göre çeşitli şekillerde
sınıflandırılabilmekte olup, öncelikle soyut ve fiziki modeller olarak ikiye ayrılmakta
ve sonrada soyut modeller matematiksel, dinamik ve statik olarak
gruplandırılmaktadır. Bunların her biri de doğrusal ve doğrusal olmayan olmak üzere
iki grupta incelenebilmektedir.
Ancak nicel karar vermede ve yöneylem araştırmalarında daha çok
matematiksel modeller kullanılmaktadır. Bu modellerin diğer modellere göre sahip
oldukları üstünlükler aşağıda özetlenmiştir (Öztürk, 1997):
1) Matematiksel modellerde ele alınan problemin değişkenleri arasındaki
ilişkiler sayısal olarak ifade edildiklerinden karmaşık durumların bile
kolayca anlaşılması ve uygulanması sağlanmaktadır.
2) Matematiksel modellerde yanlış yorum olasılığı düşüktür ve açık, esnek
ve tutarlı bir yapıya sahiptirler.
3) Bu modeller temel değişkenlerin tümünün aynı zamanda ele alınmasına
olanak sağlamaktadırlar.
4) Matematiksel modeller ile karardan elde edilecek sonuçlar daha net
gösterilebilmektedir. 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
40
Bir yöneylem araştırması probleminin amacı genel olarak Z değerini en iyi
(optimum) yapan Xi değerlerinin bulunmasıdır. “En iyi” kelimesinin anlamı, belli bir
ölçüte göre mevcut koşullar içinde en büyük veya en küçük Z değerinin
bulunmasıdır.
Matematiksel programlama teknikleri genel olarak doğrusal ve doğrusal
olmayan olmak üzere iki gruba ayrılmaktadırlar. Aşağıda söz konusu programlama
teknikleri detaylı olarak ele alınmıştır.
4.3.1. Doğrusal Programlama
Doğrusal Programlama (DP), sınırlı kaynakların kullanımını optimum
yapmak için geliştirilmiş bir matematiksel modelleme yöntemidir. Problemden
kaynaklanan bazı özel durumlar dışında tüm DP modelleri aşağıdaki üç temel
elemana sahip olup amaç fonksiyonu ve kısıtların mutlaka doğrusal ifadeler olması
gerekmektedir.
1. Doğrusal amaç fonksiyonu
2. Doğrusal kısıtlar
3. Pozitiflik koşulu
Amaç Fonksiyonu: Tüm organizasyonların varmak istediği bir veya birden
fazla amaç bulunmakta olup genellikle karın maksimizasyonu veya maliyetin
minimizasyonunu amaçlanmaktadırlar. Karar değişkenlerinin amaç üzerindeki
etkilerinin analitik olarak gösterilmesi ile amaç denklemi oluşturulmaktadır.
x1, x2,.....,xn değişkenler ve c1, c2,......,cn sabit katsayılar olmak üzere amaç
fonksiyonu Z;
1 1 2 2 ........ Z n n = c x + c x + + c x veya /
1
n
enb enk j j
j
Z c x
=
=å
şeklinde yazılabilmektedir. Problemin amacı, Z’yi maksimum veya minimum yapan
“x” değerlerinin bulunmasıdır. 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
41
Kısıtlar: Bütün doğrusal fonksiyonlar pozitif sonsuza kadar maksimum,
negatif sonsuza kadar minimum değerini alabilmektedirler. Dolayısıyla doğrusal
amaç fonksiyonlarının aynı maksimum ve minimuma sahip oldukları
söylenebilmektedir. Matematiksel olarak anlamsız olan bu sonuçtan kaçınmak için
değişkenler üzerinde bazı kısıtlamalar yapılması gerekmektedir. Organizasyonların
kaynaklarının da sonsuz olmadığı düşünülürse bu kısıtlamaların modelde yer alması
normal kabul edilmektedir.
Kısıtlayıcılar, kontrol edilebilen veya edilemeyen değişkenlerin ve ilgili
parametrelerin birbirleriyle olan ilişkilerinin matematiksel olarak ifade edilmesiyle
oluşturulmaktadır. Bütçe kısıtı, talep kısıtı, girdi kısıtı vb. örnek olarak
verilebilmektedir. DP problemlerinde kısıtlar, doğrusal eşitsizliklerden meydana
gelmekte olup en genel haliyle aşağıda verilmiştir.
11 1 12 2 1 1 ............... ( ,,)
n n
a x + a x + + a x b £ = ³
21 1 22 2 2 2 ............... ( ,,)
n n
a x + a x + + a x b £=³
............
............
1 1 2 2 ............... ( , , ) m m mn n m
a x + a x + + a x b £ = ³
Burada;
x1, x2,..........., xn : Karar değişkenleri (kontrol edilebilen değişkenler)
a11, a12, ......., amn : Karar değişkenlerinin katsayıları
b1, b2,.........., bm : Sabit sayılar
olarak ifade edilmektedir.
Kısıtları ifade eden eşitsizlikler, problemin çözümü olabilecek “x”
değişkenlerinin de içinde bulunduğu “çözüm bölgesini” belirlemekte ve sonuçta tüm
kısıtları sağlayan optimum (en uygun) çözüm bulunmaktadır.
Pozitiflik koşulu: DP’nin problemlere uygulanmasını kolaylaştırmak
amacıyla çözümde karar değişkenlerinin negatif değer alamayacağı koşulu
getirilmektedir. Matematiksel olarak problem çözüldüğünde;
x1, x2,.........,xn ≥ 0 olmalıdır. 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
42
DP problemlerinin formülasyonu değişik şekillerde gösterilebilmekte olup
oluşturulan bir modelin genel görünümü aşağıda verilmiştir (Tinli, 2005).
/
1
n
enb enk j j
j
Z c x
=
=å Amaç fonksiyonu
1
( , , )
n
ij j i
j
a x b
=
å <= = >= i=1,2 3,....,m Kısıtlar
xj>=0 Pozitiflik koşulu
Yukarıdaki genel gösterimden anlaşılacağı gibi, doğrusal karar modelinin
kısıtları eşitsizliklerin yönleri itibariyle farklılık gösterebilmektedir. Modelin çözüm
işlemine geçebilmek için kısıtların ve karar değişkenlerinin yönlerinin aynı
özelliklere dönüştürülmesi gerekmektedir. Buna göre “≤” şeklindeki kısıtı eşitlik
haline dönüştürmek amacıyla eşitsizliğin sol tarafına bir değişken eklenmeli, “≥”
şeklindeki kısıtı eşitlik haline dönüştürmek için ise kısıtın sol tarafından bir değişken
çıkarılmalıdır. Burada eklenen değişken “aylak değişken”, çıkarılan değişken ise
“artık değişken” olarak ifade edilmektedir.
Örneğin; modelin i. kısıtı,
1
n
ij j i
j
a x b
=
å £ iken 1
1
n
ij j n i
j
a x x b +
=
å + = şekline
dönüştürüldüğünde (xn+1≥0 olmak üzere) kısıta eklenen “xn+1” değişkeni “aylak veya
gevşek (slack) değişken” olarak ifade edilmektedir. Modelin i. kısıtı
1
n
ij j i
j
a x b
=
å ³
iken 1
1
n
ij j n i
j
a x x b +
=
å - = haline dönüştürülmesini sağlayan “xn+1” değişkeni ise “artık
(surplus) değişken” şeklinde tanımlanmaktadır. Aylak ve artık değişkenler, modelin
kısıtlarını eşitlik haline dönüştürmek için kısıt ifadelerine eklendiklerinden amaç
fonksiyonuna herhangi bir katkıları yoktur.
Genel olarak bir karar modeli seçeneklerin neler olduğunu belirleyen “kısıt
bağıntıları” ve en iyi seçeneği bulmak amacıyla işleme giren “amaç fonksiyonundan”
oluşmaktadır. Karar değişkenleri X=(x1,x2,....xn) ile gösterildiğinde, kısıtların
tamamını sağlayan herbir X, karar problemi açısından bir “çözüm”, bunların içinden 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
43
amaç fonksiyonunu eniyileyen (en büyük veya en küçük yapan) X ise “en iyi çözüm”
olarak ifade edilmektedir.
Doğrusal karar modelleri kısıt ve değişken sayısına bağlı olarak grafik
yöntemle, simpleks algoritması kullanılarak veya bilgisayar yazılımları yardımıyla
çözülebilmektedir.
Yukarıda verilen yöntemlerden biriyle gerçekleştirilen çözüm gerçekle
bağdaşmıyorsa modelin yeniden gözden geçirilmesi gerekmektedir. Çözümüm
gerçekleşmemesi veya gerçeğe aykırı olması halinde yaygın olarak yapılan hatalar
aşağıda özetlenmiştir.
1) Modele probleme etkisi olmayan değişkenler alınmış olabilir.
2) Problem için önemli bazı değişkenler modele dahil edilmemiş olabilir.
3) Bazı karar değişkenleri doğru hesaplanmamış olabilir.
4) Modelin yapısı hatalı olabilir.
5) Birbiriyle çakışan/çelişen kısıtlar olabilir.
4.3.2. Doğrusal Olmayan Programlama
Gerçek hayatta karşılaşılan problemler için geliştirilen karar modellerinin
çoğunun kısıtlarında ve amaç fonksiyonunda tamamen doğrusal ilişkiler gözlemek
oldukça zordur. Karar modelinin kısıtlarından enaz birinin veya amaç fonksiyonunun
doğrusal olmaması halinde “doğrusal olmayan programlama” tekniğinin
uygulanması gerekmektedir.
Doğrusal olmayan matematiksel modeller de bir amaç fonksiyonu ve karar
değişkenlerini içeren kısıtlardan oluşmaktadır. Bu tür modellerin çözümü için genel
bir algoritma ve etkin bir çözüm geliştirilemediğinden doğrusal olmayan (nonlineer)
matematiksel modellerin çözümü için genellikle bilgisayar paket programları
kullanılmaktadır.
Doğrusal olmayan modellerin elemanları, modelin oluşturulması, çözümü ve
çözümün yorumlanışı doğrusal modellerle prensip olarak büyük benzerlik
göstermektedir. 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
44
Uygulamada doğrusal ve doğrusal olmayan programların yanısıra “tamsayılı
programlama” olarak ifade edilen teknik de yaygın olarak kullanılmaktadır. Bu
modelin çatısı doğrusal modellerle hemen hemen aynı olup söz konusu model
aşağıda kısaca özetlemiştir.
Tamsayılı Programlama: Bazı problemlerde karar değişkenlerinin bir
kısmının tamsayı değer alma zorunluluğu olabilir. Bu durumda oluşturulan
modellerde “tamsayılı programlama” kullanılmaktadır. Kimi problemlerde ise karar
modeli geliştirme aşamasında modelin bilinen bir teknikle çözülebilirliğini sağlamak
amacıyla, tamsayı değer alması öngörülen ara değişkenler kullanılması gerekmekte
ve bu durumda da tamsayılı programlama tercih edilmektedir.
4.3.3. Optimizasyon Modellerinin Çözümü ve Çözümün Yorumlanışı
Doğrusal karar modelleri daha öncede belirtildiği gibi kısıt ve değişken
sayısına bağlı olarak grafik yöntemle, simpleks algoritması kullanılarak veya
bilgisayar yazılımları yardımıyla çözülebilmektedir. Ancak grafik çözüm tekniği en
fazla üç değişkenli problemlerin çözümünde kullanılabilmekte olup uygulamada
karşılaşılan problemlerin değişken ve kısıt sayıları genellikle daha fazla olduğundan
bu yöntem yetersiz kalmakta ve simpleks yöntemine başvurulmaktadır. Ancak kısıt
ve değişken sayısı çok fazla olduğu taktirde modellerin bu yöntemle çözümü de pek
mümkün olmamakta ve geliştirilen modelin bilgisayar ortamında çözülmesi
zorunluluğu doğmaktadır. Bu amaçla 1950’li yıllarda doğrusal karar modellerinin
çözümü için simpleks algoritmasına dayalı bilgisayar paket programları geliştirilmiş
olup izleyen yıllarda da özellikle büyük ölçekli modellerinin daha kısa zamanda
çözülmesini sağlayacak programların oluşturulması amaçlanmıştır. Bunun sonucunda
günümüzde kişisel bilgisayarlarda çalıştırılabilen, kullanımı oldukça kolay, çok
sayıda kısıt ve karar değişkeninden oluşan her türlü doğrusal karar modelini çözen
paket programlar kullanılmaktadır.
Doğrusal olmayan (nonlineer) matematiksel modellerin çözümü genellikle
elle mümkün olamadığından yaygın olarak bilgisayar paket programları
kullanılmaktadır. 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
45
Doğrusal ve/veya doğrusal olmayan optimizasyon modellerinin çözümünde
genel olarak LINDO, GINO, MPL ve LINGO yazılımları kullanılmaktadır. Ancak
bunlardan LINDO ve LINGO yaygın olarak tercih edildiğinden bu yazılımlar aşağıda
tanıtılmıştır.
LINDO: LINDO (Linear Interactive Discrete Optimizer) programı lineer
matematiksel modellerin çözümünde kullanılan bir paket programdır. Bu programda
formülasyonda yapılacak küçük düzeltme ve değişikliklerle yeni çözümlere
ulaşılabilmekte ve elde edilen çözümlere duyarlılık analizi (en iyi çözüm
değişmeyecek şekilde kısıtların sabitlerinde veya amaç fonksiyonundaki
değişkenlerinin katsayılarında ne kadarlık bir değişimin yapılabileceğinin
belirlenmesi) uygulanabilmektedir.
Windows tabanlı bir yazılım olan LINDO temel olarak “File, Edit, Solve,
Reports, Windows ve Help” menülerinden oluşmaktadır. “Solve” ve “Reports”
menüleri dışındaki diğer menüler herhangi bir Windows programı ile benzer
özelliklere sahiptir.
“SOLVE” menüsü içindeki tüm komutlar çözümle ilgiliyken, “REPORTS”
menüsü ise problemin çözümü sonucu alınacak rapor ile ilgili komutları
içermektedir.
Problemin gerekli komutlar kullanılarak yazımından sonra “Solve” menüsü
yardımıyla gerçekleştirilen çözüm sonucu elde edilen çıktı raporunda “amaç
fonksiyonu” değerinin yanı sıra “Value”, “Reduced cost”, “Slack or Surplus” ve
“Dual Prices” başlıklarından oluşan bölümler de yer almaktadır. LINGO yazılımı ile
gerçekleştirilen çözümün çıktı raporunda da aynı başlıklar bulunmaktadır. Çalışma
kapsamında LINGO kullanıldığından söz konusu bölümler bu yazılımın tanıtıldığı
bölümde detaylı olarak anlatılmıştır.
LINGO: LINGO (Language for Interactive General Optimization) yazılımı,
GINO ve LINDO’nun geliştirilmiş hali olup doğrusal modellerin yanı sıra doğrusal
olmayan ve tamsayılı matematiksel modellerinde çözümüne olanak sağlamaktadır.
Genel olarak LINGO lineer ve lineer olmayan optimizasyon teknikleri kullanarak
formüle edilen büyük boyuttaki problemlerin çözümü ve çözümün analizinde
kullanılan bir araç olarak ifade edilebilmektedir. 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
46
LINGO’da problemler açık ve kapalı formda yazılabilmektedir. Model,
değişken ve kısıt sayısı açısından küçük boyutluysa açık formda yazılması, büyük
boyutluysa kapalı formun kullanılması önerilmektedir. Açık formda, kısıtlar ve amaç
fonksiyonu matematiksel bir ifade şeklinde yazılırken kapalı formda özel fonksiyon,
komut ve operatörler kullanılmaktadır.
Modelin kapalı formda yazımında 3 ana grubun oluşturulması gerekmektedir.
İlk grup, modelde kullanılacak indislerin, değişkenlerin ve parametrelerin
tanımlandığı “Sets” bölümüdür. İkinci grup, modelin amaç fonksiyonunun ve
kısıtların yazıldığı, değişkenlerin serbest, tamsayı vb. biçimlerde tanımlandığı
gruptur. Üçüncü grup ise modelde kullanılacak sayısal değerlerin verildiği “Veri
(data)” grubudur. Kapalı formda yazılmış örnek bir model aşağıda verilmiştir
(Sipahioğlu ve Saraç, 2002).
Sets:
urun/A, B, C, D, E/:a, c, x;
end sets
Max=@sum (urun:c*x);
@sum(urun:a*x)<=25;
@for (urun: @gin(x));
Data:
a=1, 3, 4, 3, 3;
c=2, 9, 3, 8, 10;
end data
end
Burada “@sum”, “@for” ve “@gin” kapalı formda yazımda kullanılan özel
fonksiyonlardandır. “@for” fonksiyonu kısıtların tüm küme elemanlarını kapsayacak
şekilde genelleştirilebilmelerini sağlarken, “@sum” fonksiyonu toplam alma işlemini
ifade etmekte, “@gin” fonksiyonu ise söz konusu değişkenin tamsayılı değer
alacağını göstermektedir. Yukarıda kapalı formda yazılmış modelin açık formda
yazılmış hali ise aşağıda verilmiştir (Sipahioğlu ve Saraç, 2002).4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
47
MAX=2*X(A)+9*X(B)+3*X(C)+8*X(D)+10*X(E);
SUBJECT TO
X(A)+3*X(B)+4*X(C)+3*X(D)+3*X(E)<=25;
END
@GIN X(A);
@GIN X(B);
@GIN X(C);
@GIN X(D);
@ GIN X(E);
Bir matematiksel modelin açık formda yazımı sırasında uyulması gereken
bazı kurallar bulunmakta olup bunlar aşağıda özetlenmiştir.
- Genellikle modelin amaç fonksiyonu ilk satırda, kısıtlar diğer satırlarda
yazılmaktadır.
- Bütün matematiksel ifadeler mutlaka “;” işareti (noktalı virgül) ile
sonlandırılmalıdır. Başka bir ifadeyle kısıtlar birbirinden ve amaç
fonksiyonundan bu işaret ile ayrılmalıdır.
- Anlaşılırlığı sağlamak için her kısıtın yeni bir satıra yazılması önerilmektedir,
ancak kısıt sırasının önemi yoktur.
- Değişken isimleri bir harf ile başlamalı ve en çok 32 karakter uzunluğunda
olmalıdır.
- Değişken ve parametreler arasında mutlaka çarpı (*) işaretinin olması
gerekmektedir (2*X1+3*X2<=10 gibi).
- LINGO’da ≤/≥ işaretleri <=/>= veya olarak kullanılabilmektedir.
- LINGO, doğrusal karar modellerinde aksi belirtilmedikçe modeldeki bütün
değişkenleri sıfırdan büyük veya eşit olarak kabul etmektedir. Doğrusal olmayan
modellerde ise değişkenlerin negatif olmama koşulu varsa bunun mutlaka ayrı bir
kısıt olarak modele eklenmesi gerekmektedir.
- Model yazımında anlaşılabilirliği artırmak amacıyla satır başına ünlem işareti
konarak çeşitli açıklamalar yazılabilmektedir. LINGO “!” işareti ile başlayan 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
48
satırları dikkate almamaktadır, ancak açıklama satırları da mutlaka noktalı
virgülle sonlandırılmalıdır.
- Bazı durumlarda modeldeki parametrelerin hangi değeri alması gerektiği kesin
olarak belirlenemeyebilmektedir. Örneğin “iplik fiyatı” parametresine sahip bir
model hazırlandığında ileride iplik fiyatının ne olacağı kestirilemiyorsa “DATA”
bölümünde bu değerin karşılığı olarak “?” yazılır. Bu durumda model
çalıştırıldığında iplik fiyatı için bir değer girilmesini isteyecek ve böylelikle
model farklı iplik fiyatları için kolaylıkla çözülebilecektir.
LINGO optimizasyon yazılımı “File, Edit, Lingo, Windows ve Help” olmak
üzere 5 ana menüden oluşmaktadır. Bu menüler hakkında bilgi “Materyal ve Metot”
bölümünde verilmiştir.
Açık veya kapalı formda yazılmış olan modelin çözümü için model
girildikten sonra LINGO menüsü altında yeralan “Solve” komutu kullanılmaktadır.
Çözüm sırasında model öncelikle yazım hatalarına karşı denetlenmektedir. Eğer bir
yazım hatası bulunursa, hatanın hangi satırda olduğu ve hata türü bilgisini içeren bir
pencere açılmaktadır. Hatası olmayan/düzeltilmiş model için çözüm hakkında genel
bilgilerin yer aldığı “Solver Status” penceresi oluşmaktadır. Aşağıdaki şekilde örnek
bir pencere görülmektedir (Şekil 4.1). 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
49
Şekil 4.1. LINGO Solver Status penceresi
Yukarıdaki pencerede yeralan Variables bölümünde, modelde yeralan
tamsayılı, doğrusal olmayan ve toplam değişken sayıları verilmektedir.
Optimizer Status bölümünde aşağıdaki bilgiler yer almaktadır.
- “State” alanında çözümün türü belirtilmektedir. Çözüm sonucu bu alanda yer
alabilecek muhtemel ifadelerin anlamları aşağıda verilmiştir.
Global optimum : Modelin en iyi çözümünün bulunduğunu ifade eder.
Local optimum : Modele ait yerel en iyi çözümün elde edildiğini belirtir.
Feasible : Tüm kısıtları sağlayan ancak en iyi olmayan çözümü
tanımlar.
Unbounded : Sınırsız çözüme ulaşıldığını ifade eder.
Interrupted : İşlemlerin durdurulduğunu belirtir.
Undetermined : Henüz bir çözümün üretilemediğini ifade eder.
- “Iterations” alanı gerçekleşen iterasyon sayısını tanımlamaktadır.
- “Infeasibility” alanı kısıtların sağlanamadığı çözümsüz bir modelde,
çözümsüzlüğün derecesini göstermektedir.
- “Objective” alanı çözüm sonucu amaç fonksiyonunun aldığı değeri vermektedir.
- “Best IP” alanı tamsayılı modelin en iyi çözümünü göstermektedir. 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
50
- “IP Bound” alanı tamsayılı modelin o ana kadar elde edilmiş olan en iyi çözüm
değerini ifade etmektedir.
Diğer bölümlerde sırasıyla kısıt sayısı, sıfırdan farklı değişken sayısı,
kullanılan hafıza ve çözüm süresi bilgileri bulunmaktadır.
Modelin çözümü sonuçlandıktan sonra “Solver Status” penceresinin yanı sıra
çözüm raporunun yer aldığı yeni bir pencere daha oluşturulmaktadır. LINGO;
doğrusal, doğrusal olmayan ve tamsayılı modellerin çözümünde, çözüm raporunu
standart bir biçimde sunmaktadır. Ancak bütün modeller için yapılan yorumlar aynı
olmamaktadır. Aşağıda verilen bilgilerde doğrusal olmayan modeller için varolan
farklılıklar metin içerisinde ayrıca belirtilmiştir.
LINGO çözüm raporunda sonuçlar “Values, Reduced Cost, Slack or Surplus
ve Dual Price” olmak üzere 4 grupta sınıflandırarak verilmektedir. Şekil 4.2’de örnek
bir model ve çözüm raporu verilmiştir
Model:
Max=2*X1+3*X2+4*X3+X4;
2*X1+2*X2+X3+X4<=100;
6*X1+2*X2+3*X3+2*X4>=40;
X1+X2+X3+X4=80;
Çözüm:
Global optimal solution found at step: 2
Objective value : 320,000
Variable Value Reduced cost
X1 0,000 2,0000
X2 0,000 1,0000
X3 80,00 0,0000
X4 0,000 3,0000
Row Slack or Surplus Dual Price
1 320,000 1,0000
2 20,0000 0,0000
3 200,000 0,0000
4 0,00000 4,0000
Şekil 4.2. Örnek model ve çözüm raporu4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
51
Yukarıda verilen çözüm raporunda yeralan başlıkların anlamları aşağıda
kısaca özetlenmiştir:
Value : Asıl modeldeki değişkenler
Reduced Cost : İkil modellerin kısıtlarına eklenen aylak/artık değişkenler
Slack or Surplus : Asıl modelin kısıtlarına eklenen aylak/artık değişkenler
Dual Prices : İkil modeldeki ikil değişkenler
Çözüm raporuna göre modelin amaç fonksiyonunun optimum değeri 320
olarak belirlenmiş olup bu sonuca 2 adımda ulaşılmıştır.
Sözkonusu çözüm raporundaki “Variable” alanında modelde kullanılan sabit
ve değişken büyüklükler yer almaktadır. “Value” sütunu ise söz konusu
büyüklüklerin modelin en iyi çözümünde aldıkları değerleri ifade etmektedir. Buna
göre X3 değişkeninin 80 değerini alması halinde amaç fonksiyonunun değeri 320
olarak gerçekleşmiş ve diğer değişkenler en iyi çözümde “sıfır” değerini almıştır.
Modelin çözüm raporundaki “Reduced cost” sütunu modelde bulunan
büyüklüklerden, en iyi çözümde yer almayanların (“Value” sütunundaki değeri sıfır
olanların) mutlaka çözüme girmesi istenirse, değişkenin alacağı her birimlik değer
için, amaç fonksiyonu değerinde ne kadar değişim olacağını göstermektedir. Örneğin
X1 değişkenin “Reduced cost” değeri 2 olup, bu değerden söz konusu değişkenin
çözüme 20 değerini alarak girmesi halinde amaç fonksiyonunun 2x20=40 birim
azalıp, yeni çözümde 320-40=280 olacağı anlaşılmaktadır. Ancak bulunacak bu
çözüm en iyi çözüm olmayacaktır.
Çözüm raporundaki “Row” sütunu amaç fonksiyonu ve kısıtları ifade
etmektedir. 1 nolu sıra amaç fonksiyonunu, diğerleri ise modele yazılış sırasına göre
kısıtları tanımlamaktadır.
“Slack or Surplus” değerleri ise kısıtlara eklenen aylak ve artık
değişkenlerin en iyi çözümde aldıkları değeri ifade etmektedir. Eğer kısıt eşitlik
şeklinde ise artık ve aylak değişken değerleri sıfır olmaktadır. 1. satırdaki değer olan
320, amaç fonksiyonunun çözüm sonucu aldığı değeri temsil etmektedir. Çözüm
raporundaki bu değerler söz konusu kısıt ifadesinin sağ tarafındaki sabit değerden
çözümde kullanılmayan kısmı ifade etmektedir. Örneğin kurulan modelde 2.
satırdaki ifade birinci kısıtın “slack or surplus” değeri olup “20” olarak 4. YÖNEYLEM ARAŞTIRMASI Belkıs ZERVENT ÜNAL
52
belirlenmiştir. Bu kısıtın sağ tarafındaki değerden 20 birimin çözümde
kullanılmadığı anlaşılmaktadır. Söz konusu kısıtın sağ tarafındaki değerin (100)
tamamının kullanılmıyor olması nedeniyle bu değerin arttırılması veya çözümde
yeralan değere kadar azaltılması halinde modelin çözülmesiyle elde edilen optimum
değerlerin değişmeyeceği anlaşılmaktadır. Başka bir ifadeyle bu kısıtın sağ tarafına
girilen değerin, çözümdeki değer (100-20=80) ile +∞ arasında değişmesi halinde
çözüm değişmeyecektir.
Kurulan modelin çözüm raporundaki “Dual Price” değerleri ise ikil (dual)
değişkenlerin en iyi çözümde aldıkları değerleri göstermektedir. İkil değişkenler,
modelin sağ taraf sabitlerinde 1 birimlik artış veya azalış olması halinde amaç
fonksiyonu değerinin bu değişiklikten nasıl etkileneceğini vermektedir. Söz konusu
sabitlerin artışı maksimizasyon problemlerinde amaç fonksiyonunun azalmasına,
minimizasyon problemlerinde ise artmasına neden olmaktadır. 4. sırada verilen dual
price değeri olan “4”, bu kısıtın sabit değerinin 1 birimlik artışının amaç fonksiyonu
değerini 4 birim azaltacağı şeklinde yorumlanmaktadır. Ancak doğrusal olmayan
modellerde bu değişim “yaklaşık” olarak gerçekleşmekte olup kesinlikten söz
edilememektedir.
Duyar