Optimisation problems are generally very difficult to solve, and good solvers are very expensive. Have you ever wondered why that is the case?
It’s simply because the math in each of these problems is different. As solver developers, the conventional way of helping our users tackle this is all too familiar: a user reports that a problem doesn’t work out of the box, we look at their math, and we make it solvable by tweaking solver parameters and trying out different combinations of algorithms.
The conventional way of making a problem solvable is time consuming and expensive
The Current Process
This is a time-consuming process driven by intuition built over decades of experience. The issue here is that this takes time and expertise – we always have limited manpower and we simply don’t have time to do this for too many people at once. Users, on the other hand, don’t have the solver expertise that solver developers do, so they often can’t do this at all. As long as this process is manual, we can only do this for a few people at a time, which is partially why solvers are so expensive. As long as we need to spend time helping individuals, we must charge accordingly. Otherwise, we can’t pay the bills.
In the end, this results in software that is more expensive than it should be, and a substandard user experience. The way things are currently done in the solver world, it is literally impossible for a solver to “just work well” out of the box all the time.
The Hyperoptimisation Community Project (HCP) is about using innovative technology to fully automate this process, end-to-end, and to enable everyone to solve any optimisation problem, no matter how hard. And the icing on the cake: it’s free.
What is Hyperoptimisation?
To do this, we invented a new class of optimisation algorithms: Self-improving algorithms.
The way this works is simple. Every time a user runs Octeract Engine, our servers receive information about what happened. Was the problem solved? Did it fail to find a solution? Was it too slow? What did the math look like? And so on.
This information is used server-side to automatically improve how the solver makes decisions internally, depending on the math that comes in. We do this using a lot of fancy stuff, such as machine learning and good old-fashioned data-driven work from experts who constantly invent new algorithms to solve the most common mathematical structures in our database more and more efficiently. We also use Octeract Engine to optimise Octeract Engine.
What this means for you is that, as people use Octeract Engine to solve more and more problems, the engine improves its own performance organically over time.
This is a re-invention of what an optimisation solver is. You are no longer working in isolation – if someone else has figured out a trick that can help you solve your problem, the solver will retrieve it from the server and use it automatically.
This is an ambitious project to advance our ability as a species to solve hard optimisation problems. Enabling humanity to solve these problems is crucial if we want to tackle all the big issues of our time: climate change, vaccine distribution, supply chain, transportation, energy consumption, design of pharmaceuticals, cost of living. With the help of a strong user community to help the algorithms learn at a large scale, conquering all of these is within our grasp.
You can help
People like you are invaluable to this Project. Start using the Engine today, for free, and join 50 universities from around the world already contributing to the project by constantly using Octeract Engine to solve their problems.
This is the dawn of a new era for how we solve these problems. Alone, we are limited.
Together, we can change the world.