GAMS Ders Notlarım ve Soru Çözümleri-7- Sum Kullanımı

GAMS Ders Notlarım ve Soru Çözümleri-7- Sum Kullanımı

Herkese merhabalar. Optimizasyon sorularının genelinde i ve j değişkenlerininin kullanımıyla ilgili toplama veya çarpma işlemleri yaparız. Bu yazımda sizlere toplama yapabilmek için kullanabileceğimiz sum operatörünü anlatmaya çalışacağım. Sayfanın en altında kaynakçalara ulaşabilirsiniz. Faydalı olması dileğiyle.

SUM

Gams ortamında indisleri kullanmak ve bunlarla işlemler yapmak genelleşmiş bir hale gelmiştir. GAMS ‘te kullanılan sum operatörünün dikkat etmemiz gereken bazı özellikleri vardır. Şimdi öncelikle klasik bir toplama işleminin nasıl yapıldığına bakalım.

Yukarıda ki görsele baktığımızda x1, x2, x3, x4, x5 değişkenlerini göreceğiz. Bu değişkenlerin aldığı değerlerde X ‘in karşısında yazmaktadır. x(i) i=1,2,3,4,5 ‘e kadar olan değerlerinin toplamını bulabilmemiz için ;

sum(i,x(i)) ifadesini kullanabiliriz.

Yukarıdaki görsele baktığımızda x(i)(j) i=1:5 j=1:5 ‘e olan eğerleri göreceğiz. Her bir değerin toplamını bulabilmek için iç içe toplam formülünü kullanabiliriz. Mesela ilk satırdaki değerlerin toplamı ; x11 + x12 + x13+ x14 +x15 şeklindedir. Diğer satırlarda da böyle devam edecektir. Böyle bir değerlerin toplamı gams ortamında ;

sum((i,j),x(i,j)) şeklinde gösterilir.

 Toplam işaretleri genel olarak böyledir. Bir ulaştırma problemi örneğinde bunu rahatlıkla gösterebiliriz.

Yukarıdaki soruda bir ulaştırma probleminin maliyet, talep ve arz bilgileri yer almaktadır. Minimum maliyeti sağlayabilmek için gams programında araştırma yapalım.

Kısıtları incelediğimizde kapasite(i) şeklinde bir tanımlama göreceğiz. Böyle bir tanımlama her bir i değeri için anlamına gelmektedir. Sonrasında ise sum(j,x(i,j)) =l=a(i) yazmaktadır. Burada ise sadece j değerleri değiştirilecektir. Biraz daha açıklayacı olmak gerekirse arz miktarlarının toplam değeri kapasiteyi geçememektedir.

 

Yukarıdaki ifadede her bir i değeri için dediğinden dolayı şimdi sağlamasını yapalım. İlk değer için yani i=1 için j=1-2-3-4 değerlerini alacaktır. Aldığı bu değerlerin toplamı ise kapasite parametresi olan a(1) değişkeninden yani 12 den küçük olacaktır.

 

 

 

 

Şimdi bir de sağdaki görsele bakalım. Bu görselde de a(2) olduğu durumda işaretlenen yerler toplanacaktır. Yani i=2 için j=1 -2-3-4-5  değerlerini alacaktır.

 

 

 

 

Talep kısıtına bakalım bir başka örnek olması adına. Talep kısıtı talep(j) şeklinde yazılmıştır. Bunun anlamı ise yukarıda olduğu gibi her bir j değerinin alacağı değerlerdir. Yandaki görsele bakacağımız zaman j=1 olduğunda i=1-2-3 değerlerinin toplamı b(1)  değerinden >= olacaktır.

 

 

 

Genel olarak sum(toplama) operatörünün kullanımı bu şekildedir. Yeri geldiği zaman daha fazla ayrıntılarla devam edeceğiz. Bir sonraki yazımda görüşmek dileğiyle.

Kaynakça :

1: http://agecon2.tamu.edu/people/faculty/mccarl-bruce/mccspr/newa1.pdf

2: http://ikucukkoc.baun.edu.tr/lectures/EMM3208/

3: Frederick S. Hilier-Introduction to Operations Research 9th Edition

 

 

Bir yorum ekleyin

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir