У прикладній математиці під узагальненою задачею про призначення розуміють задачу комбінаторної оптимізації, що є узагальненням задачі про призначення, в якій множина виконавців має розмір, не обов'язково рівний розміру множини робіт. При цьому виконавця можна призначити для виконання будь-яких робіт (не обов'язково однієї роботи, як у задачі про призначення). При призначенні виконавця для виконання роботи задається дві величини — ціна і дохід. Кожен виконавець має певний бюджет, так що сума всіх витрат не повинна перевищувати цього бюджету. Потрібно знайти таке призначення виконавців для виконання робіт, щоб максимізувати прибуток.
Особливі випадки
У разі, коли бюджети виконавців і всі вартості робіт дорівнюють 1, задача перетворюється на задачу про максимальне парування.
Якщо ціни і доходи для всіх призначень виконавців на роботи рівні, завдання зводиться до (мультиплікативного рюкзака).
Якщо є всього один агент, задача зводиться до задачі про рюкзак.
Визначення
Є n робіт і m виконавців . Кожен виконавець має бюджет . Для кожної пари виконавець і робота задано дохід і вагу . Розв'язком є підмножина робіт U і розподіл робіт з U за виконавцями. Розв'язок допустимий, якщо сума витрат на призначені роботи виконавця не перевершує бюджету . Доходом від розв'язку є сума всіх доходів усіх розподілів робота-виконавець.
Математично узагальнену задачу про призначення можна сформулювати так:
- максимізувати
- при ;
- ;
- ;
Узагальнена задача про призначення є NP-складною і навіть APX-складною.
Фляйшер, Гоманс, Мірокні і Свириденко запропонували комбінаторний алгоритм локального пошуку з апроксимацією та алгоритм на основі лінійного програмування з апроксимацією .
Апроксимація є кращою відомою апроксимацією узагальненої задачі про призначення.
Жадібний апроксимаційний алгоритм
Використовуючи алгоритм -апроксимації задачі про призначення, можна створити ()-апроксимацію для узагальненої задачі про призначення на зразок жадібного алгоритму, використовуючи концепцію залишку доходу. Алгоритм ітераційно створює попередню послідовність, в якій на ітерації передбачається закріпити роботи за виконавцем . Вибір для виконавця може змінитися в подальшому при закріпленні робіт за іншими виконавцями. Залишок доходу роботи для виконавця дорівнює , якщо не віддано іншому виконавцю, і — , якщо роботу віддано виконавцю .
Формально: Використаємо вектор для попереднього вибору і в цьому векторі
- означає, що на роботу передбачається призначити виконавця ,
- означає, що на роботу нікого не призначено.
Залишок доходу на ітерації позначається через , де
- , якщо роботу не обрано (тобто )
- , якщо роботу передбачається віддати виконавцю (тобто ).
Отже, алгоритм виглядає так:
- Присвоюються початкові значення для всіх
- Для всіх виконати:
- Використовується алгоритм апроксимації для отримання розподілу робіт для виконавця , використовуючи функцію залишку доходу . Позначаються вибрані роботи .
- Підправляється , використовуючи , тобто для всіх .
- кінець циклу
Див. також
Примітки
- L. Fleischer, M. X. Goemans, V. S. Mirrokni, and M. Sviridenko. Tight approximation algorithms for maximum general assignment problems. In SODA'06: Proc
Посилання
- Reuven Cohen, Liran Katzir, Danny and Raz, «An Efficient Approximation for the Generalized Assignment Problem», Information Processing Letters, Vol. 100, Issue 4, pp. 162-166, November 2006.
- Lisa Fleischer, Michel X. Goemans, Vahab S. Mirrokni, and Maxim Sviridenko, «Tight Approximation Algorithms for Maximum General Assignment Problems», SODA 2006, pp. 611-620.
- Hans Kellerer, Ulrich Pferschy, David Pisinger, Knapsack Problems , 2005. Springer Verlag
Вікіпедія, Українська, Україна, книга, книги, бібліотека, стаття, читати, завантажити, безкоштовно, безкоштовно завантажити, mp3, відео, mp4, 3gp, jpg, jpeg, gif, png, малюнок, музика, пісня, фільм, книга, гра, ігри, мобільний, телефон, android, ios, apple, мобільний телефон, samsung, iphone, xiomi, xiaomi, redmi, honor, oppo, nokia, sonya, mi, ПК, web, Інтернет
U prikladnij matematici pid uzagalnenoyu zadacheyu pro priznachennya rozumiyut zadachu kombinatornoyi optimizaciyi sho ye uzagalnennyam zadachi pro priznachennya v yakij mnozhina vikonavciv maye rozmir ne obov yazkovo rivnij rozmiru mnozhini robit Pri comu vikonavcya mozhna priznachiti dlya vikonannya bud yakih robit ne obov yazkovo odniyeyi roboti yak u zadachi pro priznachennya Pri priznachenni vikonavcya dlya vikonannya roboti zadayetsya dvi velichini cina i dohid Kozhen vikonavec maye pevnij byudzhet tak sho suma vsih vitrat ne povinna perevishuvati cogo byudzhetu Potribno znajti take priznachennya vikonavciv dlya vikonannya robit shob maksimizuvati pributok Osoblivi vipadkiU razi koli byudzheti vikonavciv i vsi vartosti robit dorivnyuyut 1 zadacha peretvoryuyetsya na zadachu pro maksimalne paruvannya Yaksho cini i dohodi dlya vsih priznachen vikonavciv na roboti rivni zavdannya zvoditsya do multiplikativnogo ryukzaka Yaksho ye vsogo odin agent zadacha zvoditsya do zadachi pro ryukzak ViznachennyaYe n robit x 1 x n displaystyle x 1 dots x n i m vikonavciv b 1 b m displaystyle b 1 dots b m Kozhen vikonavec b i displaystyle b i maye byudzhet w i displaystyle w i Dlya kozhnoyi pari vikonavec b i displaystyle b i i robota x j displaystyle x j zadano dohid p i j displaystyle p i j i vagu w i j displaystyle w i j Rozv yazkom ye pidmnozhina robit U i rozpodil robit z U za vikonavcyami Rozv yazok dopustimij yaksho suma vitrat na priznacheni roboti vikonavcya b i displaystyle b i ne perevershuye byudzhetu w i displaystyle w i Dohodom vid rozv yazku ye suma vsih dohodiv usih rozpodiliv robota vikonavec Matematichno uzagalnenu zadachu pro priznachennya mozhna sformulyuvati tak maksimizuvati i 1 m j 1 n p i j x i j displaystyle sum i 1 m sum j 1 n p ij x ij pri j 1 n w i j x i j w i i 1 m displaystyle sum j 1 n w ij x ij leq w i qquad i 1 ldots m i 1 m x i j 1 j 1 n displaystyle sum i 1 m x ij leq 1 qquad j 1 ldots n x i j 0 1 i 1 m j 1 n displaystyle x ij in 0 1 qquad i 1 ldots m quad j 1 ldots n dd Uzagalnena zadacha pro priznachennya ye NP skladnoyu i navit APX skladnoyu Flyajsher Gomans Mirokni i Sviridenko zaproponuvali kombinatornij algoritm lokalnogo poshuku z aproksimaciyeyu 2 e displaystyle 2 varepsilon ta algoritm na osnovi linijnogo programuvannya z aproksimaciyeyu e e 1 e displaystyle frac e e 1 varepsilon Aproksimaciya e e 1 ϵ displaystyle frac e e 1 epsilon ye krashoyu vidomoyu aproksimaciyeyu uzagalnenoyi zadachi pro priznachennya Zhadibnij aproksimacijnij algoritmVikoristovuyuchi algoritm a displaystyle alpha aproksimaciyi zadachi pro priznachennya mozhna stvoriti a 1 displaystyle alpha 1 aproksimaciyu dlya uzagalnenoyi zadachi pro priznachennya na zrazok zhadibnogo algoritmu vikoristovuyuchi koncepciyu zalishku dohodu Algoritm iteracijno stvoryuye poperednyu poslidovnist v yakij na iteraciyi j displaystyle j peredbachayetsya zakripiti roboti za vikonavcem b j displaystyle b j Vibir dlya vikonavcya b j displaystyle b j mozhe zminitisya v podalshomu pri zakriplenni robit za inshimi vikonavcyami Zalishok dohodu roboti x i displaystyle x i dlya vikonavcya b j displaystyle b j dorivnyuye p i j displaystyle p ij yaksho x i displaystyle x i ne viddano inshomu vikonavcyu i p i j displaystyle p ij p i k displaystyle p ik yaksho robotu viddano vikonavcyu b k displaystyle b k Formalno Vikoristayemo vektor T displaystyle T dlya poperednogo viboru i v comu vektori T i j displaystyle T i j oznachaye sho na robotu x i displaystyle x i peredbachayetsya priznachiti vikonavcya b j displaystyle b j T i 1 displaystyle T i 1 oznachaye sho na robotu x i displaystyle x i nikogo ne priznacheno Zalishok dohodu na iteraciyi j displaystyle j poznachayetsya cherez P j displaystyle P j de P j i p i j displaystyle P j i p ij yaksho robotu x i displaystyle x i ne obrano tobto T i 1 displaystyle T i 1 P j i p i j p i k displaystyle P j i p ij p ik yaksho robotu x i displaystyle x i peredbachayetsya viddati vikonavcyu b k displaystyle b k tobto T i k displaystyle T i k Otzhe algoritm viglyadaye tak Prisvoyuyutsya pochatkovi znachennya T i 1 displaystyle T i 1 dlya vsih i 1 n displaystyle i 1 ldots n Dlya vsih j 1 m displaystyle j 1 m vikonati Vikoristovuyetsya algoritm aproksimaciyi dlya otrimannya rozpodilu robit dlya vikonavcya b j displaystyle b j vikoristovuyuchi funkciyu zalishku dohodu P j displaystyle P j Poznachayutsya vibrani roboti S j displaystyle S j Pidpravlyayetsya T displaystyle T vikoristovuyuchi S j displaystyle S j tobto T i j displaystyle T i j dlya vsih i S j displaystyle i in S j dd kinec cikluDiv takozhZadacha pro priznachennyaPrimitkiL Fleischer M X Goemans V S Mirrokni and M Sviridenko Tight approximation algorithms for maximum general assignment problems In SODA 06 ProcPosilannyaReuven Cohen Liran Katzir Danny and Raz An Efficient Approximation for the Generalized Assignment Problem Information Processing Letters Vol 100 Issue 4 pp 162 166 November 2006 Lisa Fleischer Michel X Goemans Vahab S Mirrokni and Maxim Sviridenko Tight Approximation Algorithms for Maximum General Assignment Problems SODA 2006 pp 611 620 Hans Kellerer Ulrich Pferschy David Pisinger Knapsack Problems 2005 Springer Verlag ISBN 3 540 40286 1