Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali"

Transcript

1 Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Tesina di Ottimizzazione Anno Accademico 2011/2012 Optimization Toolbox di Matlab: Studio delle più importanti funzioni che il tool mette a disposizione, degli algoritmi utilizzati e applicazione del software a problemi di test reperibili in rete. Studente: Gianluca Carbone Professore: Giancarlo Raiconi 1

2 Indice 1. Che cos è Optimization Toolbox 4 - Introduzione e funzionalità chiave - Definizione, soluzione e valutazione di problemi di ottimizzazione - Programmazione non lineare - Ottimizzazione multi obiettivo - Minimi quadrati, fitting dei dati ed equazioni non lineari - Programmazione lineare - Programmazione binaria intera - Programmazione quadratica - Ricsoluzione di problemi di ottimizzazione usando il calcolo parallelo 2. Overview 17 - Uso delle funzioni di ottimizzazione - Medium Scale ( or Standard) algorithm - Large Scale algorithm - Funzioni disponibili 3. Funzioni in categorie e Input/Output 20 - Funzioni in categorie - Input/Output 4. Algoritmi Standard 26 - Gradient Methods - Quasi Newton Methods - Aggiornamento Hessiano - Procedure di linea di ricerca - Ottimizzazione con i minimi quadrati - Metodo Gauss Newton - Metodo di Levemberg Marquardt - Implementazione minimi quadrati non lineari 2

3 5. Algoritmi su larga scala 34 - Metodi Trust Region per minimizzazione non lineare - Gradienti coniugati precondizionati - Minimi quadrati non lineari - Minimi Quadrati lineari 6. My functions ( qualche funzione in dettaglio) 38 - Minimizzazione non vincolata non lineare ( fminsearch, fminunc ) - Minimi quadrati lineari e non lineari ( lsqlin, lsqnonlin ) 3

4 1. Che cos è Optimization Toolbox E una collezione di funzioni che estendono la capacità dell'ambiente di calcolo numerico di Matlab. La toolbox include procedure per molti tipi di ottimizzazione tra cui: Minimizzazione non lineare non vincolata; Minimizzazione non lineare vincolata, tra cui problemi goal attainment, problemi minimax e problemi di minimizzazione semi- infinita; Programmazione quadratica e lineare; Minimi quadrati e curve-fitting non lineari; Risoluzione di sistemi di equazioni non lineari; Minimi quadrati lineari vincolati; Problemi su larga scala sparsi e strutturati. Tutte le funzioni sono M-files di Matlab, costituiti di dichiarazioni che implementano algoritmi specializzati di ottimizzazione. E possibile vedere il codice Matlab di queste funzioni usando la dichiarazione " type function_name ". E possibile estendere le capacità di Optimization Tolbox scrivendo proprie funzioni Matlab, o usando il toolbox in combinazione con altri toolboxes con Matlab o Simulink (Simulink è un ambiente per la simulazione multidominio e per la progettazione basata sulla modellazione per sistemi dinamici e integrati. Mette a disposizione un'interfaccia grafica interattiva e una serie di librerie personalizzabili per sviluppare, simulare, implementare e testare numerose categorie di sistemi variabili nel tempo, comprendenti tematiche quali comunicazioni elettriche, controlli, elaborazione di segnali, video e immagini.). 1.1 Introduzione e funzionalità chiave Optimization Toolbox fornisce algoritmi di uso comune per ottimizzazioni standard e su larga scala. Questi algoritmi risolvono problemi discreti e continui, vincolati e non. La toolbox comprende funzioni per la programmazione lineare, quadratica, binaria intera, ottimizzazione non lineare, minimi quadrati non lineari, 4

5 sistemi di equazioni non lineari e ottimizzazione multiobiettivo. Sono disponibili funzioni per identificare le soluzioni ottimali, eseguire l'analisi di bilanciamento, equilibrare le molteplici alternative progettuali e incorporare i metodi di ottimizzazione in algoritmi e modelli. Individuazione di una minima locale della funzione peaks utilizzando un solutore di ottimizzazione basato su gradiente fornito da Optimization Toolbox. Funzionalità chiave Strumenti interattivi per definire e risolvere problemi di ottimizzazione e monitorare il progresso verso la soluzione Solutori per ottimizzazione non lineare e multiobiettivo Solutori dei minimi quadrati non lineari, fitting dei dati ed equazioni non lineari Metodi per risolvere problemi di programmazione quadratici e lineari Metodi per risolvere problemi di programmazione binaria intera Supporto del calcolo parallelo nei solutori non lineari vincolati selezionati 5

6 Un'immagine sfocata restaurata mediante l'algoritmo dei minimi quadrati lineari su larga scala 1.2 Definizione, soluzione e valutazione di problemi di ottimizzazione Optimization Toolbox comprende molti dei metodi più comuni per la minimizzazione e la massimizzazione. La toolbox implementa algoritmi sia standard sia su larga scala per consentire di risolvere i problemi sfruttando la sparsità o la struttura. Le funzioni e i solutori del toolbox sono accessibili da Optimization Tool o dalla riga di comando. Una routine di ottimizzazione eseguita dalla riga di comando (a sinsitra) per chiamare file MATLAB definendo la funzione obiettivo (a destra) e le equazioni di vincolo (a destra). Optimization Tool semplifica molte operazioni di ottimizzazione comuni. Consente di: selezionare un solutore e definire un problema di ottimizzazione; impostare e ispezionare le opzioni di ottimizzazione con i rispettivi valori predefiniti per il solutore selezionato; eseguire i problemi e visualizzare i risultati intermedi e finali; visualizzare la documentazione specifica del solutore in una finestra opzionale di riferimento rapido; importare ed esportare le definizioni dei problemi, le opzioni dell'algoritmo e i risultati tra il workspace MATLAB e Optimization Tool; generare automaticamente il codice MATLAB per registrare il lavoro svolto e automatizzare le operazioni; accedere ai solutori di Global Optimization Toolbox. 1.3 Programmazione non lineare 6

7 Optimization Toolbox fornisce algoritmi di ottimizzazione di uso diffuso per risolvere problemi della programmazione non lineare in MATLAB. La toolbox include solutori per l'ottimizzazione non lineare vincolata e non e solutori per l'ottimizzazione dei minimi quadrati. Ottimizzazione non lineare non vincolata Optimization Toolbox utilizza tre algoritmi per risolvere problemi di ottimizzazione non lineare non vincolata: l'algoritmo Quasi-Newton utilizza una procedura di ricerca lineare mista quadratica e cubica e la formula di Broyden-Fletcher-Goldfarb-Shanno (BFGS) per aggiornare l'approssimazione della matrice hessiana; l'algoritmo di Nelder-Mead è un algoritmo a ricerca diretta che utilizza solamente i valori della funzione (non richiede il calcolo delle derivate) e agisce sulle funzioni obiettivo non-smooth. Global Optimization Toolbox fornisce altri algoritmi di ottimizzazione senza calcolo delle derivate per l'ottimizzazione non lineare; l'algoritmo trust-region viene utilizzato per problemi non lineari non vincolati, soprattutto per problemi su larga scala in cui sia possibile sfruttare la sparsità o la struttura. Programmazione non lineare non vincolata utilizzata per la ricerca dell'efficienza di picco in una mappa di performance di un motore. Ottimizzazione non lineare vincolata I problemi di ottimizzazione non lineare vincolata sono composti da funzioni obiettivo non lineari e possono essere soggetti a vincoli lineari e non lineari. Optimization Toolbox utilizza quattro algoritmi per risolvere i seguenti problemi. 7

8 L'algoritmo a punto interno viene utilizzato per l'ottimizzazione non lineare generale. È soprattutto utile per problemi su larga scala con sparsità o struttura e tollera errori di valutazione nella funzione obiettivo definita dall'utente e nella funzione di vincolo. Si basa su una funzione di barriera e, a scelta, assicura la fattibilità di tutte le iterate rispetto ai contorni durante un'ottimizzazione. L'algoritmo SQP viene utilizzato per l'ottimizzazione non lineare generale. Rispetta i contorni e tutte le iterazioni e tollera errori di valutazione nella funzione obiettivo definita dall'utente e nella funzione di vincolo. L'algoritmo active-set viene utilizzato per l'ottimizzazione non lineare generale. L'algoritmo riflessivo trust-region viene utilizzato solamente per problemi con vincoli al contorno o con uguaglianze lineari. È utile soprattutto per problemi su larga scala. L'algoritmo a punto interno e l'algoritmo riflessivo trust-region consentono di calcolare gli hessiani con approcci diversi. Per l'algoritmo a punto interno, è possibile stimare gli hessiani usando: BFGS (densa); BFGS a memoria ridotta (per problemi su larga scala); funzione di moltiplicazione hessiana; hessiana reale (sparsa o densa); differenza finita di gradienti, senza necessità di conoscenza della struttura di sparsità. Per l'algoritmo riflessivo trust-region, è possibile usare: differenza finita di gradienti, hessiana con conoscenza della struttura di sparsità; hessiana reale (sparsa o densa); funzione di moltiplicazione hessiana. Inoltre, gli algoritmi punto interno e riflessivo trust-region consentono di calcolare i prodotti tra la matrice hessiana e un vettore senza dover allocare esplicitamente la matrice stessa. Optimization Toolbox include inoltre un'interfaccia per le librerie KNITRO di Ziena Optimization per la soluzione di problemi di ottimizzazione non lineari vincolati. 8

9 Programmazione non lineare vincolata utilizzata per progettare un sistema di sospensioni ottimale. 1.4 Ottimizzazione multiobiettivo L'ottimizzazione multiobiettivo si concentra sul minimizzare le funzioni multiobiettivo soggette a una serie di vincoli. Optimization Toolbox fornisce le funzioni per la soluzione di due formulazioni di problemi di ottimizzazione multiobiettivo. Il problema del raggiungimento degli obiettivi riguarda la riduzione del problema di una funzione vettoriale lineare o non lineare per raggiungere i valori obiettivo di un vettore obiettivo. L'importanza relativa degli obiettivi è indicata tramite un vettore di pesi. Il problema del raggiungimento degli obiettivi può anche essere soggetto a vincoli lineari e non lineari. Il problema minimax riguarda la minimizzazione del valore di caso peggiore di una serie di funzioni multivariate eventualmente soggetto a vincoli lineari e non lineari. Optimization Toolbox trasforma entrambi i tipi di problemi multiobiettivo in normali problemi di ottimizzazione vincolata, quindi li risolve secondo un approccio activeset. Global Optimization Toolboxfornisce un ulteriore solutore multiobiettivo per problemi non-smooth. 9

10 Ottimizzazione multiobiettivo utilizzata per progettare un filtro passa-basso. 1.5 Minimi quadrati, fitting dei dati ed equazioni non lineari Optimization Toolbox è in grado di risolvere problemi di minimi quadrati non lineari, problemi di fitting dei dati ed equazioni non lineari. Ottimizzazione lineare e non lineare dei minimi quadrati La toolbox utilizza due algoritmi per risolvere i problemi di minimi quadrati lineari: l'algoritmo di media scala implementa un algoritmo active-set e viene utilizzato per risolvere problemi con contorni e uguaglianze o disuguaglianze lineari; l'algoritmo di larga scala implementa un algoritmo riflessivo trust-region e viene utilizzato per risolvere problemi aventi solo vincoli al contorno. La toolbox utilizza due algoritmi per risolvere i problemi di minimi quadrati non lineari: l'algoritmo riflessivo trust-region implementa l'algoritmo di Levenberg- Marquardt utilizzando un approccio trust-region. Viene utilizzato per problemi non vincolati e con vincoli al contorno; 10

11 l'algoritmo di Levenberg-Marquardt implementa un metodo standard di Levenberg-Marquardt. Viene utilizzato per problemi non vincolati. Fitting di un'equazione trascendentale utilizzando i minimi quadrati non lineari. Fitting dei dati La toolbox comprende anche un'interfaccia specializzata per problemi di fitting dei dati nei quali si vuole trovare il rappresentante più adatto di una famiglia di funzioni non lineari per un set di punti di dati. La toolbox utilizza gli stessi algoritmi per risolvere i problemi di fitting dei dati utilizzati per i problemi di minimi quadrati non lineari. Fitting di un'equazione esponenziale non lineare mediante la curva dei minimi quadrati. 11

12 Soluzione di equazioni non lineari Optimization Toolbox implementa un algoritmo trust-region "dogleg" per risolvere un sistema di 'n' equazioni non lineari. La toolbox è anche in grado di risolvere questo tipo di problemi utilizzando l'algoritmo riflessivo trust-region o l'algoritmo di Levenberg-Marquardt. Soluzione di una funzione Rosenbrock n-dimensionale utilizzando il solutore per equazioni non lineari. 1.6 Programmazione lineare Ingegneri e scienziati usando la modellazione matematica per descrivere il comportamento dei sistemi oggetto di studio. I requisiti di sistema, quando definiti matematicamente come vincoli sugli input delle variabili decisionali all'interno del modello di sistema matematico, formano un programma matematico. Tale programma matematico, o descrizione del problema di ottimizzazione, può poi essere risolto usando le tecniche di ottimizzazione. La programmazione lineare è una classe di programmi matematici in cui l'obiettivo e i vincoli sono relazioni lineari. I problemi di programmazione lineare riguardano un'espressione lineare per la funzione obiettivo e vincoli di uguaglianza o disuguaglianza lineare. Optimization Toolbox include tre algoritmi utilizzati per risolvere questo tipo di problemi. 12

13 L'algoritmo punto interno si basa su un algoritmo predittore-correttore primario-duale utilizzato per risolvere problemi della programmazione lineare. È utile soprattutto per problemi su larga scala strutturati o definibili mediante matrici sparse. L'algoritmo active-set minimizza l'obiettivo a ciascuna iterazione di tutto il set attivo (un subset dei vincoli attivi localmente) fino a convergere in una soluzione. L'algoritmo simplesso è una procedura sistematica per generare e testare le soluzioni al vertice candidate di un programma lineare. L'algoritmo simplesso è quello maggiormente utilizzato per la programmazione lineare. Programmazione lineare utilizzata nella progettazione di un impianto di generazione di vapore ed energia elettrica. 1.7 Programmazione binaria intera I problemi di programmazione binaria intera riguarda la minimizzazione di una funzione obiettivo lineare soggetta a vincoli di uguaglianza o disuguaglianza lineare. Ogni variabile della soluzione ottimale deve assumere il valore 0 o 1. Optimization Toolbox risolve questi problemi utilizzando un algoritmo di enumerazione implicita (Branch and Bound) che: ricerca una soluzione intera binaria praticabile; aggiorna il miglior punto binario trovato via via che l'albero di ricerca cresce; verifica che non esista una soluzione migliore, risolvendo una serie di problemi di rilassamento della programmazione lineare. 13

14 Programmazione binaria intera utilizzata per risolvere un problema di investimento. 1.8 Programmazione quadratica I problemi di programmazione quadratica riguardano la minimizzazione di una funzione quadratica multivariata soggetta a limiti e vincoli di uguaglianza lineare e di disuguaglianza. Optimization Toolbox contiene tre algoritmi per la soluzione di programmi quadratici: l'algoritmo convesso a virgola interna risolve problemi complessi con qualsiasi combinazione di vincoli; l'algoritmo riflessivo trust-region risolve problemi con vincoli di limite o problemi con vincoli di uguaglianza lineare; l'algoritmo active-set risolve problemi con qualsiasi combinazione di vincoli. Sia l'algoritmo convesso a virgola interna che quello riflessivo trust-region sono su larga scala, ossia possono gestire problemi di ampie dimensioni e sparsi. Inoltre, l'algoritmo convesso a virgola interna ha routine algebriche lineari ottimizzate e un nuovo modulo di presoluzione che può migliorare la velocità, la stabilità numerica e la rilevazione dell'infattibilità. 14

15 Programmazione quadratica utilizzata per eseguire un'analisi di stile basata sulla redditività di tre fondi d'investimento. 1.9 Risoluzione di problemi di ottimizzazione usando il calcolo parallelo Optimization Toolbox può essere utilizzata insieme a Parallel Computing Toolbox per risolvere problemi che possono trarre vantaggio dal calcolo parallelo. È possibile abilitare il supporto integrato del calcolo parallelo per ridurre i tempi necessari alla soluzione oppure definendo un'implementazione di calcolo parallelo personalizzata di un problema di ottimizzazione. Il supporto integrato per il calcolo parallelo in Optimization Toolbox consente di velocizzare la fase di stima del gradiente in solutori specifici per problemi di ottimizzazione non lineare vincolata e per problemi multiobiettivo di raggiungimento degli obiettivi e minimax. 15

16 Accelerazione del tempo della soluzione di un problema elettrostatico utilizzando il supporto integrato per calcolo parallelo in un solutore di programmazione non lineare. La funzionalità integrata viene abilitata specificando l'opzione UseParallel (a sinistra) per le funzioni obiettivo (al centro a destra) e vincolo (in basso a destra). La soluzione è mostrata in alto a destra. È possibile personalizzare un'implementazione di calcolo parallelo definendo esplicitamente il problema di ottimizzazione per l'utilizzo della funzionalità di calcolo parallelo. È possibile definire una funzione obiettivo o una funzione vincolo per utilizzare il calcolo parallelo, e ciò consente di ridurre il tempo necessario per valutare l'obiettivo o il vincolo. Accelerazione del tempo di soluzione (in alto a destra) per il progetto di un sistema di sospensioni (in basso a sinistra e a destra) soggetto ad aleatorietà, personalizzando la funzione obiettivo con una semplice modifica di una riga del codice (in alto a sinistra). 16

17 2. Overview 2.1 Uso delle funzioni di ottimizzazione Molte di queste procedure richiedono la definizione di un M-file contenente la funzione che deve essere minimizzata, ad esempio la funzione obbiettivo. Alternativamente, è possibile utilizzare un oggetto inline creato da Matlab. La massimizzazione è ottenuta fornendo la routine con f, dove f è la funzione da ottimizzare. L option di ottimizzazione passata alla procedura cambia i parametri di ottimizzazione. I parametri di default sono utilizzati ampiamente ma è possibile cambiarli attraverso la struttura options. Il gradienti sono calcolati usando un metodo adattivo a differenza finita a meno che sono forniti in una funzione. I parametri possono essere passati direttamente alle funzioni evitando la necessità di variabili globali. Separiamo gli algoritmi su media-scala da gli algoritmi su larga-scala. Media - scala non è un termine standard ed esso è usato solo per differenziare questi algoritmi da quelli a larga scala che sono progettati per gestire problemi efficienti su larga scala. 2.2 Medium-Scale (or Standard) Algorithm Le routines di optimization tool offre una scelta di algoritmi e linea di ricerca di strategie. I principali algoritmi per la minimizzazione non vincolata sono i metodi di ricerca del simplesso Nelder Mead e il metodo Quasi newton di BFGS (Broyden,flecher,Goldfarb e Shanno). Per la minimizzazione vincolata, minimax, goal attainment, e ottimizzazione semi-infinita, sono usati variazioni della programmazione quadratica sequenziale(sqp). I problemi Minimi quadrati non lineari usano i metodi di Gauss-Newton e Levemberg-Marquardt. Equazioni non lineari si risolvono anche usando l algoritmo trust-region dogleg(regione di confidenza). Una scelta di strategia di linea di ricerca è data per la minimizzazione non vincolata e problemi di minimi quadrati. 17

18 Le strategie di linea di ricerca usano salvaguardare i metodi di interpolazione estrapolazione cubica e quadratica. 2.3 Large scale Algorithm Tutti gli algoritmi su larga scala, eccetto la programmazione lineare, sono metodi trust-region. I problemi a vincolo limitato ( bound) sono risolti usando i metodi di newton riflessivo. I vincoli di uguaglianza sono risolti usando un iterazione gradiente coniugato precondizione proiettiva. Puoi utilizzare i risolutori iterativi sparsi o risolutori diretti sparsi per risolvere sistemi lineari per determinare il passo corrente. Qualche scelta di precondizione nei risolutori iterativi è anche disponibile. Il metodo di programmazione lineare è una variante dell algoritmo di Mehrotra predictor-corrector, un metodo primale duale interior-point. L idea di base dei metodi di trust region ( regione di confidenza ) è di determinare la direzione e l ampiezza dello spostamento da effettuare a partire dal punto corrente xk in modo da minimizzare un modello quadratico della funzione obiettivo in una regione sferica di centro xk. 2.4 Funzioni disponibili Le tabelle seguenti mostrano le funzioni disponibili per minimizzazione, risoluzione di equazioni, e la risoluzione di minimi quadrati o problemi di data- fitting. Le tabelle mostrano una lista dei tipi di problemi in ordine di complessità crescente. 18

19 19

20 Per gli algoritmi Standard (o su media-scala) a scopo di esempio verranno utilizzate le funzioni fminunc, fmincon e fsolve. Le altre routines di ottimizzazione, fgoalattain fminimax, lsqnonlin, e fseminf, sono utilizzati in maniera quasi identica, con differenze solo nella formulazione del problema e i criteri di terminazione. Per quanto riguarda l ottimizzazione multi obbiettivo è possibile dare diversi esempi che utilizzano le funzioni lsqnonlin, fminimax, e fgoalattain, includendo come Simulink può essere usato in combinazione con il toolbox. Per gli algoritmi su larga scala alcune delle funzioni di ottimizzazione include algoritmi per problemi di ottimizzazione continua mirati specialmente ai problemi grandi sparsi o strutture. I principali algoritmi su larga scala sono iterativi, ad esempio, è generata una sequenza di soluzioni approssimate. In ogni iterazione è risolto approssimativamente un sistema lineare. I sistemi lineari sono risolti usando matrici sparse funzionalità di Matlab e una varietà di tecniche di soluzioni lineari sparse, entrambi iterativi e diretti. In generale, i metodi di ottimizzazione su larga scala preservano la sparsità e la struttura, utilizzando informazioni esatte dove possibile. Per risolvere i problemi su larga scala efficientemente, alcune formulazioni di problemi sono limitate ( come solo la risoluzione di sistemi sovradeterminati lineari e non lineari) o richiede informazioni aggiuntive( ad esempio nell algoritmo di minimizzazione non lineare si richiede che il gradiente sia fornito in una funzione supplementare fornita dall utente). 3. Funzioni in categorie e Input/Output 3.1 Funzioni in categorie Optimization toolbox prevede queste categorie di funzioni : Minimizzazione Risoluzione di equazioni Minimi quadrati (Curve Fitting) Utility Funzioni di minimizzazione Soluzione di equazioni lineari e non lineari Curve fitting lineare e non lineare Settaggio e ritorno dei parametri di ottimizzazione 20

21 Minimizzazione Fgoalattain Fminbnd Fmincon Fminimax Fminsearch,fminunc Fseminf Linprog Quadprog Goal attainment multiobbiettivo Minimizzazione di scalare non lineare con limite Minimizzazione vincolata non lineare Ottimizzazione minimax Minimizzazione non vincolata non lineare Minimizzazione semi-infinita Programmazione lineare Preogrammazione quadratica Risoluzione di equazioni \ Usa \ (left division) per risolvere equazioni lineari. Visits la pagina dei riferimenti degli Operatori Aritmetici nella documentazione online di Matlab. Fsolve Risoluzione di eqauzioni non lineari Fzero Risoluzione di equazioni scalari non lineari Minimi quadrati (Curve Fitting) \ Usa \ (left division) per I minimi quadrati lineari senza vincoli Vedi pagina dei riferimenti degli Operatori Aritmetici Lsqlin Minimi quadrati con vicoli lineari Lsqcurvefit Curve Fitting non lineari Lsqnonlin Minimi quadrati non lineari Lsqnonneg Minimi quadrati lineari non-negativi Utility fzmult Moltiplicazione con basi nullspace fondamentali 21

22 gangstr Zero out small entries soggette a grado strutturale optimget Ottenere i valori dei parametri delle opzioni di ottimizzazione optimset Creare o editare struttura dei parametri di opzioni di ottimizzazione 3.2 Input/Output Argomenti di Input Argument Description Used by function A,b La matrice A e il vettore b sono, rispettivamente, i fgoalattain, fmincon, fminimax, coefficienti dei vincoli di diseguaglianza lineare e il fseminf, linprog, corrispondente vettore della parte destra : A*x <= b lsqlin, quadprog Aeq,beq La matrice Aeq e il vettore beq sono, rispettivamente, i fgoalattain, fmincon, fminimax, coefficienti dei vincoli di diseguaglianza lineare e il fseminf, linprog, corrispondente vettore della parte destra : Aeq*x <= lsqlin, quadprog beq C,d f fun goal H lb,ub La matrice C e il vettore d sono, rispettivamente, i coefficienti di più o sistemi lineari indeterminati e il vettore della parte destra da risolvere Il vettore dei coefficienti per il termine lineare nell equazione lineare f *x o l eqauzione quadratica x *H* x + f *x La funzione da ottimizzare.fun è una funzione o un oggetto inline.guarda la funzione sulla pagina di riferimento per avere maggiori informazioni su fun Vettori di valori di obbiettivi che si tenta di raggiungere.il vettore è della stessa lunghezza del numero di obbiettivi. La matrice di coefficienti per i termini quadratici nell equazione quadratica x * H*x+f *x. H deve essere simmetrico Vettori di upper e lower bound( o matrici).gli argomenti sono normalmente della stessa size di x.qualche volta se lb ha meno elementi rispetto a x, lsqlin, lsqnonneg linprog, quadprog fgoalattain, fminbnd, fmincon, fminimax, fminsearch, fminunc, fseminf, fsolve, fzero, lsqcurvefit, lsqnonlin fgoalattain quadprog fgoalattain, fmincon, fminimax, fseminf, linprog, lsqcurvefit, 22

23 nonlcon detto m, allora solo i primi m elementi di x sono limitati inferiormente;upper bound in ub può essere definito nello stesso modo.puoi anche specificare variaibli senza limiti usando Inf(per lower bounds) o Inf(per upper bounds)per esempio, se lb(i)=-inf, la variabile x(i) è non limitata inferiormente. La funzione che calcola i vincoli di uguaglianza e diseguaglianza non lineare. Vedi l unca pagina di riferimenti per avere maggiori informazioni su nonlcon. lsqlin, lsqnonlin, quadprog fgoalattain, ntheta Il numero di vincoli semi-infiniti fseminf options P1,P2. seminfcon weight xdata,ydata x0 Una struttura di parametri di opzioni di ottimizzazione che definisce parametri usati dalle funzioni di ottimizzazioni. Argomenti addizionali passati a fun, nonlcon( se esso esiste), e seminfcon (se esso esiste),quando la funzione di ottimizzazione chiama le funzioni fun,nonlcon, o seminfcon usando queste chiamano: f=feval(fun,x,p1,p2, ) [c, ceq] = (feval (nonlcon,x,p1,p2,.) [c,ceq,k1,k2,.,kn,s]= feval(seminfcon,x,s,p1,p2, ) Usando questa funzionalità, ka stessa fun( o nonlcon o seminfcon) può risolvere un numero di problemi simili con differenti parametri, evitando il bisogno di usare variabili globali. La funzione che calcola la diseguaglianza non lineare e i vincoli di eguaglianza e i vincoli semi-infiniti. Seminfcon è il nome di un M-file o Mex-file.Vedi le pagine di riferimento per fseminf per maggiori informazioni su seminfcon. Un vettore di peso per controlare la relativa sotto ottenimento o sopra ottenimento degli obbiettivi L input xdata e l output ydata osservato che sono costruiti dall equazione Punto di inizio(uno scalare,una matrice o vettore) Per fzero,x0 può anche essere un vettore di due elementi rappresentante un intervall che è noto contenere uno zero. fmincon, fminimax All functions fgoalattain, fminbnd, fmincon, fminimax, fminsearch, fminunc, fseminf, fsolve, fzero, lsqcurvefit, lsqnonlin fseminf fgoalattain lsqcurvefit All functions except fminbnd x1,x2 L intervallo sopra cui la funzione è minimizzata fminbnd 23

24 Argomenti di Output Argument Description Used by Functions attainfactor Il fattore atteso alla soluzione x fgoalattain exitflag fval grad La condizione di uscita.per il significato di un particolare valore, vedi la pagina dei riferimenti alle funzioni. Il valore della funzione obbiettivo fun alla soluzione x Il valore del gradiente di fun alla soluzione x. Se fun non calcola il gradiente, grad è una approssimazione finita-differenziale del gradiente hessian Il valore dell hessiano di fun alla soluzione x. Per i metodi su larga scala, se fun non calcola l hessiano, hessian è un approssimazione finitadifferenziale dell Hessiano. Per i metodi su media scala, hessian è il valore della approssimazione di Quasi-Newton dell Hessiano alla soluzione x. jacobian Il valore dello Jacobiano di fun alla soluzione x. Se fun non calcola lo Jacobiano, jacobian è una approssimazione finita-differenziale dello Jacobiano. lambda Il moltiplicatore di Lagrange alla soluzione x. Lambda è una struttura dove ogni campo è per un tipo di vincolo differente. Per la struttura del campo nome, vedi le descrizioni della funzione individuale.( Per lsqnonneg, lambda è un All functions fgoalattain, fminbnd, fmincon, fminimax, fminsearch, fminunc, fseminf, fsolve, fzero, linprog, quadprog fmincon, fminunc fmincon, fminunc lsqcurvefit, lsqnonlin, fsolve fgoalattain, fmincon, fminimax, fseminf, linprog, lsqcurvefit, lsqlin, lsqnonlin, lsqnonneg, 24

25 semplice vettore, come lsqnonneg gestisce solo un tipo di vincolo). quadprog maxval Max{fun(x)} alla soluzione x fminimax output residual resnorm x La struttura dell output che contiene informazioni circa il risultato di ottimizzazione. Per la struttura del coampo nome vedi la descrizione delle singole funzioni. Il valore del residuo alla soluzione x Il valore del quadrato della norma-2 del residuo alla soluzione x. La soluzione trovata attraverso la funzione di ottimizzazione. Se exitflag > 0, allora x è una soluzione; altrimenti, x è il valore della routine di ottimizzazione quando esso termina prematuramente. All functions lsqcurvefit, lsqlin, lsqnonlin, lsqnonneg lsqcurvefit, lsqlin, lsqnonlin, lsqnonneg All functions 25

26 4. Algoritmi Standard Algoritmi standard fornisce un introduzione alle differenti formulazioni dei problemi di ottimizzazione e descrive gli algoritmi di media-scala(standard) usate nelle funzioni del tool. Questi algoritmi sono stati scelti per la loro robustezza e efficienza iterativa. La scelta della formulazione dei problemi (non vincolati,minimi quadrati,vincolati) dipende dal problema in esame e dall efficienza dell esecuzione richiesta. 4.1 Gradient methods I metodi del gradiente sono generalmente molto efficienti quando la funzione da essere minimizzata è continua nella sua derivata prima. Metodi di ordine superiore, come il metodo di Newton, sono solo veramente adatti quando le informazioni di secondo ordine sono prontamente e facilmente calcolabili, perché calcolare le informazioni di secondo ordine, usando differenziazione numerica, è computazionalmente costoso. I metodi del gradiente usano informazioni circa la pendenza della funzione per dettare una direzione di ricerca dove si ritiene sia il minimo. Il più semplice di questi è il metodo di discesa ripida(gradiente) in cui viene eseguita una ricerca in una direzione, - f(x), dove f(x) è il gradiente della funzione obbiettivo. Questo metodo è veramente inefficiente quando la funzione da minimizzare ha lunghe curvature strette. 4.2 Quasi-Newton Methods Tra i metodi che usano le informazioni del gradiente, i più favoriti sono i metodi quasi-newton. Questi metodi costruiscono informazioni di curvatura ad ogni iterazione per formulare il problema del modello quadratico della forma: min (½ x^t )Hx + (c^t)x+b x dove la matrice Hessiana, H, è matrice simmetrica definita positiva, c è un vettore constante, b è una costante. La soluzione ottima per questo problema occorre quando la derivata parziale di x va a zero, ad esempio, = + =0 26

27 Il punto della soluzione ottima, x*, può essere scritto come x* = - (H^-1) c Il metodo di tipo-newton (come opposto ai metodi Quasi -Newton) calcola H direttamente e procede in una direzione di discesa per localizzare il minimo dopo un numero di iterazioni. Calcolare H numericamente comporta un grande numero di computazioni. I metodi Quasi -Newton evitano questo usando il comportamento osservato di f(x) e f(x) per costruire le informazioni di curvatore per fare un approssimazione di H usando un appropriata tecnica di aggiornamento. Sono stai sviluppati un grande numero di metodi di aggiornamento Hessiano. Tuttavia si ritiene che il metodo (BFGS) di Broyden, Fletcher, Goldfarb, e Shanno sia quella di maggiore effetto. La formula data da BFGS è = + q q q s Dove s = q = fx fx Come punto di inizio, può essere settata ad ogni matrice simmetrica definita positiva, per esempio la matrice identità I. Per evitare l inversione dell Hessiano H, puoi derivare un metodo di aggiornamento che evita l inversione diretta di H attraverso l uso di una formula che fa un approssimazione dell Hessiano inverso ad ogni aggiornamento. Una buona procedura conosciuta è la formula DFP di Davidon, Fletcher, e Powell. Questo usa la stessa formula come il metodo BFGS eccetto che è sostituito da L informazione sul gradiente o è fornito calcolando analiticamente i gradienti, o è derivato attraverso una derivazione parziale usando il metodo della differenziazione numerica tramite le differenze finite. Questo porta a perturbare le variabili designate, x, a sua volta e calcolare il tasso di variazione della funzione obbiettivo. Ad ogni iterazione importante, k, una linea di ricerca è eseguita in direzione # = Implementazione Quasi-Newton 27

28 Un algoritmo quasi-newton è usato in fminunc. L algoritmo consiste di due fasi: Determinazione di una direzione di ricerca ( aggiornamento Hessiano) Procedure di ricerca di linea Dettagli sull implementazione delle due fasi sono discusse sotto. 4.3 Aggiornamento Hessiano La direzione di ricerca è determinata attraverso la scelta dei metodi BFGS o DFP dati in Metodi Quasi-Newton. L Hessiano, H, è sempre mantenuto definito positivo così che la direzione di ricerca, d, è sempre in una direzione discendente. Ciò significa che per qualche arbitrario piccolo passo α nella direzione d, la funzione obbiettivo decrementa in grandezza. Raggiungi una definitezza positiva di H garantendo che H è inizializzato ad essere definito positivo e dopo è sempre positivo. Il termine è prodotto al passo di linea di ricerca del parametro α e una combinazione di direzione di ricerca d con la valutazione del passato e presente gradiente, = α # # Raggiunge sempre la condizione che è positiva attraverso l esecuzione di una linea di ricerca sufficientemente accurata. Questo perché la ricerca di direzione, d, è una direzione discendente, così che α e # sono sempre positive.allora il termine possibile negativo è # che può essere fatto piccolo in grandezza come richiesto dall incremento dell accuratezza della linea di ricerca. 4.4 Procedure di linea di ricerca Sono usate due strategie di linea di ricerca, dipende se le informazioni del gradiente sono facilmente disponibili o se deve utilizzare un metodo di differenza finita. Quando le informazioni sul gradiente sono disponibili, si usa di default un metodo polinomiale cubico. Quando le informazioni del gradiente non sono disponibili, si usa di default una quadratica mista e un metodo polinomiale cubico. 4.5 Ottimizzazione con i minimi quadrati 28

29 Le procedure di linea di ricerca usate in congiunzione con un metodo quasi-newton sono usati nella funzione fminunc. Essi usano anche parte delle routines per l ottimizzazione dei minimi quadrati non lineari, lsqnonlin e lsqcurvefit. Nel problema dei minimi quadrati una funzione f(x) è minimizzata cioè una somma di quadrati. 0+1,-. /= % & ( ( = * ( + ( (3-17) Problemi di questo tipo occorrono in un largo numero di applicazioni pratiche specialmente quando le funzioni del modello fitting ai dati, ad esempio, la stima dei parametri non lineari. Essi sono anche prevalente nel controllo quanto voui un output, y(x,t), per seguire qualche traiettoria di modello continuo, Ф(t), per il vettore c e lo scalare t. Questo problema può essere espresso come 0+1,-. / 7 % 2 3,5 Ф5 ( #5 7 & (3-18) Dove y(x,t) e Ф(t) sono funzioni scalari. Quando l integrale è discretizzato usando una formula di quadratura adatta, può essere formulato come un problema di minimi quadrati: 0+1,-. / = 0 +93,5 + Ф5 + ( (3-19) dove y e Ф includono i pesi dello schema di quadratura. Nota che in questo problema il vettore F(x) è F(x) = 3,5 Ф5 3,5 ( Ф5 ( 3,5 0 Ф5 0 Nei problemi di questo tipo, il residuo F(x) è probabile essere l ottimo dato che è la pratica generale settare la traiettoria dell obbiettivo realisticamente raggiungibile. Sebbene la funzione può essere minimizzata usando una tecnica di minimizzazione non vincolata generale. Il gradiente della matrice Hessiana di LS (Eq.3-18) ha una struttura speciale. 29

30 Denotando la matrice Jacobiana m per n di F(x) come J(x), il vettore gradiente di F(x) come G(x), la matrice Hessiana di F(x) come H(x), e la matrice Hessiana di ogni * + +,h<= G(x) =2J >+ 2@ (3-20) Dove 0 Q(x) = +9 * + + La matrice Q(x) ha la proprietà che quando il residuo F(x) tende a zero come approccia alla soluzione, allora Q(x) anche tende a zero. Allora quando F(x) è piccolo alla soluzione, un metodo veramente effettivo è usare la direzione di Gauss- Newton come base per una procedura di ottimizzazione. 4.6 Metodo Gauss-Newton Nel metodo di Gauss-Newton, una direzione di ricerca, # è ottenuta ad ogni iterazione importante k, cioè una soluzione del problema dei minimi quadrati. La direzione derivata da questo metodo è equivalente alla direzione di newton quando il termine di Q(x) può essere ignorato. La direzione di ricerca # può essere utilizzata come parte di una strategia di ricerca di linea per garantire che ad ogni iterazione la funzione f(x) decrementa. Consideriamo le efficienze che sono possibili con il metodo di Gauss-Newton. La figura sottostante mostra il cammino verso il minimo sulla funzione di Rosembrock quando posto il problema dei minimi quadrati. Il metodo di Gauss-Newton converge solo dopo 48 valutazione di funzione usando gradienti a differenza finita, comparato a 140 iterazioni usando un metodo BFGS non vincolato. Il metodo di Gauss-newton spesso incontra problemi quando il termine di secondo ordine nell equazione 3-20 è significativo. Il metodo che supera questo problema è il metodo di Levemberg-Marquardt. 30

31 4.7 Metodo di Levemberg-Marquardt Il metodo di Levemberg-Marquardt usa una direzione di ricerca cioè una soluzione di un insieme lineare di equazioni Dove lo scalare A controlla entrambi la grandezza e la direzione di #.Quando A è zero, la direzione # è identica a ciò del metodo di Gauss-Newton. Come A tende a infinito, #, tende verso un vettore di zero e una direzioen steepest discent. Questo implica che per A sufficientemente grande, il termine * +# B* vale vero. Il termine A può quindi essere controllato per garantire discesa anche quanto termini di secondo ordine, che restringono l efficienza di Gauss Newton, sono incontrati. Il metodo di Levemberg-Marquardt quindi usa una direzione di ricerca che è un incrocio tra la direzione di Gauss Newton e steepest descent. Questo è illustrato nella figura sottostante, il metodo di Levemberg-Marquardt sulla funzione di Rosembrock. La soluzione per la funzione di Rosembrock converge dopo 90 valutazioni di funzione comparate alle 48 del metodo di Gauss-newton. La povertà di efficienza è in parte per il metodo di Gauss-Newton è generalmente più efficace quando il residuo è zero alla soluzione. Spesso, qualche informazione non è sempre 31

32 disponibile in anticipo, e l incremento robusto del metodo di Levemberg-Marquardt compensa per le sue occasionali mancanze di efficienza. 4.8 Implementazione minimi quadrati non lineari Sia il metodo di Gauss-Newton che il metodo di Levemberg-Marquardt sono implementati nel Optimization Toolbox. Dettagli sulle implementazioni sono discussi in questa sezione: - Implementazione di Gauss- Newton; - Implementazione di Levemberg-Marquardt; Implementazione di Gauss Newton Il metodo di Gauss-Newton è implementato usando strategie di linea di ricerca polinomiale simili a quelle discusse per ottimizzazione non vincolata. Per la soluzione del problema dei minimi quadrati, puoi evitare peggioramenti del condizionamento delle equazioni usando la decomposizione QR di J( e applicando la decomposizione a F( (usando l operatore \ di MTLAB). Questo è in contrasto all inversione della matrice esplicita, > >, questo può causare errori inutili. 32

33 Sono include misure robuste nel metodo. Queste misure consiste di scambio dell algoritmo con il metodo di Levemberg-Marquardt quando sia quando la lunghezza del passo va oltre ad un valore soglia, o quando il numero di condizione di J( è il seguente 1e-10. Il numero di condizione è il rapporto tra il singolo valore più grande e quello più piccolo. Implementazione di Levemberg-Marquardt La difficoltà principale dell implementazione del metodo di Levemberg-Marquardt è una strategia effettiva per controllare la grandezza di A ad ogni iterazione così che esso è efficiente per un ambio raggio di problemi. Il metodo usato in questa implementazione è stimare la relativa non linearità di f(x) usando una predetta lineare somma di quadrati C e una interpolazione cubica stima del minimo. In questo modo la grandezza di A è determinata ad ogni iterazione. La somma di quadrati lineare predetta è calcolata come C => # +* e il termine C è ottenuto un interpolazione a cellette del punto f e. Un parametro per la lunghezza del passo < è ottenuto anche con questa interpolazione, che è il passo stimato per il minimo. Se, C è più grande rispetto a, allora A si riduce, altrimenti è incrementato. La giustificazione per questo è la differenza tra C e è una misura dell efficacia del metodo di Gauss- Newton e della linearità del problema. Questo determina se usare una direzione per approcciare con la direzione steepest descent o la direzione Gauss-Newton. Le formula per la riduzione e l incremento di A, che è stato sviluppato attraverso un largo numero di problemi di test, sono mostrati nella figura seguente. 33

34 Aggiornamento di A L implementazione è stata con successo testata su un grande numero di problemi non lineari. Esso ha provato che è più robusto rispetto il metodo di Gauss-Newton e iterativamente più efficiente rispetto un metodo non vincolato. L algoritmo Levemberg-Marquardt è il metodo di default usato da lsqnon lin. Puoi selezionare il metodo di Gauss-Newton, settando parametro di options LevembergMarquardt a off. 5 Algoritmi su larga scala 5.1 Metodi Trust-Region per minimizzazione non lineare Molti dei metodi usati in Optimization Toolbox sono basati su trust region, un semplice ma potente concetto di ottimizzazione. Per capire l approccio trust region all ottimizzazione, consideriamo un problema di minimizzazione non vincolato, minimizza f(x), dove la funzione prende un vettore di argomenti e ritorna uno scalare. Supponiamo che sei in un punto x in uno spazio n e vuoi migliorare, ad esempio, muovere in un punto con un valore di funzione inferiore. L idea di base è di approssimare f con una 34

35 semplice funzione q, che riflette adeguatamente il comportamento della funzione f in un vicino N intorno al punto x. Questo vicino è detto trust region. Un passo di prova s è calcolato attraverso la minimizzazione (o minimizzazione approssimata) su N. Questo è un sotto problema trust-region, 0+1 H{ F G Il punto corrente è aggiornato per essere x + s se f(x + s) < f(x); altrimenti altrimenti il punto corrente rimane inalterato e N, la regione di fiducia (trust), è ridotta e il passo di prova viene ripetuto. Le questioni chiave nel definire una specifica trust-region per minimizzare f(x) sono come scegliere e calcolare l approssimazione q (definita al punto corrente x), come scegliere e modificare la trust region N, e come risolvere accuratamente il sottoproblema di trust region. Nel metodo standard di trust region, l approssimazione quadratica q è definita dai primi due termini dell approssimazione di Taylor da f a x; la regio N è usualmente sferica o ellissoidale nella forma. Matematicamente il sottoproblema trust-region è tipicamente dichiarato: mini ( + J 5<KL hl M H P Dove g è il gradiente di f al punto corrente x, H è la matrice Hessian(la matrice simmetrica di derivata seconda), D è una matrice diagonale, è uno scalare positivo,. è la norma 2. Buoni algoritmi esiste per risolvere l equazione sopra scritta; tali algoritmi tipicamente risolvono la computazione ti un sistema caratteristico pieno e un processo di Newton applicato a un equazione secolare. 1 1 = 0 Questi algoritmi trovano una soluzione accurata all equazione. Qualche volta, essi richiedono tempo proporzionale per alcune fattorizzazioni di H. Quindi per i problemi su larga scala c è bisogno di un approccio differente. Alcune approssimazioni e strategie euristiche, basate sull equazione precedente sono state proposte in letteratura. L approccio di ottimizzazione seguito da Optimization Toolbox è di restringere il sottoproblema del trust-region in un sottospazio due - dimensionale S. Una volta che il sottospazio è calcolato il lavoro per risolvere l equazione sopra descritta è banale anche se c è bisogno di avere tutte le informazioni sugli auto valori e auto vettori. Il lavoro dominante è ora spostato nella determinazione del sottospazio. Il sottospazio due dimensionale S è calcolato con l aiuto di un processo del gradiene coniugato precondizionato descritto di seguito. Il toolbox assegna S = <s1,s2>, dove s1 è nella direzione del gradiente g, e s2 è una direzione di Newton approssimata, ad esempio, una soluzione a 35

36 H * ( = -g O una direzione di curvatura negativa, ( ( B0 La filosofia dietro questa scelta di S è forzare la convergenza globale( attraverso la direzione di steepest discent o direzione di curvatura negativa) e raggiungere una convergenza locale ( con il passo di Newton, se esso esiste). Un frame work per Optimization Toolbox per minimizzazione non vincolata usando trust-region è ora facile da descrivere: 4. Formulare il sottoproblema trust-region due dimensionale. 5. Risolvere l equazione sopra descritta per determinare il passo di prova s. 6. Se f((x +s)) <=f(x)) allora x = x +s. 7. Aggiustare. Questi quattro passi sono ripetuti fino alla convegenza. La dimensione della trustregion è regolata in accord con le regole standard. In particolare, essa è decrementata se il passo di prova non è accettato, ad esempio f(x + s) >= f(x). 5.2 Gradienti Coniugati Precondizionati Una strada diffusa per risolvere grandi sistemi definiti positivi simmetrici di equazioni lineari Hp = -g è il metodo dei Preconditioned Conjugate Gradients (PCG). Questo approccio iterativo richiede l abilità di calcolare il prodotto matrice vettore della forma H * v dove v è un vettore arbitrario. La matrice definita positiva simmetrica M è una precondizione per H. Cioè, M = R ( dove R R è una matrice buon condizionata o una matrice con auto valori raggruppati (cluster) Algoritmo The Optimization Toolbox uses this PCG algorithm, which it refers to as Algorithm PCG. % Initializations r = -g; p = zeros(n,1); % Precondition z = M\r; inner1 = r'*z; inner2 = 0; d = z; % Conjugate gradient iteration for k = 1:kmax if k > 1 beta = inner1/inner2; d = z + beta*d; end w = H*d; denom = d'*w; if denom <= 0 p = d/norm(d); % Direction of negative/zero curvature 36

37 break % Exit if zero/negative curvature detected else alpha = inner1/denom; p = p + alpha*d; r = r - alpha*w; end z = M\r; if norm(z) <= tol % Exit if Hp=-g solved within tolerance break end inner2 = inner1; inner1 = r'*z; end In un contesto di minimizzazione, puoi assumere che la matrice Hessiana H è simmetrica. Tuttavia, H è garantita essere definita positiva solo nella vicinanza di una forte minimizzatore. L algoritmo PCG esiste quando una direzione di curvature negative ( o zero) è incontrata, ad esempio, # # 0. L direzione dell output del PCG, p, è una direzione di curvatura negativa o un soluzione approssimata del sistema di Newton Hp = -g. In entrambi i casi p è usato per aiutare a definire il sottostazione due dimensionale usato nell approccio trust-region. 5.3 Minimi quadrati non lineari Un importante caso speciale per f(x) è il problema dei minimi quadrati non lineari Dove F(x) è una funzione vettore valutata con componente i di F(x) uguale a +. Il metodo di base usato per risolvere questo problema è lo stesso come nel caso generale descritto nella parte di Trust Region. Tuttavia la struttura del problema dei minimi quadrati non lineari è sfruttata per migliorare l efficienza. In particolare, un direzione Gauss-Newton approssimata, ad esempio, una soluzione a s a min > H * ( ( dove J è lo Jacobiano di F(x), è usato a definire il sottospazio due dimensionale S. Le derivate seconde della componente della funzione + (x) non sono usate. In ogni iterazione il metodo dei gradienti coniugati precondizionati è usato per risolvere approssimativamente l equazione normale, ad esempio, > > H > * Sebbene le equazioni normali non sono esplicitamente formate. 37

38 5.4 Minimi quadrati lineari In questo caso la funzione da risolvere è f(x) = ( R+# ( ( L algoritmo genera iterazioni convergenti fattibili, nel limite, ad una soluzione locale. Ogni iterazione implica la soluzione approssimata di un sistema lineare grande (di ordine n dove n è la lunghezza di x). Le matrici di iterazione hanno la struttura della matrice C. In particolare, il metodo dei gradienti coniugati precondizionati è usato per risolvere approssimativamente l equazione normale, ad esempio, R R = R # Sebbene l equazione normale non è formata esplicitamente. Il sottospazio del metodo trust-region è usato per determinare una direzione di ricerca. Qualche volta, invece di restringere il passo ad un possibile passo riflesso, come nel caso della minimizzazione non lineare, è condotto una linea di ricerca riflessiva a tratti ad ogni iterazione, come nel caso quadratico. In definitiva, il sistema lineare rappresenta un approccio di Newton catturando le condizioni di ottimalità di primo ordine alla soluzione, risultando un tasso di convergenza forte locale. 6 My functions ( qualche funzione in dettaglio ) 6.1 Minimizzazione non vincolata non lineare Fminsearch Scopo Trova il minimo di una funzione non vincolata multi variabile 0+1, Dove x è un vettore e f(x) è una funzione che ritorna uno scalare. Descrizione 38

LEZIONE ICO 12-10-2009

LEZIONE ICO 12-10-2009 LEZIONE ICO 12-10-2009 Argomento: introduzione alla piattaforma Matlab. Risoluzione numerica di problemi di minimo liberi e vincolati. Lucia Marucci marucci@tigem.it http://www.mathworks.com/access/helpdesk/help/toolbo

Dettagli

Optimization Toolbox di MATLAB

Optimization Toolbox di MATLAB Università degli studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Optimization Toolbox di MATLAB Tesina di Ottimizzazione Studente: Prof. Giancarlo Raiconi Anno Accademico 2011/2012 Gianluca

Dettagli

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

Capitolo 4: Ottimizzazione non lineare non vincolata parte II. E. Amaldi DEIB, Politecnico di Milano Capitolo 4: Ottimizzazione non lineare non vincolata parte II E. Amaldi DEIB, Politecnico di Milano 4.3 Algoritmi iterativi e convergenza Programma non lineare (PNL): min f(x) s.v. g i (x) 0 1 i m x S

Dettagli

Introduzione al MATLAB c Parte 2

Introduzione al MATLAB c Parte 2 Introduzione al MATLAB c Parte 2 Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 18 gennaio 2008 Outline 1 M-file di tipo Script e Function Script Function 2 Costrutti di programmazione

Dettagli

Corso di Matematica per la Chimica

Corso di Matematica per la Chimica Dott.ssa Maria Carmela De Bonis a.a. 203-4 I sistemi lineari Generalità sui sistemi lineari Molti problemi dell ingegneria, della fisica, della chimica, dell informatica e dell economia, si modellizzano

Dettagli

Documentazione esterna al software matematico sviluppato con MatLab

Documentazione esterna al software matematico sviluppato con MatLab Documentazione esterna al software matematico sviluppato con MatLab Algoritmi Metodo di Gauss-Seidel con sovrarilassamento Metodo delle Secanti Metodo di Newton Studente Amelio Francesco 556/00699 Anno

Dettagli

LE FUNZIONI A DUE VARIABILI

LE FUNZIONI A DUE VARIABILI Capitolo I LE FUNZIONI A DUE VARIABILI In questo primo capitolo introduciamo alcune definizioni di base delle funzioni reali a due variabili reali. Nel seguito R denoterà l insieme dei numeri reali mentre

Dettagli

Studente: SANTORO MC. Matricola : 528

Studente: SANTORO MC. Matricola : 528 CORSO di LAUREA in INFORMATICA Corso di CALCOLO NUMERICO a.a. 2004-05 Studente: SANTORO MC. Matricola : 528 PROGETTO PER L ESAME 1. Sviluppare una versione dell algoritmo di Gauss per sistemi con matrice

Dettagli

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica.

Esempio. Approssimazione con il criterio dei minimi quadrati. Esempio. Esempio. Risultati sperimentali. Interpolazione con spline cubica. Esempio Risultati sperimentali Approssimazione con il criterio dei minimi quadrati Esempio Interpolazione con spline cubica. Esempio 1 Come procedere? La natura del fenomeno suggerisce che una buona approssimazione

Dettagli

Metodi Stocastici per la Finanza

Metodi Stocastici per la Finanza Metodi Stocastici per la Finanza Tiziano Vargiolu vargiolu@math.unipd.it 1 1 Università degli Studi di Padova Anno Accademico 2011-2012 Lezione 6 Indice 1 Il metodo bootstrap 2 Esercitazione 3 Interpolazione

Dettagli

2 Argomenti introduttivi e generali

2 Argomenti introduttivi e generali 1 Note Oltre agli esercizi di questa lista si consiglia di svolgere quelli segnalati o assegnati sul registro e genericamente quelli presentati dal libro come esercizio o come esempio sugli argomenti svolti

Dettagli

Interpolazione ed approssimazione di funzioni

Interpolazione ed approssimazione di funzioni Interpolazione ed approssimazione di funzioni Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ 9 novembre 2007 Outline 1 Polinomi Valutazione di un polinomio Algoritmo di Horner

Dettagli

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Uso delle tabelle e dei grafici Pivot Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella

Dettagli

1 Serie di Taylor di una funzione

1 Serie di Taylor di una funzione Analisi Matematica 2 CORSO DI STUDI IN SMID CORSO DI ANALISI MATEMATICA 2 CAPITOLO 7 SERIE E POLINOMI DI TAYLOR Serie di Taylor di una funzione. Definizione di serie di Taylor Sia f(x) una funzione definita

Dettagli

Capitolo 13: L offerta dell impresa e il surplus del produttore

Capitolo 13: L offerta dell impresa e il surplus del produttore Capitolo 13: L offerta dell impresa e il surplus del produttore 13.1: Introduzione L analisi dei due capitoli precedenti ha fornito tutti i concetti necessari per affrontare l argomento di questo capitolo:

Dettagli

Ottimizzazione Multi Obiettivo

Ottimizzazione Multi Obiettivo Ottimizzazione Multi Obiettivo 1 Ottimizzazione Multi Obiettivo I problemi affrontati fino ad ora erano caratterizzati da una unica (e ben definita) funzione obiettivo. I problemi di ottimizzazione reali

Dettagli

Basi di matematica per il corso di micro

Basi di matematica per il corso di micro Basi di matematica per il corso di micro Microeconomia (anno accademico 2006-2007) Lezione del 21 Marzo 2007 Marianna Belloc 1 Le funzioni 1.1 Definizione Una funzione è una regola che descrive una relazione

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

LABORATORIO DI ANALISI DEI SISTEMI

LABORATORIO DI ANALISI DEI SISTEMI LABORATORIO DI ANALISI DEI SISTEMI Si utilizzerà, come strumento di lavoro, un foglio elettronico, il più diffuso Excel o anche quello gratuito di OpenOffice (www.openoffice.org). Tale scelta, pur non

Dettagli

VC-dimension: Esempio

VC-dimension: Esempio VC-dimension: Esempio Quale è la VC-dimension di. y b = 0 f() = 1 f() = 1 iperpiano 20? VC-dimension: Esempio Quale è la VC-dimension di? banale. Vediamo cosa succede con 2 punti: 21 VC-dimension: Esempio

Dettagli

Laboratorio Complementi di Ricerca Operativa DEI, Politecnico di Milano. Stima di parametri

Laboratorio Complementi di Ricerca Operativa DEI, Politecnico di Milano. Stima di parametri Stima di parametri Il gestore di un sito turistico dove si pratica il bungee-jumping deve fornire alla sovrintendenza municipale un documento che riguarda la sicurezza del servizio fornito. Il documento

Dettagli

Metodi numerici per la risoluzione di equazioni. Equazioni differenziali ordinarie

Metodi numerici per la risoluzione di equazioni. Equazioni differenziali ordinarie Metodi numerici per la risoluzione di equazioni differenziali ordinarie Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ Lezione 5-31 ottobre 2005 Outline 1 Il problema di Cauchy Il problema

Dettagli

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda

Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Analisi sensitività. Strumenti per il supporto alle decisioni nel processo di Valutazione d azienda Premessa Con l analisi di sensitività il perito valutatore elabora un range di valori invece di un dato

Dettagli

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L.

Controlli Automatici T. Trasformata di Laplace e Funzione di trasferimento. Parte 3 Aggiornamento: Settembre 2010. Prof. L. Parte 3 Aggiornamento: Settembre 2010 Parte 3, 1 Trasformata di Laplace e Funzione di trasferimento Prof. Lorenzo Marconi DEIS-Università di Bologna Tel. 051 2093788 Email: lmarconi@deis.unibo.it URL:

Dettagli

Rendering air show e verifica della sincronizzazione

Rendering air show e verifica della sincronizzazione Capitolo 5 Rendering air show e verifica della sincronizzazione 5.1 Introduzione Il Rendering 3D dell evoluzioni acrobatiche costituisce uno degli aspetti cruciali dell applicazione realizzata. L ambiente

Dettagli

Ottimizazione vincolata

Ottimizazione vincolata Ottimizazione vincolata Ricordiamo alcuni risultati provati nella scheda sulla Teoria di Dini per una funzione F : R N+M R M di classe C 1 con (x 0, y 0 ) F 1 (a), a = (a 1,, a M ), punto in cui vale l

Dettagli

Lezione 8. La macchina universale

Lezione 8. La macchina universale Lezione 8 Algoritmi La macchina universale Un elaboratore o computer è una macchina digitale, elettronica, automatica capace di effettuare trasformazioni o elaborazioni su i dati digitale= l informazione

Dettagli

Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale

Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale Corso di Scienza Economica (Economia Politica) prof. G. Di Bartolomeo Lezione 10: Il problema del consumatore: Preferenze e scelta ottimale Facoltà di Scienze della Comunicazione Università di Teramo Scelta

Dettagli

METODI per effettuare previsioni con analisi di tipo WHAT-IF

METODI per effettuare previsioni con analisi di tipo WHAT-IF METODI per effettuare previsioni con analisi di tipo WHAT-IF 1. TABELLA DATI Una tabella di dati è un intervallo che mostra come la modifica di alcuni valori nelle formule ne influenza i risultati. Le

Dettagli

2 + (σ2 - ρσ 1 ) 2 > 0 [da -1 ρ 1] b = (σ 2. 2 - ρσ1 σ 2 ) = (σ 1

2 + (σ2 - ρσ 1 ) 2 > 0 [da -1 ρ 1] b = (σ 2. 2 - ρσ1 σ 2 ) = (σ 1 1 PORTAFOGLIO Portafoglio Markowitz (2 titoli) (rischiosi) due titoli rendimento/varianza ( μ 1, σ 1 ), ( μ 2, σ 2 ) Si suppone μ 1 > μ 2, σ 1 > σ 2 portafoglio con pesi w 1, w 2 w 1 = w, w 2 = 1- w 1

Dettagli

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004

ESAME DI STATO DI LICEO SCIENTIFICO CORSO SPERIMENTALE P.N.I. 2004 ESAME DI STAT DI LICE SCIENTIFIC CRS SPERIMENTALE P.N.I. 004 Il candidato risolva uno dei due problemi e 5 dei 0 quesiti in cui si articola il questionario. PRBLEMA Sia la curva d equazione: ke ove k e

Dettagli

Selezione di un portafoglio di titoli in presenza di rischio. Testo

Selezione di un portafoglio di titoli in presenza di rischio. Testo Selezione di un portafoglio di titoli in presenza di rischio Testo E ormai pratica comune per gli operatori finanziari usare modelli e metodi basati sulla programmazione non lineare come guida nella gestione

Dettagli

Dimensione di uno Spazio vettoriale

Dimensione di uno Spazio vettoriale Capitolo 4 Dimensione di uno Spazio vettoriale 4.1 Introduzione Dedichiamo questo capitolo ad un concetto fondamentale in algebra lineare: la dimensione di uno spazio vettoriale. Daremo una definizione

Dettagli

Docente: Anna Valeria Germinario. Università di Bari. A.V.Germinario (Università di Bari) Analisi Matematica ITPS 1 / 22

Docente: Anna Valeria Germinario. Università di Bari. A.V.Germinario (Università di Bari) Analisi Matematica ITPS 1 / 22 Laurea in Informatica e Tecnologie per la Produzione del Software Corso di Analisi Matematica Calcolo differenziale e approssimazioni, formula di Taylor Docente: Anna Valeria Germinario Università di Bari

Dettagli

INTRODUZIONE A EXCEL ESERCITAZIONE I

INTRODUZIONE A EXCEL ESERCITAZIONE I 1 INTRODUZIONE A EXCEL ESERCITAZIONE I Corso di Idrologia e Infrastrutture Idrauliche Prof. Roberto Guercio Cos è Excel 2 Foglio di calcolo o foglio elettronico è formato da: righe e colonne visualizzate

Dettagli

La distribuzione Normale. La distribuzione Normale

La distribuzione Normale. La distribuzione Normale La Distribuzione Normale o Gaussiana è la distribuzione più importante ed utilizzata in tutta la statistica La curva delle frequenze della distribuzione Normale ha una forma caratteristica, simile ad una

Dettagli

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini.

A intervalli regolari ogni router manda la sua tabella a tutti i vicini, e riceve quelle dei vicini. Algoritmi di routing dinamici (pag.89) UdA2_L5 Nelle moderne reti si usano algoritmi dinamici, che si adattano automaticamente ai cambiamenti della rete. Questi algoritmi non sono eseguiti solo all'avvio

Dettagli

Uso delle tabelle e dei grafici Pivot

Uso delle tabelle e dei grafici Pivot Uso delle tabelle e dei grafici Pivot 1 Una tabella Pivot usa dati a due dimensioni per creare una tabella a tre dimensioni, cioè una tabella riassuntiva basata su condizioni multiple che hanno punti di

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Regressione non lineare con un modello neurale feedforward

Regressione non lineare con un modello neurale feedforward Reti Neurali Artificiali per lo studio del mercato Università degli studi di Brescia - Dipartimento di metodi quantitativi Marco Sandri (sandri.marco@gmail.com) Regressione non lineare con un modello neurale

Dettagli

Spline Nurbs. IUAV Disegno Digitale. Camillo Trevisan

Spline Nurbs. IUAV Disegno Digitale. Camillo Trevisan Spline Nurbs IUAV Disegno Digitale Camillo Trevisan Spline e Nurbs Negli anni 70 e 80 del secolo scorso nelle aziende si è iniziata a sentire l esigenza di concentrare in un unica rappresentazione gestita

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli

Corso di Calcolo Numerico

Corso di Calcolo Numerico Corso di Calcolo Numerico Dottssa MC De Bonis Università degli Studi della Basilicata, Potenza Facoltà di Ingegneria Corso di Laurea in Ingegneria Meccanica Corso di Calcolo Numerico - Dottssa MC De Bonis

Dettagli

Programmazione dinamica

Programmazione dinamica Capitolo 6 Programmazione dinamica 6.4 Il problema della distanza di edit tra due stringhe x e y chiede di calcolare il minimo numero di operazioni su singoli caratteri (inserimento, cancellazione e sostituzione)

Dettagli

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e

Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e Alberi di decisione Aprire WEKA Explorer Caricare il file circletrain.arff Selezionare random split al 66% come modalità di test Selezionare J48 come classificatore e lanciarlo con i parametri di default.

Dettagli

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux

Scheduling della CPU. Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Scheduling della CPU Sistemi multiprocessori e real time Metodi di valutazione Esempi: Solaris 2 Windows 2000 Linux Sistemi multiprocessori Fin qui si sono trattati i problemi di scheduling su singola

Dettagli

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Sommario Introduzione Definizione di WCET Importanza del WCET Panoramica dei classici metodi per calcolare il WCET [1] Utilizzo di

Dettagli

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1

per immagini guida avanzata Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Organizzazione e controllo dei dati Geometra Luigi Amato Guida Avanzata per immagini excel 2000 1 Il raggruppamento e la struttura dei dati sono due funzioni di gestione dati di Excel, molto simili tra

Dettagli

CONCETTO DI LIMITE DI UNA FUNZIONE REALE

CONCETTO DI LIMITE DI UNA FUNZIONE REALE CONCETTO DI LIMITE DI UNA FUNZIONE REALE Il limite di una funzione è uno dei concetti fondamentali dell'analisi matematica. Tramite questo concetto viene formalizzata la nozione di funzione continua e

Dettagli

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente.

Algoritmo. I dati su cui opera un'istruzione sono forniti all'algoritmo dall'esterno oppure sono il risultato di istruzioni eseguite precedentemente. Algoritmo Formalmente, per algoritmo si intende una successione finita di passi o istruzioni che definiscono le operazioni da eseguire su dei dati (=istanza del problema): in generale un algoritmo è definito

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Introduzione all analisi dei segnali digitali.

Introduzione all analisi dei segnali digitali. Introduzione all analisi dei segnali digitali. Lezioni per il corso di Laboratorio di Fisica IV Isidoro Ferrante A.A. 2001/2002 1 Segnali analogici Si dice segnale la variazione di una qualsiasi grandezza

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE

~ Copyright Ripetizionando - All rights reserved ~ http://ripetizionando.wordpress.com STUDIO DI FUNZIONE STUDIO DI FUNZIONE Passaggi fondamentali Per effettuare uno studio di funzione completo, che non lascia quindi margine a una quasi sicuramente errata inventiva, sono necessari i seguenti 7 passaggi: 1.

Dettagli

Ottimizzazione non Vincolata

Ottimizzazione non Vincolata Dipartimento di Informatica e Sitemistica Università di Roma Corso Dottorato Ingegneria dei Sistemi 15/02/2010, Roma Outline Ottimizzazione Non Vincolata Introduzione Ottimizzazione Non Vincolata Algoritmi

Dettagli

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri

Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE. Operare con i numeri COMPETENZA CHIAVE MATEMATICA Fonte di legittimazione Raccomandazione del Parlamento europeo 18/12/2006 CLASSE PRIMA COMPETENZE ABILITÀ CONOSCENZE L alunno utilizza il calcolo scritto e mentale con i numeri

Dettagli

Federico Laschi. Conclusioni

Federico Laschi. Conclusioni Lo scopo di questa tesi è stato quello di proporre alcuni algoritmi di allocazione dinamica della capacità trasmissiva, basati su tecniche di predizione on-line dei processi di traffico. Come prima analisi

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

TECNICHE DI SIMULAZIONE

TECNICHE DI SIMULAZIONE TECNICHE DI SIMULAZIONE INTRODUZIONE Francesca Mazzia Dipartimento di Matematica Università di Bari a.a. 2004/2005 TECNICHE DI SIMULAZIONE p. 1 Introduzione alla simulazione Una simulazione è l imitazione

Dettagli

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

Cenni su algoritmi, diagrammi di flusso, strutture di controllo

Cenni su algoritmi, diagrammi di flusso, strutture di controllo Cenni su algoritmi, diagrammi di flusso, strutture di controllo Algoritmo Spesso, nel nostro vivere quotidiano, ci troviamo nella necessità di risolvere problemi. La descrizione della successione di operazioni

Dettagli

Soluzione di equazioni quadratiche

Soluzione di equazioni quadratiche Soluzione di equazioni quadratiche Soluzione sulla Retta Algebrica Inseriamo sulla Retta Algebrica le seguenti espressioni polinomiali x e x 3 e cerchiamo di individuare i valori di x per i quali i punti

Dettagli

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI

CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI CAPITOLO 16 SUCCESSIONI E SERIE DI FUNZIONI Abbiamo studiato successioni e serie numeriche, ora vogliamo studiare successioni e serie di funzioni. Dato un insieme A R, chiamiamo successione di funzioni

Dettagli

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico

Obiettivi dell Analisi Numerica. Avviso. Risoluzione numerica di un modello. Analisi Numerica e Calcolo Scientifico M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p. 3/43 M. Annunziato, DIPMAT Università di Salerno - Queste note non sono esaustive ai fini del corso p.

Dettagli

Cosa è un foglio elettronico

Cosa è un foglio elettronico Cosa è un foglio elettronico Versione informatica del foglio contabile Strumento per l elaborazione di numeri (ma non solo...) I valori inseriti possono essere modificati, analizzati, elaborati, ripetuti

Dettagli

Rette e curve, piani e superfici

Rette e curve, piani e superfici Rette e curve piani e superfici ) dicembre 2 Scopo di questo articolo è solo quello di proporre uno schema riepilogativo che metta in luce le caratteristiche essenziali delle equazioni di rette e curve

Dettagli

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007

RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007 RICERCA OPERATIVA GRUPPO B prova scritta del 22 marzo 2007 Rispondere alle seguenti domande marcando a penna la lettera corrispondente alla risposta ritenuta corretta (una sola tra quelle riportate). Se

Dettagli

Sistemi Informativi Territoriali. Map Algebra

Sistemi Informativi Territoriali. Map Algebra Paolo Mogorovich Sistemi Informativi Territoriali Appunti dalle lezioni Map Algebra Cod.735 - Vers.E57 1 Definizione di Map Algebra 2 Operatori locali 3 Operatori zonali 4 Operatori focali 5 Operatori

Dettagli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli

Mon Ami 3000 Varianti articolo Gestione di varianti articoli Prerequisiti Mon Ami 3000 Varianti articolo Gestione di varianti articoli L opzione Varianti articolo è disponibile per le versioni Azienda Light e Azienda Pro e include tre funzionalità distinte: 1. Gestione

Dettagli

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci

Excel avanzato. I nomi. Gli indirizzi e le formule possono essere sostituiti da nomi. Si creano tramite Inserisci Nome Definisci Excel avanzato I nomi marco.falda@unipd.it Gli indirizzi e le formule possono essere sostituiti da nomi documentazione astrazione Si creano tramite Inserisci Nome Definisci Vengono raccolti nell area riferimento

Dettagli

Esercitazioni di Calcolo Numerico 23-30/03/2009, Laboratorio 2

Esercitazioni di Calcolo Numerico 23-30/03/2009, Laboratorio 2 Esercitazioni di Calcolo Numerico 23-30/03/2009, Laboratorio 2 [1] Metodo di Bisezione gli estremi a e b di un intervallo reale trovi uno zero della funzione f(x) nell intervallo [a, b] usando il metodo

Dettagli

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo INPUT: dati iniziali INPUT: x,y,z AZIONI esempio: Somma x ed y

Dettagli

Università degli Studi di Salerno

Università degli Studi di Salerno Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Algoritmi basati su formule di quadratura interpolatorie per GPU ABSTRACT

Dettagli

Matematica generale CTF

Matematica generale CTF Successioni numeriche 19 agosto 2015 Definizione di successione Monotonìa e limitatezza Forme indeterminate Successioni infinitesime Comportamento asintotico Criterio del rapporto per le successioni Definizione

Dettagli

Fondamenti di Automatica

Fondamenti di Automatica Fondamenti di Automatica Progetto di controllo e reti correttrici Dott. Ing. Marcello Bonfè Dipartimento di Ingegneria - Università di Ferrara Tel. +39 053 974839 E-mail: marcello.bonfe@unife.it pag. 1

Dettagli

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

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 NLP -OPT 1 CONDIZION DI OTTIMO [ Come ricavare le condizioni di ottimo. ] Si suppone x* sia punto di ottimo (minimo) per il problema min f o (x) con vincoli g i (x) 0 i I h j (x) = 0 j J la condizione

Dettagli

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26

Teoria in sintesi 10. Attività di sportello 1, 24 - Attività di sportello 2, 24 - Verifica conclusiva, 25. Teoria in sintesi 26 Indice L attività di recupero 6 Funzioni Teoria in sintesi 0 Obiettivo Ricerca del dominio e del codominio di funzioni note Obiettivo Ricerca del dominio di funzioni algebriche; scrittura del dominio Obiettivo

Dettagli

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI

APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI APPUNTI DI MATEMATICA LE FRAZIONI ALGEBRICHE ALESSANDRO BOCCONI Indice 1 Le frazioni algebriche 1.1 Il minimo comune multiplo e il Massimo Comun Divisore fra polinomi........ 1. Le frazioni algebriche....................................

Dettagli

Creare diagrammi di Gantt con Visio 2003

Creare diagrammi di Gantt con Visio 2003 Creare diagrammi di Gantt con Visio 2003 La fase di pianificazione di un progetto è sicuramente molto delicata e alquanto complessa, in quanto bisogna riuscire a definire una scomposizione del progetto

Dettagli

13. Campi vettoriali

13. Campi vettoriali 13. Campi vettoriali 1 Il campo di velocità di un fluido Il concetto di campo in fisica non è limitato ai fenomeni elettrici. In generale il valore di una grandezza fisica assegnato per ogni punto dello

Dettagli

Informatica. Rappresentazione dei numeri Numerazione binaria

Informatica. Rappresentazione dei numeri Numerazione binaria Informatica Rappresentazione dei numeri Numerazione binaria Sistemi di numerazione Non posizionali: numerazione romana Posizionali: viene associato un peso a ciascuna posizione all interno della rappresentazione

Dettagli

L a p i p at a taf a or o ma a p e p r e ga g r a an a t n ire e l ef e fici c en e za za e n e e n r e ge g t e ica Powered By

L a p i p at a taf a or o ma a p e p r e ga g r a an a t n ire e l ef e fici c en e za za e n e e n r e ge g t e ica Powered By La piattaforma per garantire l efficienza energetica Powered By L efficienza energetica come nuovo punto di forza Secondo la norma ISO EN 50001, l efficienza energetica rappresenta il modo per ottimizzare

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12};

Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; ESERCIZI 2 LABORATORIO Problema 1 Definire all'interno del codice un vettore di interi di dimensione DIM, es. int array[] = {1, 5, 2, 4, 8, 1, 1, 9, 11, 4, 12}; Chiede all'utente un numero e, tramite ricerca

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Slide Cerbara parte1 5. Le distribuzioni teoriche

Slide Cerbara parte1 5. Le distribuzioni teoriche Slide Cerbara parte1 5 Le distribuzioni teoriche I fenomeni biologici, demografici, sociali ed economici, che sono il principale oggetto della statistica, non sono retti da leggi matematiche. Però dalle

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Esercizi svolti. 1. Si consideri la funzione f(x) = 4 x 2. a) Verificare che la funzione F(x) = x 2 4 x2 + 2 arcsin x è una primitiva di

Esercizi svolti. 1. Si consideri la funzione f(x) = 4 x 2. a) Verificare che la funzione F(x) = x 2 4 x2 + 2 arcsin x è una primitiva di Esercizi svolti. Si consideri la funzione f() 4. a) Verificare che la funzione F() 4 + arcsin è una primitiva di f() sull intervallo (, ). b) Verificare che la funzione G() 4 + arcsin π è la primitiva

Dettagli

Codifiche a lunghezza variabile

Codifiche a lunghezza variabile Sistemi Multimediali Codifiche a lunghezza variabile Marco Gribaudo marcog@di.unito.it, gribaudo@elet.polimi.it Assegnazione del codice Come visto in precedenza, per poter memorizzare o trasmettere un

Dettagli

Località. Piacenza. Progetto ECATE. Progetto E.C.A.T.E. Efficienza e Compatibilità Ambientale delle Tecnologie Energetiche

Località. Piacenza. Progetto ECATE. Progetto E.C.A.T.E. Efficienza e Compatibilità Ambientale delle Tecnologie Energetiche Località Piacenza Doc. n. R 4.1/4 CONSORZIO LEAP Laboratorio Energia Ambiente Piacenza Progetto ECATE Rev 0. Progetto E.C.A.T.E. Efficienza e Compatibilità Ambientale delle Tecnologie Energetiche > REALIZZAZIONE

Dettagli

Domande a scelta multipla 1

Domande a scelta multipla 1 Domande a scelta multipla Domande a scelta multipla 1 Rispondete alle domande seguenti, scegliendo tra le alternative proposte. Cercate di consultare i suggerimenti solo in caso di difficoltà. Dopo l elenco

Dettagli

Integrazione numerica

Integrazione numerica Integrazione numerica Lucia Gastaldi Dipartimento di Matematica, http://dm.ing.unibs.it/gastaldi/ Lezione 6-20-26 ottobre 2009 Indice 1 Formule di quadratura semplici e composite Formule di quadratura

Dettagli

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini

Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Introduzione agli Algoritmi Genetici Prof. Beatrice Lazzerini Dipartimento di Ingegneria della Informazione Via Diotisalvi, 2 56122 PISA ALGORITMI GENETICI (GA) Sono usati per risolvere problemi di ricerca

Dettagli

I PROBLEMI ALGEBRICI

I PROBLEMI ALGEBRICI I PROBLEMI ALGEBRICI La risoluzione di problemi è una delle attività fondamentali della matematica. Una grande quantità di problemi è risolubile mediante un modello algebrico costituito da equazioni e

Dettagli

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c

MATLAB. Caratteristiche. Dati. Esempio di programma MATLAB. a = [1 2 3; 4 5 6; 7 8 9]; b = [1 2 3] ; c = a*b; c Caratteristiche MATLAB Linguaggio di programmazione orientato all elaborazione di matrici (MATLAB=MATrix LABoratory) Le variabili sono matrici (una variabile scalare equivale ad una matrice di dimensione

Dettagli

Equazione di Keplero (eqz. nonlineari).

Equazione di Keplero (eqz. nonlineari). Equazione di Keplero (eqz. nonlineari). Risolvere col metodo di Newton, col metodo di bisezione e di punto fisso l equazione di Keplero: E = M + e sin(e) dove e è l eccentricità del pianeta, M l anomalia

Dettagli

Richiami su norma di un vettore e distanza, intorni sferici in R n, insiemi aperti, chiusi, limitati e illimitati.

Richiami su norma di un vettore e distanza, intorni sferici in R n, insiemi aperti, chiusi, limitati e illimitati. PROGRAMMA di Fondamenti di Analisi Matematica 2 (DEFINITIVO) A.A. 2010-2011, Paola Mannucci, Canale 2 Ingegneria gestionale, meccanica e meccatronica, Vicenza Testo Consigliato: Analisi Matematica, M.

Dettagli

4. Operazioni elementari per righe e colonne

4. Operazioni elementari per righe e colonne 4. Operazioni elementari per righe e colonne Sia K un campo, e sia A una matrice m n a elementi in K. Una operazione elementare per righe sulla matrice A è una operazione di uno dei seguenti tre tipi:

Dettagli

10 - Programmare con gli Array

10 - Programmare con gli Array 10 - Programmare con gli Array Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it

Dettagli

EQUAZIONI non LINEARI

EQUAZIONI non LINEARI EQUAZIONI non LINEARI Francesca Pelosi Dipartimento di Matematica, Università di Roma Tor Vergata CALCOLO NUMERICO e PROGRAMMAZIONE http://www.mat.uniroma2.it/ pelosi/ EQUAZIONI non LINEARI p.1/44 EQUAZIONI

Dettagli