My Choco page
Choco is a constraint programming system in Java.
Relevant Web pages for Choco version 2:
2013-03-13: Note: There is now a (beta) version of Choco 3 ("Choco 3 is not the continuation of Choco2, but a completly rewritten version and there is no backward compatibility."). Code via Github: github.com/chocoteam/choco3. (The models below will probably not work in Choco 3.) Also, see my Choco3 page.
My Choco models
Below are some of my models for Choco version 2.
Explanations, references, and inspirations are in each specific file.
- AllDifferentExcept0_test.java: Decomposition of global constraint alldifferent_except_0.
- CoinsGrid.java: Coins grid problem from Tony Hürlimann: "A coin puzzle - SVOR-contest 2007".
- CrossWord.java: Cross word (simple CLP example).
- CrossWord2.java: Cross word (simple CLP example) with some extra constraints.
- 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.
- 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
- QuasigroupCompletion.java: Quasigroup completion problem.
Problem files:
- Seseman.java: Seseman convent problem, a simple recreational mathematics puzzle.
- SurvoPuzzle.java: Survo puzzle.
Problem files:
- WhoKilledAgatha.java: Who killed agatha? (The Dreadsbury Mansion Murder Mystery, an automated reasoning problem.
- WhoKilledAgatha_element.java: Who killed agatha? (The Dreadsbury Mansion Murder Mystery, an automated reasoning problem. This version uses the nth constraint (Element) and transposed matrices.
- WordSquare.java: Word square: square matrix cross words (fill the whole square with unique words).
- YoungTableuax.java: Young tableaux and partitions
Also see My Constraint Programming Blog
* Common constraint programming problems
* My MiniZinc page
* My Zinc page
* My JaCoP page
* My JaCoP/Scala page
* My Gecode/R page
* My Comet page
* My Gecode page
* My Gecode/R page
* My ECLiPSe page
* My Tailor/Essence' page
* My SICStus Prolog page
* My Google or-tools page
* My OscaR page
* My JSR-331 page
* My Numberjack page
* My AIMMS+CP page
* My B-Prolog page
* My Choco3 page
* My Picat page
* My z3/python page
* My SWI-Prolog page
Back to my homepage
Created by Hakan Kjellerstrand hakank@gmail.com