Lista sarcinilor rucsac

Problema rucsacului  (sau rucsacului) este una dintre problemele de optimizare combinatorie . Și-a luat numele de la problema maximizării de a împacheta cât mai multe lucruri într-un rucsac, cu condiția ca volumul total (sau greutatea) tuturor articolelor care pot încăpea într-un rucsac să fie limitat. Prin urmare, sarcina are mai multe varietăți.

Comun tuturor tipurilor este prezența unui set de articole, cu doi parametri - greutate și valoare . Există un rucsac de o anumită capacitate . Sarcina este de a asambla un rucsac cu valoarea maximă a articolelor din interior, respectând în același timp limita de greutate a rucsacului. De obicei, toți parametrii sunt numere întregi, nu numere negative.

Rucsac 0-1 ( ing.  0-1 Problemă la rucsac )

Acesta este cel mai comun tip de rucsac. Lăsați să ia două valori: dacă încărcătura este ambalată și , în caz contrar, unde . O sarcină:

maximiza

dacă există o limită a capacității rucsacului [1] [2] .

Problemă de rucsac limitat  _

Fiecare articol poate fi selectat de un număr limitat de ori. O sarcină:

maximiza

astfel încât să fie îndeplinită condiția de capacitate

și pentru toți [3] .

Numărul se numește graniță [3] .

Problemă nelimitată  de rucsac ( rucsac întreg )

Fiecare articol poate fi selectat de un număr nelimitat de ori. O sarcină:

maximiza

astfel încât să fie îndeplinită condiția de capacitate

și un număr întreg pentru toate [4] .

Problemă la rucsac cu   [ editează

Toate articolele sunt împărțite în clase . Este obligatoriu să selectați un singur subiect din fiecare clasă. ia doar 0 și 1. Sarcină:

maximiza

astfel încât condiția de capacitate să fie îndeplinită,

pentru toți

Problemă cu rucsacuri multiple  _

Să presupunem că avem articole și rucsacuri ( ). Fiecare articol, ca și până acum, are o greutate și o valoare , fiecare rucsac, respectiv, are propria capacitate la . . O sarcină:

maximiza

astfel încât condiția să fie îndeplinită pentru toți ,

pentru toți [5] .

 rucsac multidimensional editează _

Dacă există mai mult de o constrângere asupra rucsacului, cum ar fi volumul și greutatea, problema se numește o problemă de rucsac m-dimensională. De exemplu, pentru opțiunea nerestricționată:

maximiza

astfel încât ,

și pentru toți [4] .

Problemă la rucsac cuadratic  _

Problema rucsacului pătratic este o modificare a problemelor clasice de rucsac cu o valoare care este o formă pătratică a . Să fie un vector care specifică câte copii ale fiecărui articol vor fi în rucsac. O sarcină:

maximiza

în condițiile , , sau

minimiza

in conditii , .

În același timp , o matrice definită nenegativă de mărime stabilește restricții asupra numărului de articole [6] .

Note

  1. Burkov, 1974 , p. 217.
  2. Silvano, 1990 , p. 2.
  3. 1 2 Pisinger, 1995 , p. 127.
  4. 1 2 Pisinger, 1995 , p. 147.
  5. Silvano, 1990 , p. 157.
  6. G. Gallo, P. L. Hammer, B. Simeone. Probleme de rucsac cuadratic  //  Studii de programare matematică. - 2009. - 24 februarie ( vol. 12 ). - P. 132-149 . — ISSN 0303-3929 . Arhivat din original pe 24 octombrie 2016.

Literatură

in rusa
  1. V. N. Burkov, I. A. Gorgidze, S. E. Lovetsky. Probleme aplicate ale teoriei grafurilor. - M. , 1974. - 232 p.
în limba engleză
  1. Silvano Martelo, Paolo Toth. Probleme la rucsac. - Wiley, 1990. - 306 p.
  2. David Pisinger. Probleme la rucsac . - 1995. Arhivat 22 decembrie 2012 la Wayback Machine

Link -uri

  1. Algoritm de rucsac