V aplikované matematice je zobecněný problém přiřazení chápán jako kombinatorický optimalizační problém , což je zobecnění problému přiřazení , ve kterém má množina umělců velikost, která se nemusí nutně rovnat velikosti množiny úloh. V tomto případě může být interpret přidělen k provedení jakékoli práce (ne nutně jedné práce, jako v problému zadání). Při přidělení exekutora k výkonu práce jsou nastaveny dvě hodnoty - náklady a příjmy. Každý účinkující má určitý rozpočet, takže součet všech nákladů by tento rozpočet neměl přesáhnout. Je třeba najít takové přidělení výkonných umělců k výkonu práce, aby se maximalizoval příjem.
V případě, že rozpočty interpretů a všechny náklady na práci jsou rovny 1, problém se změní v problém maximálního párování .
Pokud jsou ceny a příjmy pro všechny pracovní úkoly stejné, problém se zmenší na multiplikativní batoh .
Pokud existuje pouze jeden agent, problém se redukuje na problém s batohem .
Existuje n pracovních míst a m účinkujících . Každý účinkující má svůj rozpočet . Pro každou dvojici účinkujících a práce je uveden příjem a váha . Řešením je podmnožina úloh U a rozdělení úloh z U mezi účinkující. Rozhodnutí je přijatelné, pokud výše nákladů na svěřenou práci výkonného umělce nepřekročí rozpočet . Příjem z rozhodnutí je součtem všech příjmů všech rozdělení práce-exekutora.
Matematicky lze problém zobecněného zadání formulovat následovně:
maximalizovat podléhat ; ; ;Zobecněný problém přiřazení je NP-tvrdý a dokonce APX-tvrdý .
Fleischer, Gomans, Mirokni a Sviridenko navrhli kombinatorický lokální vyhledávací algoritmus s aproximací a algoritmus založený na lineárním programování s aproximací [1] .
Aproximace je nejznámější aproximací problému zobecněného zadání.
Pomocí algoritmu aproximace problému přiřazení lze vytvořit ( ) -aproximaci pro zobecněný problém přiřazení na způsob chamtivého algoritmu využívajícího koncept reziduálního příjmu. Algoritmus iterativně vytváří předběžnou sekvenci, ve které má při iteraci přidělit práci interpretovi . Volbu pro interpreta lze později změnit při zadávání práce jiným interpretům. Zbývající příjem z díla pro výkonného umělce je , není-li dílo předáno jinému výkonnému umělci, a - je-li dílo předáno výkonnému umělci .
Formálně:
Použijte vektor pro předvýběr a v tomto vektoru
znamená, že má k dílu přidělit vykonavatele , znamená, že k úkolu nebyl nikdo přiřazen.Zbývající příjem na iteraci je označen , kde
pokud není vybrána žádná zakázka (tj . , pokud má být dílo předáno výkonnému umělci (tedy ).Algoritmus tedy vypadá takto:
Přiřazené počáteční hodnoty pro všechny Pro všechny udělejte: K získání rozdělení práce pro dodavatele pomocí funkce reziduálního příjmu se používá aproximační algoritmus . Vybraná díla jsou označena . Opraveno pomocí , tedy pro všechny . konec cyklu