[ library(gfd) | Reference Manual | Alphabetic Index ]

# <ConsistencyModule:> circuit_g(+Succ,++CostMatrix,?Cost)

Constrains elements in Succ to form a Hamiltonian circuit with cost Cost. This version uses native Gecode indexing.
Succ
A collection of N different (domain) variables or integers
CostMatrix
A NxN matrix of integers.
Cost
A (domain) variable or integer (array notation accepted).

## Description

This version of circuit/3 uses the native Gecode indexing, which starts from 0. This is different from normal ECLiPSe's indexing, which starts from 1.

This constraint can be embedded in a constraint expression in its functional form (without the last argument).

See circuit/3 for a more detailed description of this predicate.

## Examples

```[eclipse 10]: CostM = []([](0,3,5,7),[](4,0,9,6),[](2,1,0,5),[](-7,8,-2,0)),
circuit_g([1,2,3,0], CostM, C).

CostM = []([](0, 3, 5, 7), [](4, 0, 9, 6), [](2, 1, 0, 5), [](-7, 8, -2, 0))
C = 10

[eclipse 6]: CostM = []([](0,3,5,7),[](4,0,9,6),[](2,1,0,5),[](-7,8,-2,0)),
C #= circuit([2,3,4,1], CostM) + 1.

CostM = []([](0, 3, 5, 7), [](4, 0, 9, 6), [](2, 1, 0, 5), [](-7, 8, -2, 0))
C = 11

```