A method of providing, in response to user-selected ones of attributes
and/or enumerations thereof, a list of product choices from products
whose compatibility is characterized by a ZDD rule model having one or
more Include and Exclude ZDDs. The method comprises creating a ZDD
sub-tree by scanning the Include ZDDs and keeping paths having the
selected enumerations set, determining complete paths through the
sub-tree to produce potentially valid combinations, checking the
potentially valid combinations against the Exclude ZDDs to exclude
invalid combinations, and providing resulting valid combinations. The
scanning optionally includes examining nodes of the Include ZDDs or of
the sub-tree against Index values of the selected enumerations to create
nodes in the sub-tree. Other aspects include an apparatus implementing
the method, and a computer-readable medium including program instructions
enabling a processing device to perform the method.