Modelli e Algoritmi per la Logistica Branch & Bound Prof. Carlo Mannino Prof. Antonio Sassano Dipartimento di Informatica e Sistemistica Università di.

Slides:



Advertisements
Presentazioni simili
Politecnico di Torino Tesi di Laurea
Advertisements

                      Insertion-Sort
SPIM Esercizi. Esercizio 1 – il comando li Il codice deve eseguire una singola operazione: mettere il valore immediato 1023 nel registro s3.
Dato il sistema SA s1 s3 s5 s7 s8 b a con B c con Y b d con B e C s2 s4 s6 a con A g d con A e C s1s2 s4 s3 s5 s7 s8 s6 e con X b a d con C c con Y g b.
Lez. 31 Universita' di Ferrara Facolta' di Scienze Matematiche, Fisiche e Naturali Laurea Specialistica in Informatica Algoritmi Avanzati Programmazione.
POTENZE cosa sono proprietà curiosità visualizzazione.
Richiami di Identificazione Parametrica
ESEMPIO DI ALBERO BRANCH-AND-BOUND
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Computational Learning Theory and PAC learning
27+ 12= Risultato troppo grande = = 39 = -25 errore di overflow in binario =
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Capitolo 10 Tecniche algoritmiche Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Usa la tecnica del.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati – Parte I Università di RomaLa Sapienza Dipartimento di Informatica e Sistemistica.
Modelli e Algoritmi della Logistica
Seminario su clustering dei dati – Parte II
Seminario su clustering dei dati – Parte II
Modelli e Algoritmi della Logistica
Modelli e Algoritmi della Logistica
Modelli e Algoritmi della Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Corso di Modelli e Algoritmi della Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi della Logistica
Modelli e Algoritmi per la Logistica
1. ( punti 7 ) Siano dati un insieme di localizzazioni potenziali (nodi grandi) ed un insieme di clienti da servire (nodi piccoli). Il costo di afferenza.
Modelli e Algoritmi per la Logistica
Tecniche di Risoluzione della Programmazione a Breve Termine.
Modelli e Algoritmi della Logistica
Modelli e Algoritmi per la Logistica
1. ( punti 7 ) Siano dati un insieme di localizzazioni potenziali (nodi grandi) ed un insieme di clienti da servire (nodi piccoli). Il costo di afferenza.
UNIVERSITÀ DEGLI STUDI DI ROMA LA SAPIENZA DIPARTIMENTO DI INFORMATICA E SISTEMISTICA MODEL BASED CONTROL ALESSANDRO DE CARLI ANNO ACCADEMICO
Programmazione a vincoli: algoritmi di scheduling in OPL
QuickSort Quick-Sort(A,s,d) IF s < d THEN q = Partiziona(A,s,d) Quick-Sort(A,s,q-1) Quick-Sort(A,q + 1,d)
POTENZE modificato da iprof.
Elaborato di Teoria dello Sviluppo dei Processi Chimici
ARITMETICA BINARIA.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Prof. Cerulli – Dott.ssa Gentili
Algoritmi e Strutture Dati

Prof. Cerulli – Dott.ssa Gentili
Euristiche: algoritmi costruttivi e di ricerca locale
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 18 Ottobre.
POTENZE cosa sono proprietà curiosità visualizzazione.
Milano, 17 Dicembre 2013 Informatica B Informatica B Matlab Laboratorio del 14/01/2014 Responsabili di laboratorio: Gianluca Durelli:
Esercizio Regressione DATI Per un campione casuale di 82 clienti di un'insegna della GDO, sono disponibili le seguenti variabili, riferite ad un mese di.
Ricorsione CORDA – Informatica A. Ferrari Testi da Alessandro Bugatti
DIPARTIMENTO DI ELETTRONICA E INFORMAZIONE Come affrontare un problema… Marco D. Santambrogio – Ver. aggiornata al 21 Agosto.
FONDAMENTI DI INFORMATICA
Geometria descrittiva dinamica
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati Università Sapienza di Roma Dipartimento di ingegneria Informatica, Automatica.
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Risolvere vincoli soft Francesca Rossi Giugno 2004.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Copyright © The McGraw - Hill Companies, srl Capitolo 4 Ordinamento:
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Algoritmi e Strutture Dati Luciano Gualà
LAURA TORDINI UNIVERSITÀ DEGLI STUDI DI SIENA Dipartimento di Ingegneria dell’informazione e Scienze Matematiche Corso Di Laurea In Ingegneria Gestionale.
Lezione n° 10 Algoritmo del Simplesso: - Coefficienti di costo ridotto - Condizioni di ottimalità - Test dei minimi rapporti - Cambio di base Lezioni di.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Transcript della presentazione:

Modelli e Algoritmi per la Logistica Branch & Bound Prof. Carlo Mannino Prof. Antonio Sassano Dipartimento di Informatica e Sistemistica Università di Roma La Sapienza A.A

Risolvere la PL01 min c x: x S Problema di PL01: LB(P) min c x: x S = z * Calcolare z* è (di solito) difficile Calcolare lower bound è facile: Formulazione (P) + Simplesso LB(P) z° z*z* gap gap nullo x° ottimo per PL01 PL01 Risolto! Risolvere PL01 : trovare x * sol. ottima, z * = c T x * valore ottimo Quasi sempre il gap non è nullo: che fare? LB(P) = min c x: x P x(P) = argmin c x: x P P formulazione: P {0,1} n = S Soluzione ammissibile nota x ° S

Branch & Bound partizione S in S 1,..., S k z * = min {z 1 *... z k * } S1S1 S4S4 S3S3 S5S5 S6S6 S2S2 x1*x1* x2*x2* x3*x3* x4*x4* x6*x6* x5*x5* z i * =z(x i * )= valore ottimo di S 6 non contiene una soluzione migliore di x 1 * Ignora S 6 min c x: x S Problema di PL01: min c x: x S i LB i = LB(P i ) = min c x: x P i x(P i ) = argmin c x: x P i LB i z i * =z(x i * ) P i formulazione: P i {0,1} n = S i Idea: enumerazione implicita

Branch & Bound - Separazione S1S1 S2S2 x1*x1* x2*x2* x° S : z(x°)=UB Soluzione incombente (ad es. euristica) UB upper bound per il problema P formulazione: P {0,1} n = S LB(P) z(x * ) z(x°)=UB S x* x° LB(P) < UB LB(P) z° z*z* gap Idea: P 1 e P 2 create a partire da P. Come? (gap non nullo!) Suddividi S!

Branch & Bound - Separazione Come si decompone un problema P i (branching)? Ipotesi: S i {0,1} n scegli una componente k (frazionaria) di x ( P i ) scelta di k variabile più vicina ad essere intera variabile più frazionaria ordine predefinito Risolvi il rilassamento: min c x: x P i Supponiamo che : LB ( P )< UB e che x ( P i ) S i S ( gap 0 e soluzione del rilassamento FRAZIONARIA ) Partiziona P i in (P i0, P i1 )

B&B – Aggiornamento Incombente x° S : z(x°)=UB Soluzione incombente (ad es. euristica) UB upper bound per il problema Supponiamo che : x ( P i ) S i S (soluzione del rilassamento INTERA) S1S1 S4S4 S3S3 S5S5 S6S6 S2S2 x1*x1* x2*x2* x3*x3* x4*x4* x6*x6* x5*x5* Ottima? No (è ottima per S i ma non per S )... Ma se z( P i )= c T x( P i ) < z ( x° ) Ho trovato una soluzione migliore dellincombente !! Aggiorno incombente x° : = x( P i ) P i formulazione di S i Risolvi il rilassamento: min c x: x P i

Branch & Bound inizializzazione: L = P, x°, UB x° ottima si L = ? no scegli P i L calcola LB i =z(P i ) = c T x(P i ) LB i UB ? si UB:=LB i e x° : = x ( P i ) si decomponi P i in P i1... P ik L = L {P i1... P ik } no x ( P i ) S ? no L =lista dei sottoproblemi (formulazioni) da risolvere (problemi aperti)

Branch & Bound calcolo LB i : Rilassamento Lineare Posso scegliere una buona formulazione P i per S i per ottenere un miglior LB i (Branch and Cut) Come si sceglie il problema P i L ? : problema con minimo LB (best bound) LIFO (ultimo problema nella lista) FIFO (primo problema nella lista)

Esempio { 1,2,3,4 } soluzione del rilassamento: LB = 10,4 UB = 14

Esempio UB = 14

Esempio UB = 14 { 1,2,3,4 } LB = 11,5 LB 14 =UB

Esempio UB = 14 { 1,2,3,4 } LB 14 = UB LB = 13,6 LB = 12 x intera aggiorna UB ottima Costi interi: z * intero

Esempio x1x1 x2x2 1 1,25 6,5 5 x x 1 4 x1x1 B LB = 11 A UB = 13,4

Esempio x1x1 x2x2 1 1,25 6,5 45 LB = 11 C UB = 11

Esempio LB = 11 D UB = 13 x1x1 x2x2 1 1,25 6, x 2 3 x 2 2 x2x2 3 P =

Esempio LB = 11 E UB = 12 x1x1 x2x2 1 1,25 6, aggiorna LB x ottima x intera

Lower Bound = Certificato di Qualità min c x: x S Problema di PL01: 1. Se LB(P) = c x P ¡Ã c x°, x° soluzione ottima PL01 risolto LB(P) = min c x: x P x P = argmin c x: x P P formulazione: P {0,1} n = S Quasi sempre 1. o 2. non sono verificati: che fare? OSS: S è piccolo più facile verificare 1. o 2. x° S: soluzione incombente (nota) 2. Se x P {0,1} n x P S soluzione ottima PL01 risolto Idea: applica tecnica del divide et impera