2017-07-02 39 views
0

我正在開發一個自動化員工調度應用程序,使用帶約束條件的禁忌搜索。禁忌搜索:如何實施「員工成對工作」約束條件

我已經得到了很大的制約工作(最低小時的員工,每班次所需員工數量,員工誰不能一起工作,...)。

的自動規劃器嘗試不同的動作每次迭代(添加/刪除/交換僱員),評估針對所有產生的解的約束(每移動1種溶液),並選取具有最小懲罰的溶液。

我現在想實現的約束,如「如果僱員被安排上移,那麼員工B也必須安排在同一個轉變」。

我的問題是,我不知道如何實現這一點。

假設當前的舉措是將員工A安排在無人職位的班次S上。如果我試圖創建的約束被評估,那麼該解決方案將立即受到懲罰,因爲員工A在S上沒有員工B因此,即使這個解決方案是一個好的解決方案,也不可能選擇這個解決方案,並且員工A或B都不能工作。

有沒有人有什麼想法?

感謝

回答

1

幾點建議:

爲無人值守轉變的處罰應比罰款不成對的朋友大。

您可以讓模擬退火 - 所以,在點球瞬間將增加有時接受。

你可以有一個不同的舉動 - ,增加/刪除更多的人,並喜歡「朋友」一起移動的舉動。

+0

謝謝,我已經雖然選項1和3,但我真的想避免修改規劃師的核心,如果我能幫助它。我會先嚐試其他1和2,但它不起作用,我將不得不添加新的動作。 – David