Riassunto Libro XIII
Terminato il racconto, Ulisse è ricondotto dai Feaci nella sua Itaca. Atena si presenta all'eroe in veste di pastore e insieme decidono come affrontare i Proci. Odisseo viene trasformato in un vecchio mendicante in modo che nessuno lo riconosca.
Testo
Disse, e varcò la soglia. Alcinoo innanzi
Muover gli fece il banditor, che al ratto
Legno il guidasse e al mare; e Arete dietro
Tre serve gli spedì, l’una con tersa
Tunica in mano, ed un lucente manto,
L’altra con la fedele arca, e con bianchi
Pani la terza, e rosseggianti vini.
Tutto da lor, come sul lido furo,
I remiganti tolsero, e nel fondo
Della nave allogâr: poi su la poppa
Steser candidi lini, e bella coltre,
Dove tranquillo il forestier dormisse.
Commento
Nel libro VII Ulisse viene ricevuto con cortesia e con generosità da Alcinoo, re dei Feaci, ai quali non rivela però inizialmente il proprio nome. Solo la sera, al palazzo, il rapsodo cieco Demodoco canta le gesta degli eroi davanti a Troia. Ulisse non riesce a nascondere la propria emozione e il proprio dolore. Vedendo lo stato di angoscia dell'ospite, Alcinoo lo prega di raccontare tutte le sue avventure. I libri seguenti sono dedicati al racconto del lungo viaggio di Ulisse. Alla fine, nel XIII libro il re promette ad Ulisse che i Feaci lo riporteranno ad Itaca. Il giorno dopo Ulisse, si congeda dai suoi ospiti così generosi e, carico di doni, si imbarca per tornare in patria.
Formulazione del problema
Il carico dei doni sulla nave si può ricondurre ad un problema classico, detto il Problema dello zaino (Knapsack problem). Si tratta di un problema di ottimizzazione combinatoria.
Nel contesto omerico possiamo formulare il problema nel modo seguente: sia data una imbarcazione che possa portare un determinato peso; siano dati inoltre un certo numero di oggetti, ognuno dei quali caratterizzato da un peso e un valore.
Il problema si propone di scegliere quali di questi oggetti caricare per ottenere il maggiore valore senza eccedere il peso massimo.
Numerosi sono gli algoritmi proposti per la soluzione del problema, in questo semplice caso possiamo impostarlo come un problema di programmazione lineare risolvibile col metodo del simplesso.
Il problema espresso in maniera formale diventa:
con Z indichiamo il valore ottimale.
la possibilità che un oggetto venga inserito o meno nello zaino è espressa dalle variabili intere xi;
ognuno degli N oggetti possiede un peso wi e un valore ci;
si indica con W il peso massimo sopportabile.
La funzione obiettivo è:
Sottoposta ai vincoli:
Soluzione del problema
Supponiamo di avere cinque tipi di oggetti come riportato nel testo. A ciascuno di essi assegniamo un peso, un valore e un limite di quantità come mostrato nella tabella 6.
Tabella 6. Dati del problema
Stabiliamo che il peso massimo sia 50, quindi con il vincolo 0 ≤ W ≤ 50.
Utilizzando Excel si possono impostare i dati (figura 16) ponendo:
in E7 =MATR.SOMMA.PRODOTTO(B2:B6;E2:E6) e in B11=MATR.SOMMA.PRODOTTO(C2:C6;E2:E6).
Figura 16. I dati strutturati
A questo punto si imposta il Risolutore (figura 17).
Figura 17. Il Risolutore
Lanciato il programma si ottiene la seguente soluzione (figura 18).
Figura 18. La soluzione
In pratica se si stivano nell’imbarcazione 3 tuniche, 2 manti, 2 arche, 7 pani e 10 contenitori di vino si ottiene la soluzione ottimale pari a 453.
Il vincolo di peso non viene sfruttato completamente perché ci sarebbe posto per un’altra tunica ma il numero massimo consentito è di 5.
Se lo stesso problema viene impostato con Geogebra occorre procedere per tentativi modificando con gli slider i valori delle variabili (figura 19).
Figura 19. Soluzione manuale