Hello everyone,
I am Mark, a computer science PhD student from the Netherlands. Frustrated that the multi-store tool from Rebrickable doesn't have a good optimisation algorithm and that BrickLink's easy-buy tool only works for BrickLink (and finds solutions that are far from optimal), I said to myself: I can make a tool myself, how hard can it be? Well it turns out to be VERY complicated. So this hobby project of mine completely grew out of hand. I spend over a year working evenings and saturdays to get a good algorithm. But: IT WORKS!!
I have already integrated the real data from BrickOwl on which store is selling which lot. In short the tool can now:
1. Get a part list of a MOC from Rebrickable
2. For each part and color combination, lookup the corresponding BrickOwl ID
3. Get the available lots from the BrickOwl API
4. Compute a good solution
In other words: finding a cheap distribution of parts over stores comes at the click of a button, and generates a solution that is way better than a human could ever find!
The only missing puzzle piece is the shipping information. I could use your help on this point. The BrickOwl API doesn't expose the shipping costs of stores, an essential ingredient in the algorithm. I have made a suggestion in the 'Suggestions' subforum. If you want to support this project you can head over to
https://www.brickowl.com/forum#/discussion/14749/shipping-costs-in-the-api and give the suggestion an upvote!
I am super excited that it is nearly finished and hope to launch the tool with a web interface in the summer! I think it could be very beneficial to the BrickOwl community. For MOC builders because they save money. For part sellers because the algorithm can pick up new unknown stores that turn out cheap (due to part price or proximity to the buyer).
Comments
- 25 red and 10 blue, or
- 15 red and 20 blue, or
- 10 read, 10 blue and 15 black
or any other combination.
The current algorithm does not take average lot values and minimum buys into account. I do have a solid idea on to add them in the equation though. It will take some time until I get to it. First I am focussing on making it a robust tool that people can use via the web browser. And I am in the last stages of writing my PhD thesis....