Module org.maxicp
Package org.maxicp

Class ModelDispatcher

java.lang.Object
org.maxicp.ModelDispatcher
All Implemented Interfaces:
AutoCloseable, ModelProxyInstantiatorWithCP, ModelProxy, ModelProxyInstantiator

public class ModelDispatcher extends Object implements ModelProxyInstantiator, AutoCloseable, ModelProxyInstantiatorWithCP, ModelProxy
A class that allows to create symbolic models
  • Constructor Details

    • ModelDispatcher

      public ModelDispatcher()
  • Method Details

    • getModel

      public Model getModel()
      Specified by:
      getModel in interface ModelProxy
      Returns:
      the current model
    • setModel

      public <T extends Model> T setModel(T m)
      Set the current model to m. m should have this base model as origin.
      Specified by:
      setModel in interface ModelProxy
      Parameters:
      m -
    • getConstraints

      public Iterable<Constraint> getConstraints()
      Shortcut for baseModel.getModel().getConstraints();
      Returns:
      an iterable with all the constraints in the current model
    • intVarArray

      public IntVar[] intVarArray(int n, int domSize)
      Create an array of n IntVars with domain between 0 and domSize-1, inclusive.
      Parameters:
      n - size of the array, number of IntVars
      domSize - size of the domains. Domains are [0, domsize-1]
    • intVarArray

      public IntExpression[] intVarArray(int n, Function<Integer,IntExpression> body)
    • intVar

      public IntVar intVar(int min, int max)
    • intVar

      public IntVar intVar(String id, int min, int max)
    • intVar

      public IntVar intVar(int[] values)
    • intVar

      public IntVar intVar(Set<Integer> values)
    • intVar

      public IntVar intVar(String id, int[] values)
    • constant

      public IntVar constant(int value)
    • intervalVar

      public IntervalVar intervalVar(int startMin, int startMax, int endMin, int endMax, int lengthMin, int lengthMax, boolean isPresent)
    • intervalVar

      public IntervalVar intervalVar(boolean isPresent)
    • intervalVar

      public IntervalVar intervalVar(int duration, boolean isPresent)
    • intervalVar

      public IntervalVar intervalVar(int startMin, int endMax, int duration, boolean isPresent)
    • intervalVarArray

      public IntervalVar[] intervalVarArray(int n, boolean present)
    • intervalVarArray

      public IntervalVar[] intervalVarArray(int n, Function<Integer,IntervalVar> body)
    • boolVarArray

      public BoolVar[] boolVarArray(int n)
    • boolVar

      public BoolVar boolVar()
    • seqVar

      public SeqVar seqVar(int nNode, int begin, int end)
    • close

      public void close() throws Exception
      Specified by:
      close in interface AutoCloseable
      Throws:
      Exception
    • minimize

      public Objective minimize(Expression v)
    • maximize

      public Objective maximize(Expression v)
    • dfSearch

      public DFSearch dfSearch(Supplier<Runnable[]> branching)
    • concurrentDFSearch

      public ConcurrentDFSearch concurrentDFSearch(Supplier<SymbolicModel[]> symbolicBranching)
    • bestFirstSearch

      public <U extends Comparable<U>> BestFirstSearch<U> bestFirstSearch(Supplier<Runnable[]> branching, Supplier<U> nodeEvaluator)