簡體   English   中英

在給定帶時隙的多個處理器的情況下測試是否可以進行調度操作

[英]Testing if Scheduling Operations is Possible Given Multiple Processors with Time Slots

給定一組具有開始和結束時間且需要多個處理器的操作,以及在開始和結束時間可用的一組處理器,是否存在多項式算法來確定是否可以運行所有任務? 作為后續工作,存在一個返回可能執行的多項式算法?

例如:

O1: 7:00 AM to 8:00 AM - req. 2 × Processors
O2: 8:00 AM to 9:00 AM - req. 2 × Processors
O3: 7:00 AM to 9:00 AM - req. 2 × Processors

可以在以下處理器上運行

P1: 7:00 AM to 9:00 AM - runs O1 and O2
P2: 7:00 AM to 9:00 AM - runs O1 and O2
P3: 7:00 AM to 9:00 AM - runs O3
P4: 7:00 AM to 9:00 AM - runs O3

但無法在以下處理器上運行:

P1: 7:00 AM to 8:00 AM
P2: 8:00 AM to 9:00 AM
P3: 7:00 AM to 9:00 AM
P4: 7:00 AM to 9:00 AM

注意:無法為操作切換處理器。

我認為它可能與Job Shop Scheduling(JSP)護士調度問題(NSP)有關,但兩者似乎都略有不同。

對於JSP和NSP,關鍵的區別在於沒有最小/最大要求(我們不關心最佳解決方案 - 只要存在解決方案)。

您對固定作業調度問題的一小部分感興趣:每個作業都有一個固定的開始和結束時間以及一個值,目的是最大化相同機器完成的作業的值(在您的情況下,值為1表示任何工作)。 唯一的區別是您有處理器的可用間隔。 由於您只想知道是否可以分配所有作業,因此可以在處理器的不可用插槽上添加虛擬作業。 在第二個示例中,您可以添加8到9之間的作業,以及7到8之間的作業。

因此,您可以通過稍微調整所附文章中提供的算法,在多項式時間內解決此問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM