Skip to content
View dmeoli's full-sized avatar
🤓
Learning
🤓
Learning

Organizations

@aimacode @SMSpp-Project

Block or report dmeoli

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Content in all repositories owned by your account will be closed.
Maximum 250 characters. Please don’t include any personal information such as legal names or email addresses. Markdown is supported. This note will only be visible to you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
dmeoli/README.md

Donato Meoli

Optimization at the University of Pisa, coming from symbolic AI and working between the two. What holds them together is one idea: the difficulty of a problem lies in how it is written, so the useful move is to rewrite it, as a set of smaller problems or in a different formalism altogether. Knowledge representation and expert systems on one side, decomposition methods for large-scale optimization on the other, and learned heuristics inside exact solvers where the two meet.

dmeoli.github.io · CV · ORCID · GitLab · LinkedIn

Publications

  • A. Frangioni, C. Gentile, D. Meoli. Dynamic programming for the single-unit commitment problem with spinning reserves and reactive power. Submitted, 2026.
  • D. Fioriti et al. (incl. D. Meoli). Enhancing energy system modelling with advanced mathematical decomposition techniques: feasibility of coupling SMS++ and PyPSA. IEEE EEEIC / I&CPS Europe, 2025. doi:10.1109/EEEIC/ICPSEurope64998.2025.11169291

What I build

SMS++ C++ framework for block-structured optimization: a model is a tree of Blocks, an algorithm is a Solver that attaches to one. One of its two main maintainers, with Antonio Frangioni. SVMBlock, TwoStageStochasticBlock, MultiStageStochasticBlock, BendersDecompositionSolver and BranchAndXSolver are mine end to end; large parts of UCBlock (including the exact DP solvers for the single-unit commitment problem), of BundleSolver, MILPSolver and the core are as well.
aima-python Fourth-most-active contributor to Russell & Norvig's reference code: CDCL SAT solving, AC3b/AC4/GAC, planning-as-search translators, SVMs, the missing 4th-edition algorithms.
optiml Optimizers, from line search to proximal bundle and interior point, wired to scikit-learn-compatible models trained with them.
pypsa2smspp · pySMSpp Driving SMS++ from Python, and importing models written elsewhere into it.

Also upstream in SciPy, HiGHS, qpsolvers, MCFClass, FastFlow and the COIN-OR conda-forge feedstocks.

Pinned Loading

  1. SMSpp-Project/smspp-project SMSpp-Project/smspp-project Public

    Umbrella project that can be used to fetch and build all the SMS++ modules at once. | mirror of https://gitlab.com/smspp/smspp-project

    TeX

  2. NeuroSAT NeuroSAT Public

    Neuro-symbolic approaches to the SAT problem

    Jupyter Notebook 8 1

  3. aimacode/aima-python aimacode/aima-python Public

    Python implementation of algorithms from Russell And Norvig's "Artificial Intelligence - A Modern Approach"

    Jupyter Notebook 8.8k 4k

  4. optiml optiml Public

    Optimizers for/and sklearn compatible Machine Learning models

    Python 11 4

  5. PESAD PESAD Public

    Prolog Expert System for Anxiety, Obsessive-Compulsive and Trauma-Related Disorders (DSM-5-TR)

    Prolog 8 1

  6. BeerEX BeerEX Public

    Beer EXpert System is a rule-based expert system which suggests a beer to drink according to taste and meal

    CLIPS 18 3