The ECLiPSe platform has been under development for over ten years. During that time constraint programming has established itself not only as an important research area, but also in live industrial applications. The market for constraint technology is growing dramatically, to the point that the major vendor of MIP technology (CPLEX) has been recently taken over by a constraint technology vendor (ILOG).
Over the last five years ECLiPSe has moved on from its early roots in logic programming and constraint propagation, to a focus on hybrid algorithms. A tight integration between MIP and CLP has been developed and hybrid algorithms based on this combination have proved their efficiency on industrial applications. However hybrid search algorithms, in particular utilising solution repair, have also been a focus of research and development.
Based on growing experience with hybrid algorithms, we have been able to separate the features of the different algorithms both from each other, and from the underlying problem model. Consequently we have reached the point where ECLiPSe can be used to express a clear, precise and neutral conceptual model of an application, and this model can then be extended and annotated at the implementation stage. The result of implementation is a design model which implements fine-grained hybrid algorithms tailored to the application at hand.
This work has been based on experience on a variety of industrial applications. IC-Parc has developed applications for several of its industrial partners, and each application has contributed to the final architecture of the ECLiPSe platform. Ongoing applications, with partners such as British Airways, Wincanton Transport and Bouygues, continually give rise to new hybrid techniques, and these results will feed back into ECLiPSe, as the algorithms are encapsulated and added as new libraries.
Nevertheless the real benefit of ECLiPSe comes not from the algorithms that are already encapsulated as libraries, but from the ease with which new hybrid algorithms can be developed and validated, and delivered into the industrial computing environment.