我试图找到产品A,B和C的最优价格点,以获得收入/数量的总约束。
e.g。最大收入(a,b,c)用于约束[REVENUE(a,b,c)/ QUANTITY(a,b,c)> X]
我的输入数据如下所示:
pA qA revA revA/qA pB qB revB revB/qB pC qC revC revC/qC
1 140 229 1.64 1 820 420 0.51 1 827 738 0.89
2 135 242 1.79 2 787 421 0.53 2 794 723 0.91
3 131 234 1.79 3 761 422 0.55 3 772 722 0.94
4 114 232 2.04 4 736 421 0.57 4 757 723 0.96
5 111 235 2.12 5 714 422 0.59 5 623 622 1.00
在这种情况下,收入不仅仅是价格和数量的函数,这就是为什么它是一个实际数据点而不是计算字段,例如revA / revQ。
所以如果我想在这里最大化收入,我会选择pA = 2,pB = 5, pC = 1.这给我总收入1402,总R /总Q. (1402/1676)为0.84。
这就是约束的来源。
我们说我需要一个至少0.85的R / Q.这里的全局最大值不再可行。
pA = 5,pB = 5,pC = 5,但是可行;收入减少(1279),但它符合我的要求 R / Q约为0.85,为0.88 (一千四百〇二分之一千二百七十九)。
所以看看我的输入,而不是必须从125种可能的组合中找出解决方案(3种不同产品的5个价格点),我正在处理的规模是3个产品的1K +价格点数。
我目前有一个循环功能,可以迭代100个价格点的所有可能性,但显然,如果我们达到1000个价格点或1,000,000,000个组合,这不是最佳方式。在某些情况下,这个问题可能会成倍增加,因此我需要更加明智。
我是Python的新手,所以欢迎任何帮助或想法。我已经阅读了一些关于scipy优化的文档,但是我在掌握可以使用的数学模型时遇到了麻烦,更重要的是要用什么类型的模型来解决这个问题。
我过去曾使用Excel Solver进化引擎为这个问题找到了很好的解决方案,但我认为通过使用Python可以获得更多的性能。
这不是一个简单的问题,非常感谢任何有贡献的人,非常感谢。
干杯!