1

我正在尝试设计一种算法,它会在给定一组规则的情况下为我找到价格。

现在的情况

我们目前将所有产品的“价格”设置为 0.01 英镑,并将“line_crossed”属性设置为 false。我们计算的保证金为 0.01 英镑,虽然它仍然是负数,但价格翻了一番(增加 0 2^n)。一旦边距变为正值,我们将 'line_crossed' 设置为 true 并切换到不同的公式。

该公式跟踪使用的最后价格和当前价格,并将朝正确的方向移动(如果保证金为负,则向上,如果保证金为正,则向下)当前和最后之间的差值绝对值的一半价格。它一直这样做,直到边距介于 -0.01 和 0.01 之间。

基本上是指数上升,不连续,然后收敛到所需价格。

在 20,000 多种产品的列表中,该算法最多进行 28 次“迭代”,直到找到所有产品的收支平衡价格。

期望的情况

我玩弄了使用二进制搜索的想法以及我们拥有的有关产品(成本)的一些信息来告知合理的起始价格。但是,目前我赞成使用上述算法的变体的想法,除了不总是使用最后价格和当前价格之间绝对差值的一半,而是根据距 0 保证金的距离使用加权版本。(目前,如果我们以 8 英镑的价格上涨,而盈亏平衡价格为 8.01 英镑,我们将上涨至 16 英镑,然后逐步降至 8.01 英镑)。

有任何想法吗?感觉这是一个已经解决的问题,但我不知道解决方案。

谢谢,

马特

4

0 回答 0