← Konulara dön

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:

  1. Cutting (Kesme)
  2. Merging (Birleştirme)
  3. Painting (Boyama)

Her bir çalışan, bu görevleri farklı sürelerde tamamlayabiliyor:

| Çalışan | Cutting (dakika) | Merging (dakika) | Painting (dakika) | |----------|------------------|------------------|-------------------| | Alice | 55 | 66 | 77 | | Bob | 66 | 44 | 99 | | Charlie| 33 | 66 | 88 |

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) 11, her bir görevin talebi (demand) ise 11'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

xij={1Eg˘er c¸alıs¸an i go¨revi j yaparsa0Aksi haldex_{ij} = \begin{cases} 1 & \text{Eğer çalışan } i \text{ görevi } j \text{ yaparsa} \\ 0 & \text{Aksi halde} \end{cases}

Amaç Fonksiyonu

Toplam süreyi en aza indirmek istiyoruz:

minijcijxij\min \sum_{i} \sum_{j} c_{ij} x_{ij}

Burada cijc_{ij}, çalışan ii'nin görevi jj tamamlama süresidir.

Kısıtlar

  1. Her Görev İçin Tek Çalışan:
ixij=1j\sum_{i} x_{ij} = 1 \quad \forall j

Her bir görev, tam olarak bir çalışana atanmalıdır.

  1. Her Çalışan İçin Tek Görev:
jxij=1i\sum_{j} x_{ij} = 1 \quad \forall i

Her bir çalışan, en fazla bir görev almalıdır.

  1. Değişkenlerin İkili Olması:
xij{0,1}x_{ij} \in \{0, 1\}

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 11'dir.
  • Karar Değişkenleri: Transportation Problem'de karar değişkenleri sürekli olabilirken, Assignment Problem'de karar değişkenleri binary'dir (00 veya 11).
  • 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, 55 çalışan ve 33 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:
ixij=1j\sum_{i} x_{ij} = 1 \quad \forall j
  • Her Çalışan En Fazla Bir Görev Alabilir:
jxij1i\sum_{j} x_{ij} \leq 1 \quad \forall i

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.