Uni.RO-PL-gen2007 History
Hide minor edits - Show changes to output
Added lines 63-64:
Le variabili sono continue e non negative.
Changed lines 80-82 from:
''ma dato che le incognite vanno scritte tutte a sinistra, otterremo:''\\ '''eff'_ij_' * x'_j_' – y'_i_' = -valAtt'_i_''''
to:
''ma dato che le incognite vanno scritte tutte a sinistra, lo riscriviamo come:''\\ '''eff'_ij_' * x'_j_' – y'_i_' = -valAtt'_i_'''' (per ogni i)
Deleted line 158:
Changed lines 160-178 from:
to:
!!!Nel caso in cui il paziente risultasse allergico ad uno dei farmaci (uno solo), fino a che punto potrebbe essere ridotta la quantità di farmaco senza compromettere la possibilità di rispettare i vincoli sulle soglie massima e minima per i parametri? Dovremo fare l'analisi parametrica del problema considerando un farmaco per volta, fissando a 0 la quantità massima di farmaco somministrabile e osservando fino a quando i vincoli di ammissibilità sono rispettati. Facciamo un esempio su tutti, saltando il primo farmaco (che dalla soluzione vediamo che non è mai utilizzato, dato che ha costo ridotto 0) e passando direttamente al secondo.
[@RIGHTHANDSIDE PARAMETRICS REPORT FOR ROW: MAXFAR2
VAR VAR PIVOT RHS DUAL PRICE OBJ OUT IN ROW VAL BEFORE PIVOT VAL
3.50000 0.000000E+00 0.999623 SLK 17 SLK 34 2 3.48571 0.000000E+00 0.999623 SLK 3 SLK 36 34 3.47634 0.402597E-01 1.00000 SLK 2 SLK 35 12 3.47634 0.463609E-01 1.00000 SLK 6 SLK 39 30 3.47634 0.363281 1.00000 SLK 11 ART 21 3.47634 0.422727 1.00000 0.000000E+00 +INFINITY INFEASIBLE @]
Quindi il valore minimo consentito è di 3.47634.\\ Ripetiamo la stessa operazione per gli altri farmaci e ci risulterà che per il terzo farmaco il valore è 0.450929, per il quarto farmaco è 0.191030, e per l'ultimo farmaco è 7.27467.
Added lines 1-162:
[[Torna alla pagina di Ricerca Operativa -> Ricerca Operativa]] ----
(:title Ricerca Operativa - PL - Dosaggio farmaci - 01.07:) %titolo%''':: Ricerca Operativa - PL - Dosaggio farmaci - 01.07 ::'''
!!Testo del problema Nel trattamento farmacologico di un paziente un’équipe medica deve decidere le quantità ottimali di ogni farmaco da somministrare. Lo stato di salute del paziente viene misurato da alcuni parametri, ad esempio dalla quantità di date sostanze nel sangue. E’ noto da precedenti esperimenti l’effetto che ogni farmaco ha sull’aumento o diminuzione di ciascuno dei suddetti parametri. E’ noto inoltre lo stato iniziale del paziente, che si desume da recenti analisi compiute su di lui. Per ciascun parametro sono date una soglia minima ed una massima entro cui si vuole ricondurre o mantenere il parametro ed inoltre è noto un valore di riferimento a cui ci si vuole avvicinare il più possibile. Si vuole cioè minimizzare il rapporto tra lo scostamento dal valore ideale ed il massimo scostamento consentito dalla soglia. Perciò uno scostamento in eccesso è misurato da (valore_ottenuto – valore_ideale) / (valore_max_consentito – valore_ideale) mentre uno scostamento in difetto è misurato da (valore_ideale – valore_ottenuto) / (valore_ideale – valore_min_consentito). Poiché si vuole che tutti gli scostamenti siano piccoli, si vuole minimizzare il massimo di essi.\\ Poiché ogni farmaco induce effetti collaterali indesiderati, la quantità di ogni farmaco somministrabile non può eccedere un dato valore massimo.\\ Formulare il problema, classificarlo e risolverlo con i dati del file DOSAGGIO.TXT. Discutere l’ottimalità della soluzione trovata.
!!!Dati [@ I parametri da valutare sono 7 (numerati 1...7), i farmaci disponibili sono 5 (indicati da A...E).
Tabella 1: Valori dei parametri e soglie [unità di misura non specificate] Parametro Valore Soglia Valore di Soglia attuale minima riferimento massima 1 3.45 7.0 12.0 15.0 2 1800 1700 2500 3500 3 0.05 0.50 0.80 1.30 4 3200 1400 2000 2750 5 26.4 8.0 10.0 12.0 6 35 28 35 41 7 136 80 120 160
Tabella 2: Effetto dei farmaci (variazione parametri per ogni mg di farmaco)
Parametro Farmaco A B C D E 1 -0.2 +0.5 +0.7 +0.1 +0.2 2 -500 0.0 -250 +50 0.0 3 +0.2 -0.1 +0.3 0.0 +0.2 4 -80 -120 +15 -90 -100 5 -8.5 -7.0 -1.0 -3.0 +1.0 6 +5 -2 +8 -4 0 7 -5 -1 -2 -3 +4
Tabella 3: Quantità max di farmaci somministrabili [mg] Farmaco Quantità A 2.0 B 3.5 C 0.5 D 0.5 E 7.5 @]
!!Formulazione del problema !!!Dati * '''p = 7''' (numero parametri da valutare) * '''f = 5''' (numero farmaci disponibili) * '''valAtt'_i_'''' (valore attuale del parametro i=1..7) * '''valRif'_i_'''' (valore di riferimento del parametro i=1..7) * '''soMin'_i_'''' (soglia minima del parametro i=1..7) * '''soMax'_i_'''' (soglia massima del parametro i=1..7) * '''eff'_ij_'''' (effetto del farmaco j=1..5 sul parametro i=1..7) [variazione/mg] * '''limFar'_j_'''' (limite massimo farmaco j=1..5 somministrabile) [mg]
!!!Variabili * '''x'_j_'''' (quantità di farmaco j=1..5 da somministrare) [mg] * '''y'_i_'''' (valore del parametro i=1..7 dopo la cura)
!!!Funzione obiettivo Bisogna minimizzare il massimo scostamento consentito dalla soglia. Introduciamo perciò una variabile ausiliaria z (che definiremo nei vincoli) che rappresenta il massimo degli scostamenti:
'''min z'''
!!!Vincoli * vincolo sui valori minimi consentiti del parametro i\\ '''y'_i_' >= soMin'_i_'''' (per ogni i) * vincolo sui valori massimi consentiti del parametro i\\ '''y'_i_' <= soMax'_i_'''' (per ogni i) * vincolo sulle quantità massime di farmaco j somministrabile\\ '''x'_j_' <= limFar'_j_'''' (per ogni j)
* vincolo per mettere in relazione le cure prestate con i valori ottenuti\\ ''dovremmo scrivere'': '''valAtt'_i_' - eff'_ij_' * x'_j_' = y'_i_'''' (per ogni i)\\ ''ma dato che le incognite vanno scritte tutte a sinistra, otterremo:''\\ '''eff'_ij_' * x'_j_' – y'_i_' = -valAtt'_i_''''
* definiamo ora la variabile ausiliaria z per gli scostamenti in eccesso. Nel testo ci viene detto come calcolarla, ma trattandosi di un rapporto si tradurrebbe in un'espressione non lineare. Trasformiamola in forma lineare:\\ '''y'_i_' – (soMax'_i_' – valRif'_i_') * z <= valRif'_i_'''' (per ogni i)
* definiamo infine la variabile ausiliaria z per gli scostamenti in difetto, anche in questo caso riesprimendola in forma lineare:\\ '''y'_i_' + (valRif'_i_' – soMin'_i_') * z >= valRif'_i_'''' (per ogni i)
!!Lindizzazione del problema [@ ! esercizio - Dosaggio farmaci
! variabili: x(j) = quantità di farmaco j da somministrare [mg] ! y(i) = valore del parametro i dopo la cura ! le variabili sono continue e non negative
! funzione obiettivo min z ! dove z è il massimo scostamento
st
! vincoli sui valori minimi consentiti minVal1) y1 >= 7.00 minVal2) y2 >= 1700 minVal3) y3 >= 0.50 minVal4) y4 >= 1400 minVal5) y5 >= 8.0 minVal6) y6 >= 28 minVal7) y7 >= 80
! vincoli sui valori massimi consentiti maxVal1) y1 <= 15.00 maxVal2) y2 <= 3500 maxVal3) y3 <= 1.30 maxVal4) y4 <= 2750 maxVal5) y5 <= 12.0 maxVal6) y6 <= 41 maxVal7) y7 <= 160
! vincoli sulle quantità max di ogni farmaco [mg]; maxFar1) x1 <= 2.0 maxFar2) x2 <= 3.5 maxFar3) x3 <= 0.5 maxFar4) x4 <= 0.5 maxFar5) x5 <= 7.5
! vincoli per mettere in relazione cure prestate con valori ottenuti param1) -0.2 x1 +0.5 x2 +0.7 x3 +0.1 x4 +0.2 x5 - y1 = -3.45 param2) 500 x1 +0.0 x2 -250 x3 +50 x4 +0.0 x5 - y2 = -1800 param3) +0.2 x1 -0.1 x2 +0.3 x3 +0.0 x4 +0.2 x5 - y3 = -0.05 param4) -80 x1 -120 x2 +15 x3 -90 x4 -100 x5 - y4 = -3200 param5) -8.5 x1 -7.0 x2 -1.0 x3 -3.0 x4 +1.0 x5 - y5 = -26.4 param6) +5 x1 -2 x2 +8 x3 -4 x4 +0 x5 - y6 = -35 param7) -5 x1 -1 x2 -2 x3 -3 x4 +4 x5 - y7 = -136
! vincoli per definire lo scostamento z... ! ...in eccesso... scoEcc1) y1 - 3.00 z <= 12.0 scoEcc2) y2 - 1000 z <= 2500 scoEcc3) y3 - 0.50 z <= 0.80 scoEcc4) y4 - 750 z <= 2000 scoEcc5) y5 - 2.0 z <= 10.0 scoEcc6) y6 - 6 z <= 35 scoEcc7) y7 - 40 z <= 120
! ...e in difetto scoDif1) y1 + 5.00 z >= 12.0 scoDif2) y2 + 800 z >= 2500 scoDif3) y3 + 0.30 z >= 0.80 scoDif4) y4 + 600 z >= 2000 scoDif5) y5 + 2.0 z >= 10.0 scoDif6) y6 + 7 z >= 35 scoDif7) y7 + 40 z >= 120
end @]
!!Altre domande !!!
---- [[Torna alla pagina di Ricerca Operativa -> Ricerca Operativa]]
|