3 ms·
Try providing branch and bound solvers as a service? Spin up some massive EC2 instances, run something like the CoinCBC solver (or license Gurobi by the EC2 hou
by philip1209 11y ago
Try providing branch and bound solvers as a service? Spin up some massive EC2 instances, run something like the CoinCBC solver (or license Gurobi by the EC2 hour), and let people run optimization problems on shared hosts. Charge per minute and assume that you get ~60% utilization on the instances with a queue. Maybe allow problem formulation using the JuliaOpt / JumP metalanguage.
The hard thing about optimization problems is that they take on the order of minutes to run, but you're billed by the hour.
Sounds crazy, but lots of startups - ranging from OnFleet to Lyft Line to Postmates - are probably computationally bound on problems like the Traveling Salesman Problem / bin packing problem / knapsack problem. It's not worth $1400/instance/month to spin up the biggest computation nodes because they would get low utilization, but they still want their problem to solve quickly. If you bill by the minute - then they save money and time.
Implementation would be straightforward - set up a queuing model, a timeout on each problem, and do a callback when the problem finishes. I think it's an untapped market because there has been lots of software developed for ML, but little for decision making built on top of the regression models that ML outputs.
- shoo 11y agoI like your point about software for ML, vs software for decision making. I reckon there is a lot of existing software for decision making, but it is focused around particular domains/industries. A few months ago there was some news about a new startup offering experimental design as a service -- that's another related, seemingly under-explored idea. Branch & bound solvers (aka combinatorial optimisation) as a service doesn't sound crazy to me, but perhaps one would need to think very carefully about the market. What kind of customers would this service have? If you are aiming to win customers by offering a cheaper service than alternatives, then I suppose the individual customers would need to be only the ones where it made more sense to rent this infrastructure instead of invest in their own. I.e., they would need some usage, but not usage heavy enough to justify investment in their own infrastructure, which would be cheaper for them in the long run. Might have to think about data-security issues too, if commercially sensitive data is being uploaded to the solver back-ends. Context: I have worked somewhere that internally runs a service vaguely similar to what you describe. E.g. licensed commercial solver, sitting on a server with a decent amount of memory and compute, used as a back-end by various services to solve sufficiently valuable business problems for clients. If one built a service like this, another idea is to keep it to yourself, and partner with some operations research consultants, then go directly after the business problems.