Risolvere vincoli soft Francesca Rossi Giugno 2004.

Slides:



Advertisements
Presentazioni simili
Algoritmi e Strutture Dati
Advertisements

Manerba Daniele – Università degli Studi di Brescia – a.a
Il problema del cammino minimo tra 2 nodi in un grafo non cooperativo
Politecnico di Torino Tesi di Laurea
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2005/2006.
RB-alberi (Red-Black trees)
Richiami di Identificazione Parametrica
ESEMPIO DI ALBERO BRANCH-AND-BOUND
Ordini Parziali - Reticoli
Ordini Parziali - Reticoli
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Università degli Studi di Roma Tor Vergata
Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie di analisi.
Esercizi su alberi binari
Valutazione delle ipotesi
1 Esempi di consistenza sui limiti Non consistente sui limiti, considera Z=2, poi X-3Y=10 Ma il dominio qui sotto e consistente sui limiti: Confrontare.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Il problema del cammino minimo tra 2 nodi in un grafo con archi privati.
Algoritmi e Strutture Dati
Capitolo 4 Ordinamento Algoritmi e Strutture Dati.
Seminario su clustering dei dati – Parte II
Modelli e Algoritmi per la Logistica Branch & Bound Prof. Carlo Mannino Prof. Antonio Sassano Dipartimento di Informatica e Sistemistica Università di.
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi per la Logistica
Modelli e Algoritmi della 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
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.
Ottimizzazione nella gestione dei progetti
Programmazione a vincoli: algoritmi di scheduling in OPL
Analisi delle corrispondenze
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
Algoritmi e Strutture Dati
Algoritmi e Strutture Dati
Problemi con soddisfacimento dei vincoli
Teoria della Complessità Concetti fondamentali
Università degli Studi di Bologna
Teoria degli algoritmi e della computabilità Terza giornata: Ricerca e ordinamento ottimi. P vs NP, algoritmi di approssimazione, e il potere della randomizzazione.
Risoluzione di Problemi con gli algoritmi Ricorsivi
Algoritmi di classificazione e reti neurali Seminario su clustering dei dati Università Sapienza di Roma Dipartimento di ingegneria Informatica, Automatica.
Ottimizzazione nella gestione dei progetti Prova scritta del 16/04/2005 COMPITO B Studente: ………………………………… Matricola: ………………………………… (2 punti) Disegnare.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Terza giornata: principali classi di complessità computazionale dei problemi Guido Proietti.
Strumenti per ragionare
Capitolo 13 Cammini minimi: Algoritmo di Floyd e Warshall Algoritmi e Strutture Dati.
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2008/2009.
Università degli Studi di Roma Tor Vergata
Claudio Arbib Università dell’Aquila Ricerca Operativa Metodo del simplesso per problemi di distribuzione single-commodity.
Query languages per Basi di Dati Relazionali  Algebra Relazionale:  basato sulla teoria degli insiemi  procedurale  usato per l’implementazione di.
Lagrange Relaxation. Limiti Inferiori (Lower Bounds) Avere un Lower-Bound alla lunghezza del cammino minimo da una garanzia della qualità della soluzione.
Camil Demetrescu, Irene Finocchi, Giuseppe F. ItalianoAlgoritmi e strutture dati Algoritmi e Strutture Dati Capitolo 2 Modelli di calcolo e metodologie.
Algoritmi e Strutture Dati
Progetti Regole dei progetti Due studenti per progetto Due studenti per progetto Lavoro indipendente, con coordinamento per mettere insieme le due.
Rappresentazione dell'informazione
Codici prefissi Un codice prefisso è un codice in cui nessuna parola codice è prefisso (parte iniziale) di un’altra Ogni codice a lunghezza fissa è ovviamente.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Quinta giornata Risolvere efficientemente un problema in P: ancora sulla sequenza di Fibonacci.
Didattica e Fondamenti degli Algoritmi e della Calcolabilità Sesta giornata Risolvere efficientemente un problema in P: Il problema dell’ordinamento: Insertion.
Università degli Studi di Cagliari FACOLTA’ DI INGEGNERIA
Algoritmi e Strutture Dati
Cammini minimi in grafi:
Capitolo 4 Ordinamento: lower bound Ω(n log n) e MergeSort ((*) l’intera lezione) Algoritmi e Strutture Dati.
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2011/2012.
Problemi di soddisfacimento di vincoli Maria Simi a.a. 2013/2014.
ASD a.a.2010/2011- Lezione 12 Algoritmi e Strutture dati a.a.2010/2011 Prof.ssa Rossella Petreschi Backtracking/ Branch and Bound Lezione n°12.
Lezioni di Ricerca Operativa Corso di Laurea in Informatica
La seguente matrice è una matrice delle distanze di un’istanza del problema del Commesso Viaggiatore. Calcolare un lower bound per il valore del ciclo.
Branch and Bound Lezione n°19 Prof.ssa Rossella Petreschi
Programmazione Intera
Branch and Bound Lezione n°18 Prof.ssa Rossella Petreschi
Transcript della presentazione:

Risolvere vincoli soft Francesca Rossi Giugno 2004

Metodo dei tagli Dato P soft, e dato  in semianello, costruisco P  : Dato P soft, e dato  in semianello, costruisco P  : stesso grafo di Pstesso grafo di P in ogni vincolo, solo le tuple con valore > in ogni vincolo, solo le tuple con valore > 

Proprieta’ t soluzione ottima di P con valore v t soluzione ottima di P con valore v Per ogni <v, P  consistente e t soluzione di P  Per ogni <v, P  consistente e t soluzione di P  Per ogni  ≥ v, P  inconsistente Per ogni  ≥ v, P  inconsistente Vere solo se x idempotente Vere solo se x idempotente

Metodo di soluzione Per trovare le soluzioni ottime di P: Per trovare le soluzioni ottime di P: Trovare il P consistente tale che per ogni > , P inconsistenteTrovare il P consistente tale che per ogni > , P inconsistente Le soluzioni di P sono le soluzioni ottime di P Le soluzioni di P sono le soluzioni ottime di P Basta controllare i P con  presente in P Basta controllare i P con  presente in P Ricerca binaria su questi   O(log(kd 2 )) chiamate ad un risolutore di vincoli classici Ricerca binaria su questi   O(log(kd 2 )) chiamate ad un risolutore di vincoli classici k= numero vincolik= numero vincoli d = grandezza dei dominid = grandezza dei domini

Branch and bound Stesso schema dei vincoli classici Stesso schema dei vincoli classici Lower bound = valore della soluzione migliore trovata finora (all’inizio 0) Lower bound = valore della soluzione migliore trovata finora (all’inizio 0) Upper bound per ogni nodo Upper bound per ogni nodo Se ub > lb  non entrare nel sottoalbero Se ub > lb  non entrare nel sottoalbero

Upper bounds t = assegnamento alle variabili passate t = assegnamento alle variabili passate ub1= x c(t), con c gia’ assegnati da t ub1= x c(t), con c gia’ assegnati da t ub2 = x ub(cji), per xi in F, xj in P, ub2 = x ub(cji), per xi in F, xj in P, Ub(cji) = +cji(vj,a) per a in DiUb(cji) = +cji(vj,a) per a in Di ub3 = x (+ cij(a,b)) ub3 = x (+ cij(a,b)) x su xi, xj in Fx su xi, xj in F + su a in Di, b in Dj+ su a in Di, b in Dj Ub = ub1 x ub2 x ub3 (o solo uno o due degli ub) Ub = ub1 x ub2 x ub3 (o solo uno o due degli ub)

Upper bounds – vincoli con costo (min +) t = assegnamento alle variabili passate t = assegnamento alle variabili passate ub1= + c(t), con c gia’ assegnati da t ub1= + c(t), con c gia’ assegnati da t ub2 = + ub(cji), per xi in F, xj in P, ub2 = + ub(cji), per xi in F, xj in P, Ub(cji) = min cji(vj,a) per a in DiUb(cji) = min cji(vj,a) per a in Di ub3 = + (min cij(a,b)) ub3 = + (min cij(a,b)) x su xi, xj in Fx su xi, xj in F + su a in Di, b in Dj+ su a in Di, b in Dj Ub = ub1 + ub2 + ub3 (o solo uno o due degli ub) Ub = ub1 + ub2 + ub3 (o solo uno o due degli ub)

Upper bounds -- fuzzy t = assegnamento alle variabili passate t = assegnamento alle variabili passate ub1= min c(t), con c gia’ assegnati da t ub1= min c(t), con c gia’ assegnati da t ub2 = min ub(cji), per xi in F, xj in P, ub2 = min ub(cji), per xi in F, xj in P, Ub(cji) = max cji(vj,a) per a in DiUb(cji) = max cji(vj,a) per a in Di ub3 = min (max cij(a,b)) ub3 = min (max cij(a,b)) x su xi, xj in Fx su xi, xj in F + su a in Di, b in Dj+ su a in Di, b in Dj Ub = min(ub1, ub2, ub3) (o solo uno o due degli ub) Ub = min(ub1, ub2, ub3) (o solo uno o due degli ub)

Branch and bound con propagazione La propagazione di vincoli soft abbassa le preferenze nei domini  ub1, ub2, ub3 piu’ bassi  piu’ probabile che ub < lb  piu’ probabile il pruning La propagazione di vincoli soft abbassa le preferenze nei domini  ub1, ub2, ub3 piu’ bassi  piu’ probabile che ub < lb  piu’ probabile il pruning ub1= x c(t), con c gia’ assegnati da tub1= x c(t), con c gia’ assegnati da t ub2 = x cji(vj,a) per xi in F, xj in P, a in Diub2 = x cji(vj,a) per xi in F, xj in P, a in Di ub3 = x (+ cij(a,b))ub3 = x (+ cij(a,b)) x su xi, xj in F x su xi, xj in F + su a in Di, b in Dj + su a in Di, b in Dj ub = ub1 x ub2 x ub3 (o solo uno o due degli ub)ub = ub1 x ub2 x ub3 (o solo uno o due degli ub)

Eliminazione delle variabili Come consistenza adattiva Come consistenza adattiva Scelgo una variabile, x Scelgo una variabile, x X e’ connessa da vincoli C all’insieme di variabili Y X e’ connessa da vincoli C all’insieme di variabili Y Calcolo x(C) e proietto su Y, e aggiungo il nuovo vincolo su Y Calcolo x(C) e proietto su Y, e aggiungo il nuovo vincolo su Y Posso dimenticarmi di X e dei vincoli C Posso dimenticarmi di X e dei vincoli C Lo stesso per tutte le variabili Lo stesso per tutte le variabili Quando ho solo una variabile, la sua preferenza piu’ alta e’ il valore dele soluzioni ottime Quando ho solo una variabile, la sua preferenza piu’ alta e’ il valore dele soluzioni ottime Per trovare le sol. ottime: istanzio le variabili nll’ordine opposto alla eliminazione, prendendo un valore con preferenza piu’ alta Per trovare le sol. ottime: istanzio le variabili nll’ordine opposto alla eliminazione, prendendo un valore con preferenza piu’ alta

Complessita’ Tanti passi quante sono le variabili (n) Tanti passi quante sono le variabili (n) Ad ogni passo, tempo esponenziale nel numero di variabili in Y +1, spazio esponenziale nel numero di variabili in Y Ad ogni passo, tempo esponenziale nel numero di variabili in Y +1, spazio esponenziale nel numero di variabili in Y Poi altri n passi per trovare una soluzione ottima Poi altri n passi per trovare una soluzione ottima Tempo: O(n x exp(|Y|) +n) Tempo: O(n x exp(|Y|) +n)

Taglio dei cicli Problema ad albero  |Y| = 1 ad ogni passo  O(n x d2) Problema ad albero  |Y| = 1 ad ogni passo  O(n x d2) Se non ad albero  posso tagliare i cicli e trasformarlo in un albero Se non ad albero  posso tagliare i cicli e trasformarlo in un albero Come taglio un ciclo: individuo un sottoinsieme di variabili del ciclo che, se eliminate, eliminerebbero il ciclo, e le istanzio Come taglio un ciclo: individuo un sottoinsieme di variabili del ciclo che, se eliminate, eliminerebbero il ciclo, e le istanzio Il sottoproblema rimasto e’ ad albero Il sottoproblema rimasto e’ ad albero Nuovo branch and bound: Nuovo branch and bound: 1.elimino variabili dove |Y| =1 2.istanzio variabili per eliminazione di un ciclo 3.ripeto da 1

Proposte di progetti 1. Branch and bound con uno degli ub per vincoli fuzzy, o parametrico rispetto alle due operazioni, con funzione identita’ per la propagazione 2. AC soft per vincoli fuzzy, da poter inserire in 1 3. Metodo di alfa-taglio per vincoli fuzzy 4. Backtracking per vincoli classici, da poter inserire in 3 Uno studente per progetto, ma coordinamento tra 1 e 2, e tra 3 e 4 Uno studente per progetto, ma coordinamento tra 1 e 2, e tra 3 e 4

Altre proposte di progetti 1. Eliminazione delle variabili per vincoli fuzzy o pesati