I’ve decided to create a very simple Java API built on the top of JSR-331 that with a minimal learning curve will allow regular Java developers to quickly represent and solve optimization problems within their business domains. If you are a Java developer, you probably don’t like to read a lengthy user manual. So, you may quickly analyze one simple example explained at one page, and right away start building their own optimization model directly in Java. You concentrate only on the problem definition by writing one method define() of their Java class inherited from JavaSolver. You may find examples of frequently used constraints here. You don’t have to worry about solving algorithms and simply rely on the standard methods minimize() or maximize() to find an optimal solution. By taking the key advantage of the underlying JSR-331, you can easily switch between different off-the-shelf CP or LP solvers. You may start using Java Solver by downloading it from JavaSolver.comwithout any license limitations.
JSR331 “Java Constraint Programming API” is a JCP Specification Standard developed under the terms of the www.JCP.org. Now it also has its own website: www.jsr331.org. You can download the latest JSR-331 version, see different milestones, and read all release notes. While the software is in a stable state and is used in production environments by various companies, we keep adding new features based on the real-world user requests. You may try JSR-331 and use it for free and without limitations. Please send your suggestions for improvement to email@example.com.
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. Continue reading
The workshop “CP Solvers: Modeling, Applications, Integration, and Standardization” will be held at the 19th International Conference on the Principles and Practice of Constraint Programming (http://cp2013.a4cp.org/) in Uppsala, Sweden exactly in one month on Monday September 16, 2013. The workshop schedule is already in place. It includes 12 presentations – all abstracts and presentations can be found here. At the end of the workshop we will run an Open Panel Discussion moderated by Helmut Simonis, a well-known optimization expert and the current President of ACP. Continue reading
When we initiated JSR-331 standard, the choice of Java was justified (besides other practical advantages) by the fact that users would be able to create their own friendly DSLs (domain specific languages) using different JVM languages. Probably it will be interesting to look how a notorious SEND+MORE=MONEY puzzle can be presented in different JVM languages. We will show it in basic Java, Groovy, Scala, and Closure. Continue reading
Oscar Riveros used JSR-331 to develop a Clojure-based environment for solving puzzles. You may read more in this manual “Constraint Programming with Puzzles“. All sources and examples are freely available from GitHub. I haven’t had a chance to check it myself (yet!) but any comments and suggestions are welcome. Thank you, Oscar!
This is a good trend as JSR331 allows creation of user-friendly domain specific APIs for constraint programming in different JVM languages.
This year the major annual conference “CP 2013” will include a workshop “CP Solvers: Modeling, Applications, Integration, and Standardization” that will be held in Uppsala, Sweden on September 16, 2013. Continue reading