Big M & Two Phase Methods
Operations Research I
Big M ve İki Aşamalı (Two Phase) Metotlar
Simplex metotu, doğrusal programlama (Linear Programming) problemlerinin çözümünde yaygın olarak kullanılan bir yöntemdir. Ancak bazı durumlarda, alışık olmadığımız kısıtlar veya yapılandırmalar nedeniyle standart Simplex metot doğrudan uygulanamaz. İşte bu noktada Big M ve İki Aşamalı (Two Phase) Metotlar devreye girer. Bu makalede, bu metotların ne olduğunu, neden ihtiyaç duyulduğunu ve nasıl uygulandığını birlikte inceleyeceğiz.
Alışılmadık (Unstructured) Doğrusal Programlama Problemleri
Standart simplex metotta, genellikle küçük eşitsizlikli () kısıtlarla karşılaşırız. Ancak bazı problemlerde büyük eşitsizlikli () kısıtlar bulunabilir. Örneğin:
Bu tür kısıtlar, standart simplex metotla doğrudan çözülemez çünkü başlangıç temel uygulanabilir çözüm (basic feasible solution) elde etmek zorlaşır.
Standart Forma Dönüştürme
Problemi standart forma dönüştürmek için, kısıtlardaki eşitsizlikleri eşitliğe çevirmemiz gerekir:
- Büyük eşitsizlikli () kısıtlar için bir fazlalık değişkeni (surplus variable) çıkarırız.
- Küçük eşitsizlikli () kısıtlar için bir eksiklik değişkeni (slack variable) ekleriz.
- Eşitlik kısıtlarında değişiklik yapmayız.
Yukarıdaki problemi standart forma dönüştürelim:
Burada fazlalık değişkeni, ise eksiklik değişkenidir.
Yapay Değişkenlerin (Artificial Variables) Eklenmesi
Sorun şu ki, ilk tabloda temel değişken olarak kullanılacak birim vektörler elde edemiyoruz. Özellikle, 'ün katsayıları birim vektör oluşturmuyor. Bu durumda, yapay değişkenler ekleyerek tabloyu çözülebilir hale getiriyoruz:
Burada yapay bir değişkendir ve amacı başlangıç temel uygulanabilir çözümü elde etmektir.
Big M Metodu
Big M Metodu, yapay değişkenleri cezalandırarak onları çözümden çıkarmayı hedefler. Amaç fonksiyonuna yapay değişkenler için büyük bir ceza katsayısı ekleriz:
Burada çok büyük bir pozitif sayıdır. Bu sayede, optimizasyon sürecinde yapay değişkenlerin değeri sıfıra zorlanır.
Uygulama Adımları:
- Problemi standart forma dönüştürün.
- Yapay değişkenleri ekleyin ve amaç fonksiyonunda cezalandırın.
- Simplex metotla çözümü bulun.
- Eğer yapay değişkenlerin değeri sıfırsa, çözüme devam edin. Değilse, problem uygulanabilir değildir (infeasible).
İki Aşamalı (Two Phase) Metot
İki Aşamalı Metot, yapay değişkenleri kullanırken amaç fonksiyonunu değiştirmeden, ancak iki farklı aşamada çözümü bulmayı hedefler.
Aşama 1: Yapay Değişkenleri Minimize Etme
Yeni bir amaç fonksiyonu tanımlarız:
Bu aşamada, yapay değişkenlerin toplamını minimize ederek onların sıfıra indirgenmesini hedefleriz.
Aşama 2: Orijinal Amaç Fonksiyonuna Dönüş
Eğer Aşama 1 sonucunda yapay değişkenler sıfıra indirgenebilirse, orijinal amaç fonksiyonuna dönerek problemi standart simplex metotla çözeriz.
Uygulama Adımları:
- Aşama 1 için yapay amaç fonksiyonu tanımlayın ve Simplex metot uygulayın.
- Eğer yapay değişkenlerin değeri sıfırsa, Aşama 2'ye geçin.
- Orijinal amaç fonksiyonuyla Simplex metotu tekrar uygulayın.
Big M ve İki Aşamalı Metotların Karşılaştırılması
-
Big M Metodu:
- Tek aşamalıdır.
- Büyük bir değeri seçmek gerektiğinden sayısal kararsızlıklara yol açabilir.
- Hesaplaması daha hızlı olabilir, ancak dikkatli olunmalıdır.
-
İki Aşamalı Metot:
- İki ayrı aşamada çözüm bulunur.
- Sayısal kararsızlık riski daha düşüktür.
- Yapay değişkenlerin sıfıra indirilip indirilemeyeceği net olarak görülür.
Sonuç
Big M ve İki Aşamalı Metotlar, simplex metotla doğrudan çözülemeyen doğrusal programlama problemlerini çözmek için etkili yöntemlerdir. Her iki metot da yapay değişkenleri kullanarak başlangıç temel uygulanabilir çözümü elde etmeyi ve ardından bu yapay değişkenleri çözümden çıkarmayı hedefler. Hangi metodu seçeceğiniz, problemin yapısına ve kişisel tercihlerinize bağlıdır; ancak her iki yöntem de doğru uygulandığında size optimal çözümü sunacaktır.
Unicourse ile sınavlardan istediğin notları al.
Türkiye'nin en iyi üniversitelerinden 20.000'den fazla öğrenci sınavlarına Unicourse ile hazırlanıyor. Sen de aramıza katıl.