14
di Loprete Francesco

Ricerca Operativa E Programmazione Lineare

  • Upload
    zed428

  • View
    15.299

  • Download
    8

Embed Size (px)

DESCRIPTION

La mia tesi di fine anno per l'ITIS, indirizzo informatico, argomento di statistica con accenni a informatica su algoritmi e matematica su funzioni in due variabili

Citation preview

Page 1: Ricerca Operativa E Programmazione Lineare

di Loprete Francesco

Page 2: Ricerca Operativa E Programmazione Lineare

Cos'è la Ricerca Operativa

Page 3: Ricerca Operativa E Programmazione Lineare

Un po' di storia...

Page 4: Ricerca Operativa E Programmazione Lineare

Campi di applicazione

Viene applicata in Logistica, Trasporti, Finanza, Gestione delle Risorse Umane, Gestione dei Servizi Sanitari, Telecomunicazioni, Progettazione Industriale, Data Mining, Bio-informatica

Può essere utilizzata in:

Page 5: Ricerca Operativa E Programmazione Lineare

Ottimizzazione

Page 6: Ricerca Operativa E Programmazione Lineare

Modelli di Programmazione Lineare

Page 7: Ricerca Operativa E Programmazione Lineare

Metodo grafico

Page 8: Ricerca Operativa E Programmazione Lineare

Esempio di problema di PL

Page 9: Ricerca Operativa E Programmazione Lineare

Algoritmo del simplessoL'Algoritmo del simplesso è un metodo per

risolvere problemi di programmazione lineare.

Si vuole massimizzare o minimizzare una funzione lineare con delle restrizioni (vincoli) anch'esse lineari per i valori delle variabili, che possono assumere valori positivi.

George Dantzig (Portland, Oregon, USA, 8

novembre 1914 – Palo Alto, California, USA, 13 maggio

2005)

I vincoli definiscono la regione ammissibile.

Nel caso della programmazione lineare la regione ammissibile è un insieme poliedrico, il quale può essere vuoto, limitato o illimitato.

L'algoritmo del simplesso è in grado di determinare di che tipo di poliedro si tratta e trova la soluzione ottima, che è un vertice del poliedro.

Page 10: Ricerca Operativa E Programmazione Lineare

Come funziona il Simplesso

X1 X2 X3 X4 X5X1 8

1 0 0 -0,046

0,25 9

X2 4 0 1 0 -0,375

-0,25 3

X3 2 0 0 1 0,046

-0,25 1

Cr 8 4 2 0 0 88

Δr 0 0 0 2,25 -0,5

Caso di partenza

925,0046,01125,0046,01325,0375,01

min248

541

543

542

321

xxxxxxxxx

xxx

Si genera la prima tabella con i dati del sistema.

X1 X2 X3 X4 X5X2 4 1 1 0 -

0,042

0 12

X3 2 1 0 1 0 0 10X5 0 4 0 0 -0,18 1 36Cr 8 4 2 0 0 68

Δr 2 0 0 1,68 0

I ∆r si calcolano moltiplicando il coefficienti delle variabili in base per la rispettiva colonna del ∆r, sottraendo il risultato al Cr.

Il medesimo ragionamento si applica alla Z.

Dato che il problema è di minimo la variabile ad entrare in base è quella con il ∆r minore.

Si arriva alla soluzione finale quando tutti i ∆r sono maggiori di zero.

Page 11: Ricerca Operativa E Programmazione Lineare

Algoritmo di DijkstraL'algoritmo di Dijkstra permette di trovare i cammini

minimi in un grafo.

In particolare l'algoritmo può essere utilizzato per trovare:

cammino minimo che unisce due nodi del grafo, quelli che uniscono un nodo d'origine a tutti gli altri tutti i cammini minimi da ogni nodo ad ogni altro

nodo.

Tale algoritmo trova applicazione in molteplici contesti.

Per esempio permette, dato un grafo che rappresenta un'ipotetica "mappa" di condotte di approvvigionamento idrico di una città. Esempio analogo può essere fatto considerando il "problema" di trovare il collegamento meno dispendioso, in termini di potenza dissipata, nella realizzazione di un circuito elettrico.

Edsger Dijkstra (Rotterdam, 11 maggio

1930 - Nuenen, 6 agosto 2002)

Page 12: Ricerca Operativa E Programmazione Lineare

Come funziona DijkstraCaso di partenza

Una volta raggiunto il nodo di arrivo è sufficiente ripercorrere all’indietro il percorso individuato per avere il percorso minimo.

L’algoritmo partendo dal nodo di origine trova ad ogni passaggio il nodo adiacente con peso minore e lo aggiunge alla coda, e aggiorna man mano il peso dei nodi adiacenti.

•Ogni nodo ha, all'inizio potenziale ∞•Il nodo di partenza ha potenziale 0•Ogni volta si sceglie il nodo con potenziale minore e lo si rende definitivo e si aggiornano i nodi adiacenti•Il potenziale di un nodo è dato dalla somma del potenziale del nodo precedente + il costo del collegamento•Non si aggiornano i potenziali dei nodi resi definitivi•I potenziali definitivi indicano la distanza di quel nodo da quello di partenza•Quando si aggiorna il potenziale di un nodo si lascia quello minore

Page 13: Ricerca Operativa E Programmazione Lineare

Funzioni di due variabili),( yxfz 2R

lyxf

yyxx

),(lim

00

Page 14: Ricerca Operativa E Programmazione Lineare

Fonti utilizzate

Lezioni di Ricerca Operativadipartimento di Informatica e Sistemistica

Università di Roma “La Sapienza”

Matematica generale 3Di L. Tonolini – F. Tonolini – A. Manenti Calvi

www.matematicamente.it

www.wikipedia.org