Seznam úkolů batohu

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.

Batoh 0-1 ( ang.  0-1 Knapsack Problem )

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] .

Problém s omezeným batohem  _

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] .

Neohraničený  problém batohu ( celočíselný batoh )

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] .

Problém s batohem z   [ upravit

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

Problém s více batohy  _

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] .

  vícerozměrného batohu upravit _

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] .

Problém kvadratického batohu  _

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] .

Poznámky

  1. Burkov, 1974 , s. 217.
  2. Silvano, 1990 , str. 2.
  3. 1 2 Pisinger, 1995 , s. 127.
  4. 1 2 Pisinger, 1995 , s. 147.
  5. Silvano, 1990 , str. 157.
  6. G. Gallo, P. L. Hammer, B. Simeone. Kvadratické problémy s batohem  //  Studie matematického programování. - 2009. - 24. února ( vol. 12 ). - S. 132-149 . — ISSN 0303-3929 . Archivováno z originálu 24. října 2016.

Literatura

v Rusku
  1. V. N. Burkov, I. A. Gorgidze, S. E. Lovetsky. Aplikované problémy teorie grafů. - M. , 1974. - 232 s.
v angličtině
  1. Silvano Martelo, Paolo Tóth. Problémy s batohem. - Wiley, 1990. - 306 s.
  2. David Pisinger. Problémy s batohem . - 1995. Archivováno 22. prosince 2012 na Wayback Machine

Odkazy

  1. Algoritmus batohu