目标是尽量减少完工时间:所有工作完成所需的时间。
这是练习的一部分,需要使用1GHz cpu在1s内解决。即:需要O(n ^ 2)/ O(n ^ 2lgn)算法。因此不能使用蛮力。
我的第一个方法是:
for each job,sorted by arrival time, select the machine that finishes first.
aka:其中max(ai,machine.ready)+ Tj是最小的。
问题是到达0,1的工作和3,4次的机器,例如,程序:选择3为0和4为1,所以它完成为5,而如果它选择4为0和3为1 ,它将在4完成。
+++
- ++++
VS
++++
- +++
a second approach is to do the same but from the back starting from the last arriving job.
但是就业:0,2和机器3,7:
虽然我们可以看到,如果我们只使用机器3从0到3然后从3到6,那就更好了。
- +++
+++++++
VS
++++++
我正在从一个没有显示更正的网站上学习,直到问题解决了(你通过了所有测试用例(输入被隐藏))所以问题保证有解决方案但是我不知道如何。