题目描述
给定n个作业的集合J=J1,J2,…,Jn。每一个作业Ji都有两项任务分别在两台机器上完成。每个作业必须先由机器1处理,然后由机器2处理。作业Ji需要机器j的处理时间为tji,其中i=1,2,…,n,j=1,2。对于一个确定的作业调度,设Fji是作业i在机器j上完成处理的时间。所有作业在机器2上完成处理的时间和f=i=1∑nF2i
称为该作业调度的完成时间和(n<=15)。
批处理作业调度问题要求对于给定的n个作业,制定最佳调度方案,使其完成时间和达到最小。
批处理作业调度问题的一个常见例子是在计算机系统中完成一批n个作业,每个作业都先完成计算,然后将计算结果打印输出。计算任务由计算机的中央处理器完成,打印输出任务由打印完成。在这种情形下,计算机的中央处理器是机器1,打印是机器2。
对于批处理作业调度问题,可以证明,存在最佳作业调度使得在机器1和机器2上作业以相同次序完成。例如,考虑如下n=3的实例。
tji |
机器1 |
机器2 |
作业1 作业2 作业3 |
2 3 2 |
1 1 3 |
这3个作业的6种可能的调度方案是1,2,3;1,3,2;2,1,3;2,3,1;3,1,2;3,2,1;它们所对应的完成时间和分别是19,18,20,21,19,19。显而易见,最佳调度方案是1,3,2,其完成时间和为18。
样例
输入样例
6
3 8
12 10
5 9
2 6
9 3
11 1
输出样例
154