Tabu search. Tabu. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 2

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Tabu search. Tabu. Vittorio Maniezzo Università di Bologna. Vittorio Maniezzo Università di Bologna 2"

Transcript

1 Tabu search 1 Tabu La parola tabu(taboo) viene dall isola di Tonga, Polinesia, dove era usata dagli aborigeni per indicare cose che non dovevano essere toccate perché erano sacre. In usi figurati indica "cosa, azione, argomento che non si deve e non si può toccare, fare, trattare". 2 1

2 Tabu search, TS TS è una procedura iterativa progettata per risolvere problemi di ottimizzazione, originariamente proposta da F.Glover (1986), e basata su una ricerca locale per muoversi da una soluzione s a una s nell intorno di s. Utilizza delle strutture di memoria per evitare che l algoritmo visiti ripetutamente le stesse soluzioni. Vantaggi attesi Si evitano i cicli nell'esplorazione delle soluzioni, maggiore efficacia e minor tempo di cpu Guida della ricerca verso regioni promettenti dello spazio di ricerca. 3 TS idee di base Salva informazioni sulla ricerca effettuata, da utilizzare poi per limitare le mosse successive Soluzioni inammissibili possono essere accettate per uscire da ottimi locali. Per prevenire i cicli, le mosse recenti sono vietate inserendole in una lista, la tabu list. Le mosse nella lista sono mosse tabu, ma possono essere accettate usando un criterio di aspirazione. TS supporta l intensificazione attorno a buone soluzioni e l esplorazione di regioni non visitate dello spazio di ricerca. 4 2

3 Memoria in TS TS usa due tipi di memoria: Memoria a beve termine (short term) Soluzioni recenti(numero fisso o variabile) Memorizzazione in struttura specifica (lista) Limitai cicli Tabu tenure: numero di iterazioni in cui una mossa è tabu Memoria a lungo termine (Long term) Numero di iterazioni in cui certi componenti della soluzione sono stati presenti nella soluzione corrente. 5 Aspirazione Se una mossa tabu può portare a una soluzione sufficientemente buona, la mossa viene comunque eseguita. Viene definito un livello di aspirazione per accettare una mossa (solitamente migliorare la miglior soluzione finora). Criterio di aspirazione: accettare una soluzione migliorante anche se generata da una mossa tabu La mossa tabu diventa accettabile se produce una soluzione migliore del valore di aspirazione 6 3

4 Tabu search Tabu Search(TS) [GL97] esce dai minimi locali andando ad ogni iterazione sulla migliore soluzione dell'intorno non ancora visitata, anche se è peggiore della soluzione corrente. La struttura di memoria chiamata tabu list, TL, proibisce di tornare sulle soluzioni già visitate. 1.Genera una soluzione iniziale ammissibile S, poni S* = S e inizializza TL=. 2.Trova S' N(S), tale che z(s')=min {z(s^), S^ N(S), S^ TL}. 3.S=S', TL=TL {S}, se (z(s*) > z(s)) poni S* = S. 4.se not(end condition) go to step 2. 7 Tabu Tenure Come decidere la durata dello stato tabu (tenure): Evidenza empirica mostra che l efficacia della tabu tenure dipende dall istanza (dimensione, etc.) Un rangeefficace di tabu tenurepuò essere determinato sperimentalmente Possibili anche tabu tenure cha variano dinamicamente 8 4

5 Memoria a lungo termine La memoria della tabu list è dettata solo dalle iterazioni più recenti. Può essere efficace (ma anche no) una memoria che considera orizzonti più lunghi, ad es. un vettore H che mantiene info sulla frequenza di uso dei diversi componenti. Ad es., H può mostrare la distribuzione delle mosse durante le ultime 50 iterazioni. Questo può essere usato per diversificare la ricerca. 9 Memoria a lungo termine L uso di memoria a lungo termine di solito è limitato a situazioni particolari. Ad es., caso un cui tutte le mosse non tabu portano a soluzioni peggiorative. Per decidere quale fare, la memoria a lungo termine può aiutare. Il modo più comune per implementarla è penalizzare le mosse che sono state effettuate più di frequente. Oppure usare quelle che non si fanno da più tempo, o quelle che avevano portato i maggiori benefici, o quelle associate ad un più alto gradiente di fo 10 5

6 terminazione Possibili criteri diversi: Maxnumero di iterazioni Maxtempo di cpu Maxnumiterazioni / tempo in cui non si migliora la soluzione Livello accettabile di qualità della soluzione 11 Considerazioni operative Parametri di controllo della ricerca Lunghezza della tabu list (n dimensione istanza, x coefficiente tabu list): 0.5n <(0.5+(2.5x)/4)n < 3n 2.375nse x= 3 Max numero di iterazioni: se n<50, niter>= 2000 se n>50, niter>=

7 TS esempio GAP GAP con 8 client e 3 server Soluzione rappresentata da un vettore che dice il server di ogni client, es. (0, 0, 0, 0, 1, 1, 1, 2, 2) vicinanza: riassegnazione di un client (opt10), es (0, 0, 0, 0, 1, 1, 1, 2, 2) (0, 0, 0, 1, 1, 1, 1, 2, 2) Ogni soluzione ha 16 vicini, non tutti ammissibili 13 TS esempio TSP La memoria a breve termine (tabu list) può essere memorizzata in una matrice dove l'assegnazione del client j al server i è ricordato nella i- esima riga e j-esima colonna

8 TS esempio GAP Tabu list: numero di iterazioni in cui una mossa è ancora tabu (iter corrente iter riassegnazione + tabu tenure, qui 5). Memoria lungo termine H: info di frequenza sulle ultime 50 riassegnazioni Dopo 500 iterazioni la sol corrente è: x = (1,2,1,0,0,0,2,2) con f(x)=326 La miglior soluzione costa TS esempio GAP Tabu list dopo 500 iterazioni Mossa tabu fino all'iterazione 16 8

9 TS esempio GAP Memoria lungo termine (H), ultime 50 iterazioni Esempio TS : yagiura gapa_0 Tabu Search trace 18 9

I Appello Ricerca Operativa 2 bis Compito A

I Appello Ricerca Operativa 2 bis Compito A I Appello Ricerca Operativa 2 bis Compito A Cognome e nome:. Esercizio 1. Si consideri il problema del matching di cardinalità massima in un grafo G ed il suo problema di decisione associato: esiste un

Dettagli

Corso di Matematica Applicata A.A

Corso di Matematica Applicata A.A Corso di Matematica Applicata A.A. 2012-2013 Programmazione lineare (III parte) Prof.ssa Bice Cavallo Iterazioni del simplesso Basi teoriche dell algoritmo Operazione di pivot Sottomatrice di base B=I

Dettagli

METODI DELLA RICERCA OPERATIVA

METODI DELLA RICERCA OPERATIVA Università degli Studi di Cagliari FACOLTA' DI INGEGNERIA CORSO DI METODI DELLA RICERCA OPERATIVA Dott.ing. Massimo Di Francesco (mdifrance@unica.it) i i Dott.ing. Maria Ilaria Lunesu (ilaria.lunesu@unica.it)

Dettagli

Introduzione agli algoritmi euristici

Introduzione agli algoritmi euristici Introduzione agli algoritmi euristici Richiami Generico problema di ottimizzazione P. Ci si può sempre ricondurre a questa forma. Esempio: x R n, f(x)=c T x, h(x)=ax, c R m, A R mx2 Specificando n, m,

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Mercoledì 08.30-10.30 Venerdì 08.30-10.30 Ricevimento:

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Lunedì 13.30-15.30 in Aula G30 Giovedì 13.30-15.30 in Aula

Dettagli

3.4 Metodo di Branch and Bound

3.4 Metodo di Branch and Bound 3.4 Metodo di Branch and Bound Consideriamo un generico problema di Ottimizzazione Discreta dove X è la regione ammissibile. (P ) z = max{c(x) : x X} Metodologia generale di enumerazione implicita (Land

Dettagli

Tecniche euristiche Ricerca Locale

Tecniche euristiche Ricerca Locale Tecniche euristiche Ricerca Locale PRTLC - Ricerca Locale Schema delle esercitazioni Come ricavare la soluzione ottima Modelli Solver commerciali Come ricavare una stima dell ottimo: rilassamenti Rilassamento

Dettagli

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso

1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso Domanda 1 1. Si scriva una function Matlab che implementa il seguente metodo di punto fisso x n+1 = x n f(x n), n = 0, 1, 2,... K dove x 0 è il punto iniziale, f(x) = x 3 cos(x) e K è una costante assegnata.

Dettagli

Caratteri e stringhe

Caratteri e stringhe Caratteri e stringhe Dati testuali Tipi di dato testuali Caratteri Stringhe 5 Dati testuali Tipi di dato testuali I programmi visti finora erano in grado di elaborare esclusivamente informazioni numeriche

Dettagli

Metodi numerici con elementi di Programmazione A.A

Metodi numerici con elementi di Programmazione A.A Metodi numerici con elementi di Programmazione A.A. 2013-2014 Introduzione al MatLab VI parte 1 Docente: Vittoria Bruni Email: vittoria.bruni@sbai.uniroma1.it Ufficio: Via A. Scarpa, Pal. B, I piano, Stanza

Dettagli

Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso

Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Programmazione Matematica: VI Estensioni dell algoritmo del Simplesso Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev. 1.0 Aprile 2004 Algoritmo del Simplesso L algoritmo del Simplesso

Dettagli

Parte III: Algoritmo di Branch-and-Bound

Parte III: Algoritmo di Branch-and-Bound Parte III: Algoritmo di Branch-and-Bound Sia Divide et Impera z* = max {c T x : x S} (1) un problema di ottimizzazione combinatoria difficile da risolvere. Domanda: E possibile decomporre il problema (1)

Dettagli

Algoritmi euristici. Parte I: metodi classici

Algoritmi euristici. Parte I: metodi classici Algoritmi euristici. Parte I: metodi classici Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 1.0 - febbraio 2003 Algoritmi Euristici Algoritmi Euristici, Approssimati, Approssimanti

Dettagli

LEZIONE ICO

LEZIONE ICO LEZIONE ICO 9-10-2009 Argomento. Rassegna dei metodi numerici utilizzabili per la soluzione di problemi di ottimizzazione statica. Metodi del gradiente e di Newton e loro derivati. Metodi di penalita e

Dettagli

Algoritmi Euristici. Molti problemi reali richiedono soluzioni algoritmiche

Algoritmi Euristici. Molti problemi reali richiedono soluzioni algoritmiche 9 Algoritmi Euristici introduzione Vittorio Maniezzo Università di Bologna 1 Molti problemi reali richiedono soluzioni algoritmiche I camion devono essere instradati VRP, NP-hard I depositi o i punti di

Dettagli

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0

Esercizi sulla Programmazione Lineare. min. cx Ax b x 0 Soluzioni 4.-4. Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare 4. Risoluzione grafica e forma standard. Si consideri il problema min x cx Ax b x dove x = (x, x )

Dettagli

Esercizi sulla Programmazione Lineare Intera

Esercizi sulla Programmazione Lineare Intera Soluzioni 4.7-4.0 Fondamenti di Ricerca Operativa Prof. E. Amaldi Esercizi sulla Programmazione Lineare Intera 4.7 Algoritmo del Simplesso Duale. Risolvere con l algoritmo del simplesso duale il seguente

Dettagli

Rilassamento Lagrangiano

Rilassamento Lagrangiano RILASSAMENTO LAGRANGIANO 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il seguente problema

Dettagli

COMPITO DI RICERCA OPERATIVA. min 2x 1 x 2 + x 3 x 4 x 1 x 2 + x 3 + x 4 = 5 x 1 + x 2 + x 3 3. x 1, x 2, x 3, x 4, x 5 I

COMPITO DI RICERCA OPERATIVA. min 2x 1 x 2 + x 3 x 4 x 1 x 2 + x 3 + x 4 = 5 x 1 + x 2 + x 3 3. x 1, x 2, x 3, x 4, x 5 I COMPITO DI RICERCA OPERATIVA ESERCIZIO. (8 punti) Sia dato il seguente problema di PL: min x x + x x 4 x x + x + x 4 = 5 x + x + x x, x, x, x 4 0 Lo si trasformi in forma standard ( punto). Si determini

Dettagli

Capitolo 2. Equazioni non lineari. 2.1 Metodo di bisezione. 2.2 Ordine dei metodi

Capitolo 2. Equazioni non lineari. 2.1 Metodo di bisezione. 2.2 Ordine dei metodi Capitolo 2 Equazioni non lineari 2.1 Metodo di bisezione Data la successione {x n } n prodotta dal metodo di bisezione convergente alla radice ξ di f(x), il criterio d arresto basato sul residuo (cioè

Dettagli

Programmare con MATLAB c Parte 5 Cicli: for e while

Programmare con MATLAB c Parte 5 Cicli: for e while Programmare con MATLAB c Parte 5 Cicli: for e while Lucia Gastaldi DICATAM - Sezione di Matematica, http://lucia-gastaldi.unibs.it Indice 1 La notazione due punti 2 Ciclo: for 3 Ciclo con controllo: while

Dettagli

Fondamenti di Programmazione

Fondamenti di Programmazione A.A. 08/09 Fondamenti di Programmazione (canale E-O) Docente: Prof.ssa Tiziana Calamoneri calamo@di.uniroma1.it Esercitatore: Dott. Roberto Petroccia petroccia@di.uniroma1.it Pagina del corso: http://twiki.di.uniroma1.it/twiki/view/programmazione1/eo/webhome

Dettagli

Esempi di Problemi di Programmazione Lineare

Esempi di Problemi di Programmazione Lineare Esempi di Problemi di Programmazione Lineare Esempio 1: Soluzione con l algoritmo del simplesso dell esempio in forma standard ma = 2 + 0 1 2 + + = 5 1 2 3 + + = 0 1 2 4 6 + 2 + = 21 1 2 5 1 2 3 4 5 Il

Dettagli

4.5 Metodo del simplesso

4.5 Metodo del simplesso 4.5 Metodo del simplesso min z = c T x s.v. Ax = b x 0 PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una

Dettagli

RICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2014/15) Nome: Cognome: Matricola: o Appello // RICERCA OPERATIVA (a.a. /) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x + x x x x x x applicando l algoritmo del Simplesso Primale per via algebrica a partire

Dettagli

Gestione dello Stallo

Gestione dello Stallo Gestione dello Stallo Il problema dello stallo Un insieme di processi bloccati ognuno in possesso di una risorsa ed in attesa di acquisire una risorsa posseduta da un altro processo (nell'insieme). Esempio

Dettagli

Esame di Ricerca Operativa del 24/07/18. max 7 x 1 +4 x 2 x 1 +3 x x 1 +x x 1 +x 2 12 x 1 x x 1 3 x 2 2 x 1 2 x 2 14

Esame di Ricerca Operativa del 24/07/18. max 7 x 1 +4 x 2 x 1 +3 x x 1 +x x 1 +x 2 12 x 1 x x 1 3 x 2 2 x 1 2 x 2 14 Esame di Ricerca Operativa del /07/18 Cognome) Nome) Numero di Matricola) Esercizio 1. Effettuare due iterazioni dell algoritmo del simplesso primale per il problema max 7 x 1 + x x 1 + x 6 x 1 +x x 1

Dettagli

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 3 CENNI DI TEORIA DELLA COMPLESSITA COMPUTAZIONALE E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Scopo: Stimare l onere computazionale per risolvere problemi di ottimizzazione e di altra natura

Dettagli

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A. 2017-18 1. Scrivere la function Matlab myfun.m che calcoli la funzione e la sua derivata. La function deve ricevere

Dettagli

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A

Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A Esercizi di autovalutazione - Matlab Metodi Numerici con Elementi di Programmazione A.A. 2018-19 1. Scrivere la function Matlab myfun.m che valuti la funzione e la sua derivata in corrispondenza delle

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 14.30-16.30 in Aula Omega Venerdì 14.30-16.30 in

Dettagli

Ricerca Operativa. G. Liuzzi. Lunedí 23 Marzo Il Metodo del Simplesso Java API Problema di Trasporto

Ricerca Operativa. G. Liuzzi. Lunedí 23 Marzo Il Metodo del Simplesso Java API Problema di Trasporto 1 Lunedí 23 Marzo 2015 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR SHHHHH... Simplesso in 2 fasi Fase I (rg(a) m) Se P non è ammissibile, STOP Altrimenti 1 elimina da (A... b) eventuali

Dettagli

Programmazione Lineare

Programmazione Lineare Programmazione Lineare Andrea Scozzari a.a. 2012-2013 March 14, 2013 Andrea Scozzari (a.a. 2012-2013) Programmazione Lineare March 14, 2013 1 / 18 Metodo del Simplesso Dato un problema di PL in forma standard

Dettagli

2. ALGORITMO DEL SIMPLESSO

2. ALGORITMO DEL SIMPLESSO . ALGORITMO DEL SIMPLESSO R. Tadei Una piccola introduzione R. Tadei SIMPLESSO L obiettivo del capitolo è quello di fornire un algoritmo, l algoritmo del simplesso, che risolve qualsiasi problema di programmazione

Dettagli

2. SIMPLESSO. Ricerca Operativa. 2 Esercizi sul simplesso. Politecnico di Torino CeTeM

2. SIMPLESSO. Ricerca Operativa. 2 Esercizi sul simplesso. Politecnico di Torino CeTeM . SIMPLESSO Pagina di Pagina di Esempio (Simplesso standard) Sia dato il seguente PL: Il tableau del simplesso è il seguente:.. min s t z Esiste una soluzione di base ammissibile:,,, z La soluzione non

Dettagli

MATLAB c. Lucia Gastaldi Dipartimento di Matematica Lezione 4 (15 ottobre 2003)

MATLAB c. Lucia Gastaldi Dipartimento di Matematica  Lezione 4 (15 ottobre 2003) MATLAB c M-file. Lucia Gastaldi Dipartimento di Matematica http://dm.ing.unibs.it/gastaldi/ Lezione 4 (15 ottobre 2003) Esercizio Problema 3: la successione di funzioni f n (x) = (x 2 x) n per 0 x 1 è

Dettagli

Programmazione Matematica: VII La scomposizione di Dantzig Wolfe

Programmazione Matematica: VII La scomposizione di Dantzig Wolfe Programmazione Matematica: VII La scomposizione di Dantzig Wolfe Daniele Vigo D.E.I.S. Università di Bologna dvigo@deis.unibo.it rev..0 Maggio 2004 Scomposizione di problemi Accade spesso che un problema

Dettagli

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano

Algoritmi Euristici. Corso di Laurea in Informatica e Corso di Laurea in Matematica. Roberto Cordone DI - Università degli Studi di Milano Algoritmi Euristici Corso di Laurea in Informatica e Corso di Laurea in Matematica Roberto Cordone DI - Università degli Studi di Milano Lezioni: Martedì 14.30-16.30 in Aula Omega Venerdì 14.30-16.30 in

Dettagli

Fondamenti Teorici e Programmazione

Fondamenti Teorici e Programmazione Fondamenti Teorici e Programmazione Modulo A Elementi di Programmazione Claudio Gallicchio, Ph.D. Array 2 Dati Strutturati I tipi di dati visti finora sono numeri (interi o razionali) booleani (valori

Dettagli

4.5 Metodo del simplesso

4.5 Metodo del simplesso 4.5 Metodo del simplesso min z = c T x s.v. Ax = b x PL in forma standard Esamina una sequenza di soluzioni di base ammissibili con valori non crescenti della funzione obiettivo fino a raggiungerne una

Dettagli

i. Diagramma di GANTT relativo all esecuzione dei quattro processi:

i. Diagramma di GANTT relativo all esecuzione dei quattro processi: 1. (a) Si descriva il meccanismo attraverso cui i programmi richiamano i servizi del Sistema Operativo. Si faccia qualche esempio. (b) Si descriva il funzionanmento di un server web basato su thread multipli.

Dettagli

Metodi di Ricerca Lineare

Metodi di Ricerca Lineare Metodi di Ricerca Lineare Stefano Gualandi Università di Pavia, Dipartimento di Matematica email: twitter: blog: stefano.gualandi@unipv.it @famo2spaghi http://stegua.github.com Metodi di Ottimizzazione

Dettagli

Esame di Ricerca Operativa del 04/07/17

Esame di Ricerca Operativa del 04/07/17 Esame di Ricerca Operativa del 0/0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y y + y + y + y + y +9 y y y

Dettagli

LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE LINEARE, IL METODO DEL SIMPLESSO. 1di 18

LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE LINEARE, IL METODO DEL SIMPLESSO. 1di 18 LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE LINEARE, IL METODO DEL SIMPLESSO 1di 18 Metodo del Simplesso Il metodo del simplesso dovuto a Dantzing ed a Kantorovich è un algoritmo il cui nome deriva

Dettagli

Introduzione all Intelligenza Artificiale a.a. 2016/17

Introduzione all Intelligenza Artificiale a.a. 2016/17 Introduzione all Intelligenza Artificiale a.a. 2016/17 Prima prova intermedia 7 Aprile 2017 PRIMA PARTE Domande (punti 7) La risposta corretta alla maggior parte delle domande abilita la correzione della

Dettagli

Parte 2. Ricorsione. [M.C.Escher Drawing hands, 1948] - AA. 2012/13 2.1

Parte 2. Ricorsione. [M.C.Escher Drawing hands, 1948] - AA. 2012/13 2.1 Parte 2 Ricorsione - AA. 2012/13 [M.C.Escher Drawing hands, 1948] 2.1 Funzioni ricorsive Una funzione si dice ricorsiva se richiama se stessa, direttamente o indirettamente La ricorsione si dice diretta

Dettagli

Esame di Ricerca Operativa del 16/01/18. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 16/01/18. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del /0/8 (Cognome) (Nome) (Numero di Matricola) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: min y +9 y +9 y + y +y +0 y y +

Dettagli

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem

Introduzione al Column Generation Caso di Studio: il Bin Packing Problem Introduzione al Column Generation Caso di Studio: il Bin Packing Problem November 15, 2014 1 / 26 Introduzione Il column generation è una metodologia che può essere usata per risolvere problemi di ottimizzazione

Dettagli

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Si consideri il problema min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando una partizione (ricorsiva)

Dettagli

Esame di Laboratorio di Fisica Computazionale

Esame di Laboratorio di Fisica Computazionale Esame di Laboratorio di Fisica Computazionale 10 giugno 2016, ore 13.30 shell scripting Si consideri il file matrice.dat e si scriva uno script che sommi tutti i numeri presenti nella tabella. 1. Soluzione

Dettagli

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE

Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE Prof. Pagani Corrado ALGORITMI E COMPLESSITÀ COMPUTAZIONALE COMPLESSITÀ DEGLI ALGORITMI L oggetto della teoria della complessità è stabilire se un problema sia facile o difficile In base a quali parametri

Dettagli

Laboratorio di Metodi Numerici per le Equazioni Differenziali

Laboratorio di Metodi Numerici per le Equazioni Differenziali Laboratorio di Metodi Numerici per le Equazioni Differenziali Dott. Marco Caliari a.a. 2007/08 Capitolo 1 Metodi semiiterativi per sistemi lineari 1.1 Metodi iterativi I metodi iterativi per la soluzione

Dettagli

Esame di Ricerca Operativa del 19/07/19. Esercizio 1. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare:

Esame di Ricerca Operativa del 19/07/19. Esercizio 1. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare: Esame di Ricerca Operativa del /0/ (Cognome) (Nome) (Numero di Matricola) Esercizio. (a) Risolvere mediante il metodo del simplesso il seguente problema di programmazione lineare: max x +x x + x x x x

Dettagli

Rilassamento Lagrangiano

Rilassamento Lagrangiano Rilassamento Lagrangiano AA 2009/10 1 Rilassamento Lagrangiano Tecnica più usata e conosciuta in ottimizzazione combinatoria per il calcolo di lower/upper bounds (Held and Karp (1970)). Si consideri il

Dettagli

Problema del Job Shop

Problema del Job Shop Problema del Job Shop Job Shop n job, m macchine iascun job j è composto da una sequenza di task (t j (),,t j (r j )) ogni task t j (k) deve essere eseguito su una specifica macchina i = m j (k) (richiedendo

Dettagli

Analisi di sensitivitá. Analisi di sensitivitá p. 1/4

Analisi di sensitivitá. Analisi di sensitivitá p. 1/4 Analisi di sensitivitá Analisi di sensitivitá p. 1/4 Analisi di sensitivitá Ci porremo ora la seguente domanda: dato un problema di PL di cui ho giá determinato una soluzione ottima, che cosa succede se

Dettagli

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio

Appunti di informatica. Lezione 8 anno accademico Mario Verdicchio Appunti di informatica Lezione 8 anno accademico 2016-2017 Mario Verdicchio Il ciclo FOR Molto spesso in un programma bisogna ripetere un operazione per un numero prefissato di volte Si tratta di un iterazione

Dettagli

Istruzioni iterative (o cicliche)

Istruzioni iterative (o cicliche) Dipartimento di Informatica e Sistemistica Antonio Ruberti Sapienza Università di Roma Istruzioni iterative (o cicliche) Corso di Fondamenti di Informatica Laurea in Ingegneria Informatica (Canale di Ingegneria

Dettagli

Algoritmi e Strutture Dati

Algoritmi e Strutture Dati Algoritmi e Strutture Dati Capitolo 12 Grafi e visite di grafi Camil Demetrescu, Irene Finocchi, Giuseppe F. Italiano Definizione Un grafo G=(V,E) consiste in: - un insieme V di vertici (o nodi) - un insieme

Dettagli

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico

in termini informali: un algoritmo è una sequenza ordinata di operazioni che risolve un problema specifico Click to edit Algoritmo Master title style algoritmo: un insieme ordinato di operazioni non ambigue ed effettivamente computabili che, quando eseguito, produce un risultato e si arresta in un tempo finito

Dettagli

Esame di Ricerca Operativa del 15/01/19. max 6 x 1 x 2 6 x x x 1 +2 x x 1 3 x x 1 4 x x 1 +2 x x 1 x 2 19

Esame di Ricerca Operativa del 15/01/19. max 6 x 1 x 2 6 x x x 1 +2 x x 1 3 x x 1 4 x x 1 +2 x x 1 x 2 19 Esame di Ricerca Operativa del /0/9 Cognome) Nome) Numero di Matricola) Esercizio. Effettuare due iterazioni dell algoritmo del simplesso primale: max x x x + x x + x 8 x x x x x + x x x 9 passo {,} passo

Dettagli

Algoritmi metaeuristici: I - introduzione

Algoritmi metaeuristici: I - introduzione Algoritmi metaeuristici: I - introduzione Daniele Vigo D.E.I.S. - Università di Bologna dvigo@deis.unibo.it rev. 2.0 - Aprile 200 Tecniche Meta-euristiche Algoritmi Local Search che usano speciali tecniche

Dettagli

Prova d Esame di Ricerca Operativa

Prova d Esame di Ricerca Operativa Prova d Esame di Ricerca Operativa (Prof. Fasano Giovanni) Università Ca Foscari Venezia - Sede di via Torino 4 giugno 2018 Regole per l esame: la violazione delle seguenti regole comporta il ritiro dell

Dettagli

Capitolo 2. non lineari. 2.1 Metodo di Newton per sistemi di equazioni. Consideriamo il sistema di equazioni non lineari. f N (x 1,x 2,...

Capitolo 2. non lineari. 2.1 Metodo di Newton per sistemi di equazioni. Consideriamo il sistema di equazioni non lineari. f N (x 1,x 2,... Capitolo ODEs non lineari Metodo di Newton per sistemi di equazioni non lineari Consideriamo il sistema di equazioni non lineari f (x,x,,x N ) = f (x,x,,x N ) = f N (x,x,,x N ) = che può essere riscritto,

Dettagli

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione

1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione 1. Che cos è un sistema multiprogrammato? Si può realizzare la multiprogrammazione su un sistema con una sola CPU? 2. Qual è la differenza tra un interruzione e una trap? Si faccia qualche esempio. 1.

Dettagli

SI RICORDA CHE LE LEZIONI DI MERCOLEDÌ 5 E 12 APRILE SI TERRANNO IN AULA D3 DALLE 9 ALLE 11

SI RICORDA CHE LE LEZIONI DI MERCOLEDÌ 5 E 12 APRILE SI TERRANNO IN AULA D3 DALLE 9 ALLE 11 SI RICORDA CHE LE LEZIONI DI MERCOLEDÌ 5 E 12 APRILE SI TERRANNO IN AULA D3 DALLE 9 ALLE 11 MARTEDÌ 11 APRILE LA LEZIONE SI TERRÀ IN AULA SEMINARI PIANO C 1di 26 LEZIONE N.7 INTRODUZIONE AI METODI DI PROGRAMMAZIONE

Dettagli

Programmazione dinamica

Programmazione dinamica 5 Programmazione dinamica 5.1 Stringhe Palindrome Una stringa si dice palindroma se è uguale alla sua trasposta, ossia se è la stessa letta da sinistra a destra, o da destra a sinistra (es: anna, osso,

Dettagli

Implementazione degli algoritmi.

Implementazione degli algoritmi. Implementazione degli algoritmi. 4.1. Introduzione. In questo capitolo sarà discussa l implementazione software per l ambiente MATLAB 6.1 che è stata fatta degli algoritmi di identificazione presentati

Dettagli

Criteri da tenere a mente

Criteri da tenere a mente 2 Alcune considerazioni sul progetto di soluzioni software Criteri da tenere a mente Lo stile di programmazione è importante leggibilità (commenti / nomi significativi di variabili / indentazioni /...)

Dettagli

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

Valutazione delle Prestazioni Barbara Masucci

Valutazione delle Prestazioni Barbara Masucci Architettura degli Elaboratori Valutazione delle Prestazioni Barbara Masucci Punto della situazione Ø Abbiamo studiato Ø Una prima implementazione hardware (a ciclo singolo) di un sottoinsieme dell IS

Dettagli

Note per la Lezione 7 Ugo Vaccaro

Note per la Lezione 7 Ugo Vaccaro Progettazione di Algoritmi Anno Accademico 2016 2017 Note per la Lezione 7 Ugo Vaccaro Sempre sulla tecnica Programmazione Dinamica Ricordiamo che lo sviluppo di algoritmi basati sulla Programmazione Dinamica

Dettagli

Ordinamenti per confronto: albero di decisione

Ordinamenti per confronto: albero di decisione Ordinamenti per confronto: albero di decisione Albero di decisione = rappresentazione grafica di tutte le possibili sequenze di confronti eseguite da un algoritmo assegnato di ordinamento per confronto

Dettagli

Iterazione indeterminata

Iterazione indeterminata Iterazione indeterminata In alcuni casi il numero di iterazioni da effettuare non è noto prima di iniziare il ciclo, perché dipende dal verificarsi di una condizione. Esempio: Leggere una sequenza di interi

Dettagli

Ottimizzazione Combinatoria e Reti (a.a. 2007/08)

Ottimizzazione Combinatoria e Reti (a.a. 2007/08) o Appello 6/07/008 Ottimizzazione Combinatoria e Reti (a.a. 007/08) Nome Cognome: Matricola: ) Dopo avere finalmente superato l esame di Ricerca Operativa, Tommaso è pronto per partire in vacanza. Tommaso

Dettagli

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI

3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI 3.3 FORMULAZIONE DEL MODELLO E CONDIZIONI DI ESISTENZA DI UN PUNTO DI OTTIMO VINCOLATO Il problema di ottimizzazione vincolata introdotto nel paragrafo precedente può essere formulato nel modo seguente:

Dettagli

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44;

1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; 1) Data la seguente istanza di TSP (grafo completo con 5 nodi): c 12 = 52; c 13 = 51; c 14 = 40; c 15 = 53; c 23 = 44; c 24 = 15; c 25 = 12; c 34 = 32; c 35 = 55; c 45 = 24 Si calcoli l ottimo duale (formulazione

Dettagli

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1

2 OTTIMIZZAZIONE SU GRAFI. E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 2 OTTIMIZZAZIONE SU GRAFI E. Amaldi Fondamenti di R.O. Politecnico di Milano 1 Molti problemi decisionali possono essere formulati utilizzando il linguaggio della teoria dei grafi. Esempi: - problemi di

Dettagli

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22

Lezione 21 e 22. Valentina Ciriani ( ) Laboratorio di programmazione. Laboratorio di programmazione. Lezione 21 e 22 Lezione 21 e 22 - Allocazione dinamica delle matrici - Generazione di numeri pseudocasuali - Funzioni per misurare il tempo - Parametri del main - Classificazione delle variabili Valentina Ciriani (2005-2008)

Dettagli

Analisi strutturata 1

Analisi strutturata 1 Gli algoritmi Analisi e programmazione Gli algoritmi Proprietà ed esempi Costanti e variabili, assegnazione, istruzioni, proposizioni e predicati Vettori e matrici I diagrammi a blocchi Analisi strutturata

Dettagli

Corso di Perfezionamento

Corso di Perfezionamento Programmazione Dinamica 1 1 Dipartimento di Matematica e Informatica Università di Camerino 15 febbraio 2009 Tecniche di Programmazione Tecniche di progettazione di algoritmi: 1 Divide et Impera 2 Programmazione

Dettagli

Classi di Problemi Università degli Studi di Milano

Classi di Problemi Università degli Studi di Milano Classi di Problemi Classi di problemi (decisionali, di ricerca, di ottimizzazione) Definizioni basate sul concetto di soluzione ammissibile: Diverse esigenze Decidere se esiste una soluzione o se una data

Dettagli

Esame di Ricerca Operativa del 15/09/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare:

Esame di Ricerca Operativa del 15/09/14. Esercizio 1. Completare la seguente tabella considerando il problema di programmazione lineare: Esame di Ricerca Operativa del /09/ Cognome) Nome) Corso di laurea) Esercizio. Completare la seguente tabella considerando il problema di programmazione lineare: max x x x x x x x x +x 9 x + x 8 x +x Base

Dettagli

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico

Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria. Docente : Ing. Secondulfo Giovanni Anno Accademico Università di Salerno Corso di FONDAMENTI DI INFORMATICA Corso di Laurea Ingegneria Docente : Ing. Secondulfo Giovanni Anno Accademico 2010-2011 Lezione 3: La Formalizzazione degli Algoritmi Dati e Variabili

Dettagli

07 settembre 2017, es.1) Programmazione lineare

07 settembre 2017, es.1) Programmazione lineare 07 settembre 07, es.) Programmazione lineare Discutere il seguente problema di Programmazione lineare: trovare il massimo di p(x, x, x 3, x 4 ) = x + x + 8 x 3 - x 4 con i vincoli x k 0 ( k 4) e: x + x

Dettagli

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 6 Dott. Michele Zanella Ing. Gian Enrico Conti

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 6 Dott. Michele Zanella Ing. Gian Enrico Conti INFORMATICA A Titolo presentazione sottotitolo A.A. 2018-19 Milano, XX mese 20XX Laboratorio n 6 Dott. Michele Zanella Ing. Gian Enrico Conti Ricorsione La ricorsione è un approccio per la risoluzione

Dettagli

5.1 Metodo Branch and Bound

5.1 Metodo Branch and Bound 5. Metodo Branch and Bound Consideriamo un generico problema di ottimizzazione min{ c(x) : x X } Idea: Ricondurre la risoluzione di un problema difficile a quella di sottoproblemi più semplici effettuando

Dettagli

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che:

Esercizi su Python. 14 maggio Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: Esercizi su Python 14 maggio 2012 1. Scrivere una procedura che generi una stringa di 100 interi casuali tra 1 e 1000 e che: 1. conti quanti elementi pari sono presenti nella lista; 2. conti quanti quadrati

Dettagli

ARRAY DI PUNTATORI. ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori

ARRAY DI PUNTATORI. ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori ARRAY DI PUNTATORI Non ci sono vincoli sul tipo degli elementi di un vettore Possiamo dunque avere anche vettori di puntatori Ad esempio: char * stringhe[4]; definisce un vettore di 4 puntatori a carattere

Dettagli

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola:

RICERCA OPERATIVA (a.a. 2016/17) Nome: Cognome: Matricola: Secondo appello //0 RICERCA OPERATIVA (a.a. 0/) Nome: Cognome: Matricola: ) Si risolva il seguente problema di PL max x x x x x + x x x per via algebrica, mediante l algoritmo del Simplesso Primale a partire

Dettagli

Algoritmo di Branch & Bound

Algoritmo di Branch & Bound Sapienza Università di Roma - Dipartimento di Ingegneria Informatica, Automatica e Gestionale Algoritmo di Branch & Bound Docente: Renato Bruni bruni@dis.uniroma.it Corso di: Ottimizzazione Combinatoria

Dettagli

COMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2

COMPITO DI RICERCA OPERATIVA. max 5 2x 1 + 3x 2 x 3 = 2 + x 1 5x 2 x 4 = 5 + x 2. x 5 = 1 + x 1 x 2 COMPITO DI RICERCA OPERATIVA ESERCIZIO. ( punti) La riformulazione di un problema di PL rispetto alla base B = {x, x, x } è la seguente: max 2x + x 2 x = 2 + x x 2 x = + x 2 x = 2 + x + x 2 x, x 2, x,

Dettagli

FILE E INDICI Architettura DBMS

FILE E INDICI Architettura DBMS FILE E INDICI Architettura DBMS Giorgio Giacinto 2010 Database 2 Dati su dispositivi di memorizzazione esterni! Dischi! si può leggere qualunque pagina a costo medio fisso! Nastri! si possono leggere le

Dettagli