In working on my Resources site, I was reminded that there is a large array of constraint programming languages, libraries, and solvers available. Diversity and choice are great, but the array of choices could be rather overwhelming, especially for newcomers. It occurred to me that choosing options for any individual, company, purpose or application is a constraint satisfaction problem! Or more precisely a constraint optimization problem. (It also relates to work on recommender systems and preferences.)
This seems to me to provide a wonderful opportunity for some enterprising folks to build a tool to recommend constraint programming tools. This could be useful to choose constraint programming software, use constraint programming software, and provide an illustration of the use of constraint programming software. A trifecta!
Could be a simple decision tree. Could let people ‘dial in’ priorities or preferences. Could use ‘deep learning’?! 🙂 Could …
Of course, any such tool might be open to ‘dispute’, or exhibit — unconscious 🙂 bias; but if it generated discussion about what the proper criteria and ‘correct’ decisions should be, that itself could be useful. In fact, it would be great if several groups took up this challenge of producing such a tool, and could then compare results. The results might be written up individually or jointly. Perhaps there could be a presentation and discussion of the results at CP 2021.
I’ve issued this challenge to the Constraints Google Group. Perhaps you’re interested in taking it on?
