- JSRs: Java Specification Requests - JSR 331: Constraint Programming API
- JCP Release notes, ChangeLog
- CP-Standards: JSR-331
- Java doc: Java Constraint Programming API v.0.7.1
- CP-Standards: Discussion forum
- Jacob Feldman's blog Constraint Programming Standardization Blog. See for example JSR-331 wins JCP Award "The Most Innovative JSR of 2010"
- Twitter: @JSR331
- Jacob Feldman's talk JSR 331: Constraint Programming API (2012-10-01)

- compileProgram.sh: Compile a JSR-331 program in sample directory (PATH:s may have to be changed)
- runProgram.sh: Run a JSR-331 program in sample directory (PATH:s may have to be changed)
- compileProgram_local.sh: Compile a JSR-331 program in current directory (PATH:s must be changed)
- runProgram_local.sh: Run a JSR-331 program in current directory (PATH:s must be changed)

`org/jcp/jsr331/hakan`

).
- AllDifferentExcept0_test.java: Decomposition of global constraint
`alldifferent_except_0`

- AllInterval.java: All interval problem (CSPLib problem #7)
- ChessSet.java: Chess set problem
- Circuit_test.java: Decomposition of global constraint
`circuit`

- CoinsGrid.java: Coins grid problem from Tony Hürlimann: "A coin puzzle - SVOR-contest 2007"
- CoveringOpl.java: Set covering problem (from OPL)
- CrossWord.java: Cross word (simple CLP example)
- DeBruijn.java: de Bruijn sequences, both "normal" and "arbitrary".

Usage:`java DeBruijn base n (m)`

where`base`

is the base to work with,`n`

is the "bit length" and`m`

the optional length of the sequence (default length is base^n) - Diet.java: Simple diet problem
- FurnitureMoving.java: Simple task optimization using cumulative (with a very experimental decomposition of
`cumulative`

) - Grid17x17.java: 17x17 problem
- Kakuro2.java: Kakuro grid puzzle
- LeastDiff2.java: Least diff problem, an alphametic puzzle, minimize the difference ABCDE-FGHIJ where A..J is integers 0..9 (all different)
- MineSweeper.java: Minesweeper problem.

Problem files for the Minesweeper program.

Usage:`java Minesweeper problem file`

- Problem 0 from Gecode minesweeper.cc
- Problem 1 from Gecode minesweeper.cc
- Problem 2 from Gecode minesweeper.cc
- Problem 3 from Gecode minesweeper.cc
- Problem 4 from Gecode minesweeper.cc
- Problem 5 from Gecode minesweeper.cc
- Problem 6 from Gecode minesweeper.cc
- Problem 7 from Gecode minesweeper.cc
- Problem 8 from Gecode minesweeper.cc
- Problem 9 from Gecode minesweeper.cc
- From "Some Minesweeper Configurations",page 2
- From "Some Minesweeper Configurations",page 3
- From Richard Kaye: How Complicated is Minesweeper?, splitter (131072 solutions)
- From Richard Kaye: How Complicated is Minesweeper?, wire

- QuasigroupCompletion.java: Quasigroup completion problem.

Problem files:

- SendMoreMoneyAnyBase.java: SEND+MORE=MONEY in any base (>= 10)
- SendMostMoney.java: SEND+MOST=MONEY where the object is to show all solutions with the maximum values of MONEY
- Seseman.java: Seseman convent problem, a simple recreational mathematics puzzle
- SetCovering.java: Set covering problem (from Winston: "Operations research")
- SetCovering2.java: Set covering problem (from Taha: "Operations research")
- SetCovering3.java: Set covering problem (from Katta G. Murty)
- SetCovering4.java: Set covering / set partition problem (from Lundgren, Roennqvist, Vaebrand 'Optimeringslaera' (translation: 'Optimization theory')
- SetCoveringDeployment.java: Set covering deployment
- SetPartition.java: Set partition problem
- StableMarriage.java: Stable marriage problem (with 4 different problem instances)
- Sudoku2.java: Sudoku
- Strimko2.java: Strimko grid puzzle
- SurvoPuzzle.java: Survo puzzle.

Problem files:

- ToNum.java: Channeling between an array of digits and a number
- WordSquare.java: Word square: square matrix cross words (fill the whole square with unique words)
- xkcd.java: xkcd knapsack problem
- YoungTableaux.java: Young tableaux and partitions

Also see My Constraint Programming Blog

* Constraint Programming

* Common constraint programming problems

* My JaCoP page

* My JaCoP/Scala page

* My Choco page

* My MiniZinc page

* My Zinc page

* My Gecode/R page

* My Comet page

* My Gecode page

* My ECLiPSe CLP page

* My Tailor/Essence' page

* My SICStus Prolog page

* My Google or-tools page

* My OscaR page

* My Numberjack page

* My AIMMS+CP page

* My B-Prolog page

* My Choco3 page

* My Picat page

Back to my homepage

Created by Hakan Kjellerstrand hakank@gmail.com