2013-02-26 59 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