Genelleştirilmiş atama problemi - Generalized assignment problem

İçinde Uygulamalı matematik, maksimum genelleştirilmiş atama problemi bir problemdir kombinatoryal optimizasyon. Bu problem bir genelleme of atama problemi hem görevlerin hem de ajanlar bir beden var. Dahası, her görevin boyutu bir temsilciden diğerine değişebilir.

Bu problem en genel haliyle şu şekildedir: Çok sayıda aracı ve bir dizi görev vardır. Herhangi bir temsilci, temsilci-görev atamasına bağlı olarak değişebilen bazı maliyet ve karlara neden olan herhangi bir görevi yerine getirmek üzere atanabilir. Dahası, her temsilcinin bir bütçesi vardır ve kendisine verilen görevlerin maliyetlerinin toplamı bu bütçeyi aşamaz. Tüm temsilcilerin bütçelerini aşmadığı ve görevin toplam kârının maksimize edildiği bir görev bulmak gerekir.

Özel durumlarda

Tüm temsilcilerin bütçelerinin ve tüm görevlerin maliyetlerinin 1'e eşit olduğu özel durumda bu sorun, atama problemi. Tüm görevlerin maliyetleri ve karları farklı temsilciler arasında değişmediğinde, bu sorun çoklu sırt çantası sorununa indirgenir. Tek bir ajan varsa, o zaman bu sorun, sırt çantası sorunu.

Tanım açıklaması

Aşağıda, biz var n ürün çeşitleri, vasıtasıyla ve m çöp kutuları vasıtasıyla . Her bölme bir bütçe ile ilişkili . Çöp kutusu için , Her öğe karı var ve bir ağırlık . Çözüm, öğelerden bölmelere atamadır. Uygulanabilir bir çözüm, her depo için atanan öğelerin toplam ağırlığı en fazla . Çözümün kârı, her bir öğe kutusu ataması için kârların toplamıdır. Amaç, maksimum kar uygulanabilir bir çözüm bulmaktır.

Matematiksel olarak genelleştirilmiş atama problemi bir tamsayı programı:

Karmaşıklık

Genelleştirilmiş atama problemi NP-zor,[1] Bununla birlikte, doğrusal programlama gevşemeleri vardır. -yaklaşıklık.[2]

Açgözlü yaklaşım algoritması

Her öğenin bir bölmeye atanması gerekmeyen problem varyantı için, sırt çantası problemi için herhangi bir algoritmanın GAP için bir yaklaşım algoritmasına bir kombinatoryal çevirisini kullanarak GAP'ı çözmek için bir algoritma ailesi vardır.[3]

Herhangi birini kullanarak -yaklaşıklık algoritması ALG için sırt çantası sorunu, bir () - bir artık kar kavramı kullanarak açgözlü bir şekilde genelleştirilmiş atama problemine yaklaşım Algoritma, yinelemelerde bir zamanlama oluşturur, burada yineleme sırasında çöpe atılacak geçici bir öğe seçimi seçildi. çöp kutusu seçimi öğeler diğer kutular için daha sonraki bir yinelemede yeniden seçilebileceğinden değişebilir. çöp kutusu için dır-dir Eğer başka bir bölme için seçilmedi veya Eğer çöp kutusu için seçildi .

Resmi olarak: Bir vektör kullanıyoruz Algoritma sırasında geçici programı belirtmek için. Özellikle, öğe anlamına gelir çöp kutusunda planlandı ve bu öğe anlamına gelir planlanmadı. Yinelemede kalan kâr ile gösterilir , nerede eğer öğe planlanmadı (yani ) ve eğer öğe çöp kutusunda planlandı (yani ).

Resmen:

Ayarlamak
İçin yapmak:
Çöp kutusuna bir çözüm bulmak için ALG'yi arayın kalan kar fonksiyonunu kullanarak . Seçili öğeleri şununla belirtin: .
Güncelleme kullanma yani hepsi için .

Ayrıca bakınız

Referanslar

  1. ^ Özbakir, Lale; Baykasoğlu, Adil; Tapkan, Pınar (2010), Genelleştirilmiş atama problemi için arı algoritması, Uygulamalı Matematik ve Hesaplama, 215, Elsevier, s. 3782–3795, doi:10.1016 / j.amc.2009.11.018.
  2. ^ Fleischer, Lisa; Goemans, Michel X .; Mirrokni, Vahab S .; Sviridenko, Maxim (2006). "Maksimum genel atama problemleri için sıkı yaklaşım algoritmaları". Alıntı dergisi gerektirir | günlük = (Yardım)
  3. ^ Cohen, Reuven; Katzir, Liran; Raz, Danny (2006). "Genelleştirilmiş Atama Problemi için verimli bir yaklaşım". Bilgi İşlem Mektupları. 100 (4): 162–166. doi:10.1016 / j.ipl.2006.06.003.

daha fazla okuma

Kellerer, Hans; Pferschy, Ulrich; Pisinger, David (2013-03-19). Sırt Çantası Sorunları. ISBN  978-3-540-24777-7.

Dış bağlantılar