Sei sulla pagina 1di 4

Problema dello Zaino Frazionario (o Continuo)

Vincenzo Russo (vincenzo.russo@neminis.org)


Sommario In questo documento ci occuperemo di dimostrare che il problema dello zaino frazionario (o continuo) soddisfa la propriet di sottostruttura ottima e la propriet della scelta greedy.

Formalizzazione del problema

Sia O = {o1 , o2 , ..., on } un insieme di n oggetti. Indicheremo con pi il peso dellic mo oggetto e con ci il valore. Indicheremo con vi = pi il protto delloggetto i oi . Sia P la capacit di uno zaino. Vogliamo trovare una congurazione X =< x1 , x2 , ..., xn >, con 0 xi 1 rappresentante la porzione di oggetto oi inserita nello zaino (ovvero la percentuale di peso) tale che: 1.
i=1..n

2. max

xi pi P (vincolo di ammissibilit) xi vi (vincolo di ottimalit)

i=1..n

Dato che possiamo prendere porzioni di oggetti, il vincolo di ammissibilit si traduce in realt in uguaglianza esatta:
i=1..n

xi pi = P

Il problema dello zaino frazionario, quindi, ammette sempre una soluzione massimale, al contrario del problema dello zaino discreto, del quale lo zaino frazionario il rilassamento continuo.

Risoluzione del problema

Il problema dello zaino frazionario pu essere risolto con tecnica greedy, ordinando gli oggetti in ordine non crescente rispetto al protto vi e inserendo gli oggetti nello zaino in questo ordine nch, per qualche j (1 j n), pj non maggiore della capacit residua dello zaino, Pr . A questo punto inseriremo nello r zaino una porzione xj = Pj delloggetto pj (che chiameremo oggetto critico). p 1

Correttezza della soluzione

Indicheremo nel seguito con Qn,P il problema con n oggetti e zaino di capacit P . Inoltre indicheremo con Xn una soluzione al problema Qn,P , tale che Xn =< x1 , x2 , ..., xn >. Consideriamo quindi il problema Qn,P e una sua soluzione arbitraria Xn . In quanto soluzione, Xn rispetta il vincolo di ammissibilit i=1..n xi pi = P . Consideriamo ora il problema Qn1,P xn pn , il sottoproblema di Qn,P con n 1 oggetti e uno zaino di capacit P xn pn , con pn peso delloggetto eliminato per creare il sottoproblema di dimensione n 11 . Sia Yn1 una soluzione aribitraria del sottoproblema appena esposto, tale che la soluzione rispetti il vincolo di ammissibilit. Allora Yn1 xn 2 una soluzione per il problema Qn,P . Dimostrazione. Per il problema Qn,P xn pn abbiamo che i=1..n1 yi pi = P xn pn . Concatenando Yn1 a xn otteniamo xn pn + i=1..n1 yi pi = P xn pn + xn pn = P .

Caratterizzazione della struttura di una solzuzione ottima

Sia Xn una soluzione ottima per Qn,P . Indichiamo con Cn,P il valore di una soluzione ottima per Qn,P . Esso denito come Cn,P = i=1..n xi vi ed il massimo valore, essendo Xn ottima. Allora si dimostra che Xn1 una soluzione ottima per Qn1,P xn pn , tale che Cn1,P xn pn = i=1..n1 xi vi massimo. Dimostrazione. Se Xn1 non fosse ottima, allora sarebbe possibile trovare una soluzione Xn1 tale che Cn1,P xn pn = i=1..n1 xi vi <Cn1,P xn pn = i=1..n1 xi vi ; questo porterebbe a calcolare un Cn,P = Cn1,P xn pn + xn vn < Cn,P , ma ci ci indurrebbe in contraddizione, poich la soluzione Xn = Xn1 xn 3 sarebbe migliore di Xn che era stata supposta ottima. Pertanto Xn1 deve essere necessariamente ottima.
1 Si sottrae a P la quantit x p in modo da considerare in una sola espressione tutti i n n possibili sottoproblemi. Infatti, se xn = 0 allora abbiamo un problema dello zaino frazionario con n 1 oggetti e capacit P , mentre se 0 < xn 1 allora la capacit P viene decurtata di una quantit pari alla percentuale di peso inserita nello zaino delloggetto on . 2 Loperatore indica la concatenazione tra gli elementi della soluzione Y n1 e lelemento xn . 3 La composizione possibile per la gi dimostrata correttezza della soluzione.

Propriet della scelta greedy

c Supponiamo che oh sia loggetto con miglior rapporto ph = vh e ipotizziamo h 4 ph < P . Consideriamo il problema Qn,P e unarbitraria soluzione ottima ad esso Xn =< x1, x2 , ..., xh , ..., xn > tale che Cn,P = i=1..n xi vi . Vogliamo dimostrare che:

1. loggetto oh deve essere interamente contenuto in ogni soluzione ottima 2. loggetto oh pu essere sempre scelto per primo Dimostrazione. Supponiamo xh < 1 (ovvero loggetto oh non stato preso interamente nella soluzione ottima Xn ). Consideriamo un oggetto oj con j = h e tale che 0 < xj 1 e pj ph xh ph . Senza perdita di generalit, supponiamo j = h 1. Immaginiamo ora di eliminare una certa percentuale t con 0 < t 1 xh da xj e la stessa percentuale laggiungiamo a xh , in modo da avere una nuova soluzione Xn =< x1, x2 , ..., xj t, xh + t, ...xn > tale che Cn,P =
i=1..j1

xi vi + (xj t)vj + (xh + t)vh +

i=h+1..n

xi vi .

Possiamo riscrivere Cn,P come Cn,P =


i=1..j1

xi vi + xj vj + xh vh +

i=h+1..n

xi vi

e dimostrare che Cn,P > Cn,P , arrivando a contraddire lipotesi di ottimalit di Xn e dimostrando, pertanto, che xh = 1 se Xn ottima. Infatti ci basta dimostrare che (xj t)vj + (xh + t)vh > xj vj + xh vh , ovvero xj vj tvj + xh vh + tvh > xj vj + xh vh , ovvero tvh > tvj ,
c ovvero t ph > t pj , j h c

ovvero

ch ph

>

cj pj

che banalmente vero, poich abbiamo supposto oh loggetto con migliore protto. Da questo, segue lasserto 1. Lasserto 2 segue banalmente, poich se oh stato scelto in posizione k = 1, sar sempre possibile sceglierlo come primo oggetto, poich lordine degli oggetti nella soluzione non inuisce sullammissibilit e lottimalit della stessa.
4 Si ipotizza, in pratica, che loggetto con miglior protto non sia loggetto critico, al ne di semplicare i passaggi matematici a favore di una maggior chiarezza nellesposizione. Non arduo, ad ogni modo, eettuare la dimostrazione nel caso in cui loggetto oh sia in eetti loggetto critico.

Riferimenti bibliograci
[1] Thomas H. Cormen et al., Introduction to algorithms, Second Edition, MIT Press, 2001 [2] Rilassamenti ed euristiche (http://it.wikipedia.org/wiki/Ricerca_operativa#Rilassamenti_ed_Euristiche)