Module org.maxicp

Record Class LexLe

java.lang.Object
java.lang.Record
org.maxicp.modeling.constraints.LexLe
Record Components:
x - the first array of integer expressions
y - the second array of integer expressions
strict - true for strict lexicographic inequality (<_lex), false for non-strict (<=_lex)
All Implemented Interfaces:
Constraint, org.maxicp.modeling.constraints.helpers.CacheScope, org.maxicp.modeling.constraints.helpers.ConstraintFromRecord, DecisionVarsProvider

public record LexLe(IntExpression[] x, IntExpression[] y, boolean strict) extends Record implements org.maxicp.modeling.constraints.helpers.ConstraintFromRecord, DecisionVarsProvider
Lexicographic ordering constraint enforcing x <=_lex y (or x <_lex y if strict is true).
  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.maxicp.modeling.constraints.helpers.ConstraintFromRecord

    org.maxicp.modeling.constraints.helpers.ConstraintFromRecord.IgnoreScope
  • Constructor Summary

    Constructors
    Constructor
    Description
    Creates a non-strict lexicographic ordering constraint (x <=_lex y).
    LexLe(IntExpression[] x, IntExpression[] y, boolean strict)
    Creates an instance of a LexLe record class.
  • Method Summary

    Modifier and Type
    Method
    Description
    Returns the sub-expressions of this node that should be considered decision variables (i.e., variables to branch on / freeze in LNS).
    final boolean
    Indicates whether some other object is "equal to" this one.
    final int
    Returns a hash code value for this object.
    boolean
    Returns the value of the strict record component.
    final String
    Returns a string representation of this record class.
    x()
    Returns the value of the x record component.
    y()
    Returns the value of the y record component.

    Methods inherited from class java.lang.Object

    clone, finalize, getClass, notify, notifyAll, wait, wait, wait

    Methods inherited from interface org.maxicp.modeling.constraints.helpers.CacheScope

    scope

    Methods inherited from interface org.maxicp.modeling.constraints.helpers.ConstraintFromRecord

    computeScope
  • Constructor Details

    • LexLe

      public LexLe(IntExpression[] x, IntExpression[] y)
      Creates a non-strict lexicographic ordering constraint (x <=_lex y).
      Parameters:
      x - the first array of integer expressions
      y - the second array of integer expressions
    • LexLe

      public LexLe(IntExpression[] x, IntExpression[] y, boolean strict)
      Creates an instance of a LexLe record class.
      Parameters:
      x - the value for the x record component
      y - the value for the y record component
      strict - the value for the strict record component
  • Method Details

    • decisionVariables

      public Collection<IntExpression> decisionVariables()
      Description copied from interface: DecisionVarsProvider
      Returns the sub-expressions of this node that should be considered decision variables (i.e., variables to branch on / freeze in LNS).
      Specified by:
      decisionVariables in interface DecisionVarsProvider
      Returns:
      immutable collection of candidate decision variables; never null, may be empty
    • toString

      public final String toString()
      Returns a string representation of this record class. The representation contains the name of the class, followed by the name and value of each of the record components.
      Specified by:
      toString in class Record
      Returns:
      a string representation of this object
    • hashCode

      public final int hashCode()
      Returns a hash code value for this object. The value is derived from the hash code of each of the record components.
      Specified by:
      hashCode in class Record
      Returns:
      a hash code value for this object
    • equals

      public final boolean equals(Object o)
      Indicates whether some other object is "equal to" this one. The objects are equal if the other object is of the same class and if all the record components are equal. Reference components are compared with Objects::equals(Object,Object); primitive components are compared with '=='.
      Specified by:
      equals in class Record
      Parameters:
      o - the object with which to compare
      Returns:
      true if this object is the same as the o argument; false otherwise.
    • x

      public IntExpression[] x()
      Returns the value of the x record component.
      Returns:
      the value of the x record component
    • y

      public IntExpression[] y()
      Returns the value of the y record component.
      Returns:
      the value of the y record component
    • strict

      public boolean strict()
      Returns the value of the strict record component.
      Returns:
      the value of the strict record component