Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
Scarica il documento per vederlo tutto.
vuoi
o PayPal
tutte le volte che vuoi
Ricerca Operativa 2
2018-2019
Introduzione alla Programmazione Lineare a Numeri Interi (PLI):
- Relazione fra PL e PLI
- Formulazioni equivalenti
- Rilassamenti
- Matrici totalmente unimodulari
- Tecniche standard per la formulazione di problemi di PLI.
Formulazione di tipici problemi di ottimizzazione:
- Localizzazione di impianti
- Scelta di investimenti
- Sequenziamento di attività
- Ottimizzazione su reti
- Trasporti
- Set covering
- Set Partitioning
- Set Packing
- Turni del personale.
Soluzione esatta di problemi di Programmazione Lineare a numeri interi:
- Branch and bound
- Il problema di knapsack
- Piani di taglio.
Metodi di Programmazione Dinamica (PD):
- Algoritmo di PD per il knapsack capacitat
- Algoritmo di PD per il knapsack intero non capacitat.
Ottimizzazione su grafi:
- Matching
- Minimo vertex cover
- Massimo Flusso
- Massimo stabile
- Grafi euleriani e grafi bipartiti.
Utilizzo di un software commerciale per la soluzione di problemi di programmazione matematica.
Testi di riferimento:
[1] M. Fischetti, "Lezioni di Ricerca Operativa", Edizioni Libreria Progetto Padova, Italia, 1995. (Cap. 2, 5, parte del 6 e del 7).
[2] R. Ahuja, T. Magnanti, J. Orlin, "Network Flows", Prentice Hall, 1993. (pg. 189-191, 473-475, 494-496)
[3] Dispense fornite dal docente e/o disponibili sul web.
2 Ottobre 2018
PROCESSO DECISIONALE
- Definizione del problema attraverso una descrizione formale di un contesto reale qualsiasi.
- Osservazione e raccolta dei dati: che variabili include ogni task? A che tipo? Vi è determinismo o stocasticità? (nel corso assumiamo questo passo già effettuato)
- Formulazione di un modello: va trovata una rappresentazione rigorosa, attraverso PLI o grafo.
- Verifica della validità, è la parte fondamentale nella realtà.
- Decisione: va trovata una soluzione, è un passo matematico che sfrutta algoritmi risolutivi.
- Presentazione dei risultati, importante ma non trattato qui.
- Implementazione della decisione.
Programmazione lineare mista PLI
PLI GENERICO
- min CTx
- s.a. Ax > b
- x > 0
- x INTERO
È accavabile la forma standard.
- ⇒ PL mista se alcune variabili sono intere
- ⇒ PLI (pura) tutte le variabili sono intere
- ⇒ PI01 binaria se tutte le variabili sono binarie
F. OBIETTIVO: min pl
ESEMPI
- PL MISTA: una compagnia di trasporti ha vetture che richiedono delle risorse → UMANE (variabili intere)MATERIALI (variabili continue)
- PIL PURA: ad esempio quante unità di beni vanno prodotte. I beni non possono esser prodotti in metà
- PL01: 0 / 1 → NO/SÌ. Va distribuita la sorveglianza in strada.Vado a numerare gli incroci xi; i = 0...nPOLIZIOTTO PRESENTE xi=1POLIZIOTTO ASSENTE xi=0
Ci si pone sotto le ipotesi:
- A, b interi (qualora non lo fosse si trova una costante moltiplicativa che li renda interi)
- P: {x > 0 / Ax > b} = il poliedro limitato non vuoto delle soluzioni ammissibili
- PER UN PLI X = P ∩ ℤn con n dimensioni del poliedro PSi avrà di conseguenza un numero limitato di soluzioni.
La ricerca dell'ottimo con approccio enumerativo è possibile ma non è efficiente nella pratica.
Rilassamento lineare
Vi sono due conversioni importanti tra problemi di PL e PLI.
Il rilassamento lineare è ottenuto rimuovendo il vincolo di interezza delle x.
Ciò equivale all'allargamento del dominio di ammissibilità delle soluzioni, da un insieme discreto a quello continuo
z2PL è il valore du cui ottimo del rilassamento linearez2PL è il valore du cui ottimo del problema intero
Le funzioni obiettivo sono le stesse ma i valori appartengono a degli insiemi diversi. Essendo xPL = zPL ≤ zPLI, ciò vuol dire che la soluzione ottima del rilassamento è un lower bound per la soluzione ottima del problema intero.
DATO UN PROBLEMA DI OTTIMIZZAZIONE QUALSIASI CON F.O. DA MINIMIZZARE
min f(x), si dice rilassamento di min g(x) ∈ R
Tale che A⪯B⪯ e f(x)⪯g(x) ∀ x∈A
Se la soluzione ottima x* del PL è intera, allora è ottima anche per il problema di partenza PLI.
Dimostrazione:cTx∗ = zPL ≤ zPLI e se x∗PL è intera = x∗PL ∈ Xne segue: 2PL ≤ CxT x ∀ x∈Xquindi 2PL ≤ CxTx = 2PL
Per il rilassamento lineare non è lecito risolvere attraverso simplesso e poi anottornare eventualmente.
ESEMPIO: min -x - y
Annotando la componente x del vettore xPL se esce fuori dal dominio in ogni caso
Unione di vincoli (Big M)
Caso in cui x deve soddisfare Ax ≥ b e almeno uno tra gli altri vincoli dati nel PL.
aTx ≤ f → dTx ≤ g
→ si introduce la variabile Big M costante sufficientemente grande che non viene mai raggiunta. Dipende dai dati del problema.
aTx ≤ M
dTx ≤ M
"almeno una delle due deve valere" y = 1 se vincolo 1 soddisfatto y = 0 se vincolo 2 soddisfatto
Nel caso ci si trovi nell'intersezione dei vincoli, la variabile y e' irrilevante quale valore assume.
aTx = f + M (1-y)dTx = g + M y
Esempio Big M: Scheduling con vincoli esclusivi
1 macchinan lavori di cui ognuno non può essere interrotto e deve essere eseguito uno alla volta.ti istante inizio jobPi tempo di processamento di un job.
A questo punto è un problema di sequenziamento: V coppia (i,j) di lavori va stabilito quale ci sia prima
se i precede j → tj ≥ ti + pi istante di completamentose j precede i → ti ≥ tj + pj
1 macchina → vij = {1 se i prima di j 0 altrimenti}n(n-1)―――――――――― variabili2introdotte
Formulazione finale:∀ i, j : { ti ≤ tj - pi + M (1-yij) tj ≤ ti - pj + M yij }
Nota: La costante Big M va scelta ad esempio maggiore del tempo di processamento di tutti i task, necessario a portare a termine tutte le lavorazioni.
2 VARIANTI SUL PROBLEMA DEI FACCHINI
-
VARIANTE SOCIALISTA: le concova bilanciato tra tutti i facchini
-
VARIANTE LIBERISTA: il carico va bilanciato solo tra i facchini con un carico.
Il carico ora va bilanciato minimizzando la differenza tra il facchino più carico e facchino meno carico.
- Introduco 2 nuove variabili
- u: facchino più carico
- l: facchino meno carico
m.m. (U-L)
- ∑i=1m aji ≥ 1 ∀ sacco j
- ∑j=1n pj aji ≤ P ∀ facchino i
- ∑j=1n vj aji ≤ V
- ∑j=1n pj aji ≤ U ∀ facchino i
- ∑j=1n pj aji ≥ L ∀ facchino i
- aji ∈ {0, 1} intero
- Usamo introducete limitazioni sull’unicolo n°5.
m.m. (U-L)
- (1)
- (2)
- (3)
- (4)
- (5’)
- Definisco yj:≥ aji ∀ i ∀ j
- ∑j=1m pj aji ≥ L - P(1-yi)
- (6)—> aji yi ∈ {0,1} intee
U, L ≥ θ