I know this is an NP-hard problem, but a lot of our users have been requesting this feature (basically, does any set of the items in your current order qualify for one of the deals we have running? Or does any set of the items in your current order plus one other item qualify?)
Since providing the functionality is more about user convenience than finding the correct answer I've been considering shortcuts to do this without taking too long, such as not running the algo if there are more than X items, where X is the number that causes noticeable lag, or only running the most recently added X items through the algorithm.
Has anyone dealt with a similar issue before that can offer advice?