Formulazioni dei problemi di zaino¶
Parte 2 · Formulazioni dei problemi e loro proprietà · Capitolo 9 · Dispensa, volume 2 (PDF) · Slide · Esercizi: Problemi di zaino · App: Rilassamento continuo e upper bound per lo zaino 0/1
Prerequisiti
-
Dal modulo Programmazione lineare, Capitolo 9 «Teoria della dualità»: il duale di un problema LP, dualità debole e forte.
-
Dal modulo Programmazione lineare intera, Capitolo 1 «Programmazione lineare intera» e Capitolo 2 «Bound primali e duali»: problemi PLI, rilassamenti lineari e upper bound.
-
Da questo modulo, Capitolo 2 «Problemi di zaino»: il problema dello zaino 0/1 e le sue varianti, le loro ipotesi e le loro istanze di riferimento.
Obiettivi
Al termine di questo capitolo saremo in grado di:
-
scrivere il modello PLI del problema dello zaino 0/1 e spiegare ciascuno dei suoi vincoli;
-
scrivere i modelli PLI del SSP, del BKP, dell'UKP, del MDKP, del MKP, del MCKP e del KPS, e scriverli su un'istanza numerica;
-
scrivere i due rilassamenti lineari e i loro duali, e calcolarne le soluzioni ottime con formule chiuse;
-
calcolare l'oggetto critico, la capacità residua e il valore \(z(\mathrm{LP}_{\mathrm{KP}})\);
-
calcolare gli upper bound di Dantzig e di Martello-Toth, arrotondandoli correttamente;
-
spiegare perché \(z(\mathrm{LP}_{\mathrm{KP}})\) non supera mai il doppio di \(z(\mathrm{ILP}_{\mathrm{KP}})\).
9.1 Panoramica della famiglia¶
-
I modelli PLI dei problemi di zaino usano una variabile \(x_j\) per ogni oggetto \(j \in \mathscr{I}\): una variabile binaria quando l'oggetto è selezionato o no, una variabile intera quando conta le copie selezionate dell'oggetto.
-
Ogni capacità dà un vincolo di zaino sul peso totale degli oggetti selezionati, e la funzione obiettivo ne massimizza il profitto totale.
-
I membri della famiglia aggiungono un indice alle variabili (lo zaino \(k\) dell'oggetto \(j\) nel MKP), alcuni vincoli sulle classi di oggetti (MCKP, KPS) o variabili binarie di setup \(y_h\) (KPS).
Lo schema comune dei modelli di zaino è
dove il dominio \(D_j\) è \(\{0,1\}\), \(\{0,1,\dots,b_j\}\) o \(\Z_{\ge 0}\). I membri della famiglia cambiano i domini e aggiungono capacità, zaini o classi.
- La tabella elenca i membri della famiglia, con il nome del loro modello PLI e la sezione che lo scrive.
| Problema | Modello | Variabili | Sezione |
|---|---|---|---|
| KP | \(\mathrm{ILP}_{\mathrm{KP}}\) | binarie \(x_j\) | 9.2 |
| SSP | \(\mathrm{ILP}_{\mathrm{SSP}}\) | binarie \(x_j\) | 9.6 |
| BKP | \(\mathrm{ILP}_{\mathrm{BKP}}\) | intere \(x_j \in \{0,1,\dots,b_j\}\) | 9.7 |
| UKP | \(\mathrm{ILP}_{\mathrm{UKP}}\) | intere \(x_j \in \Z_{\ge 0}\) | 9.8 |
| MDKP | \(\mathrm{ILP}_{\mathrm{MDKP}}\) | binarie \(x_j\), un vincolo per capacità | 9.9 |
| MKP | \(\mathrm{ILP}_{\mathrm{MKP}}\) | binarie \(x_{jk}\), oggetto \(j\) nello zaino \(k\) | 9.10 |
| MCKP | \(\mathrm{ILP}_{\mathrm{MCKP}}\) | binarie \(x_j\), un oggetto per classe | 9.11 |
| KPS | \(\mathrm{ILP}_{\mathrm{KPS}}\) | binarie \(x_j\) e variabili di setup \(y_h\) | 9.12 |
-
Panoramica
Panoramica della famiglia
-
9.2 Un modello PLI per il problema dello zaino 0/1
Efficienza degli oggetti · Oggetto critico e capacità residua · Alcune proprietà teoriche importanti
-
9.6 Un modello PLI per il problema del subset sum
-
9.7 Un modello PLI per il problema dello zaino limitato
-
9.8 Un modello PLI per il problema dello zaino illimitato
-
9.9 Un modello PLI per il problema dello zaino multidimensionale
-
9.10 Un modello PLI per il problema degli zaini multipli
-
9.11 Un modello PLI per il problema dello zaino a scelta multipla
-
9.12 Un modello PLI per il problema dello zaino con setup
In sintesi
Avanti: 9.2 Un modello PLI per il problema dello zaino 0/1
Esercizi su questo capitolo: Problemi di zaino
Nel laboratorio interattivo: Rilassamento continuo e upper bound per lo zaino 0/1.