在一個銷售點系統中,收銀員鍵入產品類型和數量。假設有一個組合商業規則,例如購買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