Assignment Problem
Operations Research I
Assignment Problem'ine Giriş
Assignment Problem, Operations Research alanında sıklıkla karşılaştığımız ve belirli sayıda işin belirli sayıda kaynağa en etkin şekilde atanması gerekliliğini ele alan bir problemdir. Bu kaynaklar genellikle çalışanlar, makineler veya araçlar olabilir ve her bir işin her bir kaynak tarafından yapılmasının farklı bir maliyeti vardır. Amacımız, toplam maliyeti veya süreyi en aza indirerek işleri kaynaklara atamaktır.
Örnek: Alice, Bob ve Charlie'nin Görevleri
Elimizde üç çalışanımız olsun: Alice, Bob ve Charlie. Aynı zamanda yapılması gereken üç görevimiz var:
- Cutting (Kesme)
- Merging (Birleştirme)
- Painting (Boyama)
Her bir çalışan, bu görevleri farklı sürelerde tamamlayabiliyor:
| Çalışan | Cutting (dakika) | Merging (dakika) | Painting (dakika) | |----------|------------------|------------------|-------------------| | Alice | | | | | Bob | | | | | Charlie| | | |
Amacımız, her bir görevi farklı bir çalışana atayarak toplam tamamlanma süresini en aza indirmek. Görevler birbirini takip eden süreçler olduğundan, örneğin önce kesme, sonra birleştirme ve en son boyama işlemi yapılmalıdır.
Problemin Ağ Yapısı ile Gösterimi
Assignment Problem'ini daha iyi anlamak için bunu bir network problem (ağ problemi) şeklinde gösterebiliriz:
- Kaynaklar (Supply Nodes): Alice, Bob, Charlie
- Görevler (Demand Nodes): Cutting, Merging, Painting
- Edge Costs: Her bir çalışanın her bir görevi tamamlama süresi
Her bir kaynağın kapasitesi (supply) , her bir görevin talebi (demand) ise 'dir. Bu, her çalışanın en fazla bir görev alabileceği ve her görevin tam olarak bir çalışana atanması gerektiği anlamına gelir.
Lineer Programlama (LP) Formülasyonu
Assignment Problem'i, Linear Programming (Doğrusal Programlama) kullanarak çözebiliriz. Burada karar değişkenlerimiz ve kısıtlarımız aşağıdaki gibi tanımlanır:
Karar Değişkenleri
Amaç Fonksiyonu
Toplam süreyi en aza indirmek istiyoruz:
Burada , çalışan 'nin görevi tamamlama süresidir.
Kısıtlar
- Her Görev İçin Tek Çalışan:
Her bir görev, tam olarak bir çalışana atanmalıdır.
- Her Çalışan İçin Tek Görev:
Her bir çalışan, en fazla bir görev almalıdır.
- Değişkenlerin İkili Olması:
Karar değişkenlerimiz binary'dir; bir çalışan ya bir görevi alır ya da almaz.
Transportation Problem ile Karşılaştırma
Assignment Problem, yapısal olarak Transportation Problem'e benzer. Ancak aralarındaki temel farklar şunlardır:
- Kapasiteler ve Talepler: Transportation Problem'de kaynakların kapasiteleri ve talepler farklı değerler alabilirken, Assignment Problem'de genellikle hepsi 'dir.
- Karar Değişkenleri: Transportation Problem'de karar değişkenleri sürekli olabilirken, Assignment Problem'de karar değişkenleri binary'dir ( veya ).
- Miktarlar: Transportation Problem'de miktarlar (örn. taşıma hacmi) dikkate alınırken, Assignment Problem'de bir işin bir kaynağa atanıp atanmadığı önemlidir.
Özel Durumlar
Bazen kaynak ve görev sayıları eşit olmayabilir. Örneğin, çalışan ve görev varsa, tüm çalışanlar bir göreve atanamaz. Bu durumda LP modelimizde aşağıdaki düzenlemeleri yaparız:
- Her Görev İçin Tek Çalışan:
- Her Çalışan En Fazla Bir Görev Alabilir:
Bu yaklaşım, fazla olan kaynakların (veya görevlerin) sistemde yer almasını sağlar ancak onlar için ek bir maliyet oluşmaz.
Sonuç
Assignment Problem, belirli işlerin belirli kaynaklara en etkin şekilde atanmasını amaçlayan ve birçok gerçek dünya uygulaması bulunan önemli bir optimizasyon problemidir. Problemin doğru bir şekilde modellenmesi ve uygun çözüm yöntemleriyle toplam maliyet veya süre en aza indirilebilir.
Not: Bu problemde kullanılan yöntemler ve prensipler, kaynakların ve işlerin sayısına bağlı olarak daha karmaşık durumlara da uygulanabilir. Bu nedenle, Assignment Problem'ini anlamak ve çözüm tekniklerini öğrenmek, operasyon araştırmaları ve optimizasyon alanında önemli bir beceridir.
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.