Passa ai contenuti principali

Post

Visualizzazione dei post da 2019

Manifesto dell'ottimizzazione

E' da parecchio tempo, ormai, che mi occupo di realizzare software di ottimizzazione. Nella mia carriera ho avuto modo di collaborare con tante persone e di aver visto tanti progetti di ottimizzazione. In molti casi ho avuto modo di imparare qualcosa, in altri ho visto commettere errori evitabili. Alla fine, i principi da seguire nella realizzazione di un software di ottimizzazione, dalla definizione del modello matematico al test con il cliente, sono pochi. Almeno, questo secondo la mia esperienza. Ho raccolto questi principi in un Manifesti, che trovate al link che segue: https://medium.com/@poderico/the-optimization-manifest-781ff6b064d5 Ogni commento per migliorarlo è benvenuto.
Introduzione La produzione di energia elettrica da fonti rinnovabili, specialmente il fotovoltaico o l’eolico, ha particolari caratteristiche che la rendono poco amichevole nei confronti del sistema elettrico, inteso come trasporto, distribuzione e mercato. In particolare, il fotovoltaico è caratterizzato da una produzione concentrata nelle ore intorno le 12; mentre la produzione di un eolico è sostanzialmente casuale con eventuali ore della giornata di maggior produzione, in relazione alle caratteristiche climatiche del posto dove è localizzato l’impianto. Per aumentare le caratteristiche di programmabilità e controllabilità di questi impianti, è possibile accoppiare in parallelo dei sistemi di accumulo. Il loro scopo fondamentale è di posticipare nel tempo l’immissione in rete dell’energia prodotta. Una descrizione dei sistemi di accumulo accurata e precisa, specialmente del loro ruolo in relazione alla produzione da fotovoltaico, la fornisce il GSE a questo link . Come ap

Energy informatic

Che l’informatica sia largamente utilizzata nel settore dell’energia è una cosa ovvia; ed è anche vera da tanti anni. La fatturazione, le paghe, la gestione delle reti, la pianificazione della produzione: queste e tante altre funzioni beneficiano dell’informatica nel settore dell’energia come in tanti altri settori produttivi. Quello che però sta accadendo da poco tempo è il supporto che l’informatica sta fornendo alla definizione e realizzazione di un processo di transizione ad un sistema energetico che sia neutrale rispetto alla produzione di CO2. Dal mio punto di vista, quello di chi realizza e fornisce sistemi di supporto alle decisioni, sto vedendo, oltre che contribuire, come l’informatica sta supportando la transizione al nuovo sistema energetico: previsione della produzione da fonti non programmabili, come l’eolico ed il fotovoltaico; previsione dei consumi di energia elettrica e gas naturale; gestione del rischio dovuto all'incertezza delle previsioni dei consumi
Una domanda per i professionisti della ricerca operativa: quando scrivi una soluzione di ottimizzazione come assicuri di massimizzare il ritorno dell'investimento del tuo cliente? L'investimento a cui sto pensando nella domanda è quello che il cliente sostiene pagando il professionista della ricerca operativa.

Ottimizzazione e reti neurali

Le reti neurali sono diventate uno degli strumenti più usati ed inflazionati per risolvere una grande varietà di problemi che ricadono sotto l’etichetta generalista machine learning. Una grande varietà di supporti tecnologici sono stati sviluppati per garantire l’adozione delle reti neurali in contesti sempre più ampi. Senza nulla togliere agli altri, le prime due tecnologie che mi vengono in mente sono TensorFlow e le TPU . Senza andare nello specifico, voglio far notare che alla base di ogni modello di rete neurale esiste un processo di addestramento. Questo ha lo scopo di determinare i pesi migliori dei neuroni della rete da addestrare mediante l’analisi di un numero potenzialmente grande di “scenari d’esempio”.  Questi processi di addestramento non sono altro che modelli di ottimizzazione, disegnati per trovare i pesi dei neuroni che minimizzano la distanza tra l’output complessivo della rete e il risultato atteso, per tutti gli scenari d’esempio. E’ per questo motivo

A 25 anni dalla Laurea

In una domenica incastrata tra il cattivo tempo e la piena dell’Arno, ho partecipato con tanto piacere alla cerimonia con cui l’Università di Pisa ha celebrato le nozze d’oro e le nozze d’argento con la Laurea dei suoi ex-studenti. Sempre oggi, cinquanta anni fa, il 17 novembre del 1969, si teneva la prima lezione del primo corso di laurea in informatica in Italia. Sono trascorsi 25 anni da quando, il 14 luglio del 1994, mi laureai in Scienze dell’Informazione. Allora festeggiavo con i miei genitori e fratelli; oggi con moglie e figli. Faccio mio il discorso introduttivo del Rettore. Venticinque anni fa più di oggi non era per niente scontato frequentare e concludere il percorso di studi di una laura. Per questo importante traguardo dobbiamo ringraziare chi ci ha permesso di frequentare i corsi universitari e l’Università che ha offerto un percorso di alta formazione. Per i curiosi: sulla medaglia è rappresentato Galileo Galilei; sulla copertina del libretto è ritratto il co

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 calcoli il risultato atteso