在一个销售点系统中,收银员键入产品类型和数量。假设有一个组合商业规则,例如购买2条可乐和2条可乐,并获得1美元的折扣。我想创建一个机制,在购买的产品列表中自动检测组合,然后应用适当的折扣。组合检测机制
产品大师包含大约4000个项目。将会有大约100个连击。交易中购买的平均产品数为2.迄今为止,有史以来记录的交易中产品的最高数量为128.
我的想法是如果交易中有3种产品(A,B,C)我必须检查(A,B),(A,C),(B,C),(A,B,C)组合的存在。当交易具有更多产品类型时,需要检查的组合数量会非常快。
这可能吗?有人曾经尝试过这样的事情吗?分享一些关于如何实现这一点的见解?
平台是vb.net 2010和SQL Server 2005
编辑
一个组合将包含2至4个项目。
什么是最小。和组合中最大数量的项目? 是1到128吗? –
@Ajeet组合将包含2到4个项目。 –
是否所有的连击都提供相同的节省,或者比其他连击更好?你举了2个薯条和2个可乐的例子= 1美元的折扣。是否有可能组合1个三明治加1个油炸加1焦炭= 1.5折优惠?算法是否应该自动提供最好的结果?如果是这样,那么这听起来像贪婪算法的工作应用于背包问题。 – oosterwal