Many optimization problems, found across logistics, inventory management, shift scheduling, auctions, etc., require taking hundreds of individual decisions, bound by hard constraints. This causes a combinatorial explosion of possible solutions — trillions or quadrillions of them — from which one must search for the most optimal one.
How do we execute an algorithmic search strategy over such a very large search space? Further, can we make the algorithm run fast enough to be able to optimize on-the-fly rather than running pre-optimized fixed schedules repeatedly?
These questions drove us to build a framework capable of traversing huge search spaces using massively parallel infrastructure such as supercomputers and clouds. With it, we can design and run powerful search strategies using many sophisticated algorithmic techniques — mixed and matched in powerful ways — including:
• Problem-space recursion
• Branch-and-bound using multiple complex bounds
• Dynamic programming
• Heuristic optimization, including A.I. and numerical techniques
This combination of features gives experts the power to devise correct, robust, real time solutions for faster, more optimal operations.