首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 用两台处理机A和B处理n个作业。设A和B处理第i个作业的时间分别为ai和bi。由于各个作业的特点和机器性能的关系,对某些作业,在A上处理时间长,而对某些作业在B上处理时间
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。 【说明】 用两台处理机A和B处理n个作业。设A和B处理第i个作业的时间分别为ai和bi。由于各个作业的特点和机器性能的关系,对某些作业,在A上处理时间长,而对某些作业在B上处理时间
admin
2013-07-09
83
问题
阅读下列说明和C代码,回答以下问题,将解答写在答题纸的对应栏内。
【说明】
用两台处理机A和B处理n个作业。设A和B处理第i个作业的时间分别为a
i
和b
i
。由于各个作业的特点和机器性能的关系,对某些作业,在A上处理时间长,而对某些作业在B上处理时间长。一台处理机在某个时刻只能处理一个作业,而且作业处理是不可中断的,每个作业只能被处理一次。现要找出一个最优调度方案,使得n个作业被这两台处理机处理完毕的时间(所有作业被处理的时间之和)最少。
算法步骤:
(1)确定候选解上界为R段的单台处理机处理所有作业的完成时间m:
(2)用p(x,y,k)=1表示前志个作业可以在A用时不超过z且在B用时不超过y时间内处理完成,则p(x,y,k)=p(x一a
k
,y,k一1)||p(x,y一b
k
,k一1)(||表示逻辑或操作)。
(3)得到最短处理时间为min(max(z,y))。
【C代码】
下面是该算法的C语言实现。
(1)常量和变量说明
n:作业数
m:候选解上界
n:数组,长度为n,记录n个作业在A上的处理时间,下标从0开始
b:数组,长度为n,记录n个作业在B上的处理时间,下标从0开始
k:循环变量
p:三维数组,长度为(m+1)*(m+1)*(n+1)
temp:临时变量
max:最短处理时间
(2)C代码
#include
int n,m;
int a[60],b[60],p[100][100][60];
void read(){/*输入n、a、b,求出m,代码略*/)
void schedule(){/*求解过程*/
int X,y,k;
for(x=0;x<=m;x++){
for(y=0;y<m;y++){
(1)
for(k=1;k
p[x][y][k]=0;
}
}
for(k=1;k<n;k++){
for(x=0;x<=m;x++){
for(y=0;y<=m;y++){
if(x-a[k-1]>=0)
(2)
;
if(
(3)
)p[x][y][k]=(p[x][y][k]|| p[x][y-b[k-1]][k-1]);
}
}
}
}
void write(){/*确定最优解并输出*/
int X,y,temp,max=m;
for(x=0;x<=m;x++){
for(y=0;y<=m;y++){
if(
(4)
){
temp=
(5)
;
if(temp<max)max=temp;
}
}
}
printf(“\n%d\n”,max);
}
void main(){read();schedule();write();}
考虑6个作业的实例,各个作业在两台处理机上的处理时间如下表所示。该实例的最优解为
(7)
,最优解的值(即最短处理时间)为
(8)
。最优解用(X
1
,X
2
,x
3
,x
4
,x
5
,x
6
)表示,其中若第i个作业在A上处理,则x
i
=1,否则x
i
=2。如(1,1,1,1,2,2)表示作业1,2,3和4在A上处理,作业5和6在B上处理。
选项
答案
(7)(1,1,2,2,1,1) (8)15
解析
为了方便考生更好地理解本算法的思想,现做如下分析:
当完成k个作业,设机器A花费了X时间,机器B所花费时间的最小值肯定是X的一个函数,设F[k][x]表示机器B所花费时间的最小值。则F[k][x]=Min{F[k一1]Ix]+b[k],F[k一1][x—a[k]]};其中F[k一1]Ix]+b[k]表示第k个作业由机器B来处理(完成k一1个作业时机器A花费的时间仍是x),F[k一1][x—a[k]]表示第k个作业由机器A处理(完成k一1个作业时机器A花费的时间是x—aEk]。
那么单个点对较大值Max(X,F[k][x]),表示此时(即机器A花费x时问的情况下)所需要的总时间。而机器A花费的时间X是变化的,即x=0,1,2…x(max),由此构成了点对较大值序列。要求整体时间最短,取这些点对较大值序列中最小的即是。现分析前两个作业的情况:
对于第一个作业:下标以0开始。
首先,机器A所花费时间的所有可能值范围:0<=x<=a[0]。
设x<0时,设F[0][x]=∞,则max(X,∞)=∞;记法意义见下。
x=0时,F[0][0]=3,则Max(0,3)=3,机器A花费0时间,机器B花费3时间,而此时两个机器所需时间为3;
x=1时,F[0]E1]=3,Max(1,3)=3;
x=2时,F[0][2]=0,则Max(2,0)=2。
那么上面的点对序列中,可以看出当X=2时,完成第一个作业两台机器花费最少的时间为2,此时机器A花费2时间,机器B花费0时间。
再来看第二个作业:
首先,x的取值范围是:0<=x<=(a[0]+a[1])。
当x<0时,记F[1][x]=∞;这个记法编程使用,因为数组下标不能小于0。在这里的实际含义是:X是代表完成前两个作业机器A的时间,a[1]是机器A完成第2个作业的时间,若x<a[1],则势必第2个作业由机器B来处理,即在Min()中取前者。
X=0,则F[1][0]=Min{F[0][0]+b[2],F[0][0-a[1]])
=Min{3+8,∞}=11,进而Max(0,11)=11;
X=1,则F[1][1]=Min{F[0][1]+b[2],F[[0][1-a[1]]}
=Min{3+8,∞)=11,进而Max(11)=11;
X=2,则F[1][2]=Min{F[0][2]+b[2],F[[0][Z-a[1]]}
=Min{0+8,∞)=8,进而Max(2,8)=8;
X=3,则F[1][3]=Min{F[0][3]+b[2],F[0][3一a[1]]}
=Min{0+8,∞)=8,进而Max(3,8)=8;
X=4,则F[1][4]=Min{F[0]E4]+b[2],F[0]E4-a[1]]}
=Min(0+8,∞)=8,进而Max(4,8)=8;
X=5,则F[1][5]=Min{F[0]E5]+b[2],F[0][5-a[1]]}
=Min(0+8,3)=3,进而Max(5,3)=5;
X=6,则F[1][6]=Min(F[0][6]+b[2],F[0][6-a[1]])
=Min{0+8,3)=3,进而Max(6,3)=6;
x=7,则F[1][7]=Min{F[0][7]+b[2],F[0][7一a[1]])
=Min{0+8,0}=0,进而Max(7,0)=7。
那么上面的点对序列中,可以看出当X=5时,完成两个作业两台机器花费最少的时间为5,此时机器A花费5时间,机器B花费3时间。
接下来依次类推即可,最终该实例的最优解为(1,1,2,2,1,1),最短处理时间为15。这里提供当各个作业完成时的最短处理时间,考生可自行推导:2,5,7,12,14,15。
转载请注明原文地址:https://kaotiyun.com/show/1iDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
已知关系模式:图书(图书编号,图书类型,图书名称,作者,出版社,出版日期,ISBN),图书编号唯一识别一本图书。建立“计算机”类图书的视图Compute-BOOK,并要求进行修改、插入操作时保证该视图只有计算机类的图书。CREATE(1)
若要求对大小为n的数组进行排序的时间复杂度为O(nlog2n),且是稳定的(即如果待排序的序列中两个数据元素具有相同的值,在排序前后它们的相对位置不变),则可选择的排序方法是______。
下图是________________设计模式的类图,该设计模式的目的是________________,图中,Decorator和Component之间是________________关系,ConcreteDecorator和Decorator之间是_
关于软件测试,(31)的叙述是正确的。①测试开始越早,越有利于发现软件缺陷②采用正确的测试用例设计方法,软件测试可以做到穷举测试③测试覆盖度和测试用例数量成正比④软件测试的时间越长越好
广义的软件测试由“确认”、“验证”、“测试”三个方面组成,其中“确认”是______。A.想证实在一个给定的外部环境中软件的逻辑正确性,检查软件在最终的运行环境上是否达到预期的目标B.检测软件开发的每个阶段、每个步骤的结果是否正确无误,是否与软件开发各
由于操作系统升级而对软件进行修改的行为属于________维护。
编译和解释是实现高级程序设计语言的两种基本方式,________是这两种方式的主要区别。
CPU执行指令时,先要根据程序计数器将指令从内存读取出并送入______,然后译码并执行。
在由L2TP构建的VPN中,主要由①和②两种类型的服务器构成。1.将图5-1中①和②处空缺名称填写在答题纸的相应位置。2.简要说明两种服务器的主要作用。某路由器(在图5-1中没有标出)的部分配置信息如下所示,请解释其中标有下划线部分的含
双绞线可以制作成直连线和交叉线两种形式。在上图中,两个交换机的UPLINK口相连,使用的双绞线制作成什么形式?连接交换机和计算机的双绞线制作成什么形式?阅读下面的配置信息,解释(7)处的命令。Switch#configtSwitch(
随机试题
当供气压力超限会危及下游供气系统设施安全时,应设置可靠的()系统。
患者男,67岁,高血压病史多年,今日入急诊诊断为脑血栓形成,立即给予溶栓治疗,该治疗的时间为发病后
某猪场新购入一批仔猪,无明显临诊症状。经实验室检测发现,部分仔猪有猪瘟病毒血症,仔猪免疫猪瘟疫苗后,不能产生抗猪瘟病毒抗体该病原属于()。
根据我国投资项目建设程序,可行性研究阶段的主要任务包括()等。
爆破片爆破压力的选定,一般为设备、容器及系统最高工作压力的1.15~1.3倍,在任何情况下,爆破片的爆破压力均应低于系统的()。
某企业2009年度全年发生下列业务:(1)采用以货换货方式进行商品交易签订合同两份,一份标明价值,自身商品价值50万元,对方商品价值55万元;另一份未标明价值,只列明用自身10吨的商品换对方9吨的商品,经核实自身商品市场单价10000元/吨,对方商
(2005年试题,15)设函数f(x)连续,且f(0)≠0,求极限
FinancialRisksSeveraltypesoffinancialriskareencounteredininternationalmarketing;themajorproblemsincludecommercia
Solvingaproblemcanbebrokendownintoseveralsteps.First,theproblemmustbeidentifiedcorrectly.Psychologistsrefer(1
WhendidmanymoreChinesearriveinCalifornia?
最新回复
(
0
)