Module org.maxicp

Class Circuit

java.lang.Object
org.maxicp.cp.engine.core.AbstractCPConstraint
org.maxicp.cp.engine.constraints.Circuit
All Implemented Interfaces:
CPConstraint, ConcreteConstraint<ConcreteCPModel>

public class Circuit extends AbstractCPConstraint
Hamiltonian Circuit Constraint with a successor model
  • Field Details

    • deactivateSCC

      public boolean deactivateSCC
  • Constructor Details

    • Circuit

      public Circuit(CPIntVar[] x)
      Creates a Hamiltonian Circuit Constraint with a successor model.
      Parameters:
      x - the variables representing the successor array that is x[i] is the city visited after city i
  • Method Details

    • post

      public void post()
      Description copied from interface: CPConstraint
      Initializes the constraint when it is posted to the solver.
      Specified by:
      post in interface CPConstraint
      Overrides:
      post in class AbstractCPConstraint
    • propagate

      public void propagate()
      Description copied from interface: CPConstraint
      Propagates the constraint.
      Specified by:
      propagate in interface CPConstraint
      Overrides:
      propagate in class AbstractCPConstraint
    • fixed

      public void fixed(int idx)
      Called whenever variable x[idx] is fixed to val (adding directed edge idx -> val). Connects two disjoint paths: (orig_i ->* idx) and (val ->* dest_j) into a single merged path: orig_i ->* idx -> val ->* dest_j and forbids closing a premature subtour by removing orig_i from x[dest_j].
      Parameters:
      idx - source node of the newly fixed edge
    • findSCCCount

      public int findSCCCount()