Zaino 0/1
NP-arduoCi sono oggetti, l'oggetto pesa e rende , e uno zaino di capacità , tutti numeri interi. Ogni oggetto si prende intero o si lascia: se entra nello zaino. Si cerca il carico di profitto massimo che non supera .
Perché è difficile
È una PLI ed è NP-arduo. La programmazione dinamica lo risolve in o in , ma sono tempi pseudopolinomiali: si scrive con circa cifre, quindi è polinomiale nel valore di e non nella lunghezza dell'input.
Da ricordare
- Il greedy per qui non garantisce l'ottimo.
- piccolo: prima PD; profitti piccoli e grande: seconda PD; numeri grandi: Branch & Bound, con bound in per nodo.
- Nel caso peggiore l'albero del Branch & Bound ha foglie.
Algoritmi
Fonti: dispensa §3.4.5 e §3.5.1, appunti Lezione 8, §1, §3, §5-7.