Problém batohu (nebo batohu) je jedním z kombinatorických optimalizačních problémů . Svůj název získal podle maximalizačního problému sbalit do batohu co nejvíce věcí za předpokladu, že je omezen celkový objem (resp. hmotnost) všech předmětů, které se do batohu vejdou. Proto má úkol několik variant.
Společná pro všechny typy je přítomnost sady položek, se dvěma parametry - hmotností a hodnotou .. Existuje batoh určité kapacity . Úkolem je sestavit batoh s maximální hodnotou předmětů uvnitř při respektování váhového limitu batohu. Obvykle jsou všechny parametry celá čísla, nikoli záporná čísla.
Jedná se o nejběžnější typ batohu. Nechť to nabývá dvou hodnot: pokud je náklad zabalen, a jinak, kde . Úkol:
maximalizovat
pokud existuje limit na kapacitu batohu [1] [2] .
Každou položku lze vybrat omezený počet opakování. Úkol:
maximalizovat
aby byla splněna kapacitní podmínka
a pro všechny [3] .
Číslo se nazývá hranice [3] .
Každou položku lze vybrat neomezeně mnohokrát. Úkol:
maximalizovat
aby byla splněna kapacitní podmínka
a celé číslo pro všechny [4] .
Všechny položky jsou rozděleny do tříd . Z každé třídy je povinné vybrat pouze jeden předmět. trvá pouze 0 a 1. Úkol:
maximalizovat
aby byla splněna podmínka kapacity,
pro všechny
Předpokládejme, že máme předměty a batohy ( ). Každá položka, stejně jako dříve, má váhu a hodnotu , každý batoh má svou vlastní kapacitu . . Úkol:
maximalizovat
aby byla podmínka splněna pro všechny ,
pro všechny [5] .
Pokud je na batohu více než jedno omezení, jako je objem a hmotnost, problém se nazývá m-rozměrný problém batohu. Například pro neomezenou možnost:
maximalizovat
takže ,
a pro všechny [4] .
Kvadratický problém s batohem je modifikací klasických problémů s batohem s hodnotou, která je kvadratickou formou . Nechť je vektor, který určuje, kolik kopií každé položky bude v batohu. Úkol:
maximalizovat
za podmínek , , nebo
minimalizovat
za podmínek ,.
Zároveň nezáporná jednoznačná matice velikosti stanovuje omezení počtu položek [6] .
Problém s batohem | |
---|---|
Aplikace | |
Kryptosystémy založené na problému batohu |
|
dodatečně |