Feeding Families Through Optimization with “Lasagna Love”
By CHRISTIAN ALLINSON (LGO ’22), KENNY GROSZMAN (LGO ’22), and CHRISTINA MICHAELS (LGO ’22)
A cornerstone of MIT’s curriculum is mens et manus— not just the mind, but also the hands. We decided to exercise this principle for our final project for our software architecture class (1.125– Architecting and Engineering Software Systems).
Our class was connected to Lasagna Love, an organization that brings together volunteer chefs to cook meals for families in need, through Jason Chen (LGO ‘12). Their organization began locally, connecting dozens of volunteers and families in San Diego. By the time we joined them, though, they were growing at an astonishing pace, even making an appearance on The Today Show, and were serving nearly a thousand families across the entire country. They quickly realized that their technology stack was not designed to support an operation of this magnitude, and asked us for a solution to alleviate their manual process for matching volunteers to in-need families was the bottleneck.
We saw this opportunity to make an impact, and based our project around developing a full-scale optimization tool to match volunteers to families. Our algorithm was adopted by the organization and integrated into their weekly workflow, and is currently used to provide meals for ~5000 families each week across all 50 states and Puerto Rico.
What we built
Our contribution to Lasagna Love centers on a matching optimizer. In the earlier days of Lasagna Love, dozens of regional leaders would hand-match each week’s available volunteers to the waiting requests, trying to maximize the number of meals distributed while respecting constraints like how far each volunteer was willing to travel and what food allergies needed to be accommodated. As the number of weekly requests grew into the thousands and the number of locations served increased, this was quickly becoming impossible to do (much less do well).
Our first product was a standalone optimizer that could ingest the spreadsheets that Lasagna Love was using to do their manual tracking and matching and returned a list of optimal matches. This optimizer assigned a “score” to each match that was aligned with Lasagna Love’s mission: older requests, requests from families, and deliveries from less frequent volunteers (for example) would get some priority. The optimizer then attempted to maximize the aggregate score in the matches it made. This alone saved regional leaders hours of effort every week and ensured that matches were made with consistent considerations.
Lasagna Love was growing in volunteers and requests past what could be handled with shared spreadsheets. As they looked toward a CRM that could handle the ever-growing volume, we planned to go with them. We converted our spreadsheet-based program to one that could read and write from a database, and added the ability to run automatically. At website launch, our optimizer was behind the scenes, ready to match.
In the 3 months since the website has been live, our contributions haven’t ended. We’ve added features to help grow with Lasagna Love and keep consistent with their mission, including:
> Real driving distance lookups for regions with waterways and other confounding factors
> Granular grouping of volunteers and requests
> Delivery clustering to keep volunteer’s matches close together
Our optimizer has now become an integral part of the Lasagna Love workflow. What took dedicated volunteers 6+ hours per week to complete with only a few thousand requests is now handled in an hour and a half for over 10 thousand requests nationwide.
The LGO Toolbox
Skill sets developed throughout our summer and fall semesters enabled our team to provide a tangible and impactful product to the Lasagna Love organization. Our courses in Python programming and systems optimization provided us with an understanding of how to develop scripts to optimally match requesters and chefs with a mixed integer linear program.
Over the summer, we also had the opportunity to hear from Gene Kim, author of The Phoenix Project, on the importance of dev ops frameworks for software development (and their parallels to lean manufacturing!). For this project, we were able to experiment with some of these practices– being ruthlessly focused on end-user value, working towards a functional minimum viable product before increasing model complexity, and playing with technologies like version control and CI/CD for deploying our algorithm on the cloud.
With the LGO toolbox and ‘get your hands dirty’ mindset, we were able to deliver a great solution for an important cause.