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