====== Rozmístění skladů ====== * Data: {{:courses:a0m33eoa:semestralni_ulohy:rozmisteni_skladu:rozmisteni_skladu.zip|}} ===== Popis problému ===== Distribuční firma obsluhuje skupinu geograficky rozptýlených zákazníků z nichž každý požaduje jisté množství odebíraného zboží. Firma má k dispozici několik možných lokací pro sklady svého zboží, každý sklad má svoji kapacitu. Cílem je přiřadit zákazníky ke skladům tak, aby bylo dosaženo maximálně efektivního obsloužení všech zákazníků. * Vstupy: * //N// skladů, každý sklad //w// má svoji kapacitu $cap_w$ a zřizovací cenu $s_w$ * //M// zákazníků, každý zákazník //c// požaduje jiné množství zboží $d_c$, * Pro každou dvojici je definována cena, $t_{cw}$, za doručení zboží ze skladu //w// k zákazníkovi //c//. * Výstup: Přiřazení zákazníků ke skladům tak, aby byla **minimalizována jednotná ohodnocovací funkce** $f(x)=\sum_{w\in N}(I(|a_w|>0)\cdot s_w+\sum_{c\in a_w}t_{cw})$ za podmínek $\sum_{c\in a_w}d_c \leq cap_w$ a $\sum_{w\in N}I(c\in a_w)=1$ pro všechny $c\in M$, kde $a_w$ je množina zákazníků přiřazených ke skladu //w// a $I(.)$ je indikátorová funkce (vrací 1, pokud je argument prvadivý; vrací 0, pokud je nepravdivý). ===== Možné reprezentace ===== * Pole o velikosti //M//, kde //i//-tá hodnota reprezentuje číslo skladu přiřazené //i//-tému zákazníkovi. * Matice A[MxN], kde $A_{cw}\in \{0,1\}$; $A_{cw}= 1$, když zákazník //c// je přiřazen ke skladu //w//, jinak $A_{cw}= 0$. * ...