Generated on Sat Feb 7 2015 02:01:35 for Gecode by doxygen 1.8.9.1
Example scripts (models)

Classes

class  AllInterval
 Example: All-interval series More...
 
class  Alpha
 Example: Alpha puzzle More...
 
class  ArchimedeanSpiral
 Example: Archimedean spiral More...
 
class  BACP
 Example: The balanced academic curriculum problem More...
 
class  BIBD
 Example: Balanced incomplete block design (BIBD) More...
 
class  BinPacking
 Example: Bin packing More...
 
class  BlackHole
 Example: Black hole patience More...
 
class  CarSequencing
 Example: Car sequencing More...
 
class  CartesianHeart
 Example: Cartesian Heart More...
 
class  ColoredMatrix
 Example: Colored matrix example. More...
 
class  Crew
 Example: Airline crew allocation More...
 
class  Crossword
 Example: Crossword puzzle More...
 
class  CrowdedChess
 Example: Crowded chessboard More...
 
class  DescartesFolium
 Example: Folium of Descartes More...
 
class  DominatingQueens
 Example: Dominating Queens More...
 
class  Domino
 Example: Solitaire domino More...
 
class  Donald
 Example: DONALD+GERALD=ROBERT puzzle More...
 
class  EFPA
 Example: Equidistant Frequency Permutation Arrays More...
 
class  Eq20
 Example: Solving 20 linear equations More...
 
class  GoldenSpiral
 Example: Golden spiral More...
 
class  Golf
 Example: Golf tournament More...
 
class  GolombRuler
 Example: Finding optimal Golomb rulers More...
 
class  GraphColor
 Example: Clique-based graph coloring More...
 
class  Grocery
 Example: Grocery puzzle More...
 
class  Hamming
 Example: Generating Hamming codes More...
 
class  IndSet
 Example: Independent sets in a graph More...
 
class  Kakuro
 Example: Kakuro More...
 
class  KnightsReified
 Example: n-Knight's tour (simple model) More...
 
class  KnightsCircuit
 Example: n-Knights tour (model using circuit) More...
 
class  LangfordNumber
 Example: Langford's number problem More...
 
class  MagicSequence
 Example: Magic sequence More...
 
class  MagicSquare
 Example: Magic squares More...
 
class  MineSweeper
 Example: Minesweeper More...
 
class  Money
 Example: SEND+MORE=MONEY puzzle More...
 
class  MultiBinPacking
 Example: Multi-dimensional bin packing More...
 
class  Nonogram
 Example: Nonogram More...
 
class  OpenShop
 Example: open-shop scheduling More...
 
class  OpenShop::PrintTask
 Helper class for representing tasks when printing a solution. More...
 
class  OpenShop::Task
 Task representation for CROSH heuristic More...
 
class  OrthoLatinSquare
 Example: Orthogonal latin squares More...
 
class  Partition
 Example: partition numbers into two groups More...
 
class  Pentominoes
 Example: Pentominoes More...
 
class  PerfectSquare
 Example: Packing squares into a rectangle More...
 
class  Photo
 Example: Placing people on a photo More...
 
class  QueenArmies
 Example: Peaceable co-existing armies of queens More...
 
class  QueenArmies::QueenBranch
 Custom brancher for Peacable queens. More...
 
class  Queens
 Example: n-Queens puzzle More...
 
class  Radiotherapy
 Example: Radiotherapy More...
 
class  Radiotherapy::NestedSearch
 Nested search on the q variables. More...
 
class  Sat
 Example: CNF SAT solver More...
 
class  Schur
 Example: Schur's lemma More...
 
class  SportsLeague
 Example: Sports league scheduling More...
 
class  SteelMill
 Example: Steel-mill slab design problem More...
 
class  SteelMill::SteelMillBranch::Choice
 Choice More...
 
class  SteelMill::SteelMillBranch
 Custom brancher for steel mill slab design. More...
 
class  Steiner
 Example: Steiner triples More...
 
class  SudokuInt
 Example: Solving Sudoku puzzles using integer constraints More...
 
class  SudokuSet
 Example: Solving Sudoku puzzles using set constraints More...
 
class  SudokuMixed
 Example: Solving Sudoku puzzles using both set and integer constraints More...
 
class  TSP
 Example: Travelling salesman problem (TSP) More...
 
class  Warehouses
 Example: Locating warehouses More...
 
class  WordSquare
 Example: Word-square puzzle More...
 

Enumerations

enum  { Alpha::BRANCH_NONE, Alpha::BRANCH_INVERSE, Alpha::BRANCH_SIZE }
 Branching to use for model. More...
 
enum  { BACP::BRANCHING_NAIVE, BACP::BRANCHING_LOAD, BACP::BRANCHING_LOAD_REV }
 Branching variants. More...
 
enum  { BIBD::SYMMETRY_NONE, BIBD::SYMMETRY_LEX, BIBD::SYMMETRY_LDSB }
 Symmetry breaking variants. More...
 
enum  { BinPacking::MODEL_NAIVE, BinPacking::MODEL_PACKING }
 Model variants. More...
 
enum  { BinPacking::BRANCH_NAIVE, BinPacking::BRANCH_CDBF }
 Branching to use for model. More...
 
enum  { BlackHole::SYMMETRY_NONE, BlackHole::SYMMETRY_CONDITIONAL }
 Symmetry variants. More...
 
enum  { BlackHole::PROPAGATION_REIFIED, BlackHole::PROPAGATION_DFA, BlackHole::PROPAGATION_TUPLE_SET }
 Propagation of placement-rules. More...
 
enum  { CarSequencing::BRANCH_INORDER, CarSequencing::BRANCH_MIDDLE }
 Branching variants. More...
 
enum  { CarSequencing::PROP_REGULAR, CarSequencing::PROP_CUSTOM }
 Propagation variants. More...
 
enum  { ColoredMatrix::SEARCH_DFS, ColoredMatrix::SEARCH_BAB }
 Search modes. More...
 
enum  { ColoredMatrix::SYMMETRY_NONE = 0, ColoredMatrix::SYMMETRY_MATRIX = 1, ColoredMatrix::SYMMETRY_VALUES = 2 }
 SYmmetry breaking variants. More...
 
enum  { ColoredMatrix::MODEL_CORNERS = 1, ColoredMatrix::MODEL_ROWS = 2, ColoredMatrix::MODEL_COLUMNS = 4 }
 Model variants. More...
 
enum  {
  ColoredMatrix::NOT_ALL_EQUAL_NQ, ColoredMatrix::NOT_ALL_EQUAL_NAIVE, ColoredMatrix::NOT_ALL_EQUAL_REIFIED, ColoredMatrix::NOT_ALL_EQUAL_NVALUES,
  ColoredMatrix::NOT_ALL_EQUAL_COUNT, ColoredMatrix::NOT_ALL_EQUAL_DFA
}
 Not all equal variants. More...
 
enum  { ColoredMatrix::SAME_OR_0_REIFIED, ColoredMatrix::SAME_OR_0_DFA, ColoredMatrix::SAME_OR_0_TUPLE_SET }
 Same or 0 variants. More...
 
enum  { ColoredMatrix::DISTINCT_EXCEPT_0_REIFIED, ColoredMatrix::DISTINCT_EXCEPT_0_DFA, ColoredMatrix::DISTINCT_EXCEPT_0_COUNT }
 Distinct except 0 variants. More...
 
enum  { ColoredMatrix::NO_MONOCHROME_DECOMPOSITION, ColoredMatrix::NO_MONOCHROME_DFA }
 No monochrome rectangle versions. More...
 
enum  { Crossword::BRANCH_WORDS, Crossword::BRANCH_LETTERS, Crossword::BRANCH_LETTERS_ALL }
 Branching to use for model. More...
 
enum  {
  CrowdedChess::Q, CrowdedChess::R, CrowdedChess::B, CrowdedChess::K,
  CrowdedChess::E, CrowdedChess::PMAX
}
 
enum  { CrowdedChess::PROP_TUPLE_SET, CrowdedChess::PROP_DECOMPOSE }
 
enum  { Domino::PROP_ELEMENT, Domino::PROP_EXTENSIONAL }
 Propagation to use for model. More...
 
enum  { Donald::MODEL_SINGLE, Donald::MODEL_CARRY }
 Model variants. More...
 
enum  { Golf::MODEL_PLAIN, Golf::MODEL_SYMMETRY }
 Model variants. More...
 
enum  { GraphColor::MODEL_NONE, GraphColor::MODEL_CLIQUE }
 Model variants. More...
 
enum  {
  GraphColor::BRANCH_DEGREE, GraphColor::BRANCH_SIZE, GraphColor::BRANCH_SIZE_DEGREE, GraphColor::BRANCH_SIZE_AFC,
  GraphColor::BRANCH_SIZE_ACTIVITY
}
 Branching to use for model. More...
 
enum  { GraphColor::SYMMETRY_NONE, GraphColor::SYMMETRY_LDSB }
 Symmetry variants. More...
 
enum  { Kakuro::MODEL_DECOMPOSE, Kakuro::MODEL_COMBINE }
 Model variants. More...
 
enum  { LangfordNumber::PROP_REIFIED, LangfordNumber::PROP_EXTENSIONAL, LangfordNumber::PROP_EXTENSIONAL_CHANNEL }
 Propagation to use for model. More...
 
enum  { MagicSequence::PROP_COUNT, MagicSequence::PROP_GCC }
 Propagation to use for model. More...
 
enum  { Money::MODEL_SINGLE, Money::MODEL_CARRY }
 Model variants. More...
 
enum  { MultiBinPacking::MODEL_SINGLE, MultiBinPacking::MODEL_MULTI }
 Model variants. More...
 
enum  { MultiBinPacking::BRANCH_DEGREE, MultiBinPacking::BRANCH_AFC }
 Branching to use for the model. More...
 
enum  { MultiBinPacking::SYMMETRY_NONE, MultiBinPacking::SYMMETRY_MAX_CONFLICT }
 Symmetry breaking to use for the model. More...
 
enum  { Nonogram::BRANCH_NONE, Nonogram::BRANCH_AFC }
 
enum  { Pentominoes::PROPAGATION_INT, Pentominoes::PROPAGATION_BOOLEAN }
 Choice of propagators. More...
 
enum  { Pentominoes::SYMMETRY_NONE, Pentominoes::SYMMETRY_FULL }
 Choice of symmetry breaking. More...
 
enum  { PerfectSquare::PROP_REIFIED, PerfectSquare::PROP_CUMULATIVES }
 Propagation to use for model. More...
 
enum  { Photo::BRANCH_NONE, Photo::BRANCH_DEGREE }
 Branching to use for model. More...
 
enum  { QueenArmies::BRANCH_NAIVE, QueenArmies::BRANCH_SPECIFIC }
 Branching to use for model. More...
 
enum  { Queens::PROP_BINARY, Queens::PROP_MIXED, Queens::PROP_DISTINCT }
 Propagation to use for model. More...
 
enum  { SteelMill::SYMMETRY_NONE, SteelMill::SYMMETRY_BRANCHING, SteelMill::SYMMETRY_LDSB }
 Branching variants. More...
 
enum  { Steiner::MODEL_NONE, Steiner::MODEL_MATCHING, Steiner::MODEL_SEQ }
 Model variants. More...
 
enum  { SudokuInt::PROP_NONE, SudokuInt::PROP_SAME }
 Propagation variants. More...
 
enum  { WordSquare::BRANCH_WORDS, WordSquare::BRANCH_LETTERS }
 Branching variants. More...
 

Detailed Description

All scripts are compiled into simple standalone programs. All programs understand the several generic and problem-specific commandline options. An overview of the options is available by invoking the standalone programs with the -help commandline option.

Enumeration Type Documentation

anonymous enum

Branching to use for model.

Enumerator
BRANCH_NONE 

Choose variable left to right.

BRANCH_INVERSE 

Choose variable right to left.

BRANCH_SIZE 

Choose variable with smallest size.

Definition at line 61 of file alpha.cpp.

anonymous enum

Branching variants.

Enumerator
BRANCHING_NAIVE 

Simple fail-first branching.

BRANCHING_LOAD 

Place based on minimum-load.

BRANCHING_LOAD_REV 

Place based on maximum-load.

Definition at line 116 of file bacp.cpp.

anonymous enum

Symmetry breaking variants.

Enumerator
SYMMETRY_NONE 

No symmetry breaking.

SYMMETRY_LEX 

Lex-constraints on rows/columns.

SYMMETRY_LDSB 

LDSB on rows/columns.

Definition at line 104 of file bibd.cpp.

anonymous enum

Model variants.

Enumerator
MODEL_NAIVE 

Use naive model.

MODEL_PACKING 

Use bin packing constraint.

Definition at line 405 of file bin-packing.cpp.

anonymous enum

Branching to use for model.

Enumerator
BRANCH_NAIVE 

Use naive branching.

BRANCH_CDBF 

Use CDBF.

Definition at line 410 of file bin-packing.cpp.

anonymous enum

Symmetry variants.

Enumerator
SYMMETRY_NONE 

No symmetry breaking.

SYMMETRY_CONDITIONAL 

Breaking conditional symmetries.

Definition at line 120 of file black-hole.cpp.

anonymous enum

Propagation of placement-rules.

Enumerator
PROPAGATION_REIFIED 

Reified propagation.

PROPAGATION_DFA 

Extensional propagation using automatons.

PROPAGATION_TUPLE_SET 

Extensional propagation using tables.

Definition at line 125 of file black-hole.cpp.

anonymous enum

Branching variants.

Enumerator
BRANCH_INORDER 

Branch from left to right.

BRANCH_MIDDLE 

Branch from middle out.

Definition at line 215 of file car-sequencing.cpp.

anonymous enum

Propagation variants.

Enumerator
PROP_REGULAR 

Use regular constraints.

PROP_CUSTOM 

Use custom constraint.

Definition at line 220 of file car-sequencing.cpp.

anonymous enum

Search modes.

Enumerator
SEARCH_DFS 

Find solution.

SEARCH_BAB 

Find optimal solution.

Definition at line 318 of file colored-matrix.cpp.

anonymous enum

SYmmetry breaking variants.

Enumerator
SYMMETRY_NONE 

No symmetry breaking.

SYMMETRY_MATRIX 

Order rows and columns of matrix.

SYMMETRY_VALUES 

Order value occurences.

Definition at line 323 of file colored-matrix.cpp.

anonymous enum

Model variants.

Enumerator
MODEL_CORNERS 

Use model on corner combinations.

MODEL_ROWS 

Use model on pairs of rows.

MODEL_COLUMNS 

Use model on pairs of columns.

Definition at line 329 of file colored-matrix.cpp.

anonymous enum

Not all equal variants.

Enumerator
NOT_ALL_EQUAL_NQ 

Use direct constraint for implemeting not all equals.

NOT_ALL_EQUAL_NAIVE 

Use naive reification for implemeting not all equals.

NOT_ALL_EQUAL_REIFIED 

Use reification for implemeting not all equals.

NOT_ALL_EQUAL_NVALUES 

Use nvalues for implementing not all equals.

NOT_ALL_EQUAL_COUNT 

Use count for implementing not all equals.

NOT_ALL_EQUAL_DFA 

Use dfa for implementing not all equals.

Definition at line 335 of file colored-matrix.cpp.

anonymous enum

Same or 0 variants.

Enumerator
SAME_OR_0_REIFIED 

Use reification for same or 0.

SAME_OR_0_DFA 

Use dfa for same or 0.

SAME_OR_0_TUPLE_SET 

Use tuple set for same or 0.

Definition at line 344 of file colored-matrix.cpp.

anonymous enum

Distinct except 0 variants.

Enumerator
DISTINCT_EXCEPT_0_REIFIED 

Use reification for distinct except 0.

DISTINCT_EXCEPT_0_DFA 

Use dfa for distinct except 0.

DISTINCT_EXCEPT_0_COUNT 

Use count for distinct except 0.

Definition at line 350 of file colored-matrix.cpp.

anonymous enum

No monochrome rectangle versions.

Enumerator
NO_MONOCHROME_DECOMPOSITION 

Use decomposition for no monochrome rectangle.

NO_MONOCHROME_DFA 

Use dfa for no monochrome rectangle.

Definition at line 356 of file colored-matrix.cpp.

anonymous enum

Branching to use for model.

Enumerator
BRANCH_WORDS 

Branch on the words.

BRANCH_LETTERS 

Branch on the letters.

BRANCH_LETTERS_ALL 

Branch on the letters (try all values)

Definition at line 80 of file crossword.cpp.

anonymous enum
protected

Symbolic names of pieces. The order determines which piece will be placed first.

Enumerator

Queen.

Rook.

Bishop.

Knight.

Empty square.

PMAX 

Number of pieces (including empty squares)

Definition at line 198 of file crowded-chess.cpp.

anonymous enum
Enumerator
PROP_TUPLE_SET 

Propagate bishops placement extensionally.

PROP_DECOMPOSE 

Propagate bishops placement with decomposition.

Definition at line 232 of file crowded-chess.cpp.

anonymous enum

Propagation to use for model.

Enumerator
PROP_ELEMENT 

Use element constraints.

PROP_EXTENSIONAL 

Use extensional constraints.

Definition at line 86 of file domino.cpp.

anonymous enum

Model variants.

Enumerator
MODEL_SINGLE 

Use single linear equation.

MODEL_CARRY 

Use carries.

Definition at line 60 of file donald.cpp.

anonymous enum

Model variants.

Enumerator
MODEL_PLAIN 

A simple model.

MODEL_SYMMETRY 

Model with symmetry breaking.

Definition at line 83 of file golf.cpp.

anonymous enum

Model variants.

Enumerator
MODEL_NONE 

No lower bound.

MODEL_CLIQUE 

Use maximal clique size as lower bound.

Definition at line 324 of file graph-color.cpp.

anonymous enum

Branching to use for model.

Enumerator
BRANCH_DEGREE 

Choose variable with largest degree.

BRANCH_SIZE 

Choose variable with smallest size.

BRANCH_SIZE_DEGREE 

Choose variable with smallest size/degree.

BRANCH_SIZE_AFC 

Choose variable with smallest size/afc.

BRANCH_SIZE_ACTIVITY 

Choose variable with smallest size/activity.

Definition at line 329 of file graph-color.cpp.

anonymous enum

Symmetry variants.

Enumerator
SYMMETRY_NONE 

Simple symmetry.

SYMMETRY_LDSB 

Use LDSB for value symmetry breaking.

Definition at line 337 of file graph-color.cpp.

anonymous enum

Model variants.

Enumerator
MODEL_DECOMPOSE 

Decompose constraints.

MODEL_COMBINE 

Combine distinct and linear constraint.

Definition at line 484 of file kakuro.cpp.

anonymous enum

Propagation to use for model.

Enumerator
PROP_REIFIED 

Use reified constraints.

PROP_EXTENSIONAL 

Use extensional constraints.

PROP_EXTENSIONAL_CHANNEL 

Use extensional and channel constraints.

Definition at line 91 of file langford-number.cpp.

anonymous enum

Propagation to use for model.

Enumerator
PROP_COUNT 

Use count constraints.

PROP_GCC 

Use single global cardinality constraint.

Definition at line 71 of file magic-sequence.cpp.

anonymous enum

Model variants.

Enumerator
MODEL_SINGLE 

Use single linear equation.

MODEL_CARRY 

Use carries.

Definition at line 61 of file money.cpp.

anonymous enum

Model variants.

Enumerator
MODEL_SINGLE 

Use single-dimensional bin-packing constraints.

MODEL_MULTI 

Use multi-dimensional bin-packing constraint.

Definition at line 119 of file multi-bin-packing.cpp.

anonymous enum

Branching to use for the model.

Enumerator
BRANCH_DEGREE 

Use degree for branching.

BRANCH_AFC 

Use AFC for branching.

Definition at line 124 of file multi-bin-packing.cpp.

anonymous enum

Symmetry breaking to use for the model.

Enumerator
SYMMETRY_NONE 

Do not use symmetry breaking.

SYMMETRY_MAX_CONFLICT 

Use a maximal conflict set of items.

Definition at line 129 of file multi-bin-packing.cpp.

anonymous enum
Enumerator
BRANCH_NONE 

Branch on rows/columns in order.

BRANCH_AFC 

Use AFC for branching.

Definition at line 105 of file nonogram.cpp.

anonymous enum

Choice of propagators.

Enumerator
PROPAGATION_INT 

Use integer propagators.

PROPAGATION_BOOLEAN 

Use Boolean propagators.

Definition at line 268 of file pentominoes.cpp.

anonymous enum

Choice of symmetry breaking.

Enumerator
SYMMETRY_NONE 

Do not remove symmetric solutions.

SYMMETRY_FULL 

Remove symmetric solutions.

Definition at line 273 of file pentominoes.cpp.

anonymous enum

Propagation to use for model.

Enumerator
PROP_REIFIED 

Use reified constraints.

PROP_CUMULATIVES 

Use cumulatives constraint.

Definition at line 197 of file perfect-square.cpp.

anonymous enum

Branching to use for model.

Enumerator
BRANCH_NONE 

Choose variables from left to right.

BRANCH_DEGREE 

Choose variable with largest degree.

Definition at line 91 of file photo.cpp.

anonymous enum

Branching to use for model.

Enumerator
BRANCH_NAIVE 

Choose variables left to right.

BRANCH_SPECIFIC 

Choose variable with problem specific strategy.

Definition at line 81 of file queen-armies.cpp.

anonymous enum

Propagation to use for model.

Enumerator
PROP_BINARY 

Use only binary disequality constraints.

PROP_MIXED 

Use single distinct and binary disequality constraints.

PROP_DISTINCT 

Use three distinct constraints.

Definition at line 65 of file queens.cpp.

anonymous enum

Branching variants.

Enumerator
SYMMETRY_NONE 

Simple symmetry.

SYMMETRY_BRANCHING 

Breaking symmetries with symmetry.

SYMMETRY_LDSB 

Use LDSB for symmetry breaking.

Definition at line 188 of file steel-mill.cpp.

anonymous enum

Model variants.

Enumerator
MODEL_NONE 

Use simple relation constraint.

MODEL_MATCHING 

Use matching constraints.

MODEL_SEQ 

Use sequence constraints.

Definition at line 55 of file steiner.cpp.

anonymous enum

Propagation variants.

Enumerator
PROP_NONE 

No additional constraints.

PROP_SAME 

Use "same" constraint with integer model.

Definition at line 106 of file sudoku.cpp.

anonymous enum

Branching variants.

Enumerator
BRANCH_WORDS 

Branch on word variables.

BRANCH_LETTERS 

Branch on letter variables.

Definition at line 71 of file word-square.cpp.