我有一个周期性任务集,其中每个任务都有一个执行时间,句点(等于截止日期)和权重T_i(c_i, d_i, w_i)
。任务'重量可以是正数或负数。 W(t)
是预定任务的总和'权重直到时刻t
。任何调度的总权重被计算为调度范围中任何时刻的权重之间的最大差异。我的问题是安排(订购)任务,使总重量最小化,没有截止日期错过。问题是找到一个总重量最小的时间表。
有关说明,请注意以下示例:
我们可以记下每个任务的所有工作,关于他们的发布时间和截止日期如下(元组分别显示发布时间,执行时间和截止日期。每个工作的权重等于其任务):
一种可能的安排是:
T2_1,T1_1,T1_2,T3_1,T1_3,T2_2
导致权重:w(1)= - .5;瓦特(2)= + 5。瓦特(3)= + 1.5; W(4)= - 5; W(5)= + 5;和w(6)= 0;
此计划中的总重量为:1.5 - ( - 。5)= 2
我尝试了一种贪婪的算法(上面的例子),在这种情况下我们尝试执行一项最小化偏离0的工作,但我不能证明这个策略能给出最佳结果。