University of Pisa · Dipartimento di Informatica

Università di Pisa · Dipartimento di Informatica

Donato Meoli he/they

Research Fellow | Mathematical Optimization | Symbolic AI | Machine Learning

Borsista di Ricerca | Ottimizzazione Matematica | IA Simbolica | Machine Learning

estest modus ponensmodus ponens in rebusin rebus
semi-quoting Horacesemicit. Orazio
I need a superficial thoughtI need a superficial thought.. that makes my loss convex
semi-quoting Afterhourssemicit. Afterhours

I am concerned with how a problem is written down, since the same model, restated in another formalism or split along the structure it already has, may become amenable to algorithms that did not apply to it as first written.

Mi occupo di come un problema viene scritto, poiché lo stesso modello, riformulato in un altro formalismo o scomposto lungo la struttura che già possiede, può diventare trattabile da algoritmi che non si applicavano alla sua formulazione originaria.

polypoly(mathmath)hedralhedral · neuroqueer · 2e ADHDerADHDer

Donato Meoli

ResearchRicerca

I came to numerical optimization from symbolic AI, and more precisely from Knowledge Representation and Reasoning (KR&R), i.e., expert systems, logic programming, constraint satisfaction and SAT. In my view, the two fields share one premise: the difficulty of a problem depends (often to a large extent) on how it is written. Hence, the useful move is frequently to rewrite it, either as a set of smaller problems coordinated by a master or in a different formalism for which an efficient algorithm is available.

Sono arrivato all’ottimizzazione numerica dall’intelligenza artificiale simbolica, e più precisamente dalla rappresentazione della conoscenza e dal ragionamento automatico (KR&R), cioè dai sistemi esperti, dalla programmazione logica, dal soddisfacimento di vincoli e da SAT. A mio avviso i due campi condividono una premessa: la difficoltà di un problema dipende (spesso in larga misura) da come è scritto. Di conseguenza, spesso conviene riscriverlo, come un insieme di problemi più piccoli coordinati da un problema master oppure in un formalismo diverso per il quale sia disponibile un algoritmo efficiente.

Symbolic AI. I started with expert systems and logic programming, for domains whose knowledge is codified and whose reasoning has to remain inspectable, and with ontologies as a representation of lexical knowledge; I also worked on heuristic search, in which the efficiency of an algorithm such as A* depends (often almost entirely) on the heuristic that guides it. Of these, I have pursued further the translation between formalisms: a planning problem can be stated as a Constraint Satisfaction Problem and, from there, as a propositional formula, at which point the machinery of logical reasoning applies to it. I implemented that chain of translators in aima-python, together with the SAT solver at its end. The same question now comes back in the opposite direction: whether a satisfiability problem can be decomposed along its structure in the way one would decompose a mixed-integer program.

IA Simbolica. Ho iniziato con i sistemi esperti e la programmazione logica, per domini in cui la conoscenza è codificata e il ragionamento deve restare ispezionabile, e con le ontologie come rappresentazione della conoscenza lessicale; mi sono occupato anche di ricerca euristica, in cui l’efficienza di un algoritmo come A* dipende (spesso quasi interamente) dall’euristica che lo guida. Di questi temi ho approfondito soprattutto la traduzione fra formalismi: un problema di pianificazione può essere formulato come un problema di soddisfacimento di vincoli (CSP) e, da lì, come una formula proposizionale, alla quale si applicano gli strumenti del ragionamento logico. Ho implementato questa catena di traduttori in aima-python, insieme al SAT solver che la conclude. La stessa domanda si ripresenta ora nella direzione opposta: se un problema di soddisfacibilità possa essere decomposto lungo la sua struttura, così come si decompone un problema di programmazione lineare intera mista.

Mathematical Optimization. Decomposition performs the same operation on the structure of a model instead of on its formalism. This covers Lagrangian (Dantzig-Wolfe) Relaxation and Decomposition, Benders Decomposition, the Bundle Methods that solve the nondifferentiable duals they give rise to, and the parallel solution of the subproblems, which are typically many and independent by construction. This is the premise of SMS++, where a model is declared as a tree of nested blocks; hence, the same instance can be solved monolithically, dualized along its linking constraints or split by scenario, and the choice among these is a matter of configuration that does not require the model to be rewritten. Reformulation comes back inside the subproblems, as the recognition of a structure for which a specialized (often combinatorial) algorithm exists. In fact, a decomposition method solves each subproblem many times, with data that change (usually rather little) from one call to the next. Much of my current work is therefore on re-optimization, i.e., on reusing what has been computed for one instance in the solution of the next one, and on enlarging the class of subproblems that dynamic programming can solve efficiently.

Ottimizzazione Matematica. La decomposizione compie la stessa operazione sulla struttura di un modello anziché sul suo formalismo. Vi rientrano il Rilassamento Lagrangiano e la corrispondente Decomposizione di Dantzig-Wolfe, la Decomposizione di Benders, i Metodi Bundle che risolvono i duali non differenziabili che ne derivano, e la risoluzione in parallelo dei sottoproblemi, che sono tipicamente molti e indipendenti per costruzione. È la premessa di SMS++, dove un modello è dichiarato come un albero di blocchi annidati; di conseguenza, la stessa istanza può essere risolta in modo monolitico, dualizzata rispetto ai vincoli accoppianti o decomposta per scenari, e la scelta fra queste alternative è una questione di configurazione che non richiede di riscrivere il modello. La riformulazione ritorna all’interno dei sottoproblemi, come riconoscimento di una struttura per la quale esiste un algoritmo specializzato (spesso combinatorio). Infatti, un metodo di decomposizione risolve ciascun sottoproblema molte volte, con dati che cambiano (di solito piuttosto poco) da una chiamata all’altra. Buona parte del mio lavoro attuale riguarda quindi la re-optimization, cioè il riuso di quanto calcolato per un’istanza nella risoluzione della successiva, e l’allargamento della classe di sottoproblemi che la programmazione dinamica può risolvere in modo efficiente.

Machine Learning, connecting the two. I see machine learning mainly as a way of learning heuristics, to be placed at the points where an exact algorithm makes a choice, and hence of making that algorithm faster. On the symbolic side this is the heuristic that guides a search algorithm such as A*, or the branching of a SAT solver (as in NeuroSAT); on the numerical side it is the branching of a branch-and-bound whose bounds come from a specialized relaxation, e.g., a Lagrangian one. In both cases the learned part makes the choice, while the guarantees still come from the exact method (at least as long as the learned choice is one that the method may take anyway); thus, a poor prediction may somewhat slow the method down without affecting the correctness of its result. Conversely, learning problems can be written as structured optimization models, to which the same decomposition and re-optimization machinery applies.

Machine Learning, ponte fra i due ambiti. Vedo il machine learning soprattutto come un modo per apprendere euristiche da collocare nei punti in cui un algoritmo esatto compie una scelta, e quindi per rendere quell’algoritmo più veloce. Dal lato simbolico si tratta dell’euristica che guida un algoritmo di ricerca come A*, o del branching di un SAT solver (come in NeuroSAT); dal lato numerico, del branching di un branch-and-bound le cui valutazioni (bound) provengono da un rilassamento specializzato, per esempio lagrangiano. In entrambi i casi la parte appresa compie la scelta, mentre le garanzie continuano a venire dal metodo esatto (almeno finché la scelta appresa è una di quelle che il metodo potrebbe comunque compiere); di conseguenza, una previsione sbagliata può rallentare in parte il metodo senza intaccare la correttezza del risultato. Viceversa, i problemi di apprendimento possono essere scritti come modelli di ottimizzazione strutturati, ai quali si applicano gli stessi strumenti di decomposizione e di re-optimization.

PublicationsPubblicazioni

P1

Dynamic Programming for the Single-Unit Commitment Problem with Spinning Reserves and Reactive Power

A. Frangioni, C. Gentile, D. Meoli

Submitted, 2026Inviato a rivista, 2026

Spinning reserves and reactive power are shown to be absorbable into the polynomial dynamic programming algorithms for the single-unit commitment (1UC) at essentially no algorithmic cost, by a per-period partial minimization that folds them into an effective convex piecewise-quadratic production cost. On the instances tested, the two resulting SMS++ solvers are about two orders of magnitude faster than a general-purpose MILP solver.

Si mostra che le riserve rotanti e la potenza reattiva possono essere assorbite negli algoritmi polinomiali di programmazione dinamica per il single-unit commitment (1UC) a un costo algoritmico sostanzialmente nullo, tramite una minimizzazione parziale per periodo che le incorpora in un costo di produzione effettivo convesso e quadratico a tratti. Sulle istanze considerate, i due solver SMS++ che ne risultano sono circa due ordini di grandezza più veloci di un solver MILP generico.

Software

Most of the above exists as code, and most of that code is in SMS++, of which I am co-lead maintainer together with Antonio Frangioni.

Gran parte di quanto descritto sopra esiste come codice, e la maggior parte di quel codice è in SMS++, di cui sono, insieme ad Antonio Frangioni, uno dei due maintainer principali.

Open source, elsewhereAltri progetti open source

  • lamalunga

    A typographic theme for slides and printed pages in which the proportions, from the margins to the sizes of the type, are powers of the golden ratio, and the palette is computed from a single color by rotating its hue, with the contrast of the text checked against accessibility thresholds.

    Un tema tipografico per presentazioni e pagine stampate in cui le proporzioni, dai margini alle dimensioni del testo, sono potenze della sezione aurea, e la tavolozza si calcola da un solo colore ruotandone la tinta, con il contrasto del testo verificato rispetto alle soglie di accessibilità.

  • aima-python ★8.8k

    Reference code for Russell & Norvig’s Artificial Intelligence: A Modern Approach. Fourth-most-active contributor: SAT solving, constraint propagation, the translation of planning problems into search, constraint satisfaction and SAT, linear learners and support vector machines, and the algorithms of the fourth edition that were still missing.

    Implementazione di riferimento degli algoritmi di Artificial Intelligence: A Modern Approach di Russell e Norvig. Ne sono il quarto contributore per numero di commit: risoluzione di SAT, propagazione di vincoli, traduzione dei problemi di pianificazione in problemi di ricerca, di soddisfacimento di vincoli e SAT, modelli di apprendimento lineari e support vector machine, e gli algoritmi della quarta edizione che ancora mancavano.

  • optiml ★11

    Optimizers, from line search and Newton-type methods to proximal bundle and interior point, coupled with the learning models that are trained with them.

    Algoritmi di ottimizzazione, dalla line search e dai metodi di tipo Newton ai metodi bundle prossimali e a quelli a punti interni, insieme ai modelli di apprendimento che vengono addestrati con essi.

  • NeuroSAT ★8

    Neuro-symbolic approaches to SAT: graph networks and reinforcement learning that learn the branching heuristic of a SAT solver.

    Approcci neuro-simbolici a SAT: reti neurali su grafi e apprendimento per rinforzo che imparano l’euristica di branching di un SAT solver.

  • PESAD, BeerEX ★26

    Expert systems in logic programming and in rules with fuzzy reasoning, whose conclusions can be traced back to the rules that produced them.

    Sistemi esperti in programmazione logica e a regole con ragionamento fuzzy, le cui conclusioni sono riconducibili alle regole che le hanno prodotte.

  • WS4J, WNAffect ★29

    Measures of semantic relatedness and similarity, and of the affective content of words, over a lexical ontology.

    Misure di similarità e di correlazione semantica, e del contenuto affettivo delle parole, basate su un’ontologia lessicale.

ExperienceEsperienze

2021–presentdal 2021

Research FellowBorsista di Ricerca

Dipartimento di Informatica · DESTeC, Università di Pisa

Decomposition methods and solvers for large-scale optimization, and core development on SMS++, within the AUTENS, RESILIENT and PowerMax research projects. The applications so far are planning and scheduling under uncertainty, i.e., models with tens of thousands of variables per scenario, on which a general-purpose MILP solver typically does not close the instance in reasonable time.

Metodi di decomposizione e solver per l’ottimizzazione a grande scala, e sviluppo del nucleo di SMS++, nell’ambito dei progetti di ricerca AUTENS, RESILIENT e PowerMax. Le applicazioni finora riguardano la pianificazione e lo scheduling sotto incertezza, cioè modelli con decine di migliaia di variabili per scenario, sui quali un solver MILP generico tipicamente non riesce a risolvere l’istanza all’ottimo in tempi ragionevoli.

2018–2019

Data Scientist

Exprivia S.p.A., Molfetta (BA)

Learning models for predictive maintenance on multivariate time series, for image classification, and for real-time detection and counting.

Modelli di apprendimento per la manutenzione predittiva su serie temporali multivariate, per la classificazione di immagini e per il rilevamento e il conteggio in tempo reale.

EducationFormazione

MSc in Computer Science, Artificial IntelligenceLaurea Magistrale in Informatica, curriculum Intelligenza Artificiale

Università di Pisa

BSc in Computer ScienceLaurea Triennale in Informatica

Università degli Studi di Bari “Aldo Moro” — 110/110 cum laude110/110 e lode

ContactContatti

Donato Meoli