Update!
I have taken the models described here and translated them into PuLP models. PuLP is a linear programming package for Python. Check it out if you're interested in taking this further:
PuLP Shopping with a Data Scientist.ipynb
The setup
Me: "I think we should buy three USB-C cables."
— Chris Albon (@chrisalbon) October 23, 2017
Her: "Why?"
Me: "Well see, if you look at this..."
Her: "Whaaaa? Who would diagram that?!" pic.twitter.com/bQVA6OVbtc
Chris Albon tweeted an image of an undirected graph that he used to justify the number of cables he needed to his partner. She of course responded he was a nerd (subtext). I can only assume that her nerd-shaming of Albon and his lack of time are probably the reasons why he didn’t take this to the next level: A linear programming problem made to minimize the amount of money spent on cables!
Once you’re done reading this post, show it to your significant other and watch them roll their eyes in exasperation at your ridiculous need to turn even the simplest of everyday tasks into a complex problem worthy of that chip on your shoulder!
Here's the thing
Problem