贪心法解决任务安排问题

看上去一个很复杂的问题,解法却出奇的简单,题目描述如下(懒得翻译了……):

We are given as input a set of n jobs, where job j has a processing time pj and a deadline dj. Recall the definition of completion times 

Cj
 from the video lectures. Given a schedule (i.e., an ordering of the jobs), we define the 
lateness
 

lj
 of job 

j
 as the amount of time 

Cjdj
 after its deadline that the job completes, or as 0 if 

Cjdj
. Our goal is to minimize the maximum lateness, 

maxjlj

. Which of the following greedy rules produces an ordering that minimizes the maximum lateness? You can assume that all processing times and deadlines are distinct

.

只要按照结束时间对任务进行升序排列,得到的便是所求的解,非常简洁的贪心。正确性的证明,可以通过反证法,即假设最优的排列顺序不是升序,那么必定存在一个逆序对,交换这对任务,可以得到更优的解,这样就和假设矛盾了。

    原文作者:贪心算法
    原文地址: https://blog.csdn.net/lwfcgz/article/details/11259185
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞