Record Class Max2SatState

java.lang.Object
java.lang.Record
org.ddolib.examples.max2sat.Max2SatState
Record Components:
netBenefit - the net benefits by setting the variable
depth - the depth of the DD

public record Max2SatState(ArrayList<Integer> netBenefit, int depth) extends Record
Class to contain data for the Max2Sat sate. The state contains its depth in the associated MDD and a list of net benefits.

This list contains:

  • for each k >= depth, the net benefits by setting the variable K to true knowing the assignment of the previous variables (a negative value is the net benefit to assign the variable to false);
  • for each k < depth, 0, modeling that these variables have been assigned in previous layer and cannot influence the objective anymore.
  • Constructor Details

    • Max2SatState

      public Max2SatState(ArrayList<Integer> netBenefit, int depth)
      Creates an instance of a Max2SatState record class.
      Parameters:
      netBenefit - the value for the netBenefit record component
      depth - the value for the depth record component
  • Method Details

    • toString

      public 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.
    • netBenefit

      public ArrayList<Integer> netBenefit()
      Returns the value of the netBenefit record component.
      Returns:
      the value of the netBenefit record component
    • depth

      public int depth()
      Returns the value of the depth record component.
      Returns:
      the value of the depth record component