Problém batohu

    Optimalizační úloha, ve které se z položek s danou hodnotou a „váhou“ (nebo cenou) vybírá taková kombinace, aby se maximalizovala celková hodnota a zároveň nepřekročila kapacita — místo v „batohu“. Položky se nedělí: každá se buď vezme celá, nebo vůbec. V nákupu zásob jde typicky o výběr, které produkty zahrnout do omezené kapacity přepravního kontejneru nebo do pevného rozpočtu, aby se maximalizovala očekávaná marže nebo obrátkovost, ne jen zaplnil prostor.

    Jak problém batohu funguje na příkladu nákupu zásob

    Problém batohu je optimalizační úloha: z položek, které mají danou hodnotu a „váhu“ (nebo cenu), se vybírá taková kombinace, aby byla celková hodnota co nejvyšší a zároveň se nepřekročila kapacita — místo v „batohu“. Klíčová vlastnost je, že položky se nedělí: každá se buď vezme celá, nebo vůbec (tzv. 0/1 batoh).

    Batoh je v praxi kontejner nebo rozpočet

    V e-commerce to bývá omezená kapacita přepravního kontejneru, nebo pevný rozpočet na jednu nákupní objednávku. Cíl není kontejner nebo rozpočet jen zaplnit, ale vybrat kombinaci produktů s nejvyšší očekávanou marží nebo obrátkovostí.

    Hodnota a váha nejsou totéž

    Produkt s vysokou marží, ale velkým objemem, může být v kontejneru horší volba než menší produkt s nižší marží na kus, ale lepším poměrem hodnoty k zabranému místu. Problém batohu tenhle kompromis řeší systematicky, ne odhadem.

    Rozhodnutí je celé, nebo žádné

    Na rozdíl od situací, kde jde objednat libovolné množství, tady se u každé položky rozhoduje binárně: zahrnout ji do dané objednávky/kontejneru, nebo ne. To odpovídá reálným situacím, kdy nedává smysl poslat jen zlomek produktové řady nebo rozdělit jednu položku napůl.

    Čím se liší od lineárního programování

    Dělitelné množství vs. celé položky

    Lineární programování obvykle počítá s tím, že se dá objednat jakékoli (i necelé) množství v mezích omezení — třeba kolik kilogramů nebo kusů z dané kategorie. Problém batohu naopak pracuje s jednotlivými položkami, které se buď vyberou celé, nebo vůbec, což je výpočetně jiná (a obecně obtížnější) úloha.

    Kdy se který přístup hodí

    Rozdělení rozpočtu mezi kategorie produktů, kde jde objednávat plynule po kusech nebo baleních, se blíží lineárnímu programování. Výběr, které konkrétní produkty poslat v jednom omezeném kontejneru nebo zahrnout do jedné akce s pevným rozpočtem, se blíží problému batohu.

    Kde firmy pálí peníze

    Bez systematického přístupu se výběr toho, co se do omezené kapacity vejde, často řeší podle pořadí nebo pocitu, ne podle toho, co skutečně přinese nejvíc.

    • Kontejner se plní podle objemu, ne podle marže

      Když se prostor v kontejneru přiděluje podle toho, co se „vejde“ nebo co je zrovna skladem u dodavatele, končí v něm často objemné, nízkomaržové zboží místo menších produktů s lepším poměrem hodnoty k místu.

    • Rozpočet na akci padne na první nabídky

      U pevného rozpočtu na nákupní akci se často vybírá podle toho, kdo dřív nabídne slevu, ne podle toho, která kombinace produktů v mezích rozpočtu přinese nejvyšší očekávaný přínos.

    • Chybí srovnání variant

      Bez explicitního výpočtu se porovnává jen pár zjevných možností, ne skutečně nejlepší kombinace v daných mezích — u větších katalogů je ruční odhad prakticky nemožný.

    Kde v tomhle Datimo reálně pomáhá

    1. 1

      Datimo neřeší problém batohu za vás

      Sklady a predikce v Datimu neobsahují solver pro výběr optimální kombinace položek do kontejneru — to je specifická matematická úloha mimo rozsah současného produktu.

    2. 2

      Co ale rozhodování o „co do batohu patří“ vždycky potřebuje

      Ať se výběr dělá ručně nebo pomocí formálního výpočtu, musí vycházet z aktuální marže, obrátkovosti a prodejní historie po jednotlivém produktu — jinak se optimalizuje na starých nebo neúplných číslech.

    3. 3

      Datimo dodává právě tenhle podklad

      ABC segmentace podle obratu nebo zisku a doba obratu po SKU, počítané denně z pohybů ERP, dávají konzistentní vstup pro rozhodnutí o tom, které produkty mají v omezeném kontejneru nebo rozpočtu přednost — ať už se výpočet dělá formálně, nebo v hlavě nákupčího.