JaCoP es un solucionador de restricciones para problemas de satisfacción de restricciones . Está escrito en Java y se proporciona como una biblioteca de Java. JaCoP tiene una interfaz con los lenguajes de modelado MiniZinc y AMPL . Su enfoque principal está en la facilidad de uso, la potencia de modelado y la eficiencia. Tiene una gran colección de restricciones globales implementadas para facilitar el modelado de problemas. JaCoP se desarrolla activamente desde el año 2001. Krzysztof Kuchcinski y Radoslaw Szymanek son los desarrolladores principales de esta biblioteca de Java. Hay varias personas que han contribuido al desarrollo de JaCoP además de los desarrolladores principales. El desarrollo de JaCoP ha sido influenciado por más de 20 artículos de investigación de la comunidad de Programación con Restricciones. Se ha utilizado como herramienta en más de 30 artículos de investigación. [ cita requerida ] Se proporcionan muchos ejemplos diferentes para que sea más fácil aprender a usar JaCoP. [ cita requerida ]
El proyecto JaCoP contiene un contenedor para el lenguaje de programación Scala , y se mantiene un contenedor para Clojure como un proyecto separado CloCoP.