Universe::UniverseJavaCspSolver class

The UniverseJavaCspSolver class defines an adapter for an IUniverseCspSolver written in Java (and implementing the JUniverse interface). The solver is run through the Java Native Interface (JNI).

Base classes

class UniverseJavaPseudoBooleanSolver
class IUniverseCspSolver

Constructors, destructors, conversion operators

UniverseJavaCspSolver(easyjni::JavaClass* interface, const easyjni::JavaObject& object)
~UniverseJavaCspSolver() defaulted override

Public functions

void newVariable(const std::string& id, int min, int max) override
void newVariable(const std::string& id, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void newVariable(const std::string& id, const std::vector<int>& values) override
void newVariable(const std::string& id, const std::vector<Universe::BigInteger>& values) override
void newVariableSymbolic(const std::string& id, const std::vector<std::string>& values) override
void addInstantiation(const std::string& variable, int value) override
void addInstantiation(const std::string& variable, const Universe::BigInteger& value) override
void addInstantiation(const std::string& variable, const std::string& value) override
void addInstantiation(const std::vector<std::string>& variables, const std::vector<int>& values) override
void addInstantiation(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values) override
void addInstantiationSymbolic(const std::vector<std::string>& variables, const std::vector<std::string>& values) override
void addClause(const std::vector<std::string>& positive, const std::vector<std::string>& negative) override
void addLogical(Universe::UniverseBooleanOperator op, const std::vector<std::string>& variables) override
void addLogical(const std::string& variable, bool equiv, Universe::UniverseBooleanOperator op, const std::vector<std::string>& variables) override
void addLogical(const std::string& variable, const std::string& left, Universe::UniverseRelationalOperator op, const Universe::BigInteger& right) override
void addLogical(const std::string& variable, const std::string& left, Universe::UniverseRelationalOperator op, const std::string& right) override
void addAllDifferent(const std::vector<std::string>& variables) override
void addAllDifferent(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& except) override
void addAllDifferentMatrix(const std::vector<std::vector<std::string>>& variableMatrix) override
void addAllDifferentMatrix(const std::vector<std::vector<std::string>>& variableMatrix, const std::vector<Universe::BigInteger>& except) override
void addAllDifferentList(const std::vector<std::vector<std::string>>& variableLists) override
void addAllDifferentList(const std::vector<std::vector<std::string>>& variableLists, const std::vector<std::vector<Universe::BigInteger>>& except) override
void addAllDifferentIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints) override
void addChannel(const std::vector<std::string>& variables, int startIndex) override
void addChannel(const std::vector<std::string>& variables, int startIndex, const std::string& value) override
void addChannel(const std::vector<std::string>& variables, int startIndex, const std::vector<std::string>& otherVariables, int otherStartIndex) override
void addCardinalityWithConstantValuesAndConstantCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& occurs, bool closed) override
void addCardinalityWithConstantValuesAndConstantIntervalCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& occursMin, const std::vector<Universe::BigInteger>& occursMax, bool closed) override
void addCardinalityWithConstantValuesAndVariableCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<std::string>& occurs, bool closed) override
void addCardinalityWithVariableValuesAndConstantCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<Universe::BigInteger>& occurs, bool closed) override
void addCardinalityWithVariableValuesAndConstantIntervalCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<Universe::BigInteger>& occursMin, const std::vector<Universe::BigInteger>& occursMax, bool closed) override
void addCardinalityWithVariableValuesAndVariableCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<std::string>& occurs, bool closed) override
void addAtLeast(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) override
void addExactly(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) override
void addExactly(const std::vector<std::string>& variables, const Universe::BigInteger& value, const std::string& count) override
void addAmong(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const Universe::BigInteger& count) override
void addAmong(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::string& count) override
void addAtMost(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) override
void addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) override
void addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const std::string& count) override
void addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) override
void addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseRelationalOperator op, const std::string& count) override
void addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) override
void addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const std::string& count) override
void addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addNValues(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb) override
void addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb, const std::vector<Universe::BigInteger>& except) override
void addNValues(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& nb) override
void addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& nb, const std::vector<Universe::BigInteger>& except) override
void addNValues(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max, const std::vector<Universe::BigInteger>& except) override
void addNValues(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set, const std::vector<Universe::BigInteger>& except) override
void addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb) override
void addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const std::string& nb) override
void addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseRelationalOperator op, const std::string& variable) override
void addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addBinPackingWithConstantCapacities(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, const std::vector<Universe::BigInteger>& capacities, bool loads) override
void addBinPackingWithVariableCapacities(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, const std::vector<std::string>& capacities, bool loads) override
void addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override
void addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override
void addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override
void addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override
void addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override
void addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override
void addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override
void addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override
void addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const Universe::BigInteger& wValue, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const Universe::BigInteger& pValue) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const Universe::BigInteger& wValue, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const std::string& pVariable) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const Universe::BigInteger& wValue, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const Universe::BigInteger& pMin, const Universe::BigInteger& pMax) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const Universe::BigInteger& wValue, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const std::vector<Universe::BigInteger>& pSet) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const std::string& wVariable, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const Universe::BigInteger& pValue) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const std::string& wVariable, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const std::string& pVariable) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const std::string& wVariable, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const Universe::BigInteger& pMin, const Universe::BigInteger& pMax) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const std::string& wVariable, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const std::vector<Universe::BigInteger>& pSet) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const Universe::BigInteger& wMin, const Universe::BigInteger& wMax, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const Universe::BigInteger& pValue) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const Universe::BigInteger& wMin, const Universe::BigInteger& wMax, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const std::string& pVariable) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const Universe::BigInteger& wMin, const Universe::BigInteger& wMax, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const Universe::BigInteger& pMin, const Universe::BigInteger& pMax) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const Universe::BigInteger& wMin, const Universe::BigInteger& wMax, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const std::vector<Universe::BigInteger>& pSet) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const std::vector<Universe::BigInteger>& wSet, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const Universe::BigInteger& pValue) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const std::vector<Universe::BigInteger>& wSet, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const std::string& pVariable) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const std::vector<Universe::BigInteger>& wSet, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const Universe::BigInteger& pMin, const Universe::BigInteger& pMax) override
void addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const std::vector<Universe::BigInteger>& wSet, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const std::vector<Universe::BigInteger>& pSet) override
void addStretch(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& widthsMin, const std::vector<Universe::BigInteger>& widthsMax) override
void addStretch(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& widthsMin, const std::vector<Universe::BigInteger>& widthsMax, const std::vector<std::vector<Universe::BigInteger>>& patterns) override
void addElement(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addElement(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override
void addElement(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addElement(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& variable) override
void addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& variable) override
void addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addElementConstantMatrix(const std::vector<std::vector<Universe::BigInteger>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addElementConstantMatrix(const std::vector<std::vector<Universe::BigInteger>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseRelationalOperator op, const std::string& value) override
void addElementConstantMatrix(const std::vector<std::vector<Universe::BigInteger>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addElementConstantMatrix(const std::vector<std::vector<Universe::BigInteger>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addElementMatrix(const std::vector<std::vector<std::string>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addElementMatrix(const std::vector<std::vector<std::string>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseRelationalOperator op, const std::string& value) override
void addElementMatrix(const std::vector<std::vector<std::string>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addElementMatrix(const std::vector<std::vector<std::string>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addPrecedence(const std::vector<std::string>& variables) override
void addPrecedence(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, bool covered) override
void addSupport(const std::string& variable, const std::vector<Universe::BigInteger>& allowedValues, bool hasStar) override
void addSupportSymbolic(const std::string& variable, const std::vector<std::string>& allowedValues, bool hasStar) override
void addSupport(const std::vector<std::string>& variableTuple, const std::vector<std::vector<Universe::BigInteger>>& allowedValues, bool hasStar) override
void addSupportSymbolic(const std::vector<std::string>& variableTuple, const std::vector<std::vector<std::string>>& allowedValues, bool hasStar) override
void addConflicts(const std::string& variable, const std::vector<Universe::BigInteger>& forbiddenValues, bool hasStar) override
void addConflictsSymbolic(const std::string& variable, const std::vector<std::string>& forbiddenValues, bool hasStar) override
void addConflicts(const std::vector<std::string>& variableTuple, const std::vector<std::vector<Universe::BigInteger>>& forbiddenValues, bool hasStar) override
void addConflictsSymbolic(const std::vector<std::string>& variableTuple, const std::vector<std::vector<std::string>>& forbiddenValues, bool hasStar) override
void addIntension(Universe::IUniverseIntensionConstraint* constr) override
void addPrimitive(const std::string& variable, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const Universe::BigInteger& leftHandSide, Universe::UniverseRelationalOperator relOp, const Universe::BigInteger& rightHandSide) override
void addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const std::string& leftHandSide, Universe::UniverseRelationalOperator relOp, const Universe::BigInteger& rightHandSide) override
void addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const Universe::BigInteger& leftHandSide, Universe::UniverseRelationalOperator relOp, const std::string& rightHandSide) override
void addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const std::string& leftHandSide, Universe::UniverseRelationalOperator relOp, const std::string& rightHandSide) override
void addPrimitive(Universe::UniverseArithmeticOperator arithOp, const std::string& variable, const std::string& rightHandSide) override
void addPrimitive(const std::string& variable, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addPrimitive(const std::string& variable, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override
void addMinimum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMinimum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMinimum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMinimum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addMaximum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMaximum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMaximum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMaximum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) override
void addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void addNoOverlap(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& length) override
void addNoOverlap(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& length, bool zeroIgnored) override
void addNoOverlapVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& length) override
void addNoOverlapVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& length, bool zeroIgnored) override
void addBiDimensionalNoOverlap(const std::vector<std::string>& xVariables, const std::vector<std::string>& yVariables, const std::vector<std::string>& xLength, const std::vector<Universe::BigInteger>& yLength) override
void addBiDimensionalNoOverlap(const std::vector<std::string>& xVariables, const std::vector<std::string>& yVariables, const std::vector<std::string>& xLength, const std::vector<Universe::BigInteger>& yLength, bool zeroIgnored) override
void addMultiDimensionalNoOverlap(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& length) override
void addMultiDimensionalNoOverlap(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& length, bool zeroIgnored) override
void addMultiDimensionalNoOverlapVariableLength(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<std::string>>& length) override
void addMultiDimensionalNoOverlapVariableLength(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<std::string>>& length, bool zeroIgnored) override
void addOrdered(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op) override
void addOrderedWithConstantLength(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& lengths, Universe::UniverseRelationalOperator op) override
void addOrderedWithVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& lengths, Universe::UniverseRelationalOperator op) override
void addAllEqual(const std::vector<std::string>& variables) override
void addAllEqualIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void addNotAllEqual(const std::vector<std::string>& variables) override
void addLex(const std::vector<std::vector<std::string>>& tuples, Universe::UniverseRelationalOperator op) override
void addLex(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& limit, Universe::UniverseRelationalOperator op) override
void addLexMatrix(const std::vector<std::vector<std::string>>& matrix, Universe::UniverseRelationalOperator op) override
void addSum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addSum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override
void addSum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addSum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override
void addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override
void addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override
void addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override
void addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override
void addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override
void addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override
void addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override
void addCircuit(const std::vector<std::string>& variables, int startIndex) override
void addCircuit(const std::vector<std::string>& variables, int startIndex, const Universe::BigInteger& size) override
void addCircuit(const std::vector<std::string>& variables, int startIndex, const std::string& size) override
void addMDD(const std::vector<std::string>& variables, const std::vector<UniverseTransition>& transitions) override
void addRegular(const std::vector<std::string>& variables, const std::vector<UniverseTransition>& transitions, const std::string& startState, const std::vector<std::string>& finalStates) override
void addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges) override
void addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& totalCost) override
void addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator op, const std::string& totalCost) override
void addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override
void addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override
void minimizeVariable(const std::string& variable) override
void minimizeExpression(Universe::IUniverseIntensionConstraint* expression) override
void maximizeVariable(const std::string& variable) override
void maximizeExpression(Universe::IUniverseIntensionConstraint* expression) override
void minimizeSum(const std::vector<std::string>& variables) override
void minimizeSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void minimizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void minimizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeSum(const std::vector<std::string>& variables) override
void maximizeSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void maximizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
void minimizeProduct(const std::vector<std::string>& variables) override
void minimizeProduct(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void minimizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void minimizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeProduct(const std::vector<std::string>& variables) override
void maximizeProduct(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void maximizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
void minimizeMinimum(const std::vector<std::string>& variables) override
void minimizeMinimum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void minimizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void minimizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeMinimum(const std::vector<std::string>& variables) override
void maximizeMinimum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void maximizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
void minimizeMaximum(const std::vector<std::string>& variables) override
void minimizeMaximum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void minimizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void minimizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeMaximum(const std::vector<std::string>& variables) override
void maximizeMaximum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void maximizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
void minimizeNValues(const std::vector<std::string>& variables) override
void minimizeNValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void minimizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void minimizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeNValues(const std::vector<std::string>& variables) override
void maximizeNValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override
void maximizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override
void maximizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override
auto solveDimacs(const std::vector<int>& assumptions) -> UniverseSolverResult override
auto solveBoolean(const std::vector<UniverseAssumption<bool>>& assumptions) -> UniverseSolverResult override
auto solve(const std::vector<UniverseAssumption<BigInteger>>& assumptions) -> UniverseSolverResult override

Protected static functions

static auto toJavaTransition(const Universe::UniverseTransition& transition) -> easyjni::JavaObject
static auto toJavaBooleanOperator(Universe::UniverseBooleanOperator op) -> easyjni::JavaObject
static auto toJavaArithmeticOperator(Universe::UniverseArithmeticOperator op) -> easyjni::JavaObject
static auto toJavaRelationalOperator(Universe::UniverseRelationalOperator op) -> easyjni::JavaObject
static auto toJavaSetBelongingOperator(Universe::UniverseSetBelongingOperator op) -> easyjni::JavaObject
static auto asList(const std::vector<std::vector<Universe::BigInteger>>& matrix) -> Universe::JavaList
static auto asList(const std::vector<std::string>& strings) -> Universe::JavaList
static auto asList(const std::vector<std::vector<std::string>>& matrix) -> Universe::JavaList
static auto asList(const std::vector<Universe::IUniverseIntensionConstraint*>& constraints) -> Universe::JavaList

Function documentation

Universe::UniverseJavaCspSolver::UniverseJavaCspSolver(easyjni::JavaClass* interface, const easyjni::JavaObject& object)

Parameters
interface The Java interface corresponding to IUniverseCspSolver.
object The Java object to adapt.

Creates a UniverseJavaCspSolver.

Universe::UniverseJavaCspSolver::~UniverseJavaCspSolver() override defaulted

Destroys this UniverseJavaCspSolver.

void Universe::UniverseJavaCspSolver::newVariable(const std::string& id, int min, int max) override

Parameters
id The identifier of the variable to create.
min The minimum value of the domain of the variable.
max The maximum value of the domain of the variable.

Adds a new variable to this solver.

void Universe::UniverseJavaCspSolver::newVariable(const std::string& id, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
id The identifier of the variable to create.
min The minimum value of the domain of the variable.
max The maximum value of the domain of the variable.

Adds a new variable to this solver.

void Universe::UniverseJavaCspSolver::newVariable(const std::string& id, const std::vector<int>& values) override

Parameters
id The identifier of the variable to create.
values The values of the domain of the variable.

Adds a new variable to this solver.

void Universe::UniverseJavaCspSolver::newVariable(const std::string& id, const std::vector<Universe::BigInteger>& values) override

Parameters
id The identifier of the variable to create.
values The values of the domain of the variable.

Adds a new variable to this solver.

void Universe::UniverseJavaCspSolver::newVariableSymbolic(const std::string& id, const std::vector<std::string>& values) override

Parameters
id The identifier of the variable to create.
values The values of the domain of the variable.

Adds a new symbolic variable to this solver.

void Universe::UniverseJavaCspSolver::addInstantiation(const std::string& variable, int value) override

Parameters
variable The variable to assign.
value The value to assign to the variable.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an instantiation constraint.

void Universe::UniverseJavaCspSolver::addInstantiation(const std::string& variable, const Universe::BigInteger& value) override

Parameters
variable The variable to assign.
value The value to assign to the variable.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an instantiation constraint.

void Universe::UniverseJavaCspSolver::addInstantiation(const std::string& variable, const std::string& value) override

Parameters
variable The variable to assign.
value The value to assign to the variable.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an instantiation constraint.

void Universe::UniverseJavaCspSolver::addInstantiation(const std::vector<std::string>& variables, const std::vector<int>& values) override

Parameters
variables The variables to assign.
values The values to assign to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an instantiation constraint.

void Universe::UniverseJavaCspSolver::addInstantiation(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values) override

Parameters
variables The variables to assign.
values The values to assign to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an instantiation constraint.

void Universe::UniverseJavaCspSolver::addInstantiationSymbolic(const std::vector<std::string>& variables, const std::vector<std::string>& values) override

Parameters
variables The variables to assign.
values The values to assign to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an instantiation constraint.

void Universe::UniverseJavaCspSolver::addClause(const std::vector<std::string>& positive, const std::vector<std::string>& negative) override

Parameters
positive The (Boolean) variables appearing positively in the clause.
negative The (Boolean) variables appearing negatively in the clause.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a clause constraint.

void Universe::UniverseJavaCspSolver::addLogical(Universe::UniverseBooleanOperator op, const std::vector<std::string>& variables) override

Parameters
op The Boolean operator to apply on the variables.
variables The (Boolean) variables on which the operator is applied.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a logical constraint.

void Universe::UniverseJavaCspSolver::addLogical(const std::string& variable, bool equiv, Universe::UniverseBooleanOperator op, const std::vector<std::string>& variables) override

Parameters
variable The (Boolean) variable whose assignment depends on the truth value of the logical operation.
equiv Whether variable must be equivalent to the truth value of the logical operation.
op The Boolean operator to apply on the variables.
variables The (Boolean) variables on which the operator is applied.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a logical constraint.

void Universe::UniverseJavaCspSolver::addLogical(const std::string& variable, const std::string& left, Universe::UniverseRelationalOperator op, const Universe::BigInteger& right) override

Parameters
variable The (Boolean) variable whose assignment depends on the truth value of the comparison between left and right.
left The variable on the left-hand side of the comparison.
op The relational operator used to compare left and right.
right The value on the right-hand side of the comparison.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a logical constraint.

void Universe::UniverseJavaCspSolver::addLogical(const std::string& variable, const std::string& left, Universe::UniverseRelationalOperator op, const std::string& right) override

Parameters
variable The (Boolean) variable whose assignment depends on the truth value of the comparison between left and right.
left The variable on the left-hand side of the comparison.
op The relational operator used to compare left and right.
right The variable on the right-hand side of the comparison.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a logical constraint.

void Universe::UniverseJavaCspSolver::addAllDifferent(const std::vector<std::string>& variables) override

Parameters
variables The variables that should all be different.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an all-different constraint.

void Universe::UniverseJavaCspSolver::addAllDifferent(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& except) override

Parameters
variables The variables that should all be different.
except The values not to consider in the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an all-different constraint.

void Universe::UniverseJavaCspSolver::addAllDifferentMatrix(const std::vector<std::vector<std::string>>& variableMatrix) override

Parameters
variableMatrix The matrix of variables that should all be different.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an all-different constraint.

void Universe::UniverseJavaCspSolver::addAllDifferentMatrix(const std::vector<std::vector<std::string>>& variableMatrix, const std::vector<Universe::BigInteger>& except) override

Parameters
variableMatrix The matrix of variables that should all be different.
except The values not to consider in the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an all-different constraint.

void Universe::UniverseJavaCspSolver::addAllDifferentList(const std::vector<std::vector<std::string>>& variableLists) override

Parameters
variableLists The lists of variables that should all be different.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an all-different constraint.

void Universe::UniverseJavaCspSolver::addAllDifferentList(const std::vector<std::vector<std::string>>& variableLists, const std::vector<std::vector<Universe::BigInteger>>& except) override

Parameters
variableLists The lists of variables that should all be different.
except The values not to consider in the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an all-different constraint.

void Universe::UniverseJavaCspSolver::addAllDifferentIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints) override

Parameters
intensionConstraints The intension constraints that should all be different.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an all-different constraint.

void Universe::UniverseJavaCspSolver::addChannel(const std::vector<std::string>& variables, int startIndex) override

Parameters
variables The variables appearing in the constraint.
startIndex The index at which the constraint starts.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a channel constraint.

void Universe::UniverseJavaCspSolver::addChannel(const std::vector<std::string>& variables, int startIndex, const std::string& value) override

Parameters
variables The variables among which exactly one should be satisfied starting from the given index.
startIndex The index at which the constraint starts.
value The variable containing the index of the satisfied variable.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a channel constraint.

void Universe::UniverseJavaCspSolver::addChannel(const std::vector<std::string>& variables, int startIndex, const std::vector<std::string>& otherVariables, int otherStartIndex) override

Parameters
variables The variables appearing in the constraint.
startIndex The index at which the constraint starts on the first vector of variables.
otherVariables The variables with which to channel the variables of the first vector.
otherStartIndex The index at which the constraint starts on the second vector of variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a channel constraint.

void Universe::UniverseJavaCspSolver::addCardinalityWithConstantValuesAndConstantCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& occurs, bool closed) override

Parameters
variables The variables to count the assignments of.
values The assignable values to count.
occurs The number of times each value can be assigned.
closed Whether only the values in value can be assigned to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cardinality constraint.

void Universe::UniverseJavaCspSolver::addCardinalityWithConstantValuesAndConstantIntervalCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& occursMin, const std::vector<Universe::BigInteger>& occursMax, bool closed) override

Parameters
variables The variables to count the assignments of.
values The assignable values to count.
occursMin The minimum number of times each value can be assigned.
occursMax The maximum number of times each value can be assigned.
closed Whether only the values in value can be assigned to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cardinality constraint.

void Universe::UniverseJavaCspSolver::addCardinalityWithConstantValuesAndVariableCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<std::string>& occurs, bool closed) override

Parameters
variables The variables to count the assignments of.
values The assignable values to count.
occurs The variables encoding the number of times each value can be assigned.
closed Whether only the values in value can be assigned to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cardinality constraint.

void Universe::UniverseJavaCspSolver::addCardinalityWithVariableValuesAndConstantCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<Universe::BigInteger>& occurs, bool closed) override

Parameters
variables The variables to count the assignments of.
values The variables encoding the assignable values to count.
occurs The number of times each value can be assigned.
closed Whether only the values in value can be assigned to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cardinality constraint.

void Universe::UniverseJavaCspSolver::addCardinalityWithVariableValuesAndConstantIntervalCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<Universe::BigInteger>& occursMin, const std::vector<Universe::BigInteger>& occursMax, bool closed) override

Parameters
variables The variables to count the assignments of.
values The variables encoding the assignable values to count.
occursMin The minimum number of times each value can be assigned.
occursMax The maximum number of times each value can be assigned.
closed Whether only the values in value can be assigned to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cardinality constraint.

void Universe::UniverseJavaCspSolver::addCardinalityWithVariableValuesAndVariableCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<std::string>& occurs, bool closed) override

Parameters
variables The variables to count the assignments of.
values The variables encoding the assignable values to count.
occurs The variables encoding the number of times each value can be assigned.
closed Whether only the values in value can be assigned to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cardinality constraint.

void Universe::UniverseJavaCspSolver::addAtLeast(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) override

Parameters
variables The variables to count the assignments of.
value The value to count the assignments of.
count The minimum number of times the value can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an at-least constraint.

void Universe::UniverseJavaCspSolver::addExactly(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) override

Parameters
variables The variables to count the assignments of.
value The value to count the assignments of.
count The number of times the value can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an exactly constraint.

void Universe::UniverseJavaCspSolver::addExactly(const std::vector<std::string>& variables, const Universe::BigInteger& value, const std::string& count) override

Parameters
variables The variables to count the assignments of.
value The value to count the assignments of.
count The variable encoding the number of times the value can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an exactly constraint.

void Universe::UniverseJavaCspSolver::addAmong(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const Universe::BigInteger& count) override

Parameters
variables The variables to count the assignments of.
values The values to count the assignments of.
count The number of times the value can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an among constraint.

void Universe::UniverseJavaCspSolver::addAmong(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::string& count) override

Parameters
variables The variables to count the assignments of.
values The values to count the assignments of.
count The variable encoding the number of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an among constraint.

void Universe::UniverseJavaCspSolver::addAtMost(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) override

Parameters
variables The variables to count the assignments of.
value The value to count the assignments of.
count The maximum number of times the value can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an at-most constraint.

void Universe::UniverseJavaCspSolver::addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) override

Parameters
variables The variables to count the assignments of.
values The values to count the assignments of.
op The operator to use to compare the number of assignments to their expected count.
count The number of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const std::string& count) override

Parameters
variables The variables to count the assignments of.
values The values to count the assignments of.
op The operator to use to compare the number of assignments to their expected count.
count The variable encoding the number of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables to count the assignments of.
values The values to count the assignments of.
op The operator to use to check whether the number of assignments is within a range.
min The minimum number of times the value can be assigned among the variables.
max The maximum number of times the value can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables to count the assignments of.
values The values to count the assignments of.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed numbers of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) override

Parameters
variables The variables to count the assignments of.
values The variables encoding the values to count the assignments of.
op The operator to use to compare the number of assignments to their expected count.
count The number of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseRelationalOperator op, const std::string& count) override

Parameters
variables The variables to count the assignments of.
values The variables encoding the values to count the assignments of.
op The operator to use to compare the number of assignments to their expected count.
count The variable encoding the number of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables to count the assignments of.
values The variables encoding the values to count the assignments of.
op The operator to use to check whether the number of assignments is within a range.
min The minimum number of times the value can be assigned among the variables.
max The maximum number of times the value can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables to count the assignments of.
values The variables encoding the values to count the assignments of.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed numbers of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) override

Parameters
expressions The expressions to count the assignments of.
values The values to count the assignments of.
op The operator to use to compare the number of assignments to their expected count.
count The variable encoding the number of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const std::string& count) override

Parameters
expressions The expressions to count the assignments of.
values The values to count the assignments of.
op The operator to use to compare the number of assignments to their expected count.
count The variable encoding the number of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
expressions The expressions to count the assignments of.
values The values to count the assignments of.
op The operator to use to check whether the number of assignments is within a range.
min The minimum number of times the value can be assigned among the variables.
max The maximum number of times the value can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
expressions The expressions to count the assignments of.
values The values to count the assignments of.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed numbers of times the values can be assigned among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a count constraint.

void Universe::UniverseJavaCspSolver::addNValues(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb) override

Parameters
variables The variables appearing in the constraint.
op The relational operator used in the constraint.
nb The number of distinct values to count.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb, const std::vector<Universe::BigInteger>& except) override

Parameters
variables The variables appearing in the constraint.
op The relational operator used in the constraint.
nb The number of distinct values to count.
except The values that should not be counted.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValues(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& nb) override

Parameters
variables The variables appearing in the constraint.
op The relational operator used in the constraint.
nb The variable counting the number of distinct values.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& nb, const std::vector<Universe::BigInteger>& except) override

Parameters
variables The variables appearing in the constraint.
op The relational operator used in the constraint.
nb The variable counting the number of distinct values.
except The values that should not be counted.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValues(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables appearing in the constraint.
op
min The minimum number of distinct values to count.
max The maximum number of distinct values to count.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max, const std::vector<Universe::BigInteger>& except) override

Parameters
variables The variables appearing in the constraint.
op
min The minimum number of distinct values to count.
max The maximum number of distinct values to count.
except The values that should not be counted.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValues(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables appearing in the constraint.
op The set operator used in the constraint.
set The allowed numbers of distinct values.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set, const std::vector<Universe::BigInteger>& except) override

Parameters
variables The variables appearing in the constraint.
op The set operator used in the constraint.
set The allowed numbers of distinct values.
except The values that should not be counted.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb) override

Parameters
expressions The expressions appearing in the constraint.
op The relational operator used in the constraint.
nb The number of distinct values to count.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const std::string& nb) override

Parameters
expressions The expressions appearing in the constraint.
op The relational operator used in the constraint.
nb The variable counting the number of distinct values.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
expressions The expressions appearing in the constraint.
op The set operator used in the constraint.
min The minimum number of distinct values to count.
max The maximum number of distinct values to count.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
expressions The expressions appearing in the constraint.
op The set operator used in the constraint.
set The allowed numbers of distinct values.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an n-values constraint.

void Universe::UniverseJavaCspSolver::addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables appearing in the constraint.
sizes The sizes of the elements to pack.
op The operator used to ensure the capacity of the bin.
value The value of the bins capacity.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a bin-packing constraint.

void Universe::UniverseJavaCspSolver::addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseRelationalOperator op, const std::string& variable) override

Parameters
variables The variables appearing in the constraint.
sizes The sizes of the elements to pack.
op The operator used to ensure the capacity of the bins.
variable The variable encoding the bins capacity.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a bin-packing constraint.

void Universe::UniverseJavaCspSolver::addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables appearing in the constraint.
sizes The sizes of the elements to pack.
op The operator used to ensure the capacity of the bins.
min The minimum capacity of the bins.
max The maximum capacity of the bins.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a bin-packing constraint.

void Universe::UniverseJavaCspSolver::addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables appearing in the constraint.
sizes The sizes of the elements to pack.
op The operator used to ensure the capacity of the bins.
set The allowed capacities for the bins.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a bin-packing constraint.

void Universe::UniverseJavaCspSolver::addBinPackingWithConstantCapacities(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, const std::vector<Universe::BigInteger>& capacities, bool loads) override

Parameters
variables The variables appearing in the constraint.
sizes The sizes of the elements to pack.
capacities The capacities of each bin.
loads Whether bin loads should be computed.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a bin-packing constraint.

void Universe::UniverseJavaCspSolver::addBinPackingWithVariableCapacities(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, const std::vector<std::string>& capacities, bool loads) override

Parameters
variables The variables appearing in the constraint.
sizes The sizes of the elements to pack.
capacities The variables encoding the capacities of each bin.
loads Whether bin loads should be computed.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a bin-packing constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
heights The heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
heights The heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The variable encoding the value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The variable encoding the value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
heights The heights of the tasks to assign.
op The operator to use to check whether the cumulative use is within a range.
min The minimum cumulative use.
max The maximum cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The heights of the tasks to assign.
op The operator to use to check whether the cumulative use is within a range.
min The minimum cumulative use.
max The maximum cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
heights The heights of the tasks to assign.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed cumulative uses.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The heights of the tasks to assign.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed cumulative uses.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
heights The variable encoding the heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The variable encoding the heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
heights The variable encoding the heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The variable encoding the value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The variable encoding the heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The variable encoding the value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
heights The variable encoding the heights of the tasks to assign.
op The operator to use to check whether the cumulative use is within a range.
min The minimum cumulative use.
max The maximum cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The variable encoding the heights of the tasks to assign.
op The operator to use to check whether the cumulative use is within a range.
min The minimum cumulative use.
max The maximum cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
heights The variable encoding the heights of the tasks to assign.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed cumulative uses.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeConstantLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<Universe::BigInteger>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
origins The variables encoding the origins of the resources.
lengths The lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The variable encoding the heights of the tasks to assign.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed cumulative uses.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
heights The heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
heights The heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The variable encoding the value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The variable encoding the value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
heights The heights of the tasks to assign.
op The operator to use to check whether the cumulative use is within a range.
min The minimum cumulative use.
max The maximum cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The heights of the tasks to assign.
op The operator to use to check whether the cumulative use is within a range.
min The minimum cumulative use.
max The maximum cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
heights The heights of the tasks to assign.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed cumulative uses.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsConstantHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<Universe::BigInteger>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The heights of the tasks to assign.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed cumulative uses.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
heights The variables encoding the heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The variables encoding the heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
heights The variables encoding the heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The variable encoding the value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The variables encoding the heights of the tasks to assign.
op The operator to compare the cumulative use with.
value The variable encoding the value for the cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
heights The variables encoding the heights of the tasks to assign.
op The operator to use to check whether the cumulative use is within a range.
min The minimum cumulative use.
max The maximum cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The variables encoding the heights of the tasks to assign.
op The operator to use to check whether the cumulative use is within a range.
min The minimum cumulative use.
max The maximum cumulative use.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
heights The variables encoding the heights of the tasks to assign.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed cumulative uses.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addCumulativeVariableLengthsVariableHeights(const std::vector<std::string>& origins, const std::vector<std::string>& lengths, const std::vector<std::string>& ends, const std::vector<std::string>& heights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
origins The variables encoding the origins of the resources.
lengths The variables encoding the lengths of the tasks to assign.
ends The variables encoding the ends of the resources.
heights The variables encoding the heights of the tasks to assign.
op The operator to use to check whether the number of assignments is within a set.
set The set containing the allowed cumulative uses.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a cumulative constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const Universe::BigInteger& wValue, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const Universe::BigInteger& pValue) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wValue The total weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pValue The total profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const Universe::BigInteger& wValue, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const std::string& pVariable) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wValue The total weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pVariable The variable encoding the total profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const Universe::BigInteger& wValue, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const Universe::BigInteger& pMin, const Universe::BigInteger& pMax) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wValue The total weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pMin The minimum profit of the knapsack.
pMax The maximum profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const Universe::BigInteger& wValue, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const std::vector<Universe::BigInteger>& pSet) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wValue The total weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pSet The allowed total profits of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const std::string& wVariable, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const Universe::BigInteger& pValue) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wVariable The variable encoding the total weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pValue The variable encoding the total profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const std::string& wVariable, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const std::string& pVariable) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wVariable The variable encoding the total weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pVariable The variable encoding the total profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const std::string& wVariable, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const Universe::BigInteger& pMin, const Universe::BigInteger& pMax) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wVariable The variable encoding the total weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pMin The minimum profit of the knapsack.
pMax The maximum profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator wOperator, const std::string& wVariable, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const std::vector<Universe::BigInteger>& pSet) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wVariable The variable encoding the total weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pSet The allowed total profits of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const Universe::BigInteger& wMin, const Universe::BigInteger& wMax, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const Universe::BigInteger& pValue) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wMin The minimum weight of the knapsack.
wMax The maximum weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pValue The total profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const Universe::BigInteger& wMin, const Universe::BigInteger& wMax, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const std::string& pVariable) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wMin The minimum weight of the knapsack.
wMax The maximum weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pVariable The variable encoding the total profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const Universe::BigInteger& wMin, const Universe::BigInteger& wMax, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const Universe::BigInteger& pMin, const Universe::BigInteger& pMax) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wMin The minimum weight of the knapsack.
wMax The maximum weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pMin The minimum profit of the knapsack.
pMax The maximum profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const Universe::BigInteger& wMin, const Universe::BigInteger& wMax, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const std::vector<Universe::BigInteger>& pSet) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wMin The minimum weight of the knapsack.
wMax The maximum weight of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pSet The allowed total profits of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const std::vector<Universe::BigInteger>& wSet, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const Universe::BigInteger& pValue) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wSet The allowed total weights of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pValue The variable encoding the total profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const std::vector<Universe::BigInteger>& wSet, const std::vector<Universe::BigInteger>& profits, Universe::UniverseRelationalOperator pOperator, const std::string& pVariable) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wSet The allowed total weights of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pVariable The variable encoding the total profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const std::vector<Universe::BigInteger>& wSet, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const Universe::BigInteger& pMin, const Universe::BigInteger& pMax) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wSet The allowed total weights of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pMin The minimum profit of the knapsack.
pMax The maximum profit of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addKnapsack(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator wOperator, const std::vector<Universe::BigInteger>& wSet, const std::vector<Universe::BigInteger>& profits, Universe::UniverseSetBelongingOperator pOperator, const std::vector<Universe::BigInteger>& pSet) override

Parameters
variables The variables appearing in the constraint.
weights The weights of the elements to put in the knapsack.
wOperator The operator for comparing the weight of the knapsack.
wSet The allowed total weights of the knapsack.
profits The profits of the elements to put in the knapsack.
pOperator The operator for comparing the profit of the knapsack.
pSet The allowed total profits of the knapsack.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a knapsack constraint.

void Universe::UniverseJavaCspSolver::addStretch(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& widthsMin, const std::vector<Universe::BigInteger>& widthsMax) override

Parameters
variables The variables appearing in the constraint.
values The values to assign to the variables.
widthsMin The minimum widths of the sequences to build.
widthsMax The maximum widths of the sequences to build.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a stretch constraint.

void Universe::UniverseJavaCspSolver::addStretch(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& widthsMin, const std::vector<Universe::BigInteger>& widthsMax, const std::vector<std::vector<Universe::BigInteger>>& patterns) override

Parameters
variables The variables appearing in the constraint.
values The values to assign to the variables.
widthsMin The minimum widths of the sequences to build.
widthsMax The maximum widths of the sequences to build.
patterns The possible successive values between stretches.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a stretch constraint.

void Universe::UniverseJavaCspSolver::addElement(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables appearing in the constraint.
op The relational operator used to compare the value with those assigned to the variables.
value The value to look for among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElement(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
variables The variables appearing in the constraint.
op The relational operator used to compare the value with those assigned to the variables.
value The variable encoding the value to look for among the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElement(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables appearing in the constraint.
op The operator used to check whether a variable is assigned in the range.
min The minimum value of the range.
max The maximum value of the range.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElement(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables appearing in the constraint.
op The operator used to check whether a variable is assigned in the set.
set The set of values to look for.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
values The values among which to look for the variable.
startIndex The index at which to start looking for the variable.
index The index at which the variable appears in the values.
op The relational operator used to compare the value with those assigned to the variables.
value The value to look for.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& variable) override

Parameters
values The values among which to look for the variable.
startIndex The index at which to start looking for the variable.
index The index at which the variable appears in the values.
op The relational operator used to compare the value with those assigned to the variables.
variable The variable whose value is to be looked for.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
values The values among which to look for the variable.
startIndex The index at which to start looking for the variable.
index The index at which the variable appears in the values.
op The operator used to check whether a variable is assigned in the range.
min The minimum value of the range.
max The maximum value of the range.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
values The values among which to look for the variable.
startIndex The index at which to start looking for the variable.
index The index at which the variable appears in the values.
op The operator used to check whether a variable is assigned in the set.
set The set of values to look for.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables among which to look for the value.
startIndex The index at which to start looking for the value.
index The index at which the value appears in the variables.
op The relational operator used to compare the value with those assigned to the variables.
value The value to look for.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& variable) override

Parameters
variables The variables among which to look for the value.
startIndex The index at which to start looking for the variable.
index The index at which the variable appears in the values.
op The relational operator used to compare the value with those assigned to the variables.
variable The variable whose value is to be looked for.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables among which to look for the value.
startIndex The index at which to start looking for the variable.
index The index at which the variable appears in the values.
op The operator used to check whether a variable is assigned in the range.
min The minimum value of the range.
max The maximum value of the range.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables among which to look for the value.
startIndex The index at which to start looking for the variable.
index The index at which the variable appears in the values.
op The operator used to check whether a variable is assigned in the set.
set The set of values to look for.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementConstantMatrix(const std::vector<std::vector<Universe::BigInteger>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
matrix The matrix of values among which the value must appear.
startRowIndex The index of the row starting from which the value must appear.
rowIndex The variable encoding the index of the row at which the value appears.
startColIndex The index of the column starting from which the value must appear.
colIndex The variable encoding the index of the column at which the value appears.
op The relational operator used to compare the value with those assigned to the variables.
value The value to look for inside the matrix.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementConstantMatrix(const std::vector<std::vector<Universe::BigInteger>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
matrix The matrix of values among which the value must appear.
startRowIndex The index of the row starting from which the value must appear.
rowIndex The variable encoding the index of the row at which the value appears.
startColIndex The index of the column starting from which the value must appear.
colIndex The variable encoding the index of the column at which the value appears.
op The relational operator used to compare the value with those assigned to the variables.
value The variable whose value is to be looked for inside the matrix.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementConstantMatrix(const std::vector<std::vector<Universe::BigInteger>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
matrix The matrix of values among which the value must appear.
startRowIndex The index of the row starting from which the value must appear.
rowIndex The variable encoding the index of the row at which the value appears.
startColIndex The index of the column starting from which the value must appear.
colIndex The variable encoding the index of the column at which the value appears.
op The operator used to check whether a variable is assigned in the range.
min The minimum value of the range.
max The maximum value of the range.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementConstantMatrix(const std::vector<std::vector<Universe::BigInteger>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
matrix The matrix of values among which the value must appear.
startRowIndex The index of the row starting from which the value must appear.
rowIndex The variable encoding the index of the row at which the value appears.
startColIndex The index of the column starting from which the value must appear.
colIndex The variable encoding the index of the column at which the value appears.
op The operator used to check whether a variable is assigned in the set.
set The set of values to look for.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementMatrix(const std::vector<std::vector<std::string>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
matrix The matrix of variables among which the value must be assigned.
startRowIndex The index of the row starting from which the value must appear.
rowIndex The variable encoding the index of the row at which the value appears.
startColIndex The index of the column starting from which the value must appear.
colIndex The variable encoding the index of the column at which the value appears.
op The relational operator used to compare the value with those assigned to the variables.
value The variable whose value is to be looked for inside the matrix.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementMatrix(const std::vector<std::vector<std::string>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
matrix The matrix of variables among which the value must be assigned.
startRowIndex The index of the row starting from which the value must appear.
rowIndex The variable encoding the index of the row at which the value appears.
startColIndex The index of the column starting from which the value must appear.
colIndex The variable encoding the index of the column at which the value appears.
op The relational operator used to compare the value with those assigned to the variables.
value The variable whose value is to be looked for inside the matrix.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementMatrix(const std::vector<std::vector<std::string>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
matrix The matrix of variables among which the value must be assigned.
startRowIndex The index of the row starting from which the value must appear.
rowIndex The variable encoding the index of the row at which the value appears.
startColIndex The index of the column starting from which the value must appear.
colIndex The variable encoding the index of the column at which the value appears.
op The operator used to check whether a variable is assigned in the range.
min The minimum value of the range.
max The maximum value of the range.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addElementMatrix(const std::vector<std::vector<std::string>>& matrix, int startRowIndex, const std::string& rowIndex, int startColIndex, const std::string& colIndex, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
matrix The matrix of variables among which the value must be assigned.
startRowIndex The index of the row starting from which the value must appear.
rowIndex The variable encoding the index of the row at which the value appears.
startColIndex The index of the column starting from which the value must appear.
colIndex The variable encoding the index of the column at which the value appears.
op The operator used to check whether a variable is assigned in the set.
set The set of values to look for.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an element constraint.

void Universe::UniverseJavaCspSolver::addPrecedence(const std::vector<std::string>& variables) override

Parameters
variables The variables appearing in the constraint.

Adds to this solver a precedence constraint.

void Universe::UniverseJavaCspSolver::addPrecedence(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, bool covered) override

Parameters
variables The variables appearing in the constraint.
values The values on which the precedence constraint applies.
covered Whether each value of the specified list must be assigned by at least one variable in the scope of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a precedence constraint.

void Universe::UniverseJavaCspSolver::addSupport(const std::string& variable, const std::vector<Universe::BigInteger>& allowedValues, bool hasStar) override

Parameters
variable The variable for which the support is given.
allowedValues The values allowed for the variable.
hasStar Whether the allowed values contain stars (to mark that any value is allowed).
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an extension constraint describing the support of a variable.

void Universe::UniverseJavaCspSolver::addSupportSymbolic(const std::string& variable, const std::vector<std::string>& allowedValues, bool hasStar) override

Parameters
variable The variable for which the support is given.
allowedValues The values allowed for the variable.
hasStar Whether the allowed values contain stars (to mark that any value is allowed).
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an extension constraint describing the support of a variable.

void Universe::UniverseJavaCspSolver::addSupport(const std::vector<std::string>& variableTuple, const std::vector<std::vector<Universe::BigInteger>>& allowedValues, bool hasStar) override

Parameters
variableTuple The tuple of variables for which the support is given.
allowedValues The values allowed for the tuple variables.
hasStar Whether the allowed values contain stars (to mark that any value is allowed).
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an extension constraint describing the support of a tuple of variables.

void Universe::UniverseJavaCspSolver::addSupportSymbolic(const std::vector<std::string>& variableTuple, const std::vector<std::vector<std::string>>& allowedValues, bool hasStar) override

Parameters
variableTuple The tuple of variables for which the support is given.
allowedValues The values allowed for the tuple variables.
hasStar Whether the allowed values contain stars (to mark that any value is allowed).
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an extension constraint describing the support of a tuple of variables.

void Universe::UniverseJavaCspSolver::addConflicts(const std::string& variable, const std::vector<Universe::BigInteger>& forbiddenValues, bool hasStar) override

Parameters
variable The variable for which the conflicts are given.
forbiddenValues The values forbidden for the variable.
hasStar Whether the forbidden values contain stars (to mark that any value is forbidden).
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an extension constraint describing the conflicts of a variable.

void Universe::UniverseJavaCspSolver::addConflictsSymbolic(const std::string& variable, const std::vector<std::string>& forbiddenValues, bool hasStar) override

Parameters
variable The variable for which the conflicts are given.
forbiddenValues The values forbidden for the variable.
hasStar Whether the forbidden values contain stars (to mark that any value is forbidden).
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an extension constraint describing the conflicts of a variable.

void Universe::UniverseJavaCspSolver::addConflicts(const std::vector<std::string>& variableTuple, const std::vector<std::vector<Universe::BigInteger>>& forbiddenValues, bool hasStar) override

Parameters
variableTuple The tuple of variables for which the conflicts are given.
forbiddenValues The values forbidden for the tuple variables.
hasStar Whether the forbidden values contain stars (to mark that any value is forbidden).
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an extension constraint describing the conflicts of a tuple of variables.

void Universe::UniverseJavaCspSolver::addConflictsSymbolic(const std::vector<std::string>& variableTuple, const std::vector<std::vector<std::string>>& forbiddenValues, bool hasStar) override

Parameters
variableTuple The tuple of variables for which the conflicts are given.
forbiddenValues The values forbidden for the tuple variables.
hasStar Whether the forbidden values contain stars (to mark that any value is forbidden).
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an extension constraint describing the conflicts of a tuple of variables.

void Universe::UniverseJavaCspSolver::addIntension(Universe::IUniverseIntensionConstraint* constr) override

Parameters
constr The user-friendly representation of the constraint to add.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an intension constraint.

void Universe::UniverseJavaCspSolver::addPrimitive(const std::string& variable, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variable The variable appearing in the constraint.
op The operator used in the constraint.
value The value to compare the variable with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a primitive constraint.

void Universe::UniverseJavaCspSolver::addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const Universe::BigInteger& leftHandSide, Universe::UniverseRelationalOperator relOp, const Universe::BigInteger& rightHandSide) override

Parameters
variable The variable appearing in the constraint.
arithOp The arithmetic operator applied on the variable.
leftHandSide The value on the left-hand side of the constraint.
relOp The relational operator used to compare the right-hand side with the left-hand side.
rightHandSide The value on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a primitive constraint.

void Universe::UniverseJavaCspSolver::addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const std::string& leftHandSide, Universe::UniverseRelationalOperator relOp, const Universe::BigInteger& rightHandSide) override

Parameters
variable The variable appearing in the constraint.
arithOp The arithmetic operator applied on the variable.
leftHandSide The variable on the left-hand side of the constraint.
relOp The relational operator used to compare the right-hand side with the left-hand side.
rightHandSide The value on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a primitive constraint.

void Universe::UniverseJavaCspSolver::addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const Universe::BigInteger& leftHandSide, Universe::UniverseRelationalOperator relOp, const std::string& rightHandSide) override

Parameters
variable The variable appearing in the constraint.
arithOp The arithmetic operator applied on the variable.
leftHandSide The value on the left-hand side of the constraint.
relOp The relational operator used to compare the right-hand side with the left-hand side.
rightHandSide The variable on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a primitive constraint.

void Universe::UniverseJavaCspSolver::addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const std::string& leftHandSide, Universe::UniverseRelationalOperator relOp, const std::string& rightHandSide) override

Parameters
variable The variable appearing in the constraint.
arithOp The arithmetic operator applied on the variable.
leftHandSide The variable on the left-hand side of the constraint.
relOp The relational operator used to compare the right-hand side with the left-hand side.
rightHandSide The variable on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a primitive constraint.

void Universe::UniverseJavaCspSolver::addPrimitive(Universe::UniverseArithmeticOperator arithOp, const std::string& variable, const std::string& rightHandSide) override

Parameters
arithOp The arithmetic operator applied on the variable.
variable The variable on which the operator is applied.
rightHandSide The variable on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a primitive constraint.

void Universe::UniverseJavaCspSolver::addPrimitive(const std::string& variable, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variable The variable appearing in the constraint.
op The operator defining whether the values are allowed or forbidden.
min The minimum value of the range on which the operator is applied.
max The maximum value of the range on which the operator is applied.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a primitive constraint.

void Universe::UniverseJavaCspSolver::addPrimitive(const std::string& variable, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override

Parameters
variable The variable appearing in the constraint.
op The operator defining whether the values are allowed or forbidden.
values The set of values on which the operator is applied.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a primitive constraint.

void Universe::UniverseJavaCspSolver::addMinimum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables to compute the minimum of.
op The relational operator to use to compare the minimum.
value The value to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
variables The variables to compute the minimum of.
op The relational operator to use to compare the minimum.
value The variable to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables to compute the minimum of.
op The operator checking whether the minimum is in the range.
min The minimum value for the minimum.
max The maximum value for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables to compute the minimum of.
op The operator checking whether the minimum is in the set.
set The allowed values for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables to compute the minimum of.
startIndex The index at which to start looking for the minimum
index The variable encoding the index at which the minimum is.
op The relational operator to use to compare the minimum.
value The value to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
variables The variables to compute the minimum of.
startIndex The index at which to start looking for the minimum
index The variable encoding the index at which the minimum is.
op The relational operator to use to compare the minimum.
value The variable to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables to compute the minimum of.
startIndex The index at which to start looking for the minimum
index The variable encoding the index at which the minimum is.
op The operator checking whether the minimum is in the range.
min The minimum value for the minimum.
max The maximum value for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables to compute the minimum of.
startIndex The index at which to start looking for the minimum
index The variable encoding the index at which the minimum is.
op The operator checking whether the minimum is in the set.
set The allowed values for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
intensionConstraints The intension constraints to compute the minimum of.
op The relational operator to use to compare the minimum.
value The value to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
intensionConstraints The intension constraints to compute the minimum of.
op The relational operator to use to compare the minimum.
value The variable to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
intensionConstraints The intension constraints to compute the minimum of.
op The operator checking whether the minimum is in the range.
min The minimum value for the minimum.
max The maximum value for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
intensionConstraints The intension constraints to compute the minimum of.
op The operator checking whether the minimum is in the set.
set The allowed values for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum constraint.

void Universe::UniverseJavaCspSolver::addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables to compute the minimum of.
op The relational operator to use to compare the minimum.
value The value to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum-arg constraint.

void Universe::UniverseJavaCspSolver::addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
variables The variables to compute the minimum of.
op The relational operator to use to compare the minimum.
value The variable to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum-arg constraint.

void Universe::UniverseJavaCspSolver::addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables to compute the minimum of.
op The operator checking whether the minimum is in the range.
min The minimum value for the minimum.
max The maximum value for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum-arg constraint.

void Universe::UniverseJavaCspSolver::addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables to compute the minimum of.
op The operator checking whether the minimum is in the set.
set The allowed values for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum-arg constraint.

void Universe::UniverseJavaCspSolver::addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
intensionConstraints The intension constraints to compute the minimum of.
op The relational operator to use to compare the minimum.
value The value to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum-arg constraint.

void Universe::UniverseJavaCspSolver::addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
intensionConstraints The intension constraints to compute the minimum of.
op The relational operator to use to compare the minimum.
value The variable to compare the minimum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum-arg constraint.

void Universe::UniverseJavaCspSolver::addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
intensionConstraints The intension constraints to compute the minimum of.
op The operator checking whether the minimum is in the range.
min The minimum value for the minimum.
max The maximum value for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum-arg constraint.

void Universe::UniverseJavaCspSolver::addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
intensionConstraints The intension constraints to compute the minimum of.
op The operator checking whether the minimum is in the set.
set The allowed values for the minimum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a minimum-arg constraint.

void Universe::UniverseJavaCspSolver::addMaximum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables to compute the maximum of.
op The relational operator to use to compare the maximum.
value The value to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
variables The variables to compute the maximum of.
op The relational operator to use to compare the maximum.
value The variable to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables to compute the maximum of.
op The operator checking whether the maximum is in the range.
min The minimum value for the maximum.
max The maximum value for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables to compute the maximum of.
op The operator checking whether the maximum is in the set.
set The allowed values for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables to compute the maximum of.
startIndex The index at which to start looking for the maximum
index The variable encoding the index at which the maximum is.
op The relational operator to use to compare the maximum.
value The value to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
variables The variables to compute the maximum of.
startIndex The index at which to start looking for the maximum
index The variable encoding the index at which the maximum is.
op The relational operator to use to compare the maximum.
value The variable to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables to compute the maximum of.
startIndex The index at which to start looking for the maximum
index The variable encoding the index at which the maximum is.
op The operator checking whether the maximum is in the range.
min The minimum value for the maximum.
max The maximum value for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables to compute the maximum of.
startIndex The index at which to start looking for the maximum
index The variable encoding the index at which the maximum is.
op The operator checking whether the maximum is in the set.
set The allowed values for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
intensionConstraints The intension constraints to compute the maximum of.
op The relational operator to use to compare the maximum.
value The value to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
intensionConstraints The intension constraints to compute the maximum of.
op The relational operator to use to compare the maximum.
value The variable to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
intensionConstraints The intension constraints to compute the maximum of.
op The operator checking whether the maximum is in the range.
min The minimum value for the maximum.
max The maximum value for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
intensionConstraints The intension constraints to compute the maximum of.
op The operator checking whether the maximum is in the set.
set The allowed values for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum constraint.

void Universe::UniverseJavaCspSolver::addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables to compute the maximum of.
op The relational operator to use to compare the maximum.
value The value to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum-arg constraint.

void Universe::UniverseJavaCspSolver::addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
variables The variables to compute the maximum of.
op The relational operator to use to compare the maximum.
value The variable to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum-arg constraint.

void Universe::UniverseJavaCspSolver::addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables to compute the maximum of.
op The operator checking whether the maximum is in the range.
min The minimum value for the maximum.
max The maximum value for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum-arg constraint.

void Universe::UniverseJavaCspSolver::addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variables to compute the maximum of.
op The operator checking whether the maximum is in the set.
set The allowed values for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum-arg constraint.

void Universe::UniverseJavaCspSolver::addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
intensionConstraints The intension constraints to compute the maximum of.
op The relational operator to use to compare the maximum.
value The value to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum-arg constraint.

void Universe::UniverseJavaCspSolver::addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) override

Parameters
intensionConstraints The intension constraints to compute the maximum of.
op The relational operator to use to compare the maximum.
value The variable to compare the maximum with.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum-arg constraint.

void Universe::UniverseJavaCspSolver::addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
intensionConstraints The intension constraints to compute the maximum of.
op The operator checking whether the maximum is in the range.
min The minimum value for the maximum.
max The maximum value for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum-arg constraint.

void Universe::UniverseJavaCspSolver::addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
intensionConstraints The intension constraints to compute the maximum of.
op The operator checking whether the maximum is in the set.
set The allowed values for the maximum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a maximum-arg constraint.

void Universe::UniverseJavaCspSolver::addNoOverlap(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& length) override

Parameters
variables The variables appearing in the constraint.
length The length associated to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addNoOverlap(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& length, bool zeroIgnored) override

Parameters
variables The variables appearing in the constraint.
length The length associated to the variables.
zeroIgnored Whether 0-lengths should be ignored.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addNoOverlapVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& length) override

Parameters
variables The variables appearing in the constraint.
length The variable for the length of the other variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addNoOverlapVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& length, bool zeroIgnored) override

Parameters
variables The variables appearing in the constraint.
length The variable for the length of the other variables.
zeroIgnored Whether 0-lengths should be ignored.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addBiDimensionalNoOverlap(const std::vector<std::string>& xVariables, const std::vector<std::string>& yVariables, const std::vector<std::string>& xLength, const std::vector<Universe::BigInteger>& yLength) override

Parameters
xVariables The variables appearing in the constraint on the x-axis.
yVariables The variables appearing in the constraint on the y-axis.
xLength The variables for the lengths associated to the variables on the x-axis.
yLength The lengths associated to the variables on the y-axis.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addBiDimensionalNoOverlap(const std::vector<std::string>& xVariables, const std::vector<std::string>& yVariables, const std::vector<std::string>& xLength, const std::vector<Universe::BigInteger>& yLength, bool zeroIgnored) override

Parameters
xVariables The variables appearing in the constraint on the x-axis.
yVariables The variables appearing in the constraint on the y-axis.
xLength The variables for the lengths associated to the variables on the x-axis.
yLength The lengths associated to the variables on the y-axis.
zeroIgnored Whether 0-lengths should be ignored.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addMultiDimensionalNoOverlap(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& length) override

Parameters
variables The variables appearing in the constraint.
length The length associated to the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addMultiDimensionalNoOverlap(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& length, bool zeroIgnored) override

Parameters
variables The variables appearing in the constraint.
length The length associated to the variables.
zeroIgnored Whether 0-lengths should be ignored.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addMultiDimensionalNoOverlapVariableLength(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<std::string>>& length) override

Parameters
variables The variables appearing in the constraint.
length The variable for the length of the other variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addMultiDimensionalNoOverlapVariableLength(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<std::string>>& length, bool zeroIgnored) override

Parameters
variables The variables appearing in the constraint.
length The variable for the length of the other variables.
zeroIgnored Whether 0-lengths should be ignored.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a no-overlap constraint.

void Universe::UniverseJavaCspSolver::addOrdered(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op) override

Parameters
variables The variables that should be ordered.
op The relational operator defining the order of the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an ordered constraint.

void Universe::UniverseJavaCspSolver::addOrderedWithConstantLength(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& lengths, Universe::UniverseRelationalOperator op) override

Parameters
variables The variables that should be ordered.
lengths The lengths that must exist between two consecutive variables.
op The relational operator defining the order of the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an ordered constraint.

void Universe::UniverseJavaCspSolver::addOrderedWithVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& lengths, Universe::UniverseRelationalOperator op) override

Parameters
variables The variables that should be ordered.
lengths The variables encoding the lengths that must exist between two consecutive variables.
op The relational operator defining the order of the variables.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an ordered constraint.

void Universe::UniverseJavaCspSolver::addAllEqual(const std::vector<std::string>& variables) override

Parameters
variables The variables that should all be equal.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an all-equal constraint.

void Universe::UniverseJavaCspSolver::addAllEqualIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions that should all be equal.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an all-equal constraint.

void Universe::UniverseJavaCspSolver::addNotAllEqual(const std::vector<std::string>& variables) override

Parameters
variables The variables that should not be all equal.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a not-all-equal constraint.

void Universe::UniverseJavaCspSolver::addLex(const std::vector<std::vector<std::string>>& tuples, Universe::UniverseRelationalOperator op) override

Parameters
tuples The tuple of variables that should be lexicographically ordered.
op The relational operator defining the order of the tuples.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a lex constraint.

void Universe::UniverseJavaCspSolver::addLex(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& limit, Universe::UniverseRelationalOperator op) override

Parameters
variables The variables that should be lexicographically ordered.
limit The limits of the constraint.
op The relational operator defining the order of the tuples.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a lex constraint.

void Universe::UniverseJavaCspSolver::addLexMatrix(const std::vector<std::vector<std::string>>& matrix, Universe::UniverseRelationalOperator op) override

Parameters
matrix The matrix of variables that should be lexicographically ordered.
op The relational operator defining the order in the matrix.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a lex-matrix constraint.

void Universe::UniverseJavaCspSolver::addSum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables appearing in the constraint.
op The relational operator used in the constraint.
value The value of the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override

Parameters
variables The variables appearing in the constraint.
op The relational operator used in the constraint.
rightVariable The variable on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables appearing in the constraint.
op The set operator used in the constraint.
min The minimum value for the sum.
max The maximum value for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override

Parameters
variables The variables appearing in the constraint.
op The set operator used in the constraint.
values The set of allowed values for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The relational operator used in the constraint.
value The value of the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override

Parameters
variables The variables appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The relational operator used in the constraint.
rightVariable The variable on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The set operator used in the constraint.
min The minimum value for the sum.
max The maximum value for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override

Parameters
variables The variables appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The set operator used in the constraint.
values The set of allowed values for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
expressions The expressions appearing in the constraint.
op The relational operator used in the constraint.
value The value of the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override

Parameters
expressions The expressions appearing in the constraint.
op The relational operator used in the constraint.
rightVariable The variable on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
expressions The expressions appearing in the constraint.
op The set operator used in the constraint.
min The minimum value for the sum.
max The maximum value for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override

Parameters
expressions The expressions appearing in the constraint.
op The set operator used in the constraint.
values The set of allowed values for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
expressions The expressions appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The relational operator used in the constraint.
value The value of the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override

Parameters
expressions The expressions appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The relational operator used in the constraint.
rightVariable The variable on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
expressions The expressions appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The set operator used in the constraint.
min The minimum value for the sum.
max The maximum value for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override

Parameters
expressions The expressions appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The set operator used in the constraint.
values The set of allowed values for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
variables The variables appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The relational operator used in the constraint.
value The value of the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override

Parameters
variables The variables appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The relational operator used in the constraint.
rightVariable The variable on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variables appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The set operator used in the constraint.
min The minimum value for the sum.
max The maximum value for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override

Parameters
variables The variables appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The set operator used in the constraint.
values The set of allowed values for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) override

Parameters
expressions The expressions appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The relational operator used in the constraint.
value The value of the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) override

Parameters
expressions The expressions appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The relational operator used in the constraint.
rightVariable The variable on the right-hand side of the constraint.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
expressions The expressions appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The set operator used in the constraint.
min The minimum value for the sum.
max The maximum value for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) override

Parameters
expressions The expressions appearing in the constraint.
coefficients The coefficients of the variables in the sum.
op The set operator used in the constraint.
values The set of allowed values for the sum.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a sum constraint.

void Universe::UniverseJavaCspSolver::addCircuit(const std::vector<std::string>& variables, int startIndex) override

Parameters
variables The variables representing the circuit.
startIndex The index of the variable at which the circuit starts.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a circuit constraint.

void Universe::UniverseJavaCspSolver::addCircuit(const std::vector<std::string>& variables, int startIndex, const Universe::BigInteger& size) override

Parameters
variables The variables representing the circuit.
startIndex The index of the variable at which the circuit starts.
size The size of the expected circuit.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a circuit constraint.

void Universe::UniverseJavaCspSolver::addCircuit(const std::vector<std::string>& variables, int startIndex, const std::string& size) override

Parameters
variables The variables representing the circuit.
startIndex The index of the variable at which the circuit starts.
size The variable encoding the size of the expected circuit.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a circuit constraint.

void Universe::UniverseJavaCspSolver::addMDD(const std::vector<std::string>& variables, const std::vector<UniverseTransition>& transitions) override

Parameters
variables The variables encoding a path in the MDD.
transitions The transitions of the MDD.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver an mdd constraint.

void Universe::UniverseJavaCspSolver::addRegular(const std::vector<std::string>& variables, const std::vector<UniverseTransition>& transitions, const std::string& startState, const std::vector<std::string>& finalStates) override

Parameters
variables The variables encoding a path in the MDD.
transitions The transitions of the MDD.
startState The variable encoding the start state of the MDD.
finalStates The variables encoding the final states of the MDD.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a regular constraint.

void Universe::UniverseJavaCspSolver::addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges) override

Parameters
variables The variable encoding the flow.
balance The balance in the network, i.e., the difference between input and output flows.
edges The edges in the network.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a flow constraint.

void Universe::UniverseJavaCspSolver::addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator op, const Universe::BigInteger& totalCost) override

Parameters
variables The variable encoding the flow.
balance The balance in the network, i.e., the difference between input and output flows.
edges The edges in the network.
weights The weights on the edges of the network.
op The operator comparing the total cost.
totalCost The total cost of the flow.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a flow constraint.

void Universe::UniverseJavaCspSolver::addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges, const std::vector<Universe::BigInteger>& weights, Universe::UniverseRelationalOperator op, const std::string& totalCost) override

Parameters
variables The variable encoding the flow.
balance The balance in the network, i.e., the difference between input and output flows.
edges The edges in the network.
weights The weights on the edges of the network.
op The operator comparing the total cost.
totalCost The variable encoding the total cost of the flow.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a flow constraint.

void Universe::UniverseJavaCspSolver::addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) override

Parameters
variables The variable encoding the flow.
balance The balance in the network, i.e., the difference between input and output flows.
edges The edges in the network.
weights The weights on the edges of the network.
op The operator comparing the total cost.
min The minimum total cost of the flow.
max The maximum total cost of the flow.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a flow constraint.

void Universe::UniverseJavaCspSolver::addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges, const std::vector<Universe::BigInteger>& weights, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) override

Parameters
variables The variable encoding the flow.
balance The balance in the network, i.e., the difference between input and output flows.
edges The edges in the network.
weights The weights on the edges of the network.
op The operator comparing the total cost.
set The possible values for the total cost.
Exceptions
UniverseContradictionException If adding the constraint results in a trivial inconsistency.

Adds to this solver a flow constraint.

void Universe::UniverseJavaCspSolver::minimizeVariable(const std::string& variable) override

Parameters
variable The variable to minimize the value of.

Adds to this solver an objective function to minimize the value assigned to a variable.

void Universe::UniverseJavaCspSolver::minimizeExpression(Universe::IUniverseIntensionConstraint* expression) override

Parameters
expression The expression to minimize the value of.

Adds to this solver an objective function to minimize the value of an expression.

void Universe::UniverseJavaCspSolver::maximizeVariable(const std::string& variable) override

Parameters
variable The variable to maximize the value of.

Adds to this solver an objective function to maximize the value assigned to a variable.

void Universe::UniverseJavaCspSolver::maximizeExpression(Universe::IUniverseIntensionConstraint* expression) override

Parameters
expression The expression to maximize the value of.

Adds to this solver an objective function to maximize the value of an expression.

void Universe::UniverseJavaCspSolver::minimizeSum(const std::vector<std::string>& variables) override

Parameters
variables The variables to minimize the sum of.

Adds to this solver an objective function to minimize a sum of variables.

void Universe::UniverseJavaCspSolver::minimizeSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to minimize the sum of.
coefficients The coefficients of the variables in the sum.

Adds to this solver an objective function to minimize a sum of variables.

void Universe::UniverseJavaCspSolver::minimizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to minimize the sum of.

Adds to this solver an objective function to minimize a sum of expressions.

void Universe::UniverseJavaCspSolver::minimizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to minimize the sum of.
coefficients The coefficients of the expressions in the sum.

Adds to this solver an objective function to minimize a sum of expressions.

void Universe::UniverseJavaCspSolver::maximizeSum(const std::vector<std::string>& variables) override

Parameters
variables The variables to maximize the sum of.

Adds to this solver an objective function to maximize a sum of variables.

void Universe::UniverseJavaCspSolver::maximizeSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to maximize the sum of.
coefficients The coefficients of the variables in the sum.

Adds to this solver an objective function to maximize a sum of variables.

void Universe::UniverseJavaCspSolver::maximizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to maximize the sum of.

Adds to this solver an objective function to maximize a sum of expressions.

void Universe::UniverseJavaCspSolver::maximizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to maximize the sum of.
coefficients The coefficients of the expressions in the sum.

Adds to this solver an objective function to maximize a sum of expressions.

void Universe::UniverseJavaCspSolver::minimizeProduct(const std::vector<std::string>& variables) override

Parameters
variables The variables to minimize the product of.

Adds to this solver an objective function to minimize a product of variables.

void Universe::UniverseJavaCspSolver::minimizeProduct(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to minimize the product of.
coefficients The coefficients of the variables in the product.

Adds to this solver an objective function to minimize a product of variables.

void Universe::UniverseJavaCspSolver::minimizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to minimize the product of.

Adds to this solver an objective function to minimize a product of expressions.

void Universe::UniverseJavaCspSolver::minimizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to minimize the product of.
coefficients The coefficients of the expressions in the product.

Adds to this solver an objective function to minimize a product of expressions.

void Universe::UniverseJavaCspSolver::maximizeProduct(const std::vector<std::string>& variables) override

Parameters
variables The variables to maximize the product of.

Adds to this solver an objective function to maximize a product of variables.

void Universe::UniverseJavaCspSolver::maximizeProduct(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to maximize the product of.
coefficients The coefficients of the variables in the product.

Adds to this solver an objective function to maximize a product of variables.

void Universe::UniverseJavaCspSolver::maximizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to maximize the product of.

Adds to this solver an objective function to maximize a product of expressions.

void Universe::UniverseJavaCspSolver::maximizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to maximize the product of.
coefficients The coefficients of the expressions in the product.

Adds to this solver an objective function to maximize a product of expressions.

void Universe::UniverseJavaCspSolver::minimizeMinimum(const std::vector<std::string>& variables) override

Parameters
variables The variables to minimize the minimum of.

Adds to this solver an objective function to minimize the minimum of variables.

void Universe::UniverseJavaCspSolver::minimizeMinimum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to minimize the minimum of.
coefficients The coefficients of the variables in the minimum.

Adds to this solver an objective function to minimize the minimum of variables.

void Universe::UniverseJavaCspSolver::minimizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to minimize the minimum of.

Adds to this solver an objective function to minimize the minimum of expressions.

void Universe::UniverseJavaCspSolver::minimizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to minimize the minimum of.
coefficients The coefficients of the expressions in the minimum.

Adds to this solver an objective function to minimize the minimum of expressions.

void Universe::UniverseJavaCspSolver::maximizeMinimum(const std::vector<std::string>& variables) override

Parameters
variables The variables to maximize the minimum of.

Adds to this solver an objective function to maximize the minimum of variables.

void Universe::UniverseJavaCspSolver::maximizeMinimum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to maximize the minimum of.
coefficients The coefficients of the variables in the minimum.

Adds to this solver an objective function to maximize the minimum of variables.

void Universe::UniverseJavaCspSolver::maximizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to maximize the minimum of.

Adds to this solver an objective function to maximize the minimum of expressions.

void Universe::UniverseJavaCspSolver::maximizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to maximize the minimum of.
coefficients The coefficients of the expressions in the minimum.

Adds to this solver an objective function to maximize the minimum of expressions.

void Universe::UniverseJavaCspSolver::minimizeMaximum(const std::vector<std::string>& variables) override

Parameters
variables The variables to minimize the maximum of.

Adds to this solver an objective function to minimize the maximum of variables.

void Universe::UniverseJavaCspSolver::minimizeMaximum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to minimize the maximum of.
coefficients The coefficients of the variables in the maximum.

Adds to this solver an objective function to minimize the maximum of variables.

void Universe::UniverseJavaCspSolver::minimizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to minimize the maximum of.

Adds to this solver an objective function to minimize the maximum of expressions.

void Universe::UniverseJavaCspSolver::minimizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to minimize the maximum of.
coefficients The coefficients of the expressions in the maximum.

Adds to this solver an objective function to minimize the maximum of expressions.

void Universe::UniverseJavaCspSolver::maximizeMaximum(const std::vector<std::string>& variables) override

Parameters
variables The variables to maximize the maximum of.

Adds to this solver an objective function to maximize the maximum of variables.

void Universe::UniverseJavaCspSolver::maximizeMaximum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to maximize the maximum of.
coefficients The coefficients of the variables in the maximum.

Adds to this solver an objective function to maximize the maximum of variables.

void Universe::UniverseJavaCspSolver::maximizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to maximize the maximum of.

Adds to this solver an objective function to maximize the maximum of expressions.

void Universe::UniverseJavaCspSolver::maximizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to maximize the maximum of.
coefficients The coefficients of the expressions in the maximum.

Adds to this solver an objective function to maximize the maximum of expressions.

void Universe::UniverseJavaCspSolver::minimizeNValues(const std::vector<std::string>& variables) override

Parameters
variables The variables to minimize the number of values of.

Adds to this solver an objective function to minimize the number of values assigned to variables.

void Universe::UniverseJavaCspSolver::minimizeNValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to minimize the number of values of.
coefficients The coefficients of the variables.

Adds to this solver an objective function to minimize the number of values assigned to variables.

void Universe::UniverseJavaCspSolver::minimizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to minimize the number of values of.

Adds to this solver an objective function to minimize the number of values assigned to expressions.

void Universe::UniverseJavaCspSolver::minimizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to minimize the number of values of.
coefficients The coefficients of the expressions.

Adds to this solver an objective function to minimize the number of values assigned to expressions.

void Universe::UniverseJavaCspSolver::maximizeNValues(const std::vector<std::string>& variables) override

Parameters
variables The variables to maximize the number of values of.

Adds to this solver an objective function to maximize the number of values assigned to variables.

void Universe::UniverseJavaCspSolver::maximizeNValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
variables The variables to maximize the number of values of.
coefficients The coefficients of the variables.

Adds to this solver an objective function to maximize the number of values assigned to variables.

void Universe::UniverseJavaCspSolver::maximizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) override

Parameters
expressions The expressions to maximize the number of values of.

Adds to this solver an objective function to maximize the number of values assigned to expressions.

void Universe::UniverseJavaCspSolver::maximizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) override

Parameters
expressions The expressions to maximize the number of values of.
coefficients The coefficients of the expressions.

Adds to this solver an objective function to maximize the number of values assigned to expressions.

UniverseSolverResult Universe::UniverseJavaCspSolver::solveDimacs(const std::vector<int>& assumptions) override

Parameters
assumptions The assumptions to consider when solving (as a set of literals).
Returns The outcome of the search conducted by the solver.

Solves the problem associated to this solver.

UniverseSolverResult Universe::UniverseJavaCspSolver::solveBoolean(const std::vector<UniverseAssumption<bool>>& assumptions) override

Parameters
assumptions The assumptions to consider when solving.
Returns The outcome of the search conducted by the solver.

Solves the problem associated to this solver.

UniverseSolverResult Universe::UniverseJavaCspSolver::solve(const std::vector<UniverseAssumption<BigInteger>>& assumptions) override

Parameters
assumptions The assumptions to consider when solving.
Returns The outcome of the search conducted by the solver.

Solves the problem associated to this solver.

static easyjni::JavaObject Universe::UniverseJavaCspSolver::toJavaTransition(const Universe::UniverseTransition& transition) protected

Returns The JavaObject representing the operator.

Gives the Java object representing a Boolean operator.

static easyjni::JavaObject Universe::UniverseJavaCspSolver::toJavaBooleanOperator(Universe::UniverseBooleanOperator op) protected

Parameters
op The Boolean operator to get the Java representation of.
Returns The JavaObject representing the operator.

Gives the Java object representing a Boolean operator.

static easyjni::JavaObject Universe::UniverseJavaCspSolver::toJavaArithmeticOperator(Universe::UniverseArithmeticOperator op) protected

Parameters
op The arithmetic operator to get the Java representation of.
Returns The JavaObject representing the operator.

Gives the Java object representing an arithmetic operator.

static easyjni::JavaObject Universe::UniverseJavaCspSolver::toJavaRelationalOperator(Universe::UniverseRelationalOperator op) protected

Parameters
op The relational operator to get the Java representation of.
Returns The JavaObject representing the operator.

Gives the Java object representing a relational operator.

static easyjni::JavaObject Universe::UniverseJavaCspSolver::toJavaSetBelongingOperator(Universe::UniverseSetBelongingOperator op) protected

Parameters
op The set-belonging operator to get the Java representation of.
Returns The JavaObject representing the operator.

Gives the Java object representing a set-belonging operator.

static Universe::JavaList Universe::UniverseJavaCspSolver::asList(const std::vector<std::vector<Universe::BigInteger>>& matrix) protected

Parameters
matrix The vector of vectors of big integers to transform into a list.
Returns The created list.

Creates a JavaList corresponding to the given vector of big integers.

static Universe::JavaList Universe::UniverseJavaCspSolver::asList(const std::vector<std::string>& strings) protected

Parameters
strings The vector of strings to transform into a list.
Returns The created list.

Creates a JavaList corresponding to the given vector of strings.

static Universe::JavaList Universe::UniverseJavaCspSolver::asList(const std::vector<std::vector<std::string>>& matrix) protected

Parameters
matrix The vector of vectors of strings to transform into a list.
Returns The created list.

Creates a JavaList corresponding to the given vector of vector of strings.

static Universe::JavaList Universe::UniverseJavaCspSolver::asList(const std::vector<Universe::IUniverseIntensionConstraint*>& constraints) protected

Parameters
constraints The vector of intension constraints to transform into a list.
Returns The created list.

Creates a JavaList corresponding to the given vector of intension constraints.