Generated on Sat Jun 2 2018 07:17:44 for Gecode by doxygen 1.8.13

Functions

void Gecode::circuit (Home home, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit. More...
 
void Gecode::circuit (Home home, int offset, const IntVarArgs &x, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit. More...
 
void Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit with costs y and z. More...
 
void Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit with costs y and z. More...
 
void Gecode::circuit (Home home, const IntArgs &c, const IntVarArgs &x, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit with cost z. More...
 
void Gecode::circuit (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a circuit with cost z. More...
 
void Gecode::path (Home home, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path. More...
 
void Gecode::path (Home home, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path. More...
 
void Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path with costs y and z. More...
 
void Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, const IntVarArgs &y, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path with costs y and z. More...
 
void Gecode::path (Home home, const IntArgs &c, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path with cost z. More...
 
void Gecode::path (Home home, const IntArgs &c, int offset, const IntVarArgs &x, IntVar s, IntVar e, IntVar z, IntPropLevel ipl=IPL_DEF)
 Post propagator such that x forms a Hamiltonian path with cost z. More...
 

Detailed Description

Function Documentation

◆ circuit() [1/6]

void Gecode::circuit ( Home  home,
const IntVarArgs x,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a circuit.

x forms a circuit if the graph with edges $i\to j$ where $x_i=j$ has a single cycle covering all nodes.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x.

Throws the following exceptions:

Definition at line 73 of file circuit.cpp.

◆ circuit() [2/6]

void Gecode::circuit ( Home  home,
int  offset,
const IntVarArgs x,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a circuit.

x forms a circuit if the graph with edges $i\to j$ where $x_{i-\text{offset}}=j$ has a single cycle covering all nodes.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x.

Throws the following exceptions:

Definition at line 41 of file circuit.cpp.

◆ circuit() [3/6]

void Gecode::circuit ( Home  home,
const IntArgs c,
const IntVarArgs x,
const IntVarArgs y,
IntVar  z,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a circuit with costs y and z.

x forms a circuit if the graph with edges $i\to j$ where $x_i=j$ has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where $c_{i*|x|+j}$ is the cost of the edge $i\to j$. The variable z is the cost of the entire circuit. The variables y define the cost of the edge in x: that is, if $x_i=j$ then $y_i=c_{i*n+j}$.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.

Throws the following exceptions:

  • Int::ArgumentSame, if x contains the same unassigned variable multiply.
  • Int::TooFewArguments, if x has no elements.
  • Int::ArgumentSizeMismacth, if x and y do not have the same size or if $|x|\times|x|\neq|c|$.

Definition at line 102 of file circuit.cpp.

◆ circuit() [4/6]

void Gecode::circuit ( Home  home,
const IntArgs c,
int  offset,
const IntVarArgs x,
const IntVarArgs y,
IntVar  z,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a circuit with costs y and z.

x forms a circuit if the graph with edges $i\to j$ where $x_{i-\text{offset}}=j$ has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where $c_{i*|x|+j}$ is the cost of the edge $i\to j$. The variable z is the cost of the entire circuit. The variables y define the cost of the edge in x: that is, if $x_i=j$ then $y_i=c_{i*n+j}$.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.

Throws the following exceptions:

Definition at line 78 of file circuit.cpp.

◆ circuit() [5/6]

void Gecode::circuit ( Home  home,
const IntArgs c,
const IntVarArgs x,
IntVar  z,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a circuit with cost z.

x forms a circuit if the graph with edges $i\to j$ where $x_i=j$ has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where $c_{i*|x|+j}$ is the cost of the edge $i\to j$. The variable z is the cost of the entire circuit.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.

Throws the following exceptions:

Definition at line 117 of file circuit.cpp.

◆ circuit() [6/6]

void Gecode::circuit ( Home  home,
const IntArgs c,
int  offset,
const IntVarArgs x,
IntVar  z,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a circuit with cost z.

x forms a circuit if the graph with edges $i\to j$ where $x_{i-\text{offset}}=j$ has a single cycle covering all nodes. The integer array c gives the costs of all possible edges where $c_{i*|x|+j}$ is the cost of the edge $i\to j$. The variable z is the cost of the entire circuit.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.

Throws the following exceptions:

Definition at line 108 of file circuit.cpp.

◆ path() [1/6]

void Gecode::path ( Home  home,
const IntVarArgs x,
IntVar  s,
IntVar  e,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a Hamiltonian path.

x forms a Hamiltonian path if the graph with edges $i\to j$ where $x_i=j$ visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to $|x|$.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x.

Throws the following exceptions:

Definition at line 169 of file circuit.cpp.

◆ path() [2/6]

void Gecode::path ( Home  home,
int  offset,
const IntVarArgs x,
IntVar  s,
IntVar  e,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a Hamiltonian path.

x forms a Hamiltonian path if the graph with edges $i\to j$ where $x_{i-\text{offset}}=j$ visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to $|x|+\text{offset}$.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x.

Throws the following exceptions:

Definition at line 124 of file circuit.cpp.

◆ path() [3/6]

void Gecode::path ( Home  home,
const IntArgs c,
const IntVarArgs x,
IntVar  s,
IntVar  e,
const IntVarArgs y,
IntVar  z,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a Hamiltonian path with costs y and z.

x forms a Hamiltonian path if the graph with edges $i\to j$ where $x_i=j$ visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to $|x|$. The integer array c gives the costs of all possible edges where $c_{i*|x|+j}$ is the cost of the edge $i\to j$. The variable z is the cost of the entire path. The variables y define the cost of the edge in x: that is, if $x_i=j$ then $y_i=c_{i*n+j}$.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.

Throws the following exceptions:

  • Int::ArgumentSame, if x contains the same unassigned variable multiply.
  • Int::TooFewArguments, if x has no elements.
  • Int::ArgumentSizeMismacth, if x and y do not have the same size or if $|x|\times|x|\neq|c|$.

Definition at line 201 of file circuit.cpp.

◆ path() [4/6]

void Gecode::path ( Home  home,
const IntArgs c,
int  offset,
const IntVarArgs x,
IntVar  s,
IntVar  e,
const IntVarArgs y,
IntVar  z,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a Hamiltonian path with costs y and z.

x forms a Hamiltonian path if the graph with edges $i\to j$ where $x_{i-\text{offset}}=j$ visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to $|x|+\text{offset}$. The integer array c gives the costs of all possible edges where $c_{i*|x|+j}$ is the cost of the edge $i\to j$. The variable z is the cost of the entire path. The variables y define the cost of the edge in x: that is, if $x_i=j$ then $y_i=c_{i*n+j}$.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.

Throws the following exceptions:

Definition at line 175 of file circuit.cpp.

◆ path() [5/6]

void Gecode::path ( Home  home,
const IntArgs c,
const IntVarArgs x,
IntVar  s,
IntVar  e,
IntVar  z,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a Hamiltonian path with cost z.

x forms a Hamiltonian path if the graph with edges $i\to j$ where $x_i=j$ visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to $|x|$. The integer array c gives the costs of all possible edges where $c_{i*|x|+j}$ is the cost of the edge $i\to j$. The variable z is the cost of the entire path.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.

Throws the following exceptions:

Definition at line 217 of file circuit.cpp.

◆ path() [6/6]

void Gecode::path ( Home  home,
const IntArgs c,
int  offset,
const IntVarArgs x,
IntVar  s,
IntVar  e,
IntVar  z,
IntPropLevel  ipl = IPL_DEF 
)

Post propagator such that x forms a Hamiltonian path with cost z.

x forms a Hamiltonian path if the graph with edges $i\to j$ where $x_{i-\text{offset}}=j$ visits all nodes exactly once. The path starts at node s and the successor of the last node e is equal to $|x|+\text{offset}$. The integer array c gives the costs of all possible edges where $c_{i*|x|+j}$ is the cost of the edge $i\to j$. The variable z is the cost of the entire circuit.

Supports domain (ipl = IPL_DOM) and value propagation (all other values for ipl), where this refers to whether value or domain consistent distinct in enforced on x for circuit.

Throws the following exceptions:

Definition at line 208 of file circuit.cpp.