我有一个任务列表,每个任务都有一个依赖于此任务的任务列表以及完成任务所需的时间。
我有n个处理器,我正在努力获得完成所有任务的最快时间。
例如:
任务1 - >任务2和3依赖它,需要10秒
任务2 - >没有相关任务,需要5秒
任务3 - >没有依赖任务,需要10秒
任务4 - >没有相关的任务,需要12秒
我有2个处理器。
最快的完成时间是20秒。任务1和任务4并行运行。当任务1完成时,它运行任务3,当任务4完成时,它运行任务2。
我已经考虑过首先使用拓扑排序来获取首先需要完成哪些任务的列表,然后比较可以运行的所有任务的时间并选择时间最长的任务并首先完成。
有什么想法吗?