2009-02-24 110 views
3

我試圖查找這個問題,但我不知道它叫什麼。前提是:這個算法叫什麼?

給定m個機器和j個作業,每個作業只能分配給機器i到j,我需要將作業分配給機器,以便一次最大化繁忙的機器。我只關心他們在0時如何分配。我不關心在工作完成後如何安排剩餘的工作。

一旦一個作業和一臺機器相互分配,其他作業或機器就不能對任何一個成員採取行動。

回答

0

聽起來像一個調度程序。

3

正如其他人所說,你所描述的是一個問題,而不是一個算法。有很多技術可以用來解決你的問題。你應該選擇哪一個取決於你的需求。如果您需要的最佳解決方案,則必須使用稱爲整數編程的技術。如果你想非常好的解決方案,不一定是最佳的解決方案,你可以使用許多啓發式。

0

正如其他人所說,這是一個調度程序。

這也是一個用來演示OOPS開發的經典問題,特別是它曾被用作Smalltalk編程的一個非常常見的示例應用程序。

1

的問題是裝箱問題,它具有比處理器調度更廣泛的文學的變體。

典型的真實世界操作系統多處理器調度算法不知道長期工作將如何進行,並解決其他問題(如內存相關性),以及利用調度的優勢來交易調度程序的複雜性。

我遇到過在模塊化航空電子系統中遇到這種問題,您需要將作業分配給節點,並且在作業執行之前,您確實知道其作業的預期時間和內存要求。