- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
实验三一个任务调动问题
问题描绘:
在单办理器上拥有限期和处罚的单位时间任务调动问题.
算法原理:
考虑一个给定的调动.
我们说一个任务在调动迟了
,假如它在规定的时间以后达成
;
不然,这个任务在该调动中是早的
.一个随意的调动总能够安排成早任务优先的形式
,
其
中早的任务老是在迟的任务以前.
为了搞清这一点,
请注意假如某个早任务
a(i)
跟在某个
迟任务a(j)以后,就能够互换a(i)
和a(j)
的地点,
其实不影响a(i)是早的a(j)是迟的状态.
近似的,随意一个调动能够安排成一个规范形式
,
此中早的任务先于迟的任务
,且如期
限单一递加次序对早任务进行调动
.为了做到这一点,将调动安排成早任务优先形式.
然
而,只需在该调动中有两个分别达成于时间
k和k+1的早任务a(i)和a(j)
使得d(j)d(i),
就互换a(i)和a(j)的地点.
由于在互换前任务j是早的,k+1=d(j)
.因此k+1d(j),
则
a(i)在互换以后任然是早的
.任务a(j)
被已到了调动中的更前地点
,故它在互换后任然是
早的.
这样,找寻最优调动问题就成为找一个由最优调动中早的任务组成的会合
A的问题.
一旦A被确立后,便可如限期的单一递加次序列出
A中的全部元素,进而给出实质的调动
,
而后按随意次序列出迟的任务
(S-A),就能够产生出最优调动的一个规范序次.
称一个任务的会合A是独立的,
假如存在对于A中任务的一个调动
,使得没有一个任务
是迟的.明显,某一调动中早任务的会合就组成一个独立的任务集.
实验数据:
输入:
没有输入,有一个构造体task,系统会随机生成task的限期和处罚输出:
分别输出随机生成task的会合后的早任务会合,迟任务处罚以及将每个替代为
后的早任务会合,迟任务处罚.
实验截图:
结果剖析:
能够看出将每个替代为后的早任务集
合基本上包含了没有替代是的早任务会合,而且替代后的迟任务处罚大于没有替代时的迟任务处罚.
源代码:
一般排序
/*贪婪算法实现单办理器任务调动。
基本思想是:第一依据处罚把各个任务降序排序。
*而后遍历任务,逐个确立能否能够放入独立子集
*/
A
#includeiostream
#include
#include
usingnamespacestd;
#definen8
structtask
{
intid;d=i;
ta[i].d=1+rand( )%20;
ta[i].w=rand( )%50;
}
}
voidprint(taskta)
{
coutid=\td=\tw=endl;
}
voidcopy(taskt,tasks)
{
;
;
;
}
voidsortW(taskta[])ta[j+1].w)ta[j+1].d)
{
copy(s,ta[j]);
copy(ta[j],ta[j+1]);
copy(ta[j+1],s);
}
}
}
}
intgreedy(taska[],taskta[]);
k=1;
for(i=0;i=n;i++)
{
if(i=a[0].d)
Nt[i]=1;
else
Nt[i]=0;
}
for(i=1;in;i++)
{
for(j=ta[i].d;j=n;j++)
{
if(Nt[j]+1j);j=n;j++);
}
for(i=0;in;i++)
{
sum2+=ta[i].w;
}
returnsum2-sum1;
}
intmain( )
{
tasktasker[n];;
for(i=0;in;i++)
maxweg=tasker[i].w;
}
k=greedy(A,tasker);
sortD(A,k);=maxweg-tasker[i].w;
}
k=greedy(A,tasker);
sortD(A,k);
cout改变后最优调动方案的早任务为:endl;
for(i=0;ik;i++)
{
print(A[i]);
}
cout改变后迟任务处罚为:getW(A,tasker,k)endl;return0;
}
您可能关注的文档
最近下载
- 十字轴加工工艺及夹具设计.docx VIP
- 2024-2025学年九年级上学期花都区期末考试数学试题(学生版).pdf VIP
- 新编跨文化交际英语教程 复习总结.pdf VIP
- 钢结构设计原理张耀春版课后习题答案().docx VIP
- 【课件】美的MBS-VSM实施指南(163页).pptx VIP
- ZZ027 全国职业院校技能大赛(中职组) 婴幼儿保育赛项理论题第5套(含答案).doc VIP
- 英文名著--The Giver - Lois Lowry.pdf
- 国家开放大学《物流学概论》形考1-4.pdf
- 2024学习《中国共产党纪律处分条例》题库(含答案).doc VIP
- 2024-2025学年八年级语文上册期末专项训练:非连续性文本阅读(附答案).pdf VIP
原创力文档


文档评论(0)