1. A method for implementation by one or more data processors comprising: creating, by at least one data processor, atomic pair-wise relationships between products; creating, by at least one data processor, higher order structures from said relationships between said products; finding, by at least one data processor, a set of all feasible, locally optimal, high cohesiveness product bundles; defining, by at least one data processor, a bundle-lattice-space of feasible bundles comprising a lower bounding foundation set required to be a subset of every feasible product bundle in lattice-space, an upper bounding candidate set required to be a superset of every feasible product bundle in the lattice-space, a bundleness measure of cohesiveness associated with each feasible product bundle, and a neighborhood function that allows either removal of a non-foundation product from, or addition of a candidate product to, a product bundle to reach a neighboring bundle in the lattice space; and initiating a transaction based on the defined bundle-lattice space of feasible bundles; wherein a locally optimal product bundle in the lattice space is defined as a product bundle whose bundle cohesiveness is higher than all of its neighbors, as defined by the neighborhood function, by a certain factor.
3. The method of claim 1 , further comprising; applying, by at least one data processor, a depth first greedy algorithm by starting with a single bundle and applying a sequence of grow and shrink operations to find as many locally optimal bundles as possible; wherein said depth first greedy algorithm takes as input a consistency matrix, a candidate set, a foundation set and, optionally, a root set containing root-bundles to start each depth search, and internally maintains an explored set containing a set of product bundles that have already been explored; wherein said depth first algorithm starts off by either first creating said root-set from a foundation set or using the root-set optionally passed to the algorithm, and from said root-set, picks one root at a time and performs a depth first search on said root by adding/deleting a product from said root until a local optima is reached, and wherein said depth first algorithm finishes when all roots have been exhausted; wherein every adding/deleting of a product during the depth first search is accompanied by a possible update of either the root-set or the internally maintained explored set, or the set of locally optimal product bundles found so far.