CP-2013 was the 19th International Conference on the Principles and Practice of Constraint Programming (http://cp2013.a4cp.org/) that took place in Uppsala, Sweden on Sep 16-20, 2013. It proved again that this is the major CP event of the year. You may read about breakthrough presentations and major mini-events during the conference in the Hakan’s blog. One of the highlights was First International Lightning Model and Solve Competition when one team “using paper and pen beat nine other teams who had the best optimizing software in the world at their fingertips”- see notes from the winner.
In this post I will concentrate on the workshop “CPSOLVERS-2013“, which I initiated and co-organized together with Hakan Kjellerstrand and Helmut Simonis. This was one day workshop that included 12 presentations from major CP vendors – you may find all of them here. We tried to push vendors to concentrate not on implementation but rather on modeling, applications, integration, standardization and real-world use of their tools.
Our CP community has already produced a rich set of Constraint Solvers frequently well-integrated with LP/MIP tools – see www.cpsolvers.org. It is a very positive fact. At the same time, in spite of its power CP still remains on a sidetrack of the real-world application development. Why? We tried to analyze the reasons in the Open Panel Discussion held at the end of the workshop and moderated by Helmut Simonis, the current ACP president. We had a quite open and sometimes heated discussion. Here are questions asked by Helmut:
- Do we have too many solvers? Is there too much effort spent in duplicating core functionality, and developing unique features which then can not be combined with other required features to solve a specific problem?
- Is there a way to improve visibility of applications developed using CP? It seems from the presentations that even the tool developers don’t know what their tools are used for. While part of this is understandable, it does limit the overall effect on the community, internally and externally.
- What applications should we aim for? It seems that a lot of CP research is targeted at solving the most complex problem possible, to show a valid research objective. This does not necessarily help to widen the use of the technology. On the other hand, making CP more accessible often is not recognized as a publishable result. For a commercial use, simple is good. Simple applications can still have a big impact on a company.
- Is open-source software really helping to widen impact of the technology?Commercial customers require stability and guaranteed support above nearly everything. On the other hand, there may be many applications out there that could not be produced with a large commercial license fee requirement.
- What are show-case applications for CP, i.e. big impact, quantifiable development effort, easy integration, shows clear advantage of CP approach?
Wim Nuijten asked the panel to name one reason why CP is still not commonly used. Another interesting topic was a future of CP modeling languages like OPL, AMPL, and others. Will they die or flourish?
It’s hard for me to reproduce all answers and I want to invite all CPSOLVERS-2013 panelists and other CP practitioners to provide their answers as comments to this post.
I cannot help addressing one issue that came again and again during the workshop. Many solver developers were quite open that they do not even intend to offer their tools as genuine software products to business application developers. If the authors work in academia, they take for granted their inability to provide technical support and consulting around their tools. They do not even track their customers and frequently have no idea how their tools are being used. Not good at all! At the same time we witness a creation of new spin-offs from CP research centers with serious product approaches – a very good sign.
I also was really glad when Laurent Perron, the author of Google’s OR-tools, proclaimed that he loves to do real-world consulting. No wonder his discussion forum is so popular. At the same time, the most discussions over there go around their vehicle router, that points all of us to the value of vertical product development (instead of pure horizontal CP solvers).
CP developers naturally love to win CP competitions, and it is really great that MiniZinc provides valuable tools and organization for such competitions. MiniZinc became de-facto XML standard for the CP competition, but will it become a standard CP Interchange Format for different solvers? Does CP community really want to move in this direction? IBM and other commercial vendors certainly stay away of MiniZinc and other standardization initiatives like JSR331. Business application developers would love the fact that they may switch between solvers without changing their models.
Preparing for this workshop, we’ve created a Live Catalogue of CP Tools (www.cpsolvers.org). Here is a brief overview of the catalogue in the time of the CP-2013:
Today the CP Catalogue already includes 30 solvers: a new product Opturion, one of winners of the MiniZinc competition, had been added after the conference. We expect that authors will maintain the profiles of their products.
At the end I want to stress an importance of the integration of CP/LP/MIP solvers with other Decision Management techniques such as Business Rules, Predictive Analytics, CEP, and Decision Modeling (see http://decision-tools.org) which are in the center of the modern business architectures.
Overall, I think the workshop has actually provided us with an industrial overview of CP products that was its main objective. We plan to get such overviews every 4 years – so I hope to see many authors of current and brand new CP tools at CPSOLVERS-2017.
P.S. I want to thank CP-2013 organizers for their constant support and a great organization of the conference.