Optimisation Platforms

February 16th, 2015

As the need for optimisation technology increases, it is essential to lower the barrier of entry to using this technology. Many optimisation problems are simple to solve using modern technology, but the problem owners are unaware or unable to use the optimisation technology already available. While problem modelling is a skill that needs to be learnt, we need to make it far easier to learn and apply this skill. To this end we need universal modelling languages that can be used to “model and run”, that is, once a problem is modelled correctly, the underlying optimisation system automatically determines what is the most appropriate technology, without any further intervention from the modeller.

As optimisation tackles increasingly more complex and large-scale applications, the demands placed on the underlying technology in terms of speed, scale, and expressive power generate fundamental computational challenges. The complexity of this new generation of applications places a significant cognitive burden even on expert practitioners. For these applications hybridisations of major technologies, such as constraint programming, mathematical programming and local search, are becoming the de-facto standard for addressing them. At the same time, the scope of optimisation has broadened from a focus on routing and scheduling to other areas such as integrated resource planning; operational decision-making under uncertainty, with data being delivered continuously in real-time to the optimisation engine; and data-intensive optimisation where optimisation technology is applied to very large data sets. This places new requirements on the technology which now needs to find high-quality solutions under time constraints, exploit uncertainty, deal with large data sets, and be integrated in complex runtime environments.

Mission

The platform project aims to build the next generation of optimisation technology. The technology will be: easy to use, easy to integrate in applications, and capable of tackling challenging future optimisation problems efficiently. The next generation optimisation technology will be agnostic of the optimisation method used allowing the same problem model to be solved using for example, mixed integer programming, dynamic programming, constraint programming or local search. The team aims to unify the different optimisation research communities by allowing easy comparison of different methods on the same problem, and breaking down the current silos or knowledge.

History

Members of the platform team have been responsible for driving new directions in optimisation for the last 25 years.  They developed two of the first three modern constraint programming systems: CHIP and CLP(R), laid the theoretical foundations for constraint programming, and developed many important constraint programming systems including Numerica, Localizer, Eclipse Prolog, OPL, HAL, Comet and Gecode.  The G12 project which was the direct ancestor of the platform project developed the Zinc and MiniZinc solver independent modelling languages, as well as the award winning Lazy Clause Generation hybrid approach to constrained optimisation, which defines the state-of-the-art for many well studied scheduling problems.  The G12 project lead to the spin out company Opturion which develops optimisation solutions for leading companies using Zinc.

Research Focus

The optimisation platform project team builds an optimisation platform that will dramatically simplify the solving of this new generation of complex optimisation applications by supporting rapid prototyping, deep solver hybridisation, data-intensive optimisation, and decision-making under uncertainty.