我们有1,000,000名客户。每种产品的销售成本可以表示为价格A或价格B.
价格A<<价格B.
价格A和价格B彼此不是线性的。在某些情况下,B是昂贵的2倍,有些则是100倍。
所有客户的成本
min((sum(A)/ count(A)),100)* count(A) 实际上,如果A小于100,则A上所有客户的平均成本将四舍五入为。
对B没有这样的限制。
我想把最少的钱花在他们的商品上。
如何最大化
cost = min((sum(A)/ count(A)),100)* count(A)+ sum(B) 我一直认为这是双背包问题的一种形式,但我无法做到这一点......
我很可能在Python中解决这个问题,尽管我怀疑这很重要。
我通过为x y z分配分数并基于此进行过滤来完成手动分析,我对更多的计算解决方案感兴趣。
建议的任何方法?