cerca
Ricerca Operativa - PLI - Sfilata - 20.01.03
modifica cronologia stampa login logout

Wiki

UniCrema


Materie per semestre

Materie per anno

Materie per laurea


Help

Ricerca Operativa - PLI - Sfilata - 20.01.03

Torna alla pagina di Ricerca Operativa


 :: Ricerca Operativa - PLI - Sfilata - 20.01.03 ::

Testo del problema

Mentre il carnevale impazza, l’assessore alle attività culturali impazzisce. Egli deve pianificare il percorso dei carri mascherati per le vie della città. Le due piazze principali saranno il punto di partenza e di arrivo dei carri, ed un limitato numero di vie sono percorribili da essi. Ognuna delle vie ha una capacità nota e limitata, misurata in numero di carri all’ora, la quale dipende dalla larghezza della via e da altri fattori che influenzano la velocità che i carri possono tenere lungo di essa.
L’assessore naturalmente vuole massimizzare il numero di carri che sfileranno nel limitato tempo disponibile, perché questo gli frutterà un proporzionale numero di voti alle prossime elezioni.
Formulare il problema, classificarlo e risolverlo con i dati del file SFILATA.TXT.

Dati

Le due piazze di partenza e di arrivo sono indicate rispettivamente 
da "s" e da "t".
Le vie percorribili sono le seguenti. Di ciascuna è indicata la 
capacità ossia il massimo numero di carri che la possono attraversare 
in un'ora. Inoltre è indicato anche il costo di allestimento.
Ovviamente la sfilata è a senso unico in ogni via.

 Via     Capacità  Costo
s -> 1      15       30
s -> 2      15       60
s -> 3      20      500
1 -> 3      15       10
1 -> 4      28      180
2 -> 3      20      250
2 -> 5      18       40
3 -> 6      20      200
4 -> 5       9       10
4 -> 7       8       50
5 -> 4       9       50
5 -> 8       8       10
6 -> 7       7      340
6 -> 8       7      410
6 -> t      10      200
7 -> t      10      270
8 -> t      10      290

Formulazione del problema

Dati

  • n = 10 (numero nodi stradali)
  • capij (capacità della via che collega il nodo i=1..10 al nodo j=1..10)

Variabili

  • xij (numero di carri che percorrono la via che collega il nodo i=1..10 al nodo j=1..10) (nota: non tutti gli i sono collegati a tutti gli j)
  • y (numero totale di carri sui vari percorsi tra il nodo di partenza e quello di arrivo)

Le variabili sono intere e non negative.

Funzione obiettivo

Vogliamo massimizzare il flusso di carri per le vie cittadine: max y

Vincoli

  • vincoli di capacità per ogni via:
    xij <= capij (per ogni via i->j)
  • vincoli che regolino il flusso in ogni nodo, facendo in modo che il numero di carri in entrata sia uguale a quello in uscita. Ci sono due casi particolari in corrispondenza dei nodi estremi, in cui si sostituisce il numero di carri in entrata (o in uscita) con quello totale (la variabile y)

Lindizzazione del problema

! esercizio - sfilata

! variabili: x(i,j) = numero di carri che percorrono la via che collega il 
!		      nodo i al nodo j
! 	     y = numero totale di carri sui vari percorsi tra il nodo di 
!		 partenza e quello di arrivo
! le variabili sono intere

! funzione obiettivo
max y

st

! vncoli di capacità di ogni via
vias1) xs1 <= 15
vias2) xs2 <= 15
vias3) xs3 <= 20
via13) x13 <= 15
via14) x14 <= 28
via23) x23 <= 20
via25) x25 <= 18
via36) x36 <= 20
via45) x45 <=  9
via47) x47 <=  8
via54) x54 <=  9
via58) x58 <=  8
via67) x67 <=  7
via68) x68 <=  7
via6t) x6t <= 10
via7t) x7t <= 10
via8t) x8t <= 10

! vincoli per ogni nodo
nodos) xs1 + xs2 + xs3 - y = 0
nodo1) xs1 - x13 - x14 = 0
nodo2) xs2 - x23 - x25 = 0
nodo3) xs3 + x13 + x23 - x36 = 0
nodo4) x14 + x54 - x45 - x47 = 0
nodo5) x25 + x45 - x54 - x58 = 0
nodo6) x36 - x67 - x68 - x6t = 0
nodo7) x47 + x67 - x7t = 0
nodo8) x58 + x68 - x8t = 0
nodot) x6t + x7t + x8t - y = 0

end

! definiamo le 18 variabili intere
gint 18

Torna alla pagina di Ricerca Operativa