Class: Gecode::Constraints::IntEnum::Arithmetic::MinExpressionStub
- Inherits:
-
Gecode::Constraints::Int::CompositeStub
- Object
- ExpressionStub
- CompositeStub
- Gecode::Constraints::Int::CompositeStub
- Gecode::Constraints::IntEnum::Arithmetic::MinExpressionStub
- Defined in:
- lib/gecoder/interface/constraints/int_enum/arithmetic.rb
Overview
Describes a CompositeStub for the min constraint, which constrains the minimum value of the integer variables in an enumeration.
Example
# The minimum must be positive.
int_enum.min.must > 0
# The minimum must equal a integer variable +min+.
int_enum.min.must == min
# The minimum must not be non-positive. The constraint is reified with the
# boolean variable +is_positive+ and strength +domain+ is selected.
int_enum.min.must_not_be.less_or_equal(0, :reify => is_positive,
:strength => :domain)
Instance Method Summary collapse
Methods inherited from Gecode::Constraints::Int::CompositeStub
Methods inherited from CompositeStub
Methods included from LeftHandSideMethods
Methods inherited from ExpressionStub
Constructor Details
This class inherits a constructor from Gecode::Constraints::Int::CompositeStub
Instance Method Details
#constrain_equal(variable, params, constrain) ⇒ Object
62 63 64 65 66 67 68 69 70 |
# File 'lib/gecoder/interface/constraints/int_enum/arithmetic.rb', line 62 def constrain_equal(variable, params, constrain) enum = @params[:lhs] if constrain variable.must_be.in enum.domain_range end Gecode::Raw::min(@model.active_space, enum.to_int_var_array, variable.bind, *) end |