Relevant Web pages for Choco3:

- A beta version, Choco3
- Choco3 at Github files
- Choco3 at Github commits

- AllDifferentExcept0.java: Decomposition of global constraint
`alldifferent_except_0`

. - AllInterval.java: All interval problem
- AppointmentScheduling.java: Appointment scheduling
- APuzzle.java: The "8809=6..." puzzle (See "God plays dice": A puzzle)
- ArchFriends.java: Arch friends puzzle (Dell Logic Puzzles)
- ARoundOfGolf.java: A round of golf puzzle (Dell Logic Puzzles)
- Assignment.java: Assignment problem (from Winston "Operations Research")
- BalesOfHay.java: Bales of Hay (a weighing problem)
- BrokenWeights.java: Broken weights (a weighing problem)
- BusSchedule.java: Bus scheduling problem (from Taha "Introduction to Operations Research")
- CalculsDEnfer.java: Calculs d'enfer problem (from NCL manual)
- Circuit.java: Decompositions of global constraints
`circuit`

and`circuit_path`

(the latter also extracts the path from the circuit) - Coins3.java: Coins problem (minimize the number of coins to be able to change all 1..99)
- CoinsGrid.java: Coins grid problem from Tony Hürlimann: "A coin puzzle - SVOR-contest 2007".
- CombinatorialAuction2.java: Combinatorial auction
- Contiguity.java: Decomposition of global constraint
`contiguity`

(using`regular`

) - CostasArray.java: Costas array
- CoveringOpl.java: Set Covering problem (from OPL)
- Crew.java: Crew scheduling problem (from Gecode)
- 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.
- DiscreteTomography.java: Discrete tomography
- DivisibleBy9Through1.java: Divisible by 9 through 1 (alphametic problem). Note: It works for N <= 8.
- DriveYaNuts.java: Drive Ya Nuts puzzle (rotating "nuts")
- Dudeney.java: Dudeney numbers
- EinavPuzzle.java: Einav puzzle (Solving A programming puzzle from Einav.)
- FillAPix.java: Fill-a-Pix puzzle
- FiveFloors.java: Five floors problem (from Radul and Sussman: "The Art of Propagator")
- FurnitureMoving.java: Simple task optimization using cumulative.
- FurnitureMoving2.java: Simple task optimization using cumulative. A little more general model
- Futoshiki.java: Futoshiki grid puzzle
- Grid17x17.java: 17x17 grid problem (experimental)
- JustForgotten.java: Just forgotten puzzle (Enigma puzzle #1517)
- Kakuro.java: Kakuro grid puzzle
- KenKen2.java: KenKen grid puzzle
- KillerSudoku.java: Killer Sudoku grid puzzle
- LabeledDice.java: Labeled dice problem
- Lanford.java: Langford's number problem
- LeastDiff2.java: Least diff problem, an alphametic puzzle, minimize the difference ABCDE-FGHIJ where A..J is integers 0..9 (all different)
- Lectures.java: Lecture scheduling (from Biggs "Discrete Mathematics")
- MagicHexagon.java: Magic hexagon problem (CSPLib #23)
- MagicSequence.java: Magic sequence problem (CSPLib #19)
- MagicSquare.java: Magic square problem
- MagicSquareAndCards.java: Magic squares and cards (Martin Gardner)
- Map.java: Simple map coloring problem
- Map2.java: Simple map coloring problem, a more general approach
- Marathon2.java: Marathon logic puzzle (example from Xpress system)
- 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

- MoneyChange.java: How many ways are there to make a change for a dollar? (simple model just using
`scalar`

constraint) - MrSmith.java: Smith family problem, logical puzzle (IF Prolog example)
- NontransitiveDice.java: Nontransitive dice
- Olympic.java: Olympic logic puzzle (Prolog benchmark)
- OrganizeDay.java: Organizing a day, simple scheduling problem
- PartitionIntoSubsetsOfEqualValues.java: Partition into subsets of equal values
- PartitionIntoSubsetsOfEqualValues2.java: Partition into subsets of equal values (randomizing the problem)
- PerfectSquareSequence.java: Perfect square sequence
- PhotoProblem.java: Photo problem (from Mozart/Oz)
- PickingTeams.java: Picking teams where the objective is to minimize the difference of total strength of each team.
- PlaceNumberPuzzle.java: Place number puzzle
- PMedian.java: P-median problem (OPL)
- PostOfficeProblem.java: Post office problem (Winston "Operations Research")
- QuasigroupCompletion.java: Quasigroup completion problem.

Problem files:

- Queen.java: N-queens problem
- SafeCracking.java: Safe cracking problem (from Oz primer)
- SchedulingSpeakers.java: Scheduling speakers (from Rina Dechter "Constraint Processing")
- SecretSanta.java: Secret Santa problem
- SecretSanta2.java: Secret Santa problem II (optimizing "Santa distance")
- SendMoreMoney.java: SEND+MORE=MONEY (alphametic problem)
- SendMoreMoneyAnyBase.java: SEND+MORE=MONEY in any base (alphametic problem)
- SendMostMoney.java: SEND+MOST=MONEY: maximize MONEY and show all solutions with the optimal value of MONEY
- Seseman.java: Seseman convent problem, a simple recreational mathematics puzzle.
- SetCovering.java: Set covering problem (from Wayne 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 problem (Lundgren, Roennqvist, Vaebrand: "Optimimeringlaera" [Swedish book, translated: "Optimization theory" (or Operations research)])
- SetCoveringDeployment.java: Set covering deployment problem
- SichermanDice.java: Sicherman Dice
- SkiAssignment.java: Ski assignment problem
- Strimko2.java: Strimko grid puzzle
- SubsetSum.java: Subset sum problem (Katta G. Murty)
- Sudoku.java: Sudoku
- SurvoPuzzle.java: Survo puzzle.

Problem files:

- ToNum.java: Channeling between an array of digits and a number (for a base)
- TrafficLights.java: Traffic lights problem (CSPLib #16)
- Xkcd.java: Xkcd "knapsack" problem
- YoungTableuax.java: Young tableaux and partitions
- Zebra.java: Zebra problem

Also see My Constraint Programming Blog

* Common constraint programming problems

* My MiniZinc page

* My Zinc page

* My JaCoP page

* My Choco2 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 Picat page

Back to my homepage

Created by Hakan Kjellerstrand hakank@gmail.com