Generated on Sun Feb 17 15:24:48 2019 for Gecode by doxygen 1.6.3

Linear constraints over float variables
[Using float variables and constraints]

Functions

void Gecode::linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVal c)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{frt} c$.
void Gecode::linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVar y)
 Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{frt} y$.
void Gecode::linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVal c, Reify r)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{frt} c\right)\equiv r$.
void Gecode::linear (Home home, const FloatVarArgs &x, FloatRelType frt, FloatVar y, Reify r)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{frt} y\right)\equiv r$.
void Gecode::linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVal c)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} c$.
void Gecode::linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVar y)
 Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} y$.
void Gecode::linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVal c, Reify r)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} c\right)\equiv r$.
void Gecode::linear (Home home, const FloatValArgs &a, const FloatVarArgs &x, FloatRelType frt, FloatVar y, Reify r)
 Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} y\right)\equiv r$.

Function Documentation

void Gecode::linear ( Home  home,
const FloatVarArgs &  x,
FloatRelType  frt,
FloatVal  c 
)

Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{frt} c$.

  • Throws an exception of type Float::OutOfLimits, if the variables, coefficients, or c exceed the limits as defined in Float::Limits.
  • Throws an exception of type Float::ValueMixedSign, if a coefficient has mixed signs (that is, the lower bound is strictly negative and the upper bound is strictly positive).
void Gecode::linear ( Home  home,
const FloatVarArgs &  x,
FloatRelType  frt,
FloatVar  y 
)

Post propagator for $\sum_{i=0}^{|x|-1}x_i\sim_{frt} y$.

  • Throws an exception of type Float::OutOfLimits, if the variables, coefficients, or c exceed the limits as defined in Float::Limits.
  • Throws an exception of type Float::ValueMixedSign, if a coefficient has mixed signs (that is, the lower bound is strictly negative and the upper bound is strictly positive).
void Gecode::linear ( Home  home,
const FloatVarArgs &  x,
FloatRelType  frt,
FloatVal  c,
Reify  r 
)

Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{frt} c\right)\equiv r$.

  • Throws an exception of type Float::OutOfLimits, if the variables, coefficients, or c exceed the limits as defined in Float::Limits.
  • Throws an exception of type Float::ValueMixedSign, if a coefficient has mixed signs (that is, the lower bound is strictly negative and the upper bound is strictly positive).
void Gecode::linear ( Home  home,
const FloatVarArgs &  x,
FloatRelType  frt,
FloatVar  y,
Reify  r 
)

Post propagator for $\left(\sum_{i=0}^{|x|-1}x_i\sim_{frt} y\right)\equiv r$.

  • Throws an exception of type Float::OutOfLimits, if the variables, coefficients, or c exceed the limits as defined in Float::Limits.
  • Throws an exception of type Float::ValueMixedSign, if a coefficient has mixed signs (that is, the lower bound is strictly negative and the upper bound is strictly positive).
void Gecode::linear ( Home  home,
const FloatValArgs &  a,
const FloatVarArgs &  x,
FloatRelType  frt,
FloatVal  c 
)

Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} c$.

  • Throws an exception of type Float::ArgumentSizeMismatch, if a and x are of different size.
  • Throws an exception of type Float::OutOfLimits, if the variables, coefficients, or c exceed the limits as defined in Float::Limits.
  • Throws an exception of type Float::ValueMixedSign, if a coefficient has mixed signs (that is, the lower bound is strictly negative and the upper bound is strictly positive).
void Gecode::linear ( Home  home,
const FloatValArgs &  a,
const FloatVarArgs &  x,
FloatRelType  frt,
FloatVar  y 
)

Post propagator for $\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} y$.

  • Throws an exception of type Float::ArgumentSizeMismatch, if a and x are of different size.
  • Throws an exception of type Float::OutOfLimits, if the variables, coefficients, or c exceed the limits as defined in Float::Limits.
  • Throws an exception of type Float::ValueMixedSign, if a coefficient has mixed signs (that is, the lower bound is strictly negative and the upper bound is strictly positive).
void Gecode::linear ( Home  home,
const FloatValArgs &  a,
const FloatVarArgs &  x,
FloatRelType  frt,
FloatVal  c,
Reify  r 
)

Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} c\right)\equiv r$.

  • Throws an exception of type Float::ArgumentSizeMismatch, if a and x are of different size.
  • Throws an exception of type Float::OutOfLimits, if the variables, coefficients, or c exceed the limits as defined in Float::Limits.
  • Throws an exception of type Float::ValueMixedSign, if a coefficient has mixed signs (that is, the lower bound is strictly negative and the upper bound is strictly positive).
void Gecode::linear ( Home  home,
const FloatValArgs &  a,
const FloatVarArgs &  x,
FloatRelType  frt,
FloatVar  y,
Reify  r 
)

Post propagator for $\left(\sum_{i=0}^{|x|-1}a_i\cdot x_i\sim_{frt} y\right)\equiv r$.

  • Throws an exception of type Float::ArgumentSizeMismatch, if a and x are of different size.
  • Throws an exception of type Float::OutOfLimits, if the variables, coefficients, or c exceed the limits as defined in Float::Limits.
  • Throws an exception of type Float::ValueMixedSign, if a coefficient has mixed signs (that is, the lower bound is strictly negative and the upper bound is strictly positive).