771 likes | 1.31k Views
SİMPLEX YÖNTEMİ. DP ve Simlex Algoritması. Simplex ilk kez 1947de G.B.Dantzip tarafından geliştirilmiştir. Daha sonra öğrenciler Charnes, Cooper ve arkadaşları ekonomik ve endüstriyel uygulamalar için bu algoritmayı kullanmışlardır.
E N D
DP ve Simlex Algoritması • Simplex ilk kez 1947de G.B.Dantzip tarafından geliştirilmiştir. Daha sonra öğrenciler Charnes, Cooper ve arkadaşları ekonomik ve endüstriyel uygulamalar için bu algoritmayı kullanmışlardır.
Simplex yöntem cebirsel tekrarlama (iterasyon) işlemine dayanır. • Önce başlangıç simplex tablosu düzenlenir. • Sonra tekrarlayıcı işlemler ile belli bir hesap yöntemi içinde gelişen çözümlere doğru ilerleyerek optimal çözüme ulaşıncaya kadar işlemler sürdürülür.
Gelişen çözüm tablolarında amaç fonksiyonunun ve karar değişkenlerinin değişen değerleri gözlenebilir.
2. Standart ve Kanonik Şekiller • DP problemleri 2 şekilde gösterilebilir. • Bunlar standart ve kanonik formlardır. • Standart formlar Simplex Yöntemi için daha elverişli iken • Kanonik form Dual Yapılarda daha kullanışlıdır.
Standart Formun Yapısı • Tüm karar değişkenleri negatif değilse. • Amaç fonksiyonu Max. veya Min. tipte ise. • Hiçbir kısıtlayıcının sağındaki elemanlar negatif değilse. • Tüm kısıtlayıcılar bir denklem halinde ise. Standart formdan bahis edilebilir.
Kanonik Form • Tüm karar değişkenleri negatif değilse • Amaç fonksiyonu Maximizasyon tipinde ise • Tüm kısıtlayıcılar tipte ise Kanonik formdan bahis edilebilir.
Herhangi bir doğrusal programlama Problemi Kanonik veya Standart şekilde ifade edilebilir. Bu işlemler için şu dönüşümler kullanılabilir.
1) Optimizasyonun anlamını değiştirme • Bu işlem amaç fonksiyonunda yer alan her katsayının işaretini değiştirmekle sağlanabilir. • Bu dönüşüm sonucu elde edilen yeni modelin çözümünde karar değişkenlerinin optimal değerleri yalnız işaretleri değişmek üzere aynı kalır.
2) Eşitsizliğin Yönünü Değiştirme • Herhangi bir şeklindeki eşitsizlik yönüne değiştirilebilir. Burada bu işlem için gerekli şey, eşitsizliğin her iki tarafını (-1) ile çarpıp, yönü değiştirmektir. Örneğin,
3)Eşitsizliği Eşitlik Haline Getirme Herhangi bir ≤ şeklindeki eşitsizlik için negatif olmayan (S) Aylak Değişken sağ ve sol taraftaki farkı ifade eder. Herhangi bir ≥ şeklindeki eşitsizlik için ise, negatif olmayan Artık değişken(V) kullanılır ki buda eşitsizliğin sağ ve sol tarafındaki farkı gösterir.
Ayrıca ≥ yönündeki eşitsizliklere Yapay Değişken(Artificial) eklenir. AYLAK DEĞİŞKEN , modelde kullanılamayan ve boşa harcanan yada kaybedilen kaynakları gösterir. ARTIK DEĞİŞKEN ise genellikle fazla kaynak veya kapasiteyi gösterir.
4) EŞİTLİĞİ EŞİTSİZLİĞE DÖNÜŞTÜRME Herhangi bir eşitlik iki eşitsizlik şeklinde ifade edilebilir.
SINIRLANDIRILAMAYAN DEĞİŞKENLER İşaret olarak sınırlandırılamayan herhangi bir değişken (değişkenin negatif,pozitif veya sıfır değeri olabilir), negatif olmayan iki değişken arasındaki fark olarak yazılabilir. Örneğin, X değişkeni sınırlı değilse onun yerine (x+ - x- ) konulabilir. Burada x+ ≥ 0 ve x- ≥0 dır. Optimal çözümlerde x+ ve x- nin en çok biri pozitif olacaktır. Sınırlandırılmayan işaretteki değişken istediği değeri alabilir.
Örnek • Min Z = 2X1 + 4 X2 – X3 Kısıtlar 5X1 – X2 + 4 X3 ≤ 40….(1) 2X1 +2X2 +5X3 ≥ 25…(2) X1 +2X3 = 30..(3) ------------------- X1 sınırlı değil X1, X3 ≥ 0 Problemi a) Standart ve b) Kanonik şekilde ifade ediniz.
a) Standart form • Standart şekil için , amaç fonksiyonu min olduğu için değişmez. Sadece (1) Nolu kısıta (s) aylak değişkeni eklenir (2) Nolu kısıta (v) artık değişken çıkarılır. 5X1 – X2 +4 X3 +S = 40..(1) 2X1 +2X2 +5X3 –V = 25…(2) X1 +2X3 = 30…….(3) X1 değişkeni sınırlandırılamadığından X1 = x1+ - x1-, burada x1+ ≥ 0 ve x1- ≥0 dır. Bu işlemin ardından modelin standart şeklini aşağıdaki gibi yazabiliriz.
Standart form • Min Z = 2 (x1+ - x1-) + 4 X2 – X3 Kısıtlar 5 (x1+- x1-)– X2 +4X3+S = 40..(1) 2(x1+- x1-)+2X2 +5X3- V = 25…(2) (x1+- x1-) +2X3 = 30..(3) x1+ , x1-,X2, X3, S, V ≥ 0
Kanonik Form Kanonik form için amaç fonksiyonu Max haline getirilmelidir. Max Y = -2X1 – 4 X2 + X3 Kısıtlar 1 nolu kısıt normal. 2 nolu kısıt için her iki taraf (-1) ile çarpılıp yön değiştirilmelidir. Yani -2X1 -2X2 -5X3 ≤ -25, 3 nolu kısıt iki eşitsizlik halinde yazılabilir… X1+2X3 ≤ 30 veya -X1-2X3 ≤ -30
X1 değişkeni sınırlandırılmadığından X1=x1+- x1- yazılır . Buradan kanonik şekil, Max Z = -2 (x1+ - x1-) - 4 X2 + X3 Kısıtlar 5 (x1+- x1-)– X2 +4X3 ≤ 40..(1) -2(x1+- x1-)-2X2 -5X3 ≤ -25…(2) (x1+- x1-) +2X3 ≤ 30..(3) x1+ , x1-,X2, X3 ≥ 0
SİMPLEX ALGORİTMASI • Simplex Algoritması karar problemlerine ait geliştirilen modelin standart formundan hareketle, iterasyonlar yardımı ile uygun çözümler arasından en uygun çözümün bulunması üzerine yoğunlaşan bir tekniktir. • Algoritma temel uygun çözümle başlar ve amaç fonksiyonunun değerini arttıran (ya da en küçükleyen) adımlarla devam eder.
Adımlar aşağıdaki gibidir. 1. Adım; Modelde yer alan kısıtlar eşitlik haline getirilir. Kısıtlayıcı ise Aylak değişken ekleyerek
Eğer kısıtlayıcı ise V1 artık değişkeni çıkarılır ve A1 yapay değişkeni eklenir. V1 Artık değişkeni fazla kapasiteyi ve fazla üretim faktörlerini, fazla üretim arzını veya fazla üretim talebini ifade eder. V1 Artık değişkenler Başlangıç Simplex tablosunun temel değişkenler sütununda yer almaz. Bunun yerine ekonomik bir anlamı olmayan Yapay Değişken yer alır.
Eğer kısıtlayıcı denklem tam bir eşitlik halinde ise A1 eklenir. Yani • Aylak, Artık ve Yapay değişkenlere bir sabit katsayı değeri verilerek amaç fonksiyonunda yer almaları sağlanır. • Aylak ve Artık değişkenlerin katsayıları “sıfır” değerli olup ,Yapay değişkenlerin katsayı değeri Maliyet Minimizasyonu Probleminde (+M), Kazanç Maksimizasyonu Probleminde ise (-M) olur.
M yüksek değerli sayıyı, yani keyfi büyük ceza maliyetini ifade eder. • Simplex Çözümünde M yerine bir sayı verilmek istenirse bu sayı cj, aij ve bj değerlerinden büyük olmalıdır. • Bunun nedeni, hiçbir ekonomik anlamı olmayan yapay değişkenin uygun optimal çözümde yer almasını önlemektir. • 2.Adım; Başlangıç simplex tablosu düzenlenir
Örnek: ( Öztürk A, 57) Bir marangoz işletmesinde masa ve sandalye üretilmektedir. Bir masa yapımı için 30 metre tahta ve 5 saat işgücüne gerek vardır. Bir sandalye yapımı için 20 metre tahta ile 10 saat işgücüne gerek vardır. İşletmenin elinde 300 metre tahta ve 110 saat işgücü vardır. Bir masanın satışından 6 br.TL. ve bir sandalyenin satışından da 8 br.TL. kâr elde edilmektedir. Marangoz kazancını Max. Yapabilmesi için kaç tane masa ve kaç tane sandalye üretmelidir.
Çözüm: • Karar değişkenleri
Bu modeli Simplex Algoritması ile çözmek için önce Standart hale getirmek lazımdır. Bunun için de;
Giren Başlangıç Simplex Tablosu
3.Adım; İterasyona devam (Kârı En Çok Arttıracak ve Maliyeti En Çok Azaltacak Değişkenin işleme girmesi). Bunun için Cj-Zj satırına bakılır. Amaç kârın maksimizasyonu olduğundan, bu satırda yer alan en yüksek pozitif değerli eleman seçilir ve bu elemanın bulunduğu kolon ANAHTAR KOLON(SÜTUN) olur. Maliyet minimizasyonlarında ise negatif değerler içinde mutlak değerce en yüksek olan seçilir ve bunun bulunduğu sütun ANAHTAR SÜTUN olur. Problemimizde bu değer X2 değişkenini göstermektedir.
Adım; ANAHTAR SIRANIN (veya işlemden çıkacak) Değişkenin Belirlenmesi Çözüm Sütunundaki elemanlar anahtar sütununda yer alan elemanlara bölünerek (bi/aij) bir orana ulaşılır. Paydasında “0” veya “negatif” sayılar bulunan oranlar dikkate alınmaz. Bu oranlar arasında EN DÜŞÜK olan seçilir ve bunun karşılığı olan sıra ANAHTAR SIRA olur. Daha sonra temel değişken sütunundaki değişken de işlemden çıkarılır. Anahtar Sıra ile Anahtar Sütunun kesiştiği yerdeki eleman “ ANAHTAR SAYI” olur.
Anahtar sayı • Örneğe dönersek; Anahtar sıra
İşlemden çıkacak temel değişkenin bulunması için önce “TEMEL SIRA”nın bulunması lazım. • Temel sırayı bulmak için yapılacak işlem anahtar sıranın tüm elemanlarını anahtar sayıya bölmektir. • Anahtar sıra değişkeni (S2) yerini anahtar sayının bulunduğu sütun değişkenine (X2’ye) bırakır ve temel sıranın değişkeni de (X2) olur.
Yeni Sırayı Bulmak İçin: Yeni Sıra Elemanı=Eski Sıra Elemanı-(Temel sayı x Temel sıra elemanı) Temel sayı anahtar sayının bulunduğu sütunda Zj ve (Cj – Zj) elemanları dışında yer alan elemanlardır. Örnekte TEMEL SAYI (20) dir. Şimdi yeni sırayı belirleyelim; x1 x2 s1 S2 b2 Eski sıra(s1) 30 20 1 0 300 Yeni sıra(s1) için ilk eleman x1 in katsayısının bulunması aşağıdaki gibi olur; 30 – 20 (1/2) = 20
x2 nin katsayı değeri ? 20 – 20(1) = 0 S1 in katsayı değeri ? 1 – 20(0) = 1 s2 nin katsayı değeri ? 0 – 20(1/10) = -2 Çözüm değeri b2 ? 300 – 20(11) = 80 dır Buna göre yeni sıra s1 ? Yeni sıra(s2); 20 0 1 -2 80 olur.
Zj satırının elemanları da daha önce ele aldığımız yöntem ile aşağıdaki gibi belirlenir; Z1 = 0*20 + 8 (1/2) =4 Z2 = 0*0 + 8(1) =8 Z3 = 0*1 + 8(0) =0 Z4 = 0*2 + 8(1/10)=8/10 Çözüm sutununda Zj ye karşılık gelen değer ise, = 0*80 + 8*11 = 88
Bütün bu hesaplardan sonra, 1. iterasyon olarak aşağıdaki tablo yazılabilir. İlk çözüm
Bütün bu hesaplardan sonra, 1. iterasyon olarak aşağıdaki tablo yazılabilir. İlk çözüm
1. İterasyon sonuçlarının ekonomik yorumu • S1 sırasında ve x1 in altındaki 20 rakamı bize 1 masa yapmak için kullanılmayan tahtadan vazgeçmemizi, Aynı sütundaki ½ rakamı da yine 1 masa yapımı için yarım sandalyeden vazgeçmemizi söylemektedir.
S2 nin altındaki değişken katsayıları da benzer şeyi ifade eder. Yani, a) 1 birim daha fazla işgücü kullanmak için (-2) metrelik kullanılmayan tahtadan vazgeçmeliyiz. Yani 2 metre kullanılmayan tahtayı geri almalıyız. Böylece öncekine göre 2 metre daha az tahta kullanırız. b) 1/10 rakamı da kullanılmayan işgücünü 1 saat arttırmak için 1/10 sandalyeden vazgeçilmesini ifade eder Zj satırındaki 4 rakamı , 1 masayı üretmek için ½ sandalyeden vazgeçilmesi ile kaybedilen karı ifade eder. Ayrıca; (8/10) rakamı da ,kullanılmayan işgücünü 1 saat arttırdığımızda yapılmayan 1/10 sandalyeden vazgeçilmesi ile kaybedilen karı ifade eder. Çözüm sütünunun altındaki 88 değeri de 11 sandalye üretilmesi durumunda elde edilecek karı göstermektedir.
İngiltere’ nin II.Dünya Savaşında kazandığı tecrübe ve birikimlerini kullanan ABD, bütün askeri birimlerinde YA birimlerini oluşturmuş ve bir çok karmaşık karar problemleri için optimal çözümler üretmiştir. • II. Dünya Savaşı’ndan sonra, Yöneylem Gruplarında çalışan uzmanlar,aynı algoritmaların işletme problemlerine uygulanabilecek tekniklerini geliştirdiler.
S2 nin altındaki değişken katsayıları da benzer şeyi ifade eder. Yani, a) 1 birim daha fazla işgücü kullanmak için (-2) metrelik kullanılmayan tahtadan vazgeçmeliyiz. Yani 2 metre kullanılmayan tahtayı geri almalıyız. Böylece öncekine göre 2 metre daha az tahta kullanırız. b) 1/10 rakamı da kullanılmayan işgücünü 1 saat arttırmak için 1/10 sandalyeden vazgeçilmesini ifade eder Zj satırındaki 4 rakamı , 1 masayı üretmek için ½ sandalyeden vazgeçilmesi ile kaybedilen karı ifade eder. Ayrıca; (8/10) rakamı da ,kullanılmayan işgücünü 1 saat arttırdığımızda yapılmayan 1/10 sandalyeden vazgeçilmesi ile kaybedilen karı ifade eder. Çözüm sütünunun altındaki 88 değeri de 11 sandalye üretilmesi durumunda elde edilecek karı göstermektedir.
(Cj–Zj) satırındaki C1-Z1=2 ,masa üretiminin 1 birim arttırılması ile kar da 2 birim artış olacağını gösterir. Benzer şekilde, C2-Z2=0 ın anlamı ,x2 den yani sandalyeden 1 birim daha fazla üretilmesinin karı arttırmayacaktır. C3-Z3=0 ın anlamı da kullanılmayan tahta var şeklindedir ve 1 metre daha kullanılmasının kara katkısı olmadığını söyler. C4-Z4=-8/10 anlamı, 1 saat işgücünün kullanılmaması yani aylak bırakılması 8/10 TL zarara neden olur. Çünkü 1/10 birimlik eksik sandalye(x2) üretilebilir ki böylece 1/10*(8) = 8/10 TL daha az kar elde edilmiş olur
Optimal çözüme ulaşma şartı ? Optimal çözüme ulaşılıp ulaşılmadığını anlamak için Cj – Zj satırındaki değerlere bakılır. Max.Problemlerinde (Cj–Zj) satırındaki tüm değerler sıfır yada sıfırdan küçük ise, optimal çözüme ulaşıldığı anlaşılır, yani (Cj–Zj) ≤ 0 olmalıdır. Min.Problemlerinde ise (Cj–Zj) ≥ 0 olmalıdır. Bu kontrol mekanizması bütün iterasyonlarda kullanılmaktadır.
İkinci iterasyon Birinci iterasyon sonucunda elde edilen tabloya baktığımızda (Cj–Zj) satırında pozitif değerli bir eleman vardır ve bu sayı da 2 dir. Bu sonuç optmal çözüme henüz ulaşılmadığını gösterir. Optimal çözüme ulaşmak için 1. iterasyonda izlenen adımlar tekrarlanır.
Ayrıca kullanılmayan kaynakların (tahta ve işgücü) neden olacağı zarar şöyle de açıklanabilir. • Tahtanın 1m’sinin üretime geçişi ile ilgili; 30X1+20X2=1. Kullanılmayan işgücü saati olmadığında 5X1+10X2=0 yazılabilir.
Bu iki denklemin çözümünden 30X1+20X2=1 2/5X1+10X2=0 30X1+20X2=1 10X1 20X2=0 20X1 =1 X1 =1/20 X2=-1/40 bulunur.