At conferences, my colleague Kris talks a lot about dating. Before you come away with the wrong impression, he’s not a professional dating guru and he doesn’t give out tips. Kris is one of the heads of OMP’s optimization department.
His point is about smart solutions and making them understandable for users (a pursuit now commonly known as XAI), and he uses analogies. He takes the deployment planning solver as an example. This solver assigns stock volumes to demand, incorporating a range of constraints and KPIs, by using what specialists call a ‘weighted greedy fractional matching algorithm.' This may sound either very complicated, very boring, or both, but the underlying mechanisms that make the deployment solver work are pretty simple. Kris uses the much more tantalizing subject of online dating to explain it to his audience in its simplest form.
The analogy goes like this. Imagine you’re building a dating app but your users aren’t so much looking for a partner, they just want to fulfill their annual date requirements. None of them are LGBTQ, so let’s say that women are the demand and men are the supply, because #feminism. That means that instead of a demand of 52 tons we’re looking at Jane who wants to keep the existential loneliness at bay by having 52 dates a year. Instead of a supply of 4 tons we’re looking at Paul, who only wants to have 4 dates a year.
Each of the single women and men has certain preferences when it comes to potential dates. These could be shared interests, an appreciation for the same kind of humor, or similar tastes in date night movies. For the deployment solver, these preferences correspond to KPIs such as transportation costs, or the difference between the demand due date and the stock availability date, among many others.
The first thing you do is calculate how well each possible pair fits together. For this, you take a weighted sum over all preference characteristics. For instance, it may be much more important for Jane that her date can make her laugh rather than that he also likes political thrillers, so you give this a higher weighting. This calculation gives you a value for each potential match, representing how good of a fit it would be, kind of like the match percentage on OkCupid. You then sort the potential matches by this fit value and work your way down the list.
You start with the best potential match. Let’s say that Jane and Oliver are the best fit because they both like bouldering and the comedian Daniel Sloss. Oliver only has time for 15 dates a year because he considers bouldering almost more of a calling than a hobby. Because this is the best match, all of Oliver’s 15 dates get assigned to Jane. Oliver now has no more dates to give out, so we ignore all his other potential pairings. Sorry, girls, there’s not enough of Oliver to go around. Jane is still in need of the remaining 37 dates, so she and her other potential matches are still in the game.
Moving on to the second-best match. Let’s say it’s between Kate, who only wants five dates, and William, who would like to have 45. That means five of William’s dates get assigned to Kate who then, together with her other potential pairings, is excluded from the rest of the algorithm.
Let’s say the third-best match is Jane and William. In this case, 37 of William’s dates get assigned to Jane. Jane is now happy, she has a date for every Saturday — 15 with Oliver and 37 with William. And so we continue down the list until either all the men’s dates are given out or all of the women’s demand has been satisfied.
The deployment solver works in the exact same way, finding values for potential matches between stock quantities and demand volumes, sorting this list and working its way down. When it’s explained using an online dating metaphor, it’s easy to see how simple the algorithm really is. It allows users to understand how the solver works and is the first step in building user trust in its results. Now, if only dating were that simple.
Eager to deploy data science and machine learning? Curious about our solvers? Browse through the FAQs or submit your own question.
Ioana is a consultant in the Solver team. There, she primarily works on the advanced S&OP solver and collaborates closely with project teams to ensure customers get the most out of OMP’s vast solver offering. She is passionate about mathematics and dislikes writing her own biography.