Record Class MaxCoverState

java.lang.Object
java.lang.Record
org.ddolib.examples.maximumcoverage.MaxCoverState
Record Components:
coveredItems - a BitSet representing the items that are covered in this state

public record MaxCoverState(BitSet coveredItems) extends Record
Represents a state in the Maximum Coverage (MaxCover) problem.

Each state tracks which items have been covered so far using a BitSet. This is used in Decision Diagram Optimization (DDO) and other search or combinatorial algorithms to evaluate partial solutions.

The record is immutable: the set of covered items cannot be changed once the state is created. Use state transitions in MaxCoverProblem to generate new states with additional items covered.

  • Constructor Details

    • MaxCoverState

      public MaxCoverState(BitSet coveredItems)
      Creates an instance of a MaxCoverState record class.
      Parameters:
      coveredItems - the value for the coveredItems record component
  • Method Details

    • toString

      public String toString()
      Returns a string representation of the state.
      Specified by:
      toString in class Record
      Returns:
      a string describing the covered items
    • 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. All components in this record class are compared with Objects::equals(Object,Object).
      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.
    • coveredItems

      public BitSet coveredItems()
      Returns the value of the coveredItems record component.
      Returns:
      the value of the coveredItems record component