About the Constraint Programming Platform Project
Challenges
The main challenge is to build the G12 optimization platform. This will consist of the Zinc modelling language, the Mercury constraint programming language, and the Cadmium mapping language for transforming Zinc models to Mercury programs. There are many researchers in Australia and worldwide who focus on specific optimization problems (such as `bin-packing'). However, many real world problems are mixtures of such problems (e.g. a package delivery problem is a hybrid containing both vehicle routing and packing problems). The G12 platform will enable us to combine such algorithms together. We will analyse such algorithms so that they can be put together using generic combination techniques. Direct results will thus include new hybrid algorithms tailored to industrial applications, new algorithm abstractions and new hybridization forms. Such work will require the collaboration of researchers from different disciplines: operations researchers, graph algorithms researchers, meta-heuristics researchers, artificial intelligence researchers, and software engineers. The project will thus help establish an optimization research community made up of the communities listed above. This new research discipline will help to attract to Australia some of the best researchers from all over the world.
Project Plan
The project will build G12, a powerful, easy-to-use, constraint programming platform for solving large scale industrial combinatorial problems. The project plan includes deployment of the platform on four different industrial applications.
The research project is split into four related threads: building richer modelling languages, building richer solving capabilities (search and solver technology), a richer control language mapping the problem model to the underlying solving capabilities, and a richer problem-solving environment.
The underlying implementation platform will be the Mercury system. On top of Mercury the project will build a generic modelling language called Zinc, and a mapping language which takes a Zinc model and generates a Mercury program, called Cadmium. The complete platform, comprising Zinc, Cadmium and Mercury will be called G12 (since Zinc, Cadmium and Mercury belong to the 12th group in the periodic table of chemical elements).
