Ottimizzazione dei Sistemi Complessi

Documenti analoghi
Istruzioni per il controllo di ciclo - ciclo a condizione generica

DAL DIAGRAMMA AL CODICE

Prof. Giuseppe Chiumeo. Avete già studiato che qualsiasi algoritmo appropriato può essere scritto utilizzando soltanto tre strutture di base:

INFORMATICA GENERALE Prof. Alberto Postiglione Dipartimento Scienze della Comunicazione Università degli Studi di Salerno

Informatica B. Sezione D. Scuola di Ingegneria Industriale Laurea in Ingegneria Energetica Laurea in Ingegneria Meccanica

Generalità sugli algoritmi

Algoritmi per la Visualizzazione. Disegno 2D ortogonale. Disegno ortogonale 2D (1) Disegno ortogonale 2D (2)

Geometria Superiore Esercizi 1 (da consegnare entro... )

Descrizione di un algoritmo

Esercizi per il corso di Algoritmi, anno accademico 2014/15

Crittografia a chiave pubblica - Un invito a RSA

Online Gradient Descent

INDICAZIONI PER LA RICERCA DEGLI ASINTOTI VERTICALI

PARTE III MACCHINE A REGISTRI

Gli algoritmi: definizioni e proprietà

Testing: basato su analisi dinamica del codice. Metodi Formali: basato su analisi statica del codice.

Creare una funzione float square(float x). La funzione deve restituire il quadrato del parametro x.

PROVA DI VERIFICA DEL 24/10/2001

Preparati per il compito in classe Modulo 5

Ottimizzazione non Vincolata

Esercizi sull Association Analysis

Algebra Booleana ed Espressioni Booleane

Condizionamento del problema

NUMERI COMPLESSI. Test di autovalutazione

Semantica Assiomatica

DAL PROBLEMA AL CODICE: ATTRAVERSO LO PSEUDOCODICE

STRUTTURE (O COSTRUTTI) DI CONTROLLO

B-Tree. Struttura dati usata in applicazioni che necessitano di gestire insiemi di chiavi ordinate Una variante (B+-Tree) è diffusa in:

Criterio del rapporto. Sia n a n una successione in [0, + ) ]0, + ) ]0, 1[ Criterio del rapporto. Sia n a n una successione in ]0, + ).

Teoria della Progettazione delle Basi di Dati Relazionali

Se x* e punto di minimo (locale) per la funzione nell insieme Ω, Ω = { x / g i (x) 0 i I, h j (x)= 0 j J } lo e anche per F(x) = f o (x) + c x x 2

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Laboratorio 07. Programmazione - CdS Matematica. Michele Donini 10 dicembre 2015

Programmazione funzionale

Progetto Lauree Scientifiche Liceo Classico L.Ariosto, Ferrara Dipartimento di Matematica Università di Ferrara 24 Gennaio 2012

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano

Corso di Laurea in Ingegneria Informatica Analisi Numerica

Algoritmi e Strutture Dati & Laboratorio di Algoritmi e Programmazione

1 Portofoglio autofinanziante

Giochi ed equilibri di Nash. Marco Sciandrone Dipartimento di Ingegneria dell Informazione Università di Firenze

UD4 - MATLAB. M-file. Efficienza degli algoritmi. Formati d uscita

Esercizi Capitolo 6 - Alberi binari di ricerca

La Macchina RAM Shepherdson e Sturgis (1963)

Crittografia. Primalità e Fattorizzazione. Corso di Laurea Specialistica. in Informatica

Massimi e minimi vincolati in R 2 - Esercizi svolti

Esercitazione Controllo di un motore DC mediante Arduino YUN

7. SINGOLARITA E RESIDUI. 7.1 Punti Singolari Isolati.

Un nuovo metodo trust-region per sistemi non lineari rettangolari con vincoli semplici

Studio di funzione. Tutti i diritti sono riservati. E vietata la riproduzione, anche parziale, senza il consenso dell autore. Funzioni elementari 2

Laboratorio di Elementi di Bioinformatica

Programma per convertire data e ora da civile a giuliana

Informatica Teorica. Macchine a registri

Esercizio. Pseudocodice

Sono casi particolari di MCF : SPT (cammini minimi) non vi sono vincoli di capacità superiore (solo x ij > 0) (i, j) A : c ij, costo di percorrenza

Algoritmi e Strutture Dati

PROGRAMMA DI SCIENZE E TECNOLOGIE APPLICATE 2015/2016 Classe 2ª Sez. C Tecnologico

(1) (2) (3) (4) 11 nessuno/a (1) (2) (3) (4) X è il minore tra A e B nessuno/a X è sempre uguale ad A X è il maggiore tra A e B

Chiusura lineare. N.B. A può essere indifferentemente un insieme, finito o no, o un sistema. Es.1. Es.2

Semantica dei programmi. La semantica dei programmi è la caratterizzazione matematica dei possibili comportamenti di un programma.

Algoritmi e Strutture Dati

Tecniche Reticolari. Problema: determinare l istante di inizio di ogni attività in modo che la durata complessiva del progetto sia minima

Laboratorio di Programmazione II Corso di Laurea in Bioinformatica Dipartimento di Informatica - Università di Verona

CAPITOLO IV RISOLUZIONE DEI SISTEMI LINEARI COL METODO DEI DETERMINANTI

Fondamenti dell Informatica Ricorsione e Iterazione Simona Ronchi Della Rocca (dal testo: Kfoury, Moll and Arbib, cap.5.2)

Laboratorio di Algoritmi e Strutture Dati

4 Le liste collegate 4.0. Le liste collegate. 4 Le liste collegate Rappresentazione di liste 4.1 Rappresentazione di liste

Esercizi del Corso di Statistica. Parte I - Variabili Aleatorie Continue

4.1 Modelli di calcolo analisi asintotica e ricorrenze

A i è un aperto in E. i=1

Capitolo 6: Modelli di calcolo per linguaggi imperativi e funzionali

VBA è un linguaggio di scripting derivato da Visual Basic, da cui prende il nome. Come ogni linguaggio ha le sue regole.

TEORIA RELAZIONALE: INTRODUZIONE

Capitolo 5: Macchine di Turing e calcolabilitá secondo Turing

Esempi di errori/difetti. algoritmi sintassi calcolo e precisione documento stress capacità ricovery sistema hardware e software standard e procedure

Lezioni di Ricerca Operativa. Corso di Laurea in Informatica Università di Salerno. Lezione n 4

Appunti delle esercitazioni di Ricerca Operativa

Laboratorio di architettura degli elaboratori Progetto finale AA 2005/2006

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica 2

Esercizi di Algoritmi e Strutture Dati

Esame di Informatica Generale 25 giugno 2012 Professori: Carulli, Fiorino. Docente Risultati Scritto Fiorino Carulli

Introduzione a Visual Basic Lezione 1 Concetti base e istruzioni condizionali

GESTIONE DI MDB in WEB

Massimi e minimi vincolati

ESERCIZIO 1 (Definizione funzioni passaggio parametri per copia)

Due algoritmi di ordinamento. basati sulla tecnica Divide et Impera: Mergesort e Quicksort

Transcript:

1 Giovedì 2 Marzo 2017 1 Istituto di Analisi dei Sistemi ed Informatica IASI - CNR

Pseudo-code del metodo Fermi-Metropolis Input: x 0, 0, min, maxit k 0, x x 0, 0 while k maxit and min do k k + 1, x x for i = 1, 2,..., n if f ( x + e i ) < f ( x) then while f ( x + e i ) < f ( x) do x x + e i end while else if f ( x e i ) < f ( x) then while f ( x e i ) < f ( x) do x x e i end while end if end for if f ( x) = f (x) then /2 else x x end if end while Return: x (miglior punto determinato)

Testo d esame Si consideri il problema non vincolato seguente: min x,y f (x, y), con f (x, y) = max{x 2 + y 2, (x 1) 2 + y 2 }. Siano x 0 = (0, 0) e 0 = 1, il punto ed il passo iniziali del metodo Fermi-Metropolis. - Scrivere i punti di tentativo (e relativi valori di funzione) del metodo nella sua prima iterazione. - Scrivere il punto x 1, determinato dal metodo alla fine della prima iterazione. Siano ora x 0 = (0, 0) e 0 = 0.5. - Scrivere i punti di tentativo (e relativi valori di funzione) del metodo nella sua prima iterazione. - Scrivere il punto x 1, determinato dal metodo alla fine della prima iterazione.

Pseudo-code del compass search Input: x 0, 0, min, maxit, D = {±e i, i = 1,..., n} k 0, x x 0, 0 while k maxit and min do k k + 1 Let d D be s.t. f (x + d) = min d i D f (x + d i) if f (x + d) < f (x) then x x + d else /2 endif end while Return: x (miglior punto determinato)

Testo d esame Si consideri il problema non vincolato seguente: min x,y f (x, y), con f (x, y) = max{x 2 + y 2, (x 1) 2 + y 2 }. Siano x 0 = (0, 0) e 0 = 1, il punto ed il passo iniziali del metodo compass search. - Scrivere i punti di tentativo (e relativi valori di funzione) del metodo nella sua prima iterazione. - Scrivere il punto x 1, determinato dal metodo alla fine della prima iterazione. Siano ora x 0 = (0, 0) e 0 = 0.5. - Scrivere i punti di tentativo (e relativi valori di funzione) del metodo nella sua prima iterazione. - Scrivere il punto x 1, determinato dal metodo alla fine della prima iterazione.

Pseudo-code del metodo Fermi-Metropolis Input: x 0, 0, min, maxit k 0, x x 0, 0 while k maxit and k min do k k + 1, x x k for i = 1, 2,..., n if f ( x + k e i ) < f ( x) then while f ( x + k e i ) < f ( x) do x x + k e i end while else if f ( x k e i ) < f ( x) then while f ( x k e i ) < f ( x) do x x k e i end while end if end for if f ( x) = f (x) then k+1 k /2, x k+1 x k else x k+1 x, k+1 k end if k k + 1 end while Return: x (miglior punto determinato){x k }, { k } successioni di punti e passi

Pseudo-code del compass search Input: x 0, 0, min, maxit, D = {±e i, i = 1,..., n} k 0, x x 0, 0 while k maxit and k min do k k + 1 Let d D be s.t. f (x k + k d) = min d i D f (x k + k d i ) if f (x k + k d) < f (x k ) then x k+1 x k + k d, k+1 k else k+1 k /2, x k+1 x k endif k k + 1 end while Return: x (miglior punto determinato){x k }, { k } successioni di punti e passi

Un po di analisi Assunzione (A1) L insieme di livello L(x 0 ) = {x R n : f (x) f (x 0 )} è compatto N.B. nei (due) metodi visti, il passo k, iterazione dopo iterazione, o diminuisce (di un fattore costante k+1 k /2) o rimane costante ( k+1 k ) Lemma Se (A1) è soddisfatta, min 0 e maxit = +, allora { k } è una succ. infinita e lim k k = 0.

Convergenza a zero del passo Lemma Se (A1) è soddisfatta, min 0 e maxit = +, allora { k } è una succ. infinita e lim k k = 0. Dim.: Se min 0 e maxit = +, la condizione del while più esterno è sempre vera, quindi l algoritmo non termina mai, producendo una succ. { k } infinita. Dalla def. dell algoritmo segue che, per ogni k, k > 0; k+1 k. Quindi, lim k k = 0. Supponiamo che > 0.

Convergenza a zero del passo (segue) Esiste un intero k tale che, per k k il passo non viene più ridotto. Quindi, per ogni k k f (x k+1 ) < f (x k ) e k+1 = k = k =. Quindi, per ogni k k, i punti x k appartengono ad una griglia, ovvero, per i > 0 i 1 x k+i = x k + d ir L(x 0 ) d ir D r=0 Questo e (A1) implicano che {x k } k k (e {x k}) è finita.

Convergenza a zero del passo (segue) Ma allora, deve necessariamente esistere un intero k > k t.c. x k+1 = x k, ma questo contraddice il fatto che f (x k+1 ) < f (x k ) e allora, = 0.

Convergenza a punti stazionari Per i metodi visti vale il risultato Teorema Se vale (A1) e se f (x) è continuamente differenziabile, allora liminf k f (x k) = 0. (Ovvero almeno un punto limite di {x k } è stazionario) Dim. {x k } L(x 0 ); esiste K 1 {0, 1, 2,... } s.t. k+1 = k /2. Consideriamo la sottosuccessione {x k } k K1 (contenuta in L(x 0 ), ammette punti limite). K 2 K 1 s.t. lim k,k K 2 x k = x; lim k,k K 2 k = 0.

Convergenza a punti stazionari (segue) Per ogni k K 2 e i = 1,..., n, abbiamo che f (x k + k e i ) f (x k ) f (x k k e i ) f (x k ) e, per il teorema della media, f (x k + k e i ) = f (x k ) + k f (u k,i ) e i f (x k k e i ) = f (x k ) k f (v k,i ) e i dove u k,i = x k + ξ k,i k e i e v k,i = x k µ k,i k e i, con ξ k,i, µ k,i (0, 1) e quindi lim u k,i = lim v k,i = x. k,k K 2 k,k K 2

Convergenza a punti stazionari (segue) Segue anche che: k f (u k,i ) e i 0 k f (v k,i ) e i 0. Dividendo per k e prendendo il limite per k, k K 2 otteniamo lim f (u k,i ) e i = f ( x) e i 0 k,k K 2 lim f (v k,i ) e i = f ( x) e i 0, k,k K 2 e quindi, f ( x) = 0.