2013-02-26 61 views
0

我有一份工作中的任务,涉及到找到解决这个难题的解决方案。价格优化与乘数 - 如何根据价格进行优化时,每个部分有一个乘数?

这里的客户可以每天,每月,每季度或每年购买产品分配金额。每个步骤都有一个与之相关的乘数来激励人们预订最长的分配,例如一天=单位价格的1.5倍,季度= 1.3,月= 1.2等。

但是,现在他们很好希望看到每个步骤(即月1 = 1.5,月2 = 1.2,月3 = 1.4等)具有不同的乘数,直到每月分辨率。

在这种情况下,基本情况是年= 1,每日= 1.5,每月和每季度乘数设置在两者之间。

我的任务是根据需求情况对每一步进行完美优化,以最小化帐单(我们正在模拟买方将做什么)。

所以总结一下,我需要找到买家在满足其需求情况时可以获得的最低价格。

这里的排序需求图表的我的工作的一个例子,有示出的每个分割每年其中乘法器等于1(基础情况) images

我正在与任一VBA工作,Python,PHP或C。最好是VBA(需要什么工作)或PHP(我想要的),但无论如何,这是我没有得到的一般情况。我怎么会开始讨论这个价格优化?它会是一个字面模拟每个案例的案例吗? (其中有131 071 [分为12个月,4个季节,1年+ 12个月+ 4个季节+ 1个日常乘数= 18,2^18 = 262144,除以2,因为在每种情况下他们都会购买天数和减去1为空案例])。

感谢任何能够帮助的人,即使只是一点点!

回答

0

这是类似于包装问题和背包问题吗? http://en.wikipedia.org/wiki/Packing_problemhttp://en.wikipedia.org/wiki/Knapsack_problem

如果您将每个月视为包装尺寸,那么您最符合总需求。只是一年的第一次包装的附加扭曲,然后是5个月,然后是4个月等等。即使考虑到自然界的强力,这些算法也是惊人的快,并且如果需要的话,它们也很好并可分解为多个处理器? (对不起,这不仅仅是一条评论,我还没有评论,或不知道如何..) (思考更多,也许FFT也可以在这里使用,但我不是专家)

+0

感谢您的回复,这确实有点像背包问题......我相信您是对的我将不得不暴力。 我的确想过FFT,并且我们在excel中快速进行了分析,但是我们必须仅将数据基于前一年(法律要求用于我的业务),因此空间分辨率不够高,无法准确(在这种情况下,FFT比标记低10-15%,这不够好)。 – 2013-02-26 19:00:02

+0

一个可能的皱纹,你不是更好地略过购买,而不是以每日价格购买?您的图表在40天左右显示符合要求,但可能购买30%或更多可以节省整个月的费用。另外,您可能会在http://stats.stackexchange.com中获取更多有关方法的答案,但不包括代码。 – rlb 2013-02-26 19:20:01

+0

谢谢rlb - 这就是我的观点,在一天的乘数超过一个月的情况下,情况当然是这样。然后,您只需购买需要满足额外需求并且总体节省资金的日子。 图片中的“基准”情况下,每购买一个月的单位价格与每天的价格相同,因此优化只是上面显示的图表。 我的问题是如何以编程方式进行优化,但我认为这只是一个暴力强迫找到本地最小值的问题。 – 2013-02-27 07:25:54