Skip to content

September 2025

PuLP: past, present and future

I started using PuLP circa 2015 (already 10 years ago!). Looking at my personal and professional emails, I realize today that my first experience using this python library was following the Discrete Optimization Course from Coursera (great course by the way!, although it seems to not exist anymore). It was also at that time that I joined the PuLP user mailing list. I've realized that the best way I find the motivation to learn something technology-wise is to subscribe to a user mailing list.

At the time I was also starting my journey into python and software development. Until then, and still for many more years, I was an AIMMS user and developer. As such, I saw the world through the lens of an algebraic language: multi-dimensional parameters, indices, sets and many, many subsets. It was a very comfortable way of picturing problems, decisions, logic and data.

Pytups, functional programming & data wrangling in optimization

Every now and then, I get a sudden urge to learn another programming language. It goes away after about a week of reading and preparing a development environment in my computer. It happened last year with Kotlin and Scala. This time it happened with Rust.

Usually, I get really excited until I realized that whatever language I'm learning does not include the libraries I use and love in python. Usually it's about libraries to produce pretty charts (e.g., plotnine) or to call efficient graph algorithms (e.g., graph-tool, networkx). But, If I'm being honest, I think the one I would miss the most, especially as it relates to algorithms and mathematical models, is pytups.