Devise a suitable representation for the state of a node and then implement the following methods isFeasible, isComplete, getObjective, getBound, clone, and getSuccessors. Note, the getSuccessors method returns an Enumeration which that enumerates all the successors of a given node.
public interface GreedySolution extends Solution { Solution GreedySuccessor (); }
public interface SimulatedAnnealingSolution extends Solution { Solution RandomSuccessor (); }