2014-02-27 44 views
0

我是OptaPlanner的新手,並且看到如何通過修改非常有用的示例來很容易地解決某些問題。我試圖找出什麼是模擬我的問題的最佳方式。OptaPlanner:從多個供應商到客戶的送貨員

我有一組送貨員,他們的工作是從多個供應商向多個客戶提供供應品。棘手的部分是客戶需求和供應商供應量是每月變化的範圍值。如果本月的供應和需求過高,我也可以選擇聘用臨時供貨商。最終結果是每月最大化利潤。

我面臨的是什麼類別的優化問題,我正在努力尋找模擬此問題的最佳方法。有什麼建議麼?

回答

0

將許多臨時送貨員放入一個布爾型temp = true的普通送貨員,並讓你的分數限制懲罰那些更多(我認爲更高的柔軟分數,因爲柔軟分數將是你的利潤)。

這基本上是VRP示例的拾取和遞送變體。我們的一些用戶已經將VRP示例調整爲此(請參閱使用optaplanner標記的stackoverflow上的其他一些問題)。基本上,訣竅在於寫出一個得分限制,該限制理解車輛的「負載」通過其路線改變(但應始終小於其「容量」)。

您可以一次安排1個月(或1周或更短或2個月或更長時間),但您也可以進行「連續計劃」(如果月份相互影響,就像在護士列表中一樣,但我懷疑這是這裏的情況)(如果是這樣,請參閱YouTube上的optaplanner視頻)來規劃一個窗口。

+0

謝謝傑弗裏!你能向我指出一些我能讀懂的例子嗎? Optaplanner有很多帖子,經過一段時間的掃描後,我仍然無法找到「拾取和交付變化」。 – user3358298

+0

我找到了自行車信使的例子,它有與我的情況相關的想法。 關於取貨和交貨,我認爲有必要在計劃過程中更改三件事情。首先是您在每次取貨或交貨後提及的車輛負載。其次是供應商的供應品,每次車輛從其中獲取供應品時都必須減少供應品。第三是任何成功交付後,客戶的需求也會減少。我如何確保在規劃過程中所有這些變量都能正確更新? – user3358298

+0

使用影子變量(請參閱文檔「規劃變量監聽器」)。 –