最小延迟调度问题算法c语言,054最小延迟调度.pdf

054最小延迟调度

最小延迟调度问题

最小延迟调度

问题:

客户集合A ,∀i ∈A ,t 为服务时间,d 为

i i

要求完成时间,t , d 为正整数. 一个调度

i i

f : A→N,f (i)为客户i 的开始时间. 求

最大延迟达到最小的调度,即求f 使得

min{max{ ( ) }}

f i +ti −di

f i ∈A

, , , ( ) ( )

∀i j ∈A i ≠j f i +ti ≤f j

f j +t ≤f i

or ( ) j ( )

2

实例:调度1

A = {1, 2, 3, 4, 5}, T = <5, 8, 4, 10, 3>,

D = <10, 12, 15, 11, 20>

调度1:顺序安排

f 1(1)=0,f 1(2)=5,f 1(3)=13,f 1(4)=17,f 1(5)=27

0 5 13 17 27 30

1 2 3 4 5

各任务延迟:0, 1, 2, 16, 10;

最大延迟:16

3

更优的调度2

A = {1, 2, 3, 4, 5}, T = <5, 8, 4, 10, 3>,

D = <10, 12, 15, 11, 20>

调度2 :按截止时间从前到后安排

f 2(1)=0,f 2(2)=15,f 2(3)=23,f 2(4)=5,f 2(5)=27

0 5 15 23 27 30

1 4 2 3 5

各任务延迟:0, 11, 12, 4, 10;

最大延迟:12

4

贪心策略

贪心策略1:按照t 从小到大安排

i

贪心策略2 :按照d −t 从小到大安排

i i

贪心策略3 :按照d 从小到大安排

i

策略1 对某些实例得不到最优解.

反例:t =1, d =100, t =10, d =10

1 1 2 2

策略2 对某些实

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值