- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
调度问题研究.doc
题目:关于一般性调度问题的研究
摘要:问题描述简单调度算法
作者:冷磊
首先,先描述一下什么是调度问题。
在现实世界中,人们可能经常会遇到这样一个问题:同时面临很 多项任务,这些任务之中有的任务必须要在某些其他任务完成之后才 能完成,或者有的任务之间互不干扰,谁先谁后并无多大关系;并且 现在也有一个小的团队,团队里的人都能独立完成这些任务中的各个 小项冃。现在问题出来了,要怎样给这些人分配任务,并且怎样分配 这些任务的先后顺序,才能使我们完成之间时的效率达到最高。
这对这样的问题,我们将其抽象为一个数学模型,就是我们所说 的一般性的调度问题,一般性调度问题是指这样的一类问题:
给定有穷的任务集T = {佥I刃wN+}和m台相同的机器,T上存在偏 序关系Y,
如果“Yf2,那么必须保证任务九完成之后才能去完成九Vr€?,/(/)表 示完成任务t所需的时间,d(f)表示任务t的截止时间,/(f),d(f)wZ + , 设开始时间为0,5:T—{0丄2.?…}表示对任务集T的一个调度方案, 其中表示任务t的开始时间,
设Q = max{/⑴+ /(/) 1/丘门表示完成任务的最终口寸间,假设每一项任务 都可以安排到任何一台机器上执行?找出可以用于执行的■这个》称 为可行调度.一个可行调度必须满足一下3个条件:
每项任务都要在截止吋间Z前完成
同时工作的的不同机器台数不超过m
任务安排必须满足任务集的偏序约束,即上文所说的某项任务必 须在某些项任务完成之后才能完成
用数学公式将这三个条件表达出来就是:
1? X 訂,5(f)+/(/) d(f);
2? Vf,Oz D,\{teT\i (S(f) + da)} IS m ;
3? Vtl./2 w Y /2 =》() + /(“) 5(/2)
举一个例子来说明这个问题:
在这个图中,忽略了自反关系,因为在拓扑排序中自反关系并不会发 挥作用,假设这个问题屮我们有两台机器,我们由此可以给出至少两 种调度方案:
其屮ti表示任务,数字表示完成此项任务所花费的时间,现在我们的 任务是找到最优的调度组合,使在这两台机器上完成这个任务的效率 最高,即时间最短:
分析:将偏序关系拓展为拓扑排序,将自反关系剔除,进行分析可得
下列方案:(表格中空表示机器不运转)
方案一:
tl
t2
t4
t6
时长
t3
t5
8
方案二:
tl
t3
t5
t6
时长
t2
t4
7
相对方案一来说,方案二效率更高,第二个方案为最优调度。
当然,对于一般性调度问题,现在还没又有效地算法,不过, 如果将机器个数简化为1个,调度问题就大大简化了,相当于只是求 一个偏序关系的拓扑排序?针对这种状况,我们将这个有向图写成矩阵 形式(说明:只要两个节点能找到一条路,那么此位置的元素就为匕否 则为0),根据这个假设,上面图的矩阵就可以写出如下:
tl
t2
t3 t4
t5
t6
ti
0
0
1
1
0
1
a
0
0
1
1
1
1
r3
0
0
0
0
0
1
tA
0
0
0
0
0
1
t5
0
0
0
0
0
1
t6
0
0
0
0
0
0
对于这个矩阵的求解,即利用这个矩阵求出一个拓扑排序,算法如下:
川=6
1 .对 i: 1 — 6, S/ =工如
7=1
将$(i:lT6)由小到大排序
排在前面的先执行,依次输出
下面进行算法实现,源代码如下:
#includestdio.h
int main()
{
int ij,s[6]={0},a[6][6],*p[6],*t;
printf(H请输入矩阵:\nH);
for(i=0;i6;i++)
for(j=0;j6;j++)
for(i=0;i6;i++)
for(j=0;j6;j++)
s[i]+=a[j][i];
p[i]二s[i];
}
for(i=0;i6;i++)
for(j=i;j6;j++)
if(*p[i]*p[j])
{
t=p[i];
p[i]=p[jl;
P[j]=t;
}
printf(n\n\n 一个可能的拓扑排序为:\rT);
for(i=0;i6;i++)
printf(H%d Hzp[i]-s+l);
printf(,,\n\nH);
return 0;
}
上机运行结果为:
上机运行结果与实际相符合。
后记:由于我们知识水平的限制,此文屮一定存在很多瑕疵,还望教
员指正。
您可能关注的文档
- 课件意思自治原则.docx
- 课件透视表简单讲义.doc
- 课例设计第‘二组屠珍珍.doc
- 课内阅读与课外阅读结合的策略研究毕业开题报告.doc
- 课前三分钟演讲稿大全(共4篇.doc
- 课前五分钟的演讲稿.docx
- 课堂互动反馈技术的分类、比较及应用以上海交通大学为例.doc
- 课堂实效趣为径,学习语文乐作舟浅议提高职高语文教学效率的方法.docx
- 课堂教学中如何培养学生语感.docx
- 课堂教学中的“另类”美.docx
- 《JJF 2132-2024荧光紫外灯人工气候老化试验装置校准规范:辐射照度参数》.pdf
- JJF 2120-2024轮速传感器校准规范.pdf
- 计量规程规范 JJF 2120-2024轮速传感器校准规范.pdf
- 《JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数》.pdf
- JJF 2129-2024钙钛矿太阳电池校准规范:光电性能参数.pdf
- 《JJF 2120-2024轮速传感器校准规范》.pdf
- JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
- JJF 2116-2024特定蛋白分析仪校准规范.pdf
- 《JJF 2116-2024特定蛋白分析仪校准规范》.pdf
- 计量规程规范 JJF 2117-2024沥青混合料理论最大相对密度仪校准规范.pdf
文档评论(0)