馃悘 RAMS Reboot
Some years ago, I worked on real-time meal delivery at Zoomer, a YC startup based out of Philadelphia. Zoomer鈥檚 production tech stack was primarily Ruby. As it grew we moved from using heuristics for things like routing and scheduling to open source optimization solvers. Like most languages that aren鈥檛 Python, Ruby doesn鈥檛 have an especially mature ecosystem for optimization (or data science, or machine learning, for that matter). For some use cases that didn鈥檛 matter. When we upgraded the routing engine, we built a model in C++ using Gecode and wrapped a Ruby gem around a SWIG wrapper. But when we wanted to use integer programming to build schedules, the lack of solver APIs proved inconvenient.1 ...