|
Wiki
UniCrema
Materie per semestre
Materie per anno
Materie per laurea
Help
|
|
Uni.RO-PLI-3nov2003 History
Hide minor edits - Show changes to output
Changed lines 61-64 from:
-> (per ogni obiettivo i e per ogni obiettivo j, -->con i diverso da j, -->con acqFine'_i_' > acqIniz'_j_', -->con acqIniz'_i_' < acqFine'_j_')
to:
---> (per ogni obiettivo i e per ogni obiettivo j, ---->con i diverso da j, ---->con acqFine'_i_' > acqIniz'_j_', ---->con acqIniz'_i_' < acqFine'_j_')
Changed lines 31-33 from:
400 280 186 325 315 290 281 256 289 333 401 286 245 197 245 233 168 312 176 348 194 396 296 267 339 229 201 300 360 411 284 293 330 209 248 190 184 294 299 310
to:
400 280 186 325 315 290 281 256 289 333 401 286 245 197 245 233 168 312 176 348 194 396 296 267 339 229 201 300 360 411 284 293 330 209 248 190 184 294 299 310
Added lines 1-139:
[[Torna alla pagina di Ricerca Operativa -> Ricerca Operativa]] ----
(:title Ricerca Operativa - PLI - Immagini - 3.11.03:) %titolo%''':: Ricerca Operativa - PLI - Immagini - 3.11.03 ::'''
!!Testo del problema Un satellite può eseguire osservazioni di porzioni della superficie terrestre, immagazzinando le immagini sotto forma di files in una memoria di bordo e ritrasmettendole a terra successivamente.\\ Le immagini vengono acquisite a pagamento per conto di utenti che avanzano le proprie richieste in anticipo. In seguito avviene una fase di pianificazione delle attività del satellite, durante la quale alcune di queste richieste vengono inserite nel piano e altre no. Non è detto infatti che sia possibile soddisfare tutte le richieste poiché alcune di esse possono sovrapporsi. In particolare di ogni richiesta sono noti gli istante iniziale e finale per l’acquisizione dell’immagine corrispondente. Inoltre il tempo disponibile per la trasmissione a terra delle immagini è limitato e quindi il piano non deve prevedere l’acquisizione di più immagini di quante se ne possono poi trasmettere a terra. Il tempo che sarebbe necessario per trasmettere a terra ogni immagine è dato.\\ Ciascuna richiesta ha associato un valore economico e l’obiettivo è quello di massimizzare il ricavo complessivo che si ottiene dalle immagini acquisite.\\ I dati del problema sono nel file IMMAGINI.TXT, dove le richieste sono ordinate per istante iniziale crescente e, a parità di esso, per istante finale crescente.\\ Formulare il problema, classificarlo e risolverlo con i dati del file IMMAGINI.TXT.
!!!Dati [@ Gli obiettivi sono 40.
Istante iniziale dell'acquisizione (sec): 0 4 8 12 16 20 20 22 24 28 32 36 40 40 40 42 44 45 46 47 48 50 54 58 60 61 62 63 64 65 66 66 66 68 70 72 74 75 75 78
Istante finale dell'acquisizione (sec): 6 8 10 14 18 21 22 24 28 30 35 40 42 44 48 50 48 48 52 50 56 54 56 70 62 66 64 64 68 70 68 70 72 72 72 78 76 80 84 82
Tempo richiesto per la trasmissione a terra (sec): 10 12 18 17 15 21 10 28 24 15 16 18 24 17 25 12 11 16 16 17 15 12 15 11 15 19 18 20 12 28 13 16 17 13 14 14 19 10 10 11
Valore dell'immagine (Euro): 400 280 186 325 315 290 281 256 289 333 401 286 245 197 245 233 168 312 176 348 194 396 296 267 339 229 201 300 360 411 284 293 330 209 248 190 184 294 299 310
Tempo disponibile per la trasmissione (sec): 300
Immagini forzate: 2, 3, 6, 13, 16, 24, 37. @]
!!Formulazione del problema !!!Dati * '''obiettivi = 40''' (numero di obiettivi da fotografare) * '''acqIniz'_i_'''' (istante di inizio acquisizione dell'obiettivo i=1..40) [secondi] * '''acqFine'_i_'''' (istante di fine acquisizione dell'obiettivo i=1..40) [secondi] * '''tTrasm'_i_'''' (tempo richiesto per trasmissione a terra dell'obiettivo i=1..40) [secondi] * '''valImm'_i_'''' (valore della foto dell'obiettivo i=1..40) [€] * '''tDisp = 300''' (tempo disponibile per la trasmissione) [secondi]
!!!Variabili * '''x'_i_'''' (variabile binaria che indica se l'obiettivo i=1..40 è stato fotografato o meno)
!!!Funzione obiettivo '''max (somma)'_i_' x'_i_' * valImm'_i_'''' [€]
!!!Vincoli * vincolo sul tempo disponibile per la trasmissione:\\ '''(somma)'_i_' x'_i_' * tTrasm'_i_' <= tDisp''' * vincolo per evitare la sovrapposizione tra due acquisizioni. Quello che dobbiamo dire è che per ogni obiettivo i e j, con i diverso da j: se "i finisce dopo l'inizio di j" e se "i inizia prima della fine di j", allora posso scattare la foto o solo a i o solo a j, o a nessuno dei due. In altre parole, se ho due acquisizioni che si sovrappongono, devo sceglierne o una o nessuna delle due. Il nostro vincolo sarà quindi:\\ '''x'_i_' + x'_j_' <= 1''' -> (per ogni obiettivo i e per ogni obiettivo j, -->con i diverso da j, -->con acqFine'_i_' > acqIniz'_j_', -->con acqIniz'_i_' < acqFine'_j_')
!!Linghizzazione del problema [@! Esercizio "Immagini", TeRO_26, 3 Novembre 2003;
model:
sets: obiettivo /1..40/: acqIniz, acqFine, tTrasm, valImm, x; ! variabile binaria; endsets
data: acqIniz = 0 4 8 12 16 20 20 22 24 28 32 36 40 40 40 42 44 45 46 47 48 50 54 58 60 61 62 63 64 65 66 66 66 68 70 72 74 75 75 78;
acqFine = 6 8 10 14 18 21 22 24 28 30 35 40 42 44 48 50 48 48 52 50 56 54 56 70 62 66 64 64 68 70 68 70 72 72 72 78 76 80 84 82;
tTrasm = 10 12 18 17 15 21 10 28 24 15 16 18 24 17 25 12 11 16 16 17 15 12 15 11 15 19 18 20 12 28 13 16 17 13 14 14 19 10 10 11;
valImm = 400 280 186 325 315 290 281 256 289 333 401 286 245 197 245 233 168 312 176 348 194 396 296 267 339 229 201 300 360 411 284 293 330 209 248 190 184 294 299 310;
tDisp = 300; enddata
! funzione obiettivo; max = @sum(obiettivo(i): x(i) * valImm(i));
! vincolo sul tempo disponibile per la trasmissione; @sum(obiettivo(i): x(i) * tTrasm(i)) <= tDisp;
! vincolo per evitare sovrapposizioni nelle acquisizioni; @for(obiettivo(i): @for(obiettivo(j) | (i #ne# j) #and# (acqFine(i) #gt# acqIniz(j)) #and# (acqIniz(i) #lt# acqFine(j)) :
x(i) + x(j) <= 1 ) );
! definisco le variabili binarie; @for (obiettivo(i): @bin(x(i)));
end @]
!!Altre domande Nota bene: purtroppo la mia versione di Lingo ha un limite di variabili intere utilizzabili pari a 30, quindi non riesco a far risolvere questo problema (che ne ha 40). Per questo motivo userò come riferimento l'output messo a disposizione dal professore.
!!!Se il tempo disponibile per la trasmissione a terra delle immagini potesse essere allungato, ritenete che sarebbe conveniente farlo? In che misura e con quale miglioramento rispetto al caso precedente? Per rispondere basta eliminare il vincolo sul tempo disponibile di trasmissione. Risolvendo ci accorgiamo che la soluzione ottima aumenta da 5870.000 a 6164.000, ed il tempo di trasmissione totale stimato è pari a:
[@Variable Value Reduced Cost
Q 352.0000 0.0000000@]
!!!Supponendo che alcune richieste non in conflitto tra loro, indicate nel file IMMAGINI.TXT, debbano essere soddisfatte per forza per motivi di emergenza o di sicurezza nazionale, di quanto peggiorerebbe il valore ottimo del ricavo? Per forzare il satellite ad acquisire quella data sequenza, bisognerà aggiungere nel codice il seguente vincolo:
[@x(2) + x(3) + x(6) + x(13) + x(16) + x(24) + x(37) = 7;@]
Risolvendo il problema osserviamo che la soluzione peggiora moltissimo, arrivando a un valore di 4892.000.
---- [[Torna alla pagina di Ricerca Operativa -> Ricerca Operativa]]
|
|