Home
CP-Standards

Introduction 

Constraint Programming (CP) is a programming paradigm which provides useful tools to model and efficiently solve constrained satisfaction and optimization problems. Today CP is a proven optimization technique and many CP solvers empower real-world business applications in such areas as scheduling, planning, configuration, resource allocation, and real-time decision support. However, the absence of standards still limits the acceptance of CP by the business world. 

CP Standardization Objectives

The standardization of Constraint Programming aims to make CP technology more accessible for business software developers. It intends to create CP Standards that will define unified business interface(s) for modeling and solving real-world decision support problems as Constraint Satisfaction Problems. Having unified interfaces will allow commercial application developers to model their problems in such a way that the same model can be tried with different CP Solvers. This will minimize vendor dependence without limiting vendor's innovation. At the same time the Standardization will help to bring the latest research results to real-world business applications. 

This web site has been created as a public vehicle that will allow all CP professionals to contribute to the CP standardization efforts. The actual standards will be created and published using already established standardization processes such as the Object Management Group and Java Community Process. However, this web site will be a place where CP professionals will discuss and specify common principles, concepts, implementation approaches, and concrete straw-man proposals for different CP standards.  

 

Current Status

The website started in 2009 and the first standardization discussion has been held during CP-2009 in Lisbon - see presentation.  This web site maintains a Discussion Forum where all contributors express their opinions about different standardization aspects and suggest concrete improvements. Based on the proposed changes the content of this website is being constantly adjusted. While much of the material on this website must be understood as an attempt to identify what and how should be standardized, there is an essential progress. In particular, the Java Specification Request JSR-331 "Constraint Programming API" has been established and is under way - see Java CP API.

 

 
CP-Standards, www.cpstandards.org, Powered by Joomla!