Passa ai contenuti principali

Metodi della ricerca operativa

In rete ho trovato alcuni appunti curati da Loris Faina, ricercatore presso il Dipartimento di Matematica e Informatica dell'Università di Perugia.

Ho solo dato un'occhiata all'indice, ma mi sembra che vengano trattati in maniera organica i principali metodi risolutivi della ricerca operativa.

L'indice è il seguente:
1 Introduzione 3
2 Ottimizzazione Non Vincolata. Metodi Diretti 9
2.1 Metodi di Ricerca Unidimensionali . . . . . . . . . . . . . . . . . . . . . 10
2.1.1 Metodi Simultanei: Algoritmi di Ricerca Esaustivi e Casuali . . . 10
2.1.2 Metodo di Dicotomia . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.1.3 Il Metodo della Sezione Aurea . . . . . . . . . . . . . . . . . . . 12
2.1.4 Il Metodo dei Numeri di Fibonacci . . . . . . . . . . . . . . . . . 13
2.1.5 Approssimazione mediante Polinomi per Minimizzare una funzione
di una Sola Variabile . . . . . . . . . . . . . . . . . . . . . 16
2.1.6 Minimizzazione Lungo una Retta . . . . . . . . . . . . . . . . . . 19
2.2 Metodi di Ricerca Multidimensionali . . . . . . . . . . . . . . . . . . . . 19
2.2.1 Algoritmi di Ricerca per Griglie Multidimensionali . . . . . . . . 20
2.2.2 Ricerca Univariante . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.3 Il Metodo del Simplesso . . . . . . . . . . . . . . . . . . . . . . . 21
2.2.4 Il Metodo del Pattern Search . . . . . . . . . . . . . . . . . . . . 25
3 Ottimizzazione Non Vincolata. Metodi di Discesa 29
3.1 Metodo della Discesa pi u Ripida . . . . . . . . . . . . . . . . . . . . . . 33
3.2 Funzioni Quadratiche . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
3.3 Il Metodo di Newton . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.4 Il Metodo del Gradiente Coniugato . . . . . . . . . . . . . . . . . . . . . 45
3.5 L'Algoritmo del Gradiente Coniugato per Funzioni Non Quadratiche . . 48
3.6 Il Metodo di Powell . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
3.7 Il Metodo di Davidon-Fletcher-Powell . . . . . . . . . . . . . . . . . . . 49
3.8 Funzioni Test . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
4 Programmazione Lineare 57
4.1 Come Risolvere un Problema di Programmazione Lineare . . . . . . . . 58
4.2 Il Metodo del Simplesso . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
4.3 Tecnica di Perturbazione nel caso di Degenerazione . . . . . . . . . . . . 68
4.4 Interpretazione Geometrica . . . . . . . . . . . . . . . . . . . . . . . . . 73
5 Simulated Annealing 77
5.1 Introduzione dell'Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . 79
5.2 Modello Matematico del Simulated Annealing . . . . . . . . . . . . . . . 81
5.3 Convergenza Asintotica del Simulated Annealing . . . . . . . . . . . . . 83
5.3.1 L'Algoritmo non Omogeneo . . . . . . . . . . . . . . . . . . . . . 86
5.4 Approssimazione in Tempo Finito . . . . . . . . . . . . . . . . . . . . . . 87
6 Ottimizzazione Vincolata 89
6.1 Metodo di Penalizzazione . . . . . . . . . . . . . . . . . . . . . . . . . . 90
6.2 Metodo delle Proiezioni . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
6.3 Il Metodo di Newton Proiettato con Vincoli Semplici . . . . . . . . . . . 92
Bibliografia 95
 Buona lettura.

Commenti

NBAlex ha detto…
Salve...sarei interessato ad avere gli appunti di ricerca operativa :) grazie mille :)
NBAlex ha detto…
come posso fare per avere questi appunti?
Luigi Poderico ha detto…
Spiacente, ma non sono in possesso di una copia degli appunti che mi chiede. Può provare a chiedere direttamente al dott. Faina.

Post popolari in questo blog

Digital Twin – Il caso Hyperloop

  Con il termine  hyperloop  si identificano una serie di tecnologie che promettono di rivoluzionare il trasporto di persone e cose. L’idea di base è molto semplice: far viaggiare all’interno di tubi, dove viene creato il vuoto, delle capsule ad alta velocità con binari a levitazione magnetica.   Credits: Virgin Hyperloop on instagram.com/p/CRHEB9ctQ6u/   Qualche tempo fa, mi è capitato di leggere un interessante articolo su come la progettazione della soluzione guidata dal gruppo Virgin, sia stata affiancata da analisi svolte mediante un sistema di ottimizzazione matematica. Come meglio descritto nel seguito, un digital twin, completamente basato su un modello matematico di ottimizzazione, permette di valutare le migliori scelte progettuali tenendo in considerazione i vari obiettivi di progetto.   La necessità di avere un digital twin nasce probabilmente dal fatto che le tecnologie  hyperloop  non hanno una base di partenza già esistente. No...

La programmazione dichiarativa come sistema di intelligenza artificiale

Sull'intelligenza artificiale si è creato un grosso equivoco, che vale la pena risolvere. https://www.instagram.com/p/BwyfskdnV7a/ Senza voler essere formali, l’accezione comune di intelligenza artificiale è usata per identificare un sistema informatico basato su reti neurali usato per risolvere problemi di  difficile formalizzazione . Ad esempio, le auto a guida autonoma, i sistemi di traduzione in tempo reale, la previsione dei prezzi dell’energia. Per  difficile formalizzazione  intendo un concetto molto sottile. Scrivere un algoritmo che sia in grado di riconoscere l’immagine di un gattino è molto difficile se non impossibile. Mentre, in maniera paradossale, è più semplice scrivere un algoritmo che  impari  a riconoscere gattini perché è stato addestrato con le immagini di mille diversi gattini. Cablare ed addestrare una rete neurale che riconosca gattini è un esempio di  meta-programmazione , proprio perché non si scrive un algoritmo che ca...

PuLP – Un valido strumento per la didattica

L'insegnamento dei concetti di base della ricerca operativa, ovvero la programmazione lineare, ha trovato nel corso degli ultimi anni diversi strumenti di supporto. Sono ormai parecchi i software gratuiti e open source che permettono agli studenti e agli insegnanti di toccare con mano le nozioni e i concetti spiegati e studiati sui banchi. Ricordiamo, ad esempio, glpk che con il suoi linguaggio di modellazione MathProg permettete di scrivere e risolvere anche complessi modelli di programmazione lineare intera. Oppure citiamo anche lp_solve che con il suo ambiente impropriamente chiamato lp_solve IDE permette di scrivere e risolvere modelli di programmazione lineare direttamente nella formulazione matematica. A mio avviso però le proposte appena citate sono limitate nella potenza espressiva e nelle capacità di integrarsi con altri software o moduli esterni. Queste limitazioni sono egregiamente risolte da PuLP : un modellatore di problemi di programmazione lineare intera basato ...