SlideShare uma empresa Scribd logo
1 de 21
AMPL İle Ulaştırma
Porblemi Çözümü
Erol Selitektay
Amaç
 Genel bir «Ulaştırma Probleminin» AMPL kullanılarak
çözümünün sağlanması.
Problem
 Araba yedek parçaları üreten bir şirketin 4 ayrı bölgede
üretim fabrikaları bulunmaktadır. Bu fabrikalarda çelik
rulolar üretilmektedir. Fabrika başına üretilen çelik ruloların
miktarı aşağıdaki tabloda gösterildiği gibidir.
Bölge Rulo(ton)
Bursa (Br) 1400
Kocaeli (Kc) 2600
Sakarya (Sk) 2900
Tekirdağ (Tk) 2000
Problem
 Toplam 8900 ton olan çelik ruloların aşağıdaki tabloda
gösterilen otomobil fabrikalarına ihtiyaçları
doğrultusunda gönderilmesi gerekmektedir.
Fabrika Rulo(ton)
İstanbul Otofab. 900
Konya Otofab. 1200
Aksaray Otofab. 600
İzmir Otofab. 400
Antalya Otofab. 1700
G. Antep Otofab. 1100
Manisa Otofab. 1000
Edirne Otofab. 2000
Problem
 Çelik rulo üreten fabrikalardan otomobil fabrikalarına ton
başına çelik rulonun ulaşım maliyeti(dolar olarak) Şekil C
de gösterildiği gibidir.
Bursa
(Br)
Kocaeli
(Kc)
Sakarya
(Sk)
Tekirdağ
(Tk)
İstanbul
Otofab.(İst)
39 27 24 22
Konya
Otofab.(Kon)
14 9 14 33
Aksaray
Otofab.(Aks)
11 12 17 35
İzmir Otofab.(İzm) 14 9 13 25
Antalya
Otofab.(Ant)
16 26 28 32
G.Antep
Otofab.(Gan)
82 95 99 100
Manisa
Otofab.(Man)
8 17 20 24
Edirne
Otofab.(Edi)
5 15 10 20
Problem
 Verilen değerler göz önüne alınarak, ulaşım maliyetinin en az olması
koşuluyla çelik rulo fabrikalarından otomobil fabrikalarına çelik rulo taşıma
planı nasıl olmalıdır?
Çözüm
 Ulaşım maliyetinin en az olması istenildiği için, problemi minimum amaç
fonksiyonu olacak şekilde çözmeliyiz.
 𝑚𝑖𝑛 𝑋𝑖𝑗𝐶𝑖𝑗𝑛
𝑗=1
𝑚
𝑖=1
Çözüm
 min: Z(x*) = 39*İst:Br + 27*İst:Kc + 24*İst:Sk + 22*İst:Tk +
14*Kon:Br + 9*Kon:Kc + 14*Kon:Sk + 33*Kon:Tk +
 11*Aks:Br + 12*Aks:Kc + 17*Aks:Sk + 35*Aks:Tk +
 14*İzm:Br + 9*İzm:Kc + 13*İzm:Sk + 25*İzm:Tk +
 16*Ant:Br + 26*Ant:Kc + 28*Ant:Sk + 32*Ant:Tk +
 82*Gan:Br + 95*Gan:Kc + 99*Gan:Sk + 100*Gan:Tk +
 8*Man:Br + 17*Man:Kc + 20*Man:Sk + 24*Man:Tk +
 18*Edi:Br + 10*Edi:Kc + 9*Edi:Sk + 5*Edi:Tk

 Not: İst:Br kısaltması, Bursa fabrikasından İstanbul da ki otomobil
üreticisine taşınması gereken ton miktarını temsil ediyor.
Çözüm
 Amaç fonksiyonumuz toplamda 32 tane değişenden oluşuyor.
 Amaç fonksiyonundan sonra kısıtlarımızı belirlememiz gerekiyor. Bursa
daki çelik rulo üreticisi fabrikanın gönderebileceği rulo miktarı 1400 ton.
Bursa daki çelik rulo üreticisi için kısıt yazacak olursak;
 Br:İst + Br:Kon + Br:Aks + Br:İzm + Br:Ant + Br:Gan + Br:Man + Br:Edi <= 1400
 𝑋𝑖𝑗 ≤ 𝑆𝑖 𝑖 = 1, … , 𝑚.𝑛
𝑗=1
Çözüm
 Aynı şekilde diğer çelik rulo üreticileri içinde kısıtları yazacak olursak;
 Kc:İst +Kc:Kon + Kc:Aks + Kc:İzm + Kc:Ant + Kc:Gan + Kc:Man + Kc:Edi <= 2600
 Sk:İst +Sk:Kon + Sk:Aks + Sk:İzm + Sk:Ant + Sk:Gan + Sk:Man + Sk:Edi <= 2900
 Tk:İst +Tk:Kon + Tk:Aks + Tk:İzm + Tk:Ant + Tk:Gan + Tk:Man + Tk:Edi <= 2000
Çözüm
 Ayrıca otomobil üreticisi fabrikalarında alacağım rulo miktarları içinde kısıt
yazmamız gerekiyor. İstanbul da ki otomobil fabrikasının alabileceği çelik
rulo kısıtını yazacak olursak;
 İst:Br + İst:Kc + İst:Sk + İst:Tk <= 900
 𝑋𝑖𝑗 ≥ 𝐷𝑖 𝑗 = 1, … , 𝑚.𝑚
𝑖=1
Çözüm
 Aynı şekilde diğer otomobil üreticileri içinde kısıtları yazacak olursak;
 Kon:Br + Kon:Kc + Kon:Sk + Kon:Tk <= 1200
 Aks:Br + Aks:Kc + Aks:Sk + Aks:Tk <= 600
 İzm:Br + İzm:Kc + İzm:Sk + İzm:Tk <= 400
 Ant:Br + Ant:Kc + Ant:Sk + Ant:Tk <= 1700
 Gan:Br + Gan:Kc + Gan:Sk + Gan:Tk <= 1100
 Man:Br + Man:Kc + Man:Sk + Man:Tk <= 1000
 Edi:Br + Edi:Kc + Edi:Sk + Edi:Tk <= 2000
Çözüm
 Elimizde her çelik rulo üreticisi ve otomobil fabrikası için toplamda 10 tane
kısıt oldu. Eğer kısıtlara her bir değişken için negatif olmama koşulunu da
eklersek, elimizde ulaştırma problemi için lineer bir problem olmuş olur.
AMPL Çözüm Modeli
 Ulaştırma problemimiz için bir çözüm modeli bulmamız gerekiyor.
Bunun için şu yolu izleyebiliriz. Elimizde iki tane ana nesne var. Birisi
kaynak yani çelik rulo üreten fabrikalar, diğeri ise ulaştırılması gereken
yerler yani çelik ruloları kullanacak otomobil üreticileri. Bunları iki ayrı
dizi olarak düşünebiliriz. Rulo üretici fabrikalara TEDARIK, bu ürünleri
kullanacak fabrikalara da TALEP dizisi olarak düşünebiliriz.
AMPL ile Çözüm Modeli
 Bu durumda iki ana parametremizi şu şekilde gösterebiliriz;
 param supply {TEDARIK} >= 0;
 param demand {TALEP} >= 0;
 Tedarik ve talep durumları için şöyle bir denklem yazabiliriz;
 check: sum {i in TEDARIK} supply[i] = sum {j in TALEP} demand[j];
AMPL ile Çözüm Modeli
 Bu denklemde belirtilen tedariklerin toplamı taleplerin toplamına eşit
olmak zorundadır. Bu koşul sağlanmadığı sürece olası bir çözüm mümkün
değildir.
 Her talep ve arz kombinasyonu için bir ulaşım maliyeti ve ulaşım miktarını
sembolize eden bir değişkene ihtiyacımız var. Bu koşulu da şu şekilde
gösterebiliriz.
 param maliyet {TEDARIK, TALEP} >= 0;
 var Trans {TEDARIK, TALEP} >= 0;
 Her belirli TEDARIK i ve TALEP j için toplam maliyeti şu şekilde
gösterebiliriz.
 Maliyet[i,j] * Trans[i,j]
AMPL ile Çözüm Modeli
 Tüm bu denklem kümelerini bir şekilde gösterirsek amaç fonksiyonumuzu
şu şekilde gösterebiliriz:
 minimize Toplam_Maliyet:
 sum {i in TEDARIK, j in TALEP} maliyet[i,j] * Trans [i,j];
 Aynı şekilde kısıtlarımızı gösterecek olursak;
 Subject to Supply {i in TEDARIK } :
 sum {j in TALEP} Trans[i,j] = supply[i];
 Subject to Demand {j in TALEP}:
 sum {i in TEDARIK} Trans[i,j] = demand[j];
AMPL Çözüm
 Hazırladığımız bu modeli ampl ile çözdüğümüzde sonuç aşağıdaki gibidir.
 Min: Z(x*) = 218800 dolar olarak bulduk.
AMPL DATA dosyası
AMPL Mod Dosyası
Teşekkürler
 AMPL bu adresten indirebilirsiniz:http://www.ampl.com/
 AMPL kullanımı ile ilgili genel bilgi için:
http://www.slideshare.net/ErolSelitektay/ampl-nonlinear

Mais conteúdo relacionado

Destaque

Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsYogindernath Gupta
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6Yogindernath Gupta
 
ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5Yogindernath Gupta
 
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4Yogindernath Gupta
 
昔むかし、あるところでPhantom jsに助けられた話
昔むかし、あるところでPhantom jsに助けられた話昔むかし、あるところでPhantom jsに助けられた話
昔むかし、あるところでPhantom jsに助けられた話Yuki Kuramochi
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?SQALab
 
PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaHenrique Gogó
 

Destaque (10)

Introduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB CertificationsIntroduction to ISTQB & ISEB Certifications
Introduction to ISTQB & ISEB Certifications
 
ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6ISTQB / ISEB Foundation Exam Practice - 6
ISTQB / ISEB Foundation Exam Practice - 6
 
ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5ISTQB / ISEB Foundation Exam Practice - 5
ISTQB / ISEB Foundation Exam Practice - 5
 
Agile for Non-IT
Agile for Non-ITAgile for Non-IT
Agile for Non-IT
 
ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4ISTQB / ISEB Foundation Exam Practice - 4
ISTQB / ISEB Foundation Exam Practice - 4
 
昔むかし、あるところでPhantom jsに助けられた話
昔むかし、あるところでPhantom jsに助けられた話昔むかし、あるところでPhantom jsに助けられた話
昔むかし、あるところでPhantom jsに助けられた話
 
ISTQB REX BLACK book
ISTQB REX BLACK bookISTQB REX BLACK book
ISTQB REX BLACK book
 
Istqb foundation level day 1
Istqb foundation level   day 1Istqb foundation level   day 1
Istqb foundation level day 1
 
Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?Когда стоит закончить автоматизировать?
Когда стоит закончить автоматизировать?
 
PhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha CamaradaPhantomJS - O Fantasminha Camarada
PhantomJS - O Fantasminha Camarada
 

Genel Bir Ulaştırma Probleminin AMPL İle Çözümü

  • 1. AMPL İle Ulaştırma Porblemi Çözümü Erol Selitektay
  • 2. Amaç  Genel bir «Ulaştırma Probleminin» AMPL kullanılarak çözümünün sağlanması.
  • 3. Problem  Araba yedek parçaları üreten bir şirketin 4 ayrı bölgede üretim fabrikaları bulunmaktadır. Bu fabrikalarda çelik rulolar üretilmektedir. Fabrika başına üretilen çelik ruloların miktarı aşağıdaki tabloda gösterildiği gibidir. Bölge Rulo(ton) Bursa (Br) 1400 Kocaeli (Kc) 2600 Sakarya (Sk) 2900 Tekirdağ (Tk) 2000
  • 4. Problem  Toplam 8900 ton olan çelik ruloların aşağıdaki tabloda gösterilen otomobil fabrikalarına ihtiyaçları doğrultusunda gönderilmesi gerekmektedir. Fabrika Rulo(ton) İstanbul Otofab. 900 Konya Otofab. 1200 Aksaray Otofab. 600 İzmir Otofab. 400 Antalya Otofab. 1700 G. Antep Otofab. 1100 Manisa Otofab. 1000 Edirne Otofab. 2000
  • 5. Problem  Çelik rulo üreten fabrikalardan otomobil fabrikalarına ton başına çelik rulonun ulaşım maliyeti(dolar olarak) Şekil C de gösterildiği gibidir. Bursa (Br) Kocaeli (Kc) Sakarya (Sk) Tekirdağ (Tk) İstanbul Otofab.(İst) 39 27 24 22 Konya Otofab.(Kon) 14 9 14 33 Aksaray Otofab.(Aks) 11 12 17 35 İzmir Otofab.(İzm) 14 9 13 25 Antalya Otofab.(Ant) 16 26 28 32 G.Antep Otofab.(Gan) 82 95 99 100 Manisa Otofab.(Man) 8 17 20 24 Edirne Otofab.(Edi) 5 15 10 20
  • 6. Problem  Verilen değerler göz önüne alınarak, ulaşım maliyetinin en az olması koşuluyla çelik rulo fabrikalarından otomobil fabrikalarına çelik rulo taşıma planı nasıl olmalıdır?
  • 7. Çözüm  Ulaşım maliyetinin en az olması istenildiği için, problemi minimum amaç fonksiyonu olacak şekilde çözmeliyiz.  𝑚𝑖𝑛 𝑋𝑖𝑗𝐶𝑖𝑗𝑛 𝑗=1 𝑚 𝑖=1
  • 8. Çözüm  min: Z(x*) = 39*İst:Br + 27*İst:Kc + 24*İst:Sk + 22*İst:Tk + 14*Kon:Br + 9*Kon:Kc + 14*Kon:Sk + 33*Kon:Tk +  11*Aks:Br + 12*Aks:Kc + 17*Aks:Sk + 35*Aks:Tk +  14*İzm:Br + 9*İzm:Kc + 13*İzm:Sk + 25*İzm:Tk +  16*Ant:Br + 26*Ant:Kc + 28*Ant:Sk + 32*Ant:Tk +  82*Gan:Br + 95*Gan:Kc + 99*Gan:Sk + 100*Gan:Tk +  8*Man:Br + 17*Man:Kc + 20*Man:Sk + 24*Man:Tk +  18*Edi:Br + 10*Edi:Kc + 9*Edi:Sk + 5*Edi:Tk   Not: İst:Br kısaltması, Bursa fabrikasından İstanbul da ki otomobil üreticisine taşınması gereken ton miktarını temsil ediyor.
  • 9. Çözüm  Amaç fonksiyonumuz toplamda 32 tane değişenden oluşuyor.  Amaç fonksiyonundan sonra kısıtlarımızı belirlememiz gerekiyor. Bursa daki çelik rulo üreticisi fabrikanın gönderebileceği rulo miktarı 1400 ton. Bursa daki çelik rulo üreticisi için kısıt yazacak olursak;  Br:İst + Br:Kon + Br:Aks + Br:İzm + Br:Ant + Br:Gan + Br:Man + Br:Edi <= 1400  𝑋𝑖𝑗 ≤ 𝑆𝑖 𝑖 = 1, … , 𝑚.𝑛 𝑗=1
  • 10. Çözüm  Aynı şekilde diğer çelik rulo üreticileri içinde kısıtları yazacak olursak;  Kc:İst +Kc:Kon + Kc:Aks + Kc:İzm + Kc:Ant + Kc:Gan + Kc:Man + Kc:Edi <= 2600  Sk:İst +Sk:Kon + Sk:Aks + Sk:İzm + Sk:Ant + Sk:Gan + Sk:Man + Sk:Edi <= 2900  Tk:İst +Tk:Kon + Tk:Aks + Tk:İzm + Tk:Ant + Tk:Gan + Tk:Man + Tk:Edi <= 2000
  • 11. Çözüm  Ayrıca otomobil üreticisi fabrikalarında alacağım rulo miktarları içinde kısıt yazmamız gerekiyor. İstanbul da ki otomobil fabrikasının alabileceği çelik rulo kısıtını yazacak olursak;  İst:Br + İst:Kc + İst:Sk + İst:Tk <= 900  𝑋𝑖𝑗 ≥ 𝐷𝑖 𝑗 = 1, … , 𝑚.𝑚 𝑖=1
  • 12. Çözüm  Aynı şekilde diğer otomobil üreticileri içinde kısıtları yazacak olursak;  Kon:Br + Kon:Kc + Kon:Sk + Kon:Tk <= 1200  Aks:Br + Aks:Kc + Aks:Sk + Aks:Tk <= 600  İzm:Br + İzm:Kc + İzm:Sk + İzm:Tk <= 400  Ant:Br + Ant:Kc + Ant:Sk + Ant:Tk <= 1700  Gan:Br + Gan:Kc + Gan:Sk + Gan:Tk <= 1100  Man:Br + Man:Kc + Man:Sk + Man:Tk <= 1000  Edi:Br + Edi:Kc + Edi:Sk + Edi:Tk <= 2000
  • 13. Çözüm  Elimizde her çelik rulo üreticisi ve otomobil fabrikası için toplamda 10 tane kısıt oldu. Eğer kısıtlara her bir değişken için negatif olmama koşulunu da eklersek, elimizde ulaştırma problemi için lineer bir problem olmuş olur.
  • 14. AMPL Çözüm Modeli  Ulaştırma problemimiz için bir çözüm modeli bulmamız gerekiyor. Bunun için şu yolu izleyebiliriz. Elimizde iki tane ana nesne var. Birisi kaynak yani çelik rulo üreten fabrikalar, diğeri ise ulaştırılması gereken yerler yani çelik ruloları kullanacak otomobil üreticileri. Bunları iki ayrı dizi olarak düşünebiliriz. Rulo üretici fabrikalara TEDARIK, bu ürünleri kullanacak fabrikalara da TALEP dizisi olarak düşünebiliriz.
  • 15. AMPL ile Çözüm Modeli  Bu durumda iki ana parametremizi şu şekilde gösterebiliriz;  param supply {TEDARIK} >= 0;  param demand {TALEP} >= 0;  Tedarik ve talep durumları için şöyle bir denklem yazabiliriz;  check: sum {i in TEDARIK} supply[i] = sum {j in TALEP} demand[j];
  • 16. AMPL ile Çözüm Modeli  Bu denklemde belirtilen tedariklerin toplamı taleplerin toplamına eşit olmak zorundadır. Bu koşul sağlanmadığı sürece olası bir çözüm mümkün değildir.  Her talep ve arz kombinasyonu için bir ulaşım maliyeti ve ulaşım miktarını sembolize eden bir değişkene ihtiyacımız var. Bu koşulu da şu şekilde gösterebiliriz.  param maliyet {TEDARIK, TALEP} >= 0;  var Trans {TEDARIK, TALEP} >= 0;  Her belirli TEDARIK i ve TALEP j için toplam maliyeti şu şekilde gösterebiliriz.  Maliyet[i,j] * Trans[i,j]
  • 17. AMPL ile Çözüm Modeli  Tüm bu denklem kümelerini bir şekilde gösterirsek amaç fonksiyonumuzu şu şekilde gösterebiliriz:  minimize Toplam_Maliyet:  sum {i in TEDARIK, j in TALEP} maliyet[i,j] * Trans [i,j];  Aynı şekilde kısıtlarımızı gösterecek olursak;  Subject to Supply {i in TEDARIK } :  sum {j in TALEP} Trans[i,j] = supply[i];  Subject to Demand {j in TALEP}:  sum {i in TEDARIK} Trans[i,j] = demand[j];
  • 18. AMPL Çözüm  Hazırladığımız bu modeli ampl ile çözdüğümüzde sonuç aşağıdaki gibidir.  Min: Z(x*) = 218800 dolar olarak bulduk.
  • 21. Teşekkürler  AMPL bu adresten indirebilirsiniz:http://www.ampl.com/  AMPL kullanımı ile ilgili genel bilgi için: http://www.slideshare.net/ErolSelitektay/ampl-nonlinear