Most of my work is proprietary, but some of it is open. Here are a few projects I’ve built or made significant contributions. I’ve also made significant contributions to projects such as PuLP, MIPLIBing, and MDRPlib.

Active projects

The Ruby Algebraic Modeling System is a simple modeling tool for formulating and solving MILPs in Ruby.

ap.cpp is an incremental primal-dual assignment problem solver written in C++. It can vastly improve propagation in hybrid optimization models that use AP relaxations. I use it within custom propagators in Gecode and in Decision Diagrams for solving the Traveling Salesman Problem with side constraints.

ap is a Go version of ap.cpp.

TSPPD Hybrid Optimization Code and TSPPD Decision Diagram Code are both used in my dissertation. The former contains C++14 code for hybrid CP and MIP models for solving TSPPDs. The latter uses a hybridized Decision Diagram implementation with an Assignment Problem inference dual inside a branch-and-bound.

TSPPDlib is a standard test set for TSPPDs. The instances are based on observed meal delivery data at Grubhub.

Defunct projects

python-zibopt was a Python interface to the SCIP Optimization Suite. This was no longer necessary once PySCIPOpt emerged.

Chute was a simple, lightweight tool for running discrete event simulations in Python.

PyGEP was a simple library suitable for academic study of GEP (Gene Expression Programming) in Python 2.