I plan to present the latest state of the JSR-331 standard at the major CP conference CPAIOR that will be held at Yourtown Heights, NY, USA on May 18-22, 2013. The title of my accepted presentation is “Implementing JSR331 Standard with Different Constraint and Linear Solvers”. Here is the abstract:
“JSR331 is a standard for a Constraint Programming API approved by Java Community Process (www.jcp.org) on March of 2012. JSR331 provides a unified interface for representing and solving constraint satisfaction and optimization problems in Java. The standard includes a solver-independent library that covers major functionality common for all solvers and simplifies the development of JSR331 implementations. This library was used to develop three different JSR331 implementations using off-the-shelf open source constraint solvers. More CP-based implementations are on the way. A JSR331 model should work with any underlying solver without changing a character in the model code. To switch between different implementations a user only needs to change solver-specific jar files in the project classpath. When a model uses only linear constraints, it may be successfully resolved with various linear solvers. As all LP tools understand the standard MPS format, we added an ability to generate an MPS file from a JSR331 model. It allowed us to quickly add seven more JSR331 implementations using popular linear tools from Cplex and Gurobi to SCIP and GLPK. In this presentation we describe the internal architecture of the JSR331 and how it has been implemented using various constraint and linear solvers available on the today’s market.”
We are trying to prepare a new maintenance release 1.1.1 for this event. In particular, we plan to include the following features:
- Support for real constrained variables
- Additional global constraints
- Several updated JSR331 implementations
- More sample problems.