Universe::IUniverseCspSolver class

The IUniverseCspSolver interface defines the contract for CSP solvers.

Base classes

class IUniversePseudoBooleanSolver virtual

Derived classes

class UniverseJavaCspSolver

Public functions

void newVariable(const std::string& id, int min, int max) pure virtual
void newVariable(const std::string& id, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void newVariable(const std::string& id, const std::vector<int>& values) pure virtual
void newVariable(const std::string& id, const std::vector<Universe::BigInteger>& values) pure virtual
void newVariableSymbolic(const std::string& id, const std::vector<std::string>& values) pure virtual
void addInstantiation(const std::string& variable, int value) pure virtual
void addInstantiation(const std::string& variable, const Universe::BigInteger& value) pure virtual
void addInstantiation(const std::string& variable, const std::string& value) pure virtual
void addInstantiation(const std::vector<std::string>& variables, const std::vector<int>& values) pure virtual
void addInstantiation(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values) pure virtual
void addInstantiationSymbolic(const std::vector<std::string>& variables, const std::vector<std::string>& values) pure virtual
void addClause(const std::vector<std::string>& positive, const std::vector<std::string>& negative) pure virtual
void addLogical(Universe::UniverseBooleanOperator op, const std::vector<std::string>& variables) pure virtual
void addLogical(const std::string& variable, bool equiv, Universe::UniverseBooleanOperator op, const std::vector<std::string>& variables) pure virtual
void addLogical(const std::string& variable, const std::string& left, Universe::UniverseRelationalOperator op, const Universe::BigInteger& right) pure virtual
void addLogical(const std::string& variable, const std::string& left, Universe::UniverseRelationalOperator op, const std::string& right) pure virtual
void addAllDifferent(const std::vector<std::string>& variables) pure virtual
void addAllDifferent(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& except) pure virtual
void addAllDifferentMatrix(const std::vector<std::vector<std::string>>& variableMatrix) pure virtual
void addAllDifferentMatrix(const std::vector<std::vector<std::string>>& variableMatrix, const std::vector<Universe::BigInteger>& except) pure virtual
void addAllDifferentList(const std::vector<std::vector<std::string>>& variableLists) pure virtual
void addAllDifferentList(const std::vector<std::vector<std::string>>& variableLists, const std::vector<std::vector<Universe::BigInteger>>& except) pure virtual
void addAllDifferentIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints) pure virtual
void addChannel(const std::vector<std::string>& variables, int startIndex) pure virtual
void addChannel(const std::vector<std::string>& variables, int startIndex, const std::string& value) pure virtual
void addChannel(const std::vector<std::string>& variables, int startIndex, const std::vector<std::string>& otherVariables, int otherStartIndex) pure virtual
void addCardinalityWithConstantValuesAndConstantCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& occurs, bool closed) pure virtual
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) pure virtual
void addCardinalityWithConstantValuesAndVariableCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<std::string>& occurs, bool closed) pure virtual
void addCardinalityWithVariableValuesAndConstantCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<Universe::BigInteger>& occurs, bool closed) pure virtual
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) pure virtual
void addCardinalityWithVariableValuesAndVariableCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<std::string>& occurs, bool closed) pure virtual
void addAtLeast(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) pure virtual
void addExactly(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) pure virtual
void addExactly(const std::vector<std::string>& variables, const Universe::BigInteger& value, const std::string& count) pure virtual
void addAmong(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const Universe::BigInteger& count) pure virtual
void addAmong(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::string& count) pure virtual
void addAtMost(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) pure virtual
void addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) pure virtual
void addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const std::string& count) pure virtual
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) pure virtual
void addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) pure virtual
void addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseRelationalOperator op, const std::string& count) pure virtual
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) pure virtual
void addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) pure virtual
void addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const std::string& count) pure virtual
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) pure virtual
void addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addNValues(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb) pure virtual
void addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb, const std::vector<Universe::BigInteger>& except) pure virtual
void addNValues(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& nb) pure virtual
void addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& nb, const std::vector<Universe::BigInteger>& except) pure virtual
void addNValues(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
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) pure virtual
void addNValues(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set, const std::vector<Universe::BigInteger>& except) pure virtual
void addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb) pure virtual
void addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const std::string& nb) pure virtual
void addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseRelationalOperator op, const std::string& variable) pure virtual
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) pure virtual
void addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addBinPackingWithConstantCapacities(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, const std::vector<Universe::BigInteger>& capacities, bool loads) pure virtual
void addBinPackingWithVariableCapacities(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, const std::vector<std::string>& capacities, bool loads) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
void addElement(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addElement(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
void addElement(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addElement(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& variable) pure virtual
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) pure virtual
void addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& variable) pure virtual
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) pure virtual
void addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
void addPrecedence(const std::vector<std::string>& variables) pure virtual
void addPrecedence(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, bool covered) pure virtual
void addSupport(const std::string& variable, const std::vector<Universe::BigInteger>& allowedValues, bool hasStar) pure virtual
void addSupportSymbolic(const std::string& variable, const std::vector<std::string>& allowedValues, bool hasStar) pure virtual
void addSupport(const std::vector<std::string>& variableTuple, const std::vector<std::vector<Universe::BigInteger>>& allowedValues, bool hasStar) pure virtual
void addSupportSymbolic(const std::vector<std::string>& variableTuple, const std::vector<std::vector<std::string>>& allowedValues, bool hasStar) pure virtual
void addConflicts(const std::string& variable, const std::vector<Universe::BigInteger>& forbiddenValues, bool hasStar) pure virtual
void addConflictsSymbolic(const std::string& variable, const std::vector<std::string>& forbiddenValues, bool hasStar) pure virtual
void addConflicts(const std::vector<std::string>& variableTuple, const std::vector<std::vector<Universe::BigInteger>>& forbiddenValues, bool hasStar) pure virtual
void addConflictsSymbolic(const std::vector<std::string>& variableTuple, const std::vector<std::vector<std::string>>& forbiddenValues, bool hasStar) pure virtual
void addIntension(Universe::IUniverseIntensionConstraint* constr) pure virtual
void addPrimitive(const std::string& variable, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const Universe::BigInteger& leftHandSide, Universe::UniverseRelationalOperator relOp, const Universe::BigInteger& rightHandSide) pure virtual
void addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const std::string& leftHandSide, Universe::UniverseRelationalOperator relOp, const Universe::BigInteger& rightHandSide) pure virtual
void addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const Universe::BigInteger& leftHandSide, Universe::UniverseRelationalOperator relOp, const std::string& rightHandSide) pure virtual
void addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const std::string& leftHandSide, Universe::UniverseRelationalOperator relOp, const std::string& rightHandSide) pure virtual
void addPrimitive(Universe::UniverseArithmeticOperator arithOp, const std::string& variable, const std::string& rightHandSide) pure virtual
void addPrimitive(const std::string& variable, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addPrimitive(const std::string& variable, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual
void addMinimum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMinimum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
void addMinimum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addMinimum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
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) pure virtual
void addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
void addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
void addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
void addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addMaximum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMaximum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
void addMaximum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addMaximum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
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) pure virtual
void addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
void addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
void addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual
void addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual
void addNoOverlap(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& length) pure virtual
void addNoOverlap(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& length, bool zeroIgnored) pure virtual
void addNoOverlapVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& length) pure virtual
void addNoOverlapVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& length, bool zeroIgnored) pure virtual
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) pure virtual
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) pure virtual
void addMultiDimensionalNoOverlap(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& length) pure virtual
void addMultiDimensionalNoOverlap(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& length, bool zeroIgnored) pure virtual
void addMultiDimensionalNoOverlapVariableLength(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<std::string>>& length) pure virtual
void addMultiDimensionalNoOverlapVariableLength(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<std::string>>& length, bool zeroIgnored) pure virtual
void addOrdered(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op) pure virtual
void addOrderedWithConstantLength(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& lengths, Universe::UniverseRelationalOperator op) pure virtual
void addOrderedWithVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& lengths, Universe::UniverseRelationalOperator op) pure virtual
void addAllEqual(const std::vector<std::string>& variables) pure virtual
void addAllEqualIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void addNotAllEqual(const std::vector<std::string>& variables) pure virtual
void addLex(const std::vector<std::vector<std::string>>& tuples, Universe::UniverseRelationalOperator op) pure virtual
void addLex(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& limit, Universe::UniverseRelationalOperator op) pure virtual
void addLexMatrix(const std::vector<std::vector<std::string>>& matrix, Universe::UniverseRelationalOperator op) pure virtual
void addSum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addSum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual
void addSum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addSum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual
void addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual
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) pure virtual
void addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual
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) pure virtual
void addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual
void addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual
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) pure virtual
void addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual
void addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual
void addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual
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) pure virtual
void addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual
void addCircuit(const std::vector<std::string>& variables, int startIndex) pure virtual
void addCircuit(const std::vector<std::string>& variables, int startIndex, const Universe::BigInteger& size) pure virtual
void addCircuit(const std::vector<std::string>& variables, int startIndex, const std::string& size) pure virtual
void addMDD(const std::vector<std::string>& variables, const std::vector<UniverseTransition>& transitions) pure virtual
void addRegular(const std::vector<std::string>& variables, const std::vector<UniverseTransition>& transitions, const std::string& startState, const std::vector<std::string>& finalStates) pure virtual
void addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
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) pure virtual
void minimizeVariable(const std::string& variable) pure virtual
void minimizeExpression(Universe::IUniverseIntensionConstraint* expression) pure virtual
void maximizeVariable(const std::string& variable) pure virtual
void maximizeExpression(Universe::IUniverseIntensionConstraint* expression) pure virtual
void minimizeSum(const std::vector<std::string>& variables) pure virtual
void minimizeSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void minimizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void minimizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeSum(const std::vector<std::string>& variables) pure virtual
void maximizeSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void maximizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void minimizeProduct(const std::vector<std::string>& variables) pure virtual
void minimizeProduct(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void minimizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void minimizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeProduct(const std::vector<std::string>& variables) pure virtual
void maximizeProduct(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void maximizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void minimizeMinimum(const std::vector<std::string>& variables) pure virtual
void minimizeMinimum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void minimizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void minimizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeMinimum(const std::vector<std::string>& variables) pure virtual
void maximizeMinimum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void maximizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void minimizeMaximum(const std::vector<std::string>& variables) pure virtual
void minimizeMaximum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void minimizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void minimizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeMaximum(const std::vector<std::string>& variables) pure virtual
void maximizeMaximum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void maximizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void minimizeNValues(const std::vector<std::string>& variables) pure virtual
void minimizeNValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void minimizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void minimizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeNValues(const std::vector<std::string>& variables) pure virtual
void maximizeNValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual
void maximizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual
void maximizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

Function documentation

void Universe::IUniverseCspSolver::newVariable(const std::string& id, int min, int max) pure virtual

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::IUniverseCspSolver::newVariable(const std::string& id, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::newVariable(const std::string& id, const std::vector<int>& values) pure virtual

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::IUniverseCspSolver::newVariable(const std::string& id, const std::vector<Universe::BigInteger>& values) pure virtual

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::IUniverseCspSolver::newVariableSymbolic(const std::string& id, const std::vector<std::string>& values) pure virtual

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::IUniverseCspSolver::addInstantiation(const std::string& variable, int value) pure virtual

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::IUniverseCspSolver::addInstantiation(const std::string& variable, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addInstantiation(const std::string& variable, const std::string& value) pure virtual

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::IUniverseCspSolver::addInstantiation(const std::vector<std::string>& variables, const std::vector<int>& values) pure virtual

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::IUniverseCspSolver::addInstantiation(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values) pure virtual

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::IUniverseCspSolver::addInstantiationSymbolic(const std::vector<std::string>& variables, const std::vector<std::string>& values) pure virtual

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::IUniverseCspSolver::addClause(const std::vector<std::string>& positive, const std::vector<std::string>& negative) pure virtual

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::IUniverseCspSolver::addLogical(Universe::UniverseBooleanOperator op, const std::vector<std::string>& variables) pure virtual

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::IUniverseCspSolver::addLogical(const std::string& variable, bool equiv, Universe::UniverseBooleanOperator op, const std::vector<std::string>& variables) pure virtual

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::IUniverseCspSolver::addLogical(const std::string& variable, const std::string& left, Universe::UniverseRelationalOperator op, const Universe::BigInteger& right) pure virtual

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::IUniverseCspSolver::addLogical(const std::string& variable, const std::string& left, Universe::UniverseRelationalOperator op, const std::string& right) pure virtual

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::IUniverseCspSolver::addAllDifferent(const std::vector<std::string>& variables) pure virtual

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::IUniverseCspSolver::addAllDifferent(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& except) pure virtual

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::IUniverseCspSolver::addAllDifferentMatrix(const std::vector<std::vector<std::string>>& variableMatrix) pure virtual

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::IUniverseCspSolver::addAllDifferentMatrix(const std::vector<std::vector<std::string>>& variableMatrix, const std::vector<Universe::BigInteger>& except) pure virtual

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::IUniverseCspSolver::addAllDifferentList(const std::vector<std::vector<std::string>>& variableLists) pure virtual

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::IUniverseCspSolver::addAllDifferentList(const std::vector<std::vector<std::string>>& variableLists, const std::vector<std::vector<Universe::BigInteger>>& except) pure virtual

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::IUniverseCspSolver::addAllDifferentIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints) pure virtual

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::IUniverseCspSolver::addChannel(const std::vector<std::string>& variables, int startIndex) pure virtual

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::IUniverseCspSolver::addChannel(const std::vector<std::string>& variables, int startIndex, const std::string& value) pure virtual

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::IUniverseCspSolver::addChannel(const std::vector<std::string>& variables, int startIndex, const std::vector<std::string>& otherVariables, int otherStartIndex) pure virtual

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::IUniverseCspSolver::addCardinalityWithConstantValuesAndConstantCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<Universe::BigInteger>& occurs, bool closed) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::addCardinalityWithConstantValuesAndVariableCounts(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::vector<std::string>& occurs, bool closed) pure virtual

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::IUniverseCspSolver::addCardinalityWithVariableValuesAndConstantCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<Universe::BigInteger>& occurs, bool closed) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::addCardinalityWithVariableValuesAndVariableCounts(const std::vector<std::string>& variables, const std::vector<std::string>& values, const std::vector<std::string>& occurs, bool closed) pure virtual

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::IUniverseCspSolver::addAtLeast(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) pure virtual

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::IUniverseCspSolver::addExactly(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) pure virtual

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::IUniverseCspSolver::addExactly(const std::vector<std::string>& variables, const Universe::BigInteger& value, const std::string& count) pure virtual

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::IUniverseCspSolver::addAmong(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const Universe::BigInteger& count) pure virtual

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::IUniverseCspSolver::addAmong(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, const std::string& count) pure virtual

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::IUniverseCspSolver::addAtMost(const std::vector<std::string>& variables, const Universe::BigInteger& value, const Universe::BigInteger& count) pure virtual

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::IUniverseCspSolver::addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) pure virtual

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::IUniverseCspSolver::addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const std::string& count) pure virtual

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::IUniverseCspSolver::addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addCountWithConstantValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) pure virtual

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::IUniverseCspSolver::addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseRelationalOperator op, const std::string& count) pure virtual

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::IUniverseCspSolver::addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addCountWithVariableValues(const std::vector<std::string>& variables, const std::vector<std::string>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const Universe::BigInteger& count) pure virtual

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::IUniverseCspSolver::addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseRelationalOperator op, const std::string& count) pure virtual

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::IUniverseCspSolver::addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addCountIntensionWithConstantValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& values, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addNValues(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb) pure virtual

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::IUniverseCspSolver::addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb, const std::vector<Universe::BigInteger>& except) pure virtual

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::IUniverseCspSolver::addNValues(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& nb) pure virtual

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::IUniverseCspSolver::addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& nb, const std::vector<Universe::BigInteger>& except) pure virtual

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::IUniverseCspSolver::addNValues(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max, const std::vector<Universe::BigInteger>& except) pure virtual

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::IUniverseCspSolver::addNValues(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addNValuesExcept(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set, const std::vector<Universe::BigInteger>& except) pure virtual

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::IUniverseCspSolver::addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const Universe::BigInteger& nb) pure virtual

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::IUniverseCspSolver::addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const std::string& nb) pure virtual

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::IUniverseCspSolver::addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addNValuesIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseRelationalOperator op, const std::string& variable) pure virtual

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::IUniverseCspSolver::addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addBinPacking(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addBinPackingWithConstantCapacities(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, const std::vector<Universe::BigInteger>& capacities, bool loads) pure virtual

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::IUniverseCspSolver::addBinPackingWithVariableCapacities(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& sizes, const std::vector<std::string>& capacities, bool loads) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::addElement(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addElement(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addElement(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addElement(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& variable) pure virtual

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::IUniverseCspSolver::addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addElementConstantValues(const std::vector<Universe::BigInteger>& values, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& variable) pure virtual

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::IUniverseCspSolver::addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addElement(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::addPrecedence(const std::vector<std::string>& variables) pure virtual

Parameters
variables The variables appearing in the constraint.

Adds to this solver a precedence constraint.

void Universe::IUniverseCspSolver::addPrecedence(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& values, bool covered) pure virtual

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::IUniverseCspSolver::addSupport(const std::string& variable, const std::vector<Universe::BigInteger>& allowedValues, bool hasStar) pure virtual

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::IUniverseCspSolver::addSupportSymbolic(const std::string& variable, const std::vector<std::string>& allowedValues, bool hasStar) pure virtual

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::IUniverseCspSolver::addSupport(const std::vector<std::string>& variableTuple, const std::vector<std::vector<Universe::BigInteger>>& allowedValues, bool hasStar) pure virtual

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::IUniverseCspSolver::addSupportSymbolic(const std::vector<std::string>& variableTuple, const std::vector<std::vector<std::string>>& allowedValues, bool hasStar) pure virtual

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::IUniverseCspSolver::addConflicts(const std::string& variable, const std::vector<Universe::BigInteger>& forbiddenValues, bool hasStar) pure virtual

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::IUniverseCspSolver::addConflictsSymbolic(const std::string& variable, const std::vector<std::string>& forbiddenValues, bool hasStar) pure virtual

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::IUniverseCspSolver::addConflicts(const std::vector<std::string>& variableTuple, const std::vector<std::vector<Universe::BigInteger>>& forbiddenValues, bool hasStar) pure virtual

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::IUniverseCspSolver::addConflictsSymbolic(const std::vector<std::string>& variableTuple, const std::vector<std::vector<std::string>>& forbiddenValues, bool hasStar) pure virtual

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::IUniverseCspSolver::addIntension(Universe::IUniverseIntensionConstraint* constr) pure virtual

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::IUniverseCspSolver::addPrimitive(const std::string& variable, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const Universe::BigInteger& leftHandSide, Universe::UniverseRelationalOperator relOp, const Universe::BigInteger& rightHandSide) pure virtual

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::IUniverseCspSolver::addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const std::string& leftHandSide, Universe::UniverseRelationalOperator relOp, const Universe::BigInteger& rightHandSide) pure virtual

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::IUniverseCspSolver::addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const Universe::BigInteger& leftHandSide, Universe::UniverseRelationalOperator relOp, const std::string& rightHandSide) pure virtual

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::IUniverseCspSolver::addPrimitive(const std::string& variable, Universe::UniverseArithmeticOperator arithOp, const std::string& leftHandSide, Universe::UniverseRelationalOperator relOp, const std::string& rightHandSide) pure virtual

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::IUniverseCspSolver::addPrimitive(Universe::UniverseArithmeticOperator arithOp, const std::string& variable, const std::string& rightHandSide) pure virtual

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::IUniverseCspSolver::addPrimitive(const std::string& variable, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addPrimitive(const std::string& variable, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual

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::IUniverseCspSolver::addMinimum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMinimum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMinimum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMinimum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMinimumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMinimumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMinimumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMinimumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addMaximum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMaximum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMaximum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMaximum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMaximumIndex(const std::vector<std::string>& variables, int startIndex, const std::string& index, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMaximumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMaximumArg(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseRelationalOperator op, const std::string& value) pure virtual

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::IUniverseCspSolver::addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addMaximumArgIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& intensionConstraints, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& set) pure virtual

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::IUniverseCspSolver::addNoOverlap(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& length) pure virtual

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::IUniverseCspSolver::addNoOverlap(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& length, bool zeroIgnored) pure virtual

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::IUniverseCspSolver::addNoOverlapVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& length) pure virtual

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::IUniverseCspSolver::addNoOverlapVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& length, bool zeroIgnored) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::addMultiDimensionalNoOverlap(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& length) pure virtual

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::IUniverseCspSolver::addMultiDimensionalNoOverlap(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& length, bool zeroIgnored) pure virtual

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::IUniverseCspSolver::addMultiDimensionalNoOverlapVariableLength(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<std::string>>& length) pure virtual

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::IUniverseCspSolver::addMultiDimensionalNoOverlapVariableLength(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<std::string>>& length, bool zeroIgnored) pure virtual

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::IUniverseCspSolver::addOrdered(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op) pure virtual

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::IUniverseCspSolver::addOrderedWithConstantLength(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& lengths, Universe::UniverseRelationalOperator op) pure virtual

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::IUniverseCspSolver::addOrderedWithVariableLength(const std::vector<std::string>& variables, const std::vector<std::string>& lengths, Universe::UniverseRelationalOperator op) pure virtual

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::IUniverseCspSolver::addAllEqual(const std::vector<std::string>& variables) pure virtual

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::IUniverseCspSolver::addAllEqualIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

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::IUniverseCspSolver::addNotAllEqual(const std::vector<std::string>& variables) pure virtual

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::IUniverseCspSolver::addLex(const std::vector<std::vector<std::string>>& tuples, Universe::UniverseRelationalOperator op) pure virtual

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::IUniverseCspSolver::addLex(const std::vector<std::vector<std::string>>& variables, const std::vector<std::vector<Universe::BigInteger>>& limit, Universe::UniverseRelationalOperator op) pure virtual

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::IUniverseCspSolver::addLexMatrix(const std::vector<std::vector<std::string>>& matrix, Universe::UniverseRelationalOperator op) pure virtual

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::IUniverseCspSolver::addSum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addSum(const std::vector<std::string>& variables, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual

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::IUniverseCspSolver::addSum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addSum(const std::vector<std::string>& variables, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual

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::IUniverseCspSolver::addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual

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::IUniverseCspSolver::addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual

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::IUniverseCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual

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::IUniverseCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual

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::IUniverseCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual

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::IUniverseCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addSumIntension(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual

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::IUniverseCspSolver::addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual

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::IUniverseCspSolver::addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addSumWithVariableCoefficients(const std::vector<std::string>& variables, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual

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::IUniverseCspSolver::addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const Universe::BigInteger& value) pure virtual

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::IUniverseCspSolver::addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseRelationalOperator op, const std::string& rightVariable) pure virtual

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::IUniverseCspSolver::addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const Universe::BigInteger& min, const Universe::BigInteger& max) pure virtual

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::IUniverseCspSolver::addSumIntensionWithVariableCoefficients(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<std::string>& coefficients, Universe::UniverseSetBelongingOperator op, const std::vector<Universe::BigInteger>& values) pure virtual

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::IUniverseCspSolver::addCircuit(const std::vector<std::string>& variables, int startIndex) pure virtual

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::IUniverseCspSolver::addCircuit(const std::vector<std::string>& variables, int startIndex, const Universe::BigInteger& size) pure virtual

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::IUniverseCspSolver::addCircuit(const std::vector<std::string>& variables, int startIndex, const std::string& size) pure virtual

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::IUniverseCspSolver::addMDD(const std::vector<std::string>& variables, const std::vector<UniverseTransition>& transitions) pure virtual

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::IUniverseCspSolver::addRegular(const std::vector<std::string>& variables, const std::vector<UniverseTransition>& transitions, const std::string& startState, const std::vector<std::string>& finalStates) pure virtual

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::IUniverseCspSolver::addFlow(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& balance, const std::vector<std::vector<Universe::BigInteger>>& edges) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::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) pure virtual

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::IUniverseCspSolver::minimizeVariable(const std::string& variable) pure virtual

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::IUniverseCspSolver::minimizeExpression(Universe::IUniverseIntensionConstraint* expression) pure virtual

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::IUniverseCspSolver::maximizeVariable(const std::string& variable) pure virtual

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::IUniverseCspSolver::maximizeExpression(Universe::IUniverseIntensionConstraint* expression) pure virtual

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::IUniverseCspSolver::minimizeSum(const std::vector<std::string>& variables) pure virtual

Parameters
variables The variables to minimize the sum of.

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

void Universe::IUniverseCspSolver::minimizeSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::minimizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

Parameters
expressions The expressions to minimize the sum of.

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

void Universe::IUniverseCspSolver::minimizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeSum(const std::vector<std::string>& variables) pure virtual

Parameters
variables The variables to maximize the sum of.

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

void Universe::IUniverseCspSolver::maximizeSum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

Parameters
expressions The expressions to maximize the sum of.

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

void Universe::IUniverseCspSolver::maximizeExpressionSum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::minimizeProduct(const std::vector<std::string>& variables) pure virtual

Parameters
variables The variables to minimize the product of.

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

void Universe::IUniverseCspSolver::minimizeProduct(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::minimizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

Parameters
expressions The expressions to minimize the product of.

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

void Universe::IUniverseCspSolver::minimizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeProduct(const std::vector<std::string>& variables) pure virtual

Parameters
variables The variables to maximize the product of.

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

void Universe::IUniverseCspSolver::maximizeProduct(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

Parameters
expressions The expressions to maximize the product of.

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

void Universe::IUniverseCspSolver::maximizeExpressionProduct(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::minimizeMinimum(const std::vector<std::string>& variables) pure virtual

Parameters
variables The variables to minimize the minimum of.

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

void Universe::IUniverseCspSolver::minimizeMinimum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::minimizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

Parameters
expressions The expressions to minimize the minimum of.

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

void Universe::IUniverseCspSolver::minimizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeMinimum(const std::vector<std::string>& variables) pure virtual

Parameters
variables The variables to maximize the minimum of.

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

void Universe::IUniverseCspSolver::maximizeMinimum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

Parameters
expressions The expressions to maximize the minimum of.

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

void Universe::IUniverseCspSolver::maximizeExpressionMinimum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::minimizeMaximum(const std::vector<std::string>& variables) pure virtual

Parameters
variables The variables to minimize the maximum of.

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

void Universe::IUniverseCspSolver::minimizeMaximum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::minimizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

Parameters
expressions The expressions to minimize the maximum of.

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

void Universe::IUniverseCspSolver::minimizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeMaximum(const std::vector<std::string>& variables) pure virtual

Parameters
variables The variables to maximize the maximum of.

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

void Universe::IUniverseCspSolver::maximizeMaximum(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

Parameters
expressions The expressions to maximize the maximum of.

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

void Universe::IUniverseCspSolver::maximizeExpressionMaximum(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::minimizeNValues(const std::vector<std::string>& variables) pure virtual

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::IUniverseCspSolver::minimizeNValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::minimizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

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::IUniverseCspSolver::minimizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeNValues(const std::vector<std::string>& variables) pure virtual

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::IUniverseCspSolver::maximizeNValues(const std::vector<std::string>& variables, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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::IUniverseCspSolver::maximizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions) pure virtual

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::IUniverseCspSolver::maximizeExpressionNValues(const std::vector<Universe::IUniverseIntensionConstraint*>& expressions, const std::vector<Universe::BigInteger>& coefficients) pure virtual

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.